<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui" xmlns:f="http://java.sun.com/jsf/core"> <h:head/> <h:body> <ui:composition template="/templates/PagesTemplate.xhtml"> <ui:param name="unsavedModifications" value="#{currentCockpitEditorBean.unsavedModification}"/> <ui:param name="projectName" value="#{currentCockpitEditorBean.projectName}"/> <ui:param name="pagename" value="cockpitEditor"/> <ui:param name="showProjectName" value="true"/> <ui:define name="metaData"> <f:metadata> <f:viewParam name="projectName" value="#{currentCockpitEditorBean.projectName}"/> <f:event type="preRenderView" listener="#{currentCockpitEditorBean.initalize()}" /> </f:metadata> </ui:define> <ui:define name="bundleIncludes"> <f:loadBundle var="localizedCockpitEditorPageMessages" basename="lang.CockpitEditorPage"/> </ui:define> <ui:define name="cssIncludes"> <link rel="stylesheet" type="text/css" href="${root}/css/CockpitEditorPage.css" /> </ui:define> <ui:define name="furtherForms"> <h:form id="hidden" style="display:none"> <p:remoteCommand autoRun="false" name="nodeSelected" action="#{currentCockpitEditorBean.nodeSelected()}" update=":propertiesForm" /> </h:form> </ui:define> <!-- Those are the menu bar entries left from the help-submenu. --> <ui:define name="furtherMenuBarEntries"> <p:submenu label="#{localizedMessages.file}"> <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-newProject" value=" Neues View" update=":messages" ajax="true" onclick="newViewDialog.show();" disabled="#{empty currentCockpitEditorBean.project}"/> <p:separator /> <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-save" value=" #{localizedMessages.saveProject}" update=":messages" ajax="true" action="#{currentCockpitEditorBean.saveProject(false)}" disabled="#{empty currentCockpitEditorBean.project}"/> <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-saveAs" value=" #{localizedMessages.saveProjectAs}" update=":messages" ajax="true" disabled="#{true or empty currentCockpitEditorBean.project}"/> <p:separator /> <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-reload" value=" #{localizedMessages.reloadProject}" ajax="false" url="cockpitEditor?projectName=#{currentCockpitEditorBean.projectName}" disabled="#{empty currentCockpitEditorBean.project}" /> <p:separator/> <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-settings" value=" #{localizedMessages.settings}" onclick="settingsDlg.show()" ajax="true"/> <p:separator /> <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-close" value=" #{localizedMessages.closeProject}" onclick="closeConfirmation.show()" ajax="true" rendered="#{currentCockpitEditorBean.unsavedModification}"/> <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-close" value=" #{localizedMessages.closeProject}" action="ProjectOverviewPage.xhtml?faces-redirect=true" ajax="false" rendered="#{not currentCockpitEditorBean.unsavedModification}"/> </p:submenu> <p:submenu label="Edit"> <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-arrowreturnthick-1-w" value=" Undo" ajax="true" /> <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-arrowreturnthick-1-e" value=" Redo" ajax="true" /> </p:submenu> </ui:define> <ui:define name="centerLayout"> <p:layoutUnit position="center"> <h:form id="centerForm"> <ui:fragment rendered="#{not empty currentCockpitEditorBean.activeView}"> <!-- The following is a workaround necessary due to a bug in Primefaces. --> <script type="text/javascript"> $('.ui-panel').click(function(event) { nodeSelected([{name: 'id', value: event.currentTarget.id}]); }); </script> <p:dashboard id="dynamicDashboard" binding="#{currentCockpitEditorBean.dashboard}"> <p:ajax event="reorder" listener="#{currentCockpitEditorBean.handleReorder}"/> </p:dashboard> </ui:fragment> </h:form> </p:layoutUnit> </ui:define> <ui:define name="furtherLayoutUnits"> <p:layoutUnit position="west" size="300" header="Views" resizable="true" collapsible="true"> <h:form id="availableViewsForm"> <p:dataList value="#{currentCockpitEditorBean.project.views}" var="viewElem"> <p:commandLink id="viewLink" style="font-weight: #{currentCockpitEditorBean.activeView == viewElem ? 'bold' : 'normal'}" value="#{viewElem.name}"/> <p:tooltip for="viewLink"> <b><h:outputText value="#{viewElem.name}"/></b> <br/> <h:outputText value="#{viewElem.description}" rendered="#{not empty viewElem.description}"/> <h:outputText value="No description available." rendered="#{empty viewElem.description}"/> <br/><br/> <b><h:outputText value="Displays"/></b> <p:dataList value="#{viewElem.displayConnectors}" var="connector"> #{connector.getName()} </p:dataList> </p:tooltip> <p:menu overlay="true" trigger="viewLink" my="left top" at="left bottom" style="width:210px"> <p:menuitem icon="ui-icon-analysisEditor" value=" #{localizedCockpitEditorPageMessages.selectView}" action="#{currentCockpitEditorBean.setActiveView(viewElem)}" styleClass="element-with-whitespace" update=":messages :centerForm :availableViewsForm"/> <p:separator/> <p:menuitem icon="ui-icon-copy" styleClass="element-with-whitespace" value=" #{localizedCockpitEditorPageMessages.copyView}" /> <p:menuitem icon="ui-icon-edit" styleClass="element-with-whitespace" value=" #{localizedCockpitEditorPageMessages.renameView}"/> <p:menuitem icon="ui-icon-edit" styleClass="element-with-whitespace" value=" Edit Description"/> <p:menuitem icon="ui-icon-delete" styleClass="element-with-whitespace" value=" #{localizedCockpitEditorPageMessages.deleteView}" action="#{currentCockpitEditorBean.deleteView(viewElem)}"/> </p:menu> </p:dataList> </h:form> </p:layoutUnit> <p:layoutUnit position="east" resizable="true" size="300" collapsible="true" header="Available Displays"> <h:form rendered="#{not empty currentCockpitEditorBean.project}"> <p:accordionPanel value="#{currentCockpitEditorBean.project.plugins}" multiple="true" activeIndex="" var="plugin"> <p:tab title="#{plugin.name}" titletip="#{plugin.classname}"> <h:outputText value="No Displays Available" rendered="#{empty plugin.displays}"/> <ui:repeat value="#{plugin.displays}" var="display"> <p:commandLink id="displayLink" value="#{display.name}" action="#{currentCockpitEditorBean.addDisplayToView(display)}" update=":availableViewsForm :centerForm"/><br/> <p:tooltip for="displayLink" value="#{currentCockpitEditorBean.getDescription(display)}"/> </ui:repeat> </p:tab> </p:accordionPanel> </h:form> </p:layoutUnit> <!-- This is the component presenting the available properties. --> <p:layoutUnit style="font-size: 12px" position="south" size="150" header="#{localizedMessages.properties}" resizable="true" collapsible="true"> <h:form id="propertiesForm" > <p:dataTable editable="true" var="property" value="#{currentCockpitEditorBean.properties}" rowIndexVar="rowIndex" emptyMessage="#{localizedMessages.noPropertiesAvailable}" rendered="#{not empty currentCockpitEditorBean.selectedNode}"> <p:column headerText="#{localizedMessages.property}" style="width:125px"> <h:outputText value="Plugin-Name" rendered="#{rowIndex == 0}"/> <h:outputText value="Display-Name" rendered="#{rowIndex == 1}"/> <h:outputText value="#{localizedCockpitEditorPageMessages.name}" rendered="#{rowIndex == 2}"/> </p:column> <p:column headerText="#{localizedMessages.value}" style="width:125px"> <h:outputText value="#{currentCockpitEditorBean.selectedNode.display.parent.name}" rendered="#{rowIndex == 0}" /> <h:outputText value="#{currentCockpitEditorBean.selectedNode.display.name}" rendered="#{rowIndex == 1}" /> <p:inplace editor="true" rendered="#{rowIndex == 2}"> <p:inputText value="#{currentCockpitEditorBean.selectedNode.name}"/> </p:inplace> </p:column> </p:dataTable> </h:form> </p:layoutUnit> </ui:define> <ui:define name="furtherDialogIncludes"> <p:confirmDialog id="confirmDialog" message="You have unsaved changed on your page. Do you really want to continue?" header="Unsaved Changes" severity="alert" widgetVar="closeConfirmation" > <h:form> <p:commandButton id="confirm" value="#{localizedMessages.yes}" ajax="false" oncomplete="closeConfirmation.hide()" action="ProjectOverviewPage.xhtml?faces-redirect=true" /> <p:commandButton id="decline" value="#{localizedMessages.cancel}" onclick="closeConfirmation.hide()" type="button" /> </h:form> </p:confirmDialog> <!-- Include the dialogs for the views. --> <ui:include src="../dialogs/CockpitEditorPageDialogs.xhtml" /> </ui:define> </ui:composition> </h:body> </html>