<rich:tabPanel switchType="client" id="w55">
<c:set var="menus" value="#{MenuBean.menus}" />
<c:forEach var="menu" items="#{MenuBean.menuHeader}"
varStatus="status">
<script>
addHeadMenuUrl('#{menu.action_value}');
</script>
<rich:tab label="#{menu.label_name}" name="#{menu.label_name}" rendered="#{menu.visible_ind}"
id="rrr_#{status.index}">
<h:panelGrid columns="${fn:length(menu.items)}">
<c:forEach var="menuitem" items="#{menu.items}"
varStatus="status1">
<c:choose>
<c:when test="${fn:length(menuitem.items) >=1}">
<rich:dropDownMenu>
<f:facet name="label">
<h:panelGroup>
<h:graphicImage value="#{menuitem.icon_name}" rendered="#{menuitem.visible_ind}"
styleClass="pic" />
<h:outputText value="#{menuitem.label_name}" />
</h:panelGroup>
</f:facet>
<c:forEach var="menuitem1" items="#{menuitem.items}">
<rich:menuItem value="#{menuitem1.label_name}" rendered="#{menuitem1.visible_ind}"
icon="#{menuitem1.icon_name}" submitMode="ajax"
title="#{menuitem1.action_value}">
<a4j:support event="onselect" reRender="targetFrame"
bind="#{MenuBean.menuUrl}">
<a4j:actionparam name="w"
value="'#{menuitem1.action_value}'"
assignTo="#{MenuBean.menuUrl}" noEscape="true" />
<a4j:actionparam name="w1" value="'#{menu.action_value}'"
assignTo="#{MenuBean.headerMenuUrl}" noEscape="true" />
</a4j:support>
</rich:menuItem>
</c:forEach>
</rich:dropDownMenu>
</c:when>
<c:otherwise>
<h:panelGroup>
<h:graphicImage value="#{menuitem.icon_name}" rendered="#{menuitem.visible_ind}"
styleClass="pic" />
<a4j:commandLink value="#{menuitem.label_name}" rendered="#{menuitem.visible_ind}"
οnclick="var ret=frmwork_checkmenuclick(); if(ret==false) return false;"
title="#{menuitem.action_value}" reRender="targetFrame">
<a4j:actionparam name="w" value="'#{menuitem.action_value}'"
assignTo="#{MenuBean.menuUrl}" noEscape="true" />
<a4j:actionparam name="w1" value="'#{menu.action_value}'"
assignTo="#{MenuBean.headerMenuUrl}" noEscape="true" />
</a4j:commandLink>
</h:panelGroup>
</c:otherwise>
</c:choose>
</c:forEach>
</h:panelGrid>
<a4j:support event="ontabenter" reRender="targetFrame"
οnsubmit="var ret=frmwork_checkmenuclick(); if(ret==false) return false;"
bind="#{MenuBean.menuUrl}">
<a4j:actionparam name="w" value="'#{menu.action_value}'"
assignTo="#{MenuBean.menuUrl}" noEscape="true" />
<a4j:actionparam name="w1" value="'#{menu.action_value}'"
assignTo="#{MenuBean.headerMenuUrl}" noEscape="true" />
</a4j:support>
</rich:tab>
</c:forEach>
</rich:tabPanel>
<script>
var menuInfo=[];
function addHeadMenuUrl(url){
menuInfo.push(url);
}
function frmwork_selectFirstMenu(){
var mu="#{MenuBean.menuUrl}";
if(mu==""){
var tabPanelId='frmwork_menu_form111:w55';
var tabId='frmwork_menu_form111:rrr_1';
var tabs=RichFaces.panelTabs[tabPanelId];
if(tabs==null) {
//alert("no menu data");
return;
}
var f=document.getElementById(tabs[0].id+"_shifted");
if(f){
f.onclick();
}
}
}
APPLICATION_PREVENSION_ESCAPE=true;
function frmwork_checkmenuclick(){
try{
//debugger;
var ret=checkApplicationClickInterval(1000);
if(ret==false) return false;
}catch(e){
}
}
function frmwork_showMenu(url,header){
if(header && header!="" && header!="1" ){
var index=-1;
var len=menuInfo.length;
for(var i=0;i<len;i++){
if(menuInfo[i]==header){
index=i;
}
};
if(index!=-1){
//alert(index);
}else{
index=0;
}
//alert(url+" --- "+header+" -- "+index+" -- "+menuInfo.join(","));
var tabPanelId='frmwork_menu_form111:w55';
var tabId='frmwork_menu_form111:rrr_'+index;
var tabs=RichFaces.panelTabs[tabPanelId];
RichFaces.switchTab(tabPanelId,tabId);
}
}
</script>
js:
APPLICATION_PREVENSION_CLICK=new Date();
APPLICATION_PREVENSION_ESCAPE=true;
function checkApplicationClickInterval(interval){
if(APPLICATION_PREVENSION_ESCAPE) {
APPLICATION_PREVENSION_ESCAPE=false;
return true;
}
APPLICATION_PREVENSION_ESCAPE=false;
var timeInterval=interval?interval:3000;
var d=new Date();
var interval=d-APPLICATION_PREVENSION_CLICK;
if(interval<timeInterval){
alert("You click too fast,please wait server response!");
return false;
}else{
APPLICATION_PREVENSION_CLICK=new Date();
return true;
}
};