dijit.TitlePane 带有 ExtLib 的 XPage 中不显示向下箭头
dijit.TitlePane arrow down not displayed in XPages with ExtLib
我在使用 ExtLib Bootstrap 主题的 Xpages 中定义了简单的 titlePane dijit。
当 titlePane 折叠时,我会看到一个(闭合的)箭头图标。
展开 titlePane 时,我得到指示找不到 caret-down 的图标。
当我禁用 Bootstrap 主题和 运行 oneUI 时,折叠时没有显示任何图标,但是当我展开标题窗格时,会显示一个漂亮的 carot-down 图标。
这是因为在 ExtLib 中执行 Bootstrap 失败吗?
这是我的代码:
<xp:div id="titlePaneGemCars" dojoType="dijit.TitlePane" title="German Cars">
Audi
BMW
Mercedes
<xp:this.attrs>
<xp:attr name="open" value="false"></xp:attr>
<xp:attr name="toggleable" value="true"></xp:attr>
</xp:this.attrs>
</xp:div>
<xp:div id="titlePaneJapBikes" dojoType="dijit.TitlePane"
title="Japanese Bikes">
<xp:this.attrs>
<xp:attr name="open" value="false"></xp:attr>
<xp:attr name="toggleable" value="true"></xp:attr>
</xp:this.attrs>
Honda
Suzuki
Yamaha
</xp:div>
在为打开或关闭的标题窗格生成的 HTML 中,我注意到以下差异:
<div id="view:_id1:_id37:titlePaneGemCars_titleBarNode" data-dojo-attach-point="titleBarNode" class="dijitTitlePaneTitle dijitTitlePaneTitleOpen dijitOpen" data-dojo-attach-event="ondijitclick:_onTitleClick, onkeydown:_onTitleKey">
和
<div id="view:_id1:_id37:titlePaneGemCars_titleBarNode" data-dojo-attach-point="titleBarNode" class="dijitTitlePaneTitle dijitTitlePaneTitleClosed dijitClosed" data-dojo-attach-event="ondijitclick:_onTitleClick, onkeydown:_onTitleKey">
所以打开的标题面板有 dijitTitlePaneTitleOpen dijitOpen class,关闭的标题面板有 dijitTitlePaneTitleClosed dijitClosed class.
我可以更改向下插入符号的样式表,例如
.xsp.dbootstrap .dijitTitlePane .dijitArrowNode::before {
color: #428bca;
font-family: "Glyphicons Halflings";
content: "\e114";
font-size: 12px;
padding-left: 10px;
position: relative;
top: -1px;
}
临时解决方案
是的,这是一个问题,因为 Extlib Bootstrap 主题中 TitlePane 的向下插入符号缺少 CSS 样式。我已将该问题记录为 SPR#BGLNA38EDW,我们将在即将发布的扩展库版本中解决它。在此期间,您可以使用您建议的解决方法。
更新:已为此提供修复,应该会出现在下一个扩展库版本中。
我在使用 ExtLib Bootstrap 主题的 Xpages 中定义了简单的 titlePane dijit。
当 titlePane 折叠时,我会看到一个(闭合的)箭头图标。
展开 titlePane 时,我得到指示找不到 caret-down 的图标。
当我禁用 Bootstrap 主题和 运行 oneUI 时,折叠时没有显示任何图标,但是当我展开标题窗格时,会显示一个漂亮的 carot-down 图标。
这是因为在 ExtLib 中执行 Bootstrap 失败吗?
这是我的代码:
<xp:div id="titlePaneGemCars" dojoType="dijit.TitlePane" title="German Cars">
Audi
BMW
Mercedes
<xp:this.attrs>
<xp:attr name="open" value="false"></xp:attr>
<xp:attr name="toggleable" value="true"></xp:attr>
</xp:this.attrs>
</xp:div>
<xp:div id="titlePaneJapBikes" dojoType="dijit.TitlePane"
title="Japanese Bikes">
<xp:this.attrs>
<xp:attr name="open" value="false"></xp:attr>
<xp:attr name="toggleable" value="true"></xp:attr>
</xp:this.attrs>
Honda
Suzuki
Yamaha
</xp:div>
在为打开或关闭的标题窗格生成的 HTML 中,我注意到以下差异:
<div id="view:_id1:_id37:titlePaneGemCars_titleBarNode" data-dojo-attach-point="titleBarNode" class="dijitTitlePaneTitle dijitTitlePaneTitleOpen dijitOpen" data-dojo-attach-event="ondijitclick:_onTitleClick, onkeydown:_onTitleKey">
和
<div id="view:_id1:_id37:titlePaneGemCars_titleBarNode" data-dojo-attach-point="titleBarNode" class="dijitTitlePaneTitle dijitTitlePaneTitleClosed dijitClosed" data-dojo-attach-event="ondijitclick:_onTitleClick, onkeydown:_onTitleKey">
所以打开的标题面板有 dijitTitlePaneTitleOpen dijitOpen class,关闭的标题面板有 dijitTitlePaneTitleClosed dijitClosed class.
我可以更改向下插入符号的样式表,例如
.xsp.dbootstrap .dijitTitlePane .dijitArrowNode::before {
color: #428bca;
font-family: "Glyphicons Halflings";
content: "\e114";
font-size: 12px;
padding-left: 10px;
position: relative;
top: -1px;
}
临时解决方案
是的,这是一个问题,因为 Extlib Bootstrap 主题中 TitlePane 的向下插入符号缺少 CSS 样式。我已将该问题记录为 SPR#BGLNA38EDW,我们将在即将发布的扩展库版本中解决它。在此期间,您可以使用您建议的解决方法。
更新:已为此提供修复,应该会出现在下一个扩展库版本中。