Skip to content
Snippets Groups Projects
ProjectOverviewPage.xhtml 9.37 KiB
Newer Older
<?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">
    <f:loadBundle var="localizedMessages" basename="lang.Common"/>
    <f:loadBundle var="localizedProjectOverviewMessages" basename="lang.ProjectOverviewPage"/>

    <h:head>
        <title>Kieker.WebGUI</title>
        <link rel="stylesheet" type="text/css" href="../css/Common.css" />
        <link rel="stylesheet" type="text/css" href="../css/Icons.css" />
        <link rel="stylesheet" type="text/css" href="../css/ProjectOverviewPage.css" />
    </h:head>

    <h:body>
        <p:layout fullPage="true">            
            <p:layoutUnit position="north">
                <h:form id="menuForm">
                    <p:toolbar>
                        <p:toolbarGroup align="left">
                            <h:outputText styleClass="kieker-title" value="Kieker"/>
                        </p:toolbarGroup>
                        <p:toolbarGroup align="right">
                            <p:button styleClass="perspective-button" icon="ui-icon-home" disabled="true" />
                            <p:button styleClass="perspective-button" icon="ui-icon-analysisEditor" value="#{localizedMessages.analysisEditor}" style="white-space: none" outcome="analysisEditor" >
                                <f:param name="projectName" value="#{currentProjectOverviewBean.projectName}" rendered="#{not empty currentProjectOverviewBean.projectName}"/>
                            </p:button>
                            <p:button styleClass="perspective-button" icon="ui-icon-analysis" value="#{localizedMessages.analysis}" style="white-space: none" outcome="controller">
                                <f:param name="projectName" value="#{currentProjectOverviewBean.projectName}" rendered="#{not empty currentProjectOverviewBean.projectName}"/>
                            </p:button>
                            <p:separator/>
                            <p:button styleClass="perspective-button" icon="ui-icon-cockpitEditor" value="#{localizedMessages.cockpitEditor}" style="white-space: none" outcome="cockpitEditor">
                                <f:param name="projectName" value="#{currentProjectOverviewBean.projectName}" rendered="#{not empty currentProjectOverviewBean.projectName}"/>
                            <p:button styleClass="perspective-button" icon="ui-icon-cockpit" value="#{localizedMessages.cockpit}" style="white-space: none" outcome="cockpit">
                                <f:param name="projectName" value="#{currentProjectOverviewBean.projectName}" rendered="#{not empty currentProjectOverviewBean.projectName}"/>
                            </p:button>
                        </p:toolbarGroup>
                    </p:toolbar>

                    <p:menubar>
                        <p:submenu label="#{localizedMessages.file}">
                            <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-newProject" value="  #{localizedProjectOverviewMessages.newProject}" onclick="newProjectDialog.show()" ajax="true"/>
                            <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-importProject" value="  #{localizedProjectOverviewMessages.importProject}" ajax="true" disabled="true"/>
                            <p:separator/>
                            <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-reload" value="  #{localizedProjectOverviewMessages.refreshProjectsList}" update=":projectsListForm" action="#{currentProjectOverviewBean.updateLists()}" ajax="true"/>
                            <p:separator/>
                            <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-settings" value="  #{localizedMessages.settings}" onclick="settingsDlg.show()" ajax="true"/>

                        <p:submenu label="#{localizedMessages.help}">
                            <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-userGuide" value="  #{localizedMessages.userGuide}" ajax="true" disabled="true"/>
                            <p:separator/>
                            <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-about" value="  #{localizedMessages.about}" onclick="aboutDlg.show()" ajax="true"/>
                        </p:submenu>

                        <p:menuitem styleClass="logOutButton element-with-whitespace" icon="ui-icon-logout" value=" #{userBean.userName}" ajax="true" url="#{request.contextPath}/j_spring_security_logout"/>
                    </p:menubar>
                </h:form>
            </p:layoutUnit>

            <!-- Abstand zu Icons -->
            <p:layoutUnit position="center">
                <h:form id="projectsListForm"> 
Nils Christian Ehmke's avatar
Nils Christian Ehmke committed
                    <p:dataTable emptyMessage="#{localizedMessages.noRecordsFound}" rows="15" paginator="true" paginatorPosition="both" var="project" rowsPerPageTemplate="5,10,15,25,50" value="#{currentProjectOverviewBean.projects}" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" selection="#{currentProjectOverviewBean.projectName}" rowKey="#{project}" selectionMode="single">  
                        <!-- Makes sure that rows are selected instantaneously. -->
                        <p:ajax event="rowSelect" listener="#{currentProjectOverviewBean.onRowSelect}" update=":menuForm" />

                        <p:column headerText="#{localizedProjectOverviewMessages.projectName}" id="modelHeader" sortBy="#{project}">  
                            <p:commandLink id="dynaButton" value="#{project}"/>

                            <p:menu overlay="true" trigger="dynaButton" my="left top" at="left bottom" style="width:210px">  
                                <p:menuitem icon="ui-icon-analysisEditor" id="openButton" value="  #{localizedMessages.analysisEditor}" styleClass="element-with-whitespace" ajax="false" url="analysisEditor?projectName=#{project}"/>
                                <p:menuitem icon="ui-icon-analysis" id="controlAnalysis"  styleClass="element-with-whitespace" value="  #{localizedMessages.analysis}" ajax="false" url="controller?projectName=#{project}" />
                                <p:separator/>

                                <p:menuitem icon="ui-icon-cockpitEditor" id="editAnalysisViews"  styleClass="element-with-whitespace" value="  #{localizedMessages.cockpitEditor}" ajax="false" url="cockpitEditor?projectName=#{project}" />
                                <p:menuitem icon="ui-icon-cockpit" id="showAnalysis"  styleClass="element-with-whitespace" value="  #{localizedMessages.cockpit}" ajax="false" url="cockpit?projectName=#{project}" />
                                <p:separator/>
                                <p:menuitem id="copyButton" icon="ui-icon-copy"  styleClass="element-with-whitespace" value="  #{localizedProjectOverviewMessages.copyProject}" action="#{currentProjectOverviewBean.setProjectName(project)}" onclick="copyProjectDialog.show()"/>
                                <p:menuitem id="renameButton" icon="ui-icon-edit"  styleClass="element-with-whitespace" value="  #{localizedProjectOverviewMessages.renameProject}"  action="#{currentProjectOverviewBean.setProjectName(project)}" onclick="renameProjectDialog.show()" disabled="true"/>
                                <p:menuitem id="deleteButton" icon="ui-icon-delete"  styleClass="element-with-whitespace" value="  #{localizedProjectOverviewMessages.deleteProject}" action="#{currentProjectOverviewBean.setProjectName(project)}" onclick="deleteProjectDialog.show()" disabled="true"/>      
                            </p:menu>
                        </p:column>  
                        <p:column headerText="#{localizedProjectOverviewMessages.state}" style="text-align: center" sortBy="#{projectsBean.getAnalysisControllerState(project)}">  
                            <h:outputText value="#{projectsBean.getAnalysisControllerState(project)}"/>  
                        </p:column>

                        <p:column headerText="#{localizedProjectOverviewMessages.lastModification}" sortBy="#{projectsBean.getCurrTimeStamp(project)}" style="text-align: center">  
                            <h:outputText value="#{projectsBean.getCurrTimeStamp(project)}" />  
                        </p:column>  

                        <p:column headerText="#{localizedProjectOverviewMessages.owner}" style="text-align: center" rendered="false">   
                            <h:outputText value="N/A" />  
                        </p:column>  

                    </p:dataTable>  
                </h:form>
            </p:layoutUnit>

        </p:layout>

        <p:growl id="messages" life="1500" showDetail="true"  autoUpdate="false" sticky="true"/>  

        <!-- Include the about-dialog. -->
        <ui:include src="../dialogs/AboutDialog.xhtml" />
        <!-- Include the dialogs for the project managment. -->
        <ui:include src="../dialogs/ProjectOverviewPageDialogs.xhtml" />
        <!-- Include the dialog for the configuration. -->
        <ui:include src="../dialogs/SettingsDialog.xhtml" />