设置热键以折叠面板
Set up hotkey for collapse a panel
我们的项目使用 JSF 2.2 primeface 5.1。
我有一个可切换面板,折叠属性设置为 true。
<p:panel id="panel1" toggleable="true" collapsed="true">
...
</p:panel>
如何在 jsf 页面中设置 p:hotkey 以将属性 collapsed 更改为 false?
在基本级别,您可以使用以下方法展开窗格:
<p:hotkey bind="ctrl+s" handler="thePanelWidgetVar.expand();" />
如果你真正想要切换面板的状态,你可以直接在面板上调用collapse()
和expand()
。显然,您需要检查面板的当前状态以确定调用什么。您可以将其全部折叠到以下脚本中:
<script>
function togglePanelState (thePanel){
if(thePanel.cfg.collapsed){
thePanel.expand();
}else{
thePanel.collapse();
}
}
</script>
然后您可以使用 togglePanelState
因此
<p:hotkey bind="ctrl+s" handler="togglePanelState(thePanelWidgetVar);" />
编辑:
感谢 Hatem Alimam 指出在 PF 5.1 中存在一种类似于我的 togglePanelState
实现的便捷方法,其形式为 toggle()
函数。使用它,您可以改为:
<p:hotkey bind="ctrl+s" handler="PF('thePanelWidgetVar').toggle();" />
我们的项目使用 JSF 2.2 primeface 5.1。
我有一个可切换面板,折叠属性设置为 true。
<p:panel id="panel1" toggleable="true" collapsed="true">
...
</p:panel>
如何在 jsf 页面中设置 p:hotkey 以将属性 collapsed 更改为 false?
在基本级别,您可以使用以下方法展开窗格:
<p:hotkey bind="ctrl+s" handler="thePanelWidgetVar.expand();" />
如果你真正想要切换面板的状态,你可以直接在面板上调用collapse()
和expand()
。显然,您需要检查面板的当前状态以确定调用什么。您可以将其全部折叠到以下脚本中:
<script>
function togglePanelState (thePanel){
if(thePanel.cfg.collapsed){
thePanel.expand();
}else{
thePanel.collapse();
}
}
</script>
然后您可以使用 togglePanelState
因此
<p:hotkey bind="ctrl+s" handler="togglePanelState(thePanelWidgetVar);" />
编辑:
感谢 Hatem Alimam 指出在 PF 5.1 中存在一种类似于我的 togglePanelState
实现的便捷方法,其形式为 toggle()
函数。使用它,您可以改为:
<p:hotkey bind="ctrl+s" handler="PF('thePanelWidgetVar').toggle();" />