ページにタブビューがあり、javascript でタブを動的に追加します。同時に、開いているタブ名をリスト (lstOpenedPages) に追加します。しかし、タブを閉じると、リストから削除するために閉じられたこのタブの名前を取得できません。リスト(lstOpenedPages)から閉じられているタブを見つけることができるので、tabviewの残りのタブを読みたいと思います。
Javascriptでタブビューのタブを残すにはどうすればよいですか?
xhtml コード
<p:tabView id="tw" widgetVar="tw">
<p:ajax event="tabClose" listener="#{MenuBean.onTabClose}"/>
</p:tabView>
<p:menuitem value="#{itemMenu.menuAck}"
action="#{MenuBean.OpenPage(itemMenu.pageName)}"
ajax="true"
oncomplete="handleTabViewEvent(args);"
/>
<script type="text/javascript">
function handleTabViewEvent(args) {
alert('Add tab here..');
}
</script>
豆
public void OpenPage(String pageName) {
lstOpenedPages.add(pageName);
}
public void onTabClose(TabCloseEvent event) {
FacesContext context = FacesContext.getCurrentInstance();
TabView tw = (TabView)context.getViewRoot().findComponent("centerForm:tw");
String s = "I must delete tab here from lstOpenedPages which closed. But event does not give me tab information. It is always null. So I must be delete from javascript";
}