在Primefaces中,如何在特定的时间轴事件上打开ContextMenu?

时间:2019-02-12 07:45:19

标签: jsf primefaces

我有一个J2E Webapp,我在其中使用诸如<p:timeline>之类的Primefaces组件。我正在尝试针对<p:dataTable>采取与<p:contextMenu>类似的行为。

更具体地说,当并且仅当我右键单击时间轴事件时,我希望拥有自己的<p:contextMenu><p:dataTable>执行此操作的方式是在发生右键单击时选择一行,然后打开菜单。不幸的是,<p:timeline>没有这种行为。

到目前为止,我有一个时间表和专用的<p:contextMenu>。仅在右键单击时间轴内的任何地方(而不仅仅是事件)时,菜单才会打开。此外,右键单击事件不会将其选中。

为清楚起见,这里有一些代码:

<h:form id="form">
    <p:timeline id="history" value="#{HistoryBean.timeline}" 
                editable="true" eventMargin="10" 
                eventMarginAxis="0" unselectable="true"
                showNavigation="true" showButtonNean="true" 
                stackEvents="false" axisOnTop="true" >
        <p:ajax event="select" listener="#{HistoryBean.onSelectEvent}" process=":form" />
    </p:timeline>
    <p:contextMenu for="history">
        <p:menuitem value="Show details" action="#{HistoryBean.showEventDetails}" />
        <p:menuitem value="Edit" action="#{HistoryBean.editEvent}" />
        <p:menuitem value="Delete" action="#{HistoryBean.deleteEvent}" />
    </p:contextMenu>
</h:form>

所以我的问题可以归结为: 如何仅在右键单击事件而不是整个<p:contextMenu>对象时打开<p:timeline>,以及如何在右键单击时选择事件?

0 个答案:

没有答案