Public paste
Undefined
By: _eMaX_ | Date: Dec 22 2009 17:11 | Format: None | Expires: never | Size: 16.84 KB | Hits: 1227

  1. <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
  2. <%@ page contentType="text/html; charset=UTF-8" %>
  3. <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
  4. <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
  5. <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
  6. <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
  7. <%@ taglib uri="http://primefaces.prime.com.tr/ui" prefix="p" %>
  8. <%@page import="com.bo.bolight.Application" %>
  9. <f:view>
  10. <html>
  11. <head>
  12. <title><h:outputText value="#{msg.app_title}" /></title>
  13. <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
  14. <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
  15. <p:resources/>
  16. <link rel="stylesheet" type="text/css" href="bolight.css"/>
  17. <script language="javascript">
  18.   var popupWindow = null;
  19.   function popup(url,winName) {
  20.         ie=/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent);
  21.     settings=eval("<%=Application.cfg("ViewerOptions")%>");//'height='+(ie?screen.height-68:screen.height)+',width='+(ie?screen.width-12:screen.width)+',left=0,top=0,menubar=no,status=no,toolbar=no,dependent=yes,resizable=yes,alwaysRaised=yes,location=no'
  22.     popupWindow = window.open(url,winName,settings);
  23.   }
  24.   function setCaretToEnd (e) {
  25.     var control = $((e.target ? e.target : e.srcElement).id);
  26.     if (control.createTextRange) {
  27.       var range = control.createTextRange();
  28.       range.collapse(false);
  29.       range.select();
  30.     } else if (control.setSelectionRange) {
  31.       control.focus();
  32.       var length = control.value.length;
  33.       control.setSelectionRange(length, length);
  34.     }
  35.     control.selectionStart = control.selectionEnd = control.value.length;
  36.   }
  37. </script>
  38. </head>
  39. <body style="margin:0;padding:0;margin-right:0px;">
  40.   <h:form>
  41.     <p:layout fullPage="true">
  42.       <!-- Header -->
  43.       <p:layoutUnit position="north" resizable="false" style="padding:0;overflow-x: hidden;overflow-y: hidden;">
  44.         <rich:panel header="#{msg.label_welcome}: #{LoginForm.userName}" styleClass="browser" headerClass="browserlogo" bodyClass="browser">
  45.           <rich:toolBar height="16" styleClass="toolbar" itemSeparator="none" separatorClass="toolbarseparator" contentClass="toolbar">
  46.             <rich:toolBarGroup>
  47.               <a4j:commandLink immediate="true" actionListener="#{Browser.refresh}" reRender="tree, table, sc" styleClass="toolbarbutton">
  48.                 <h:graphicImage value="../images/refresh_toolbar16.gif" styleClass="toolbarbutton"/>
  49.                 <h:outputLabel value="#{msg.label_refresh}" styleClass="toolbartext"/>
  50.               </a4j:commandLink>
  51.               <h:graphicImage value="../images/toolbarseparator.gif" height="16" styleClass="toolbarseparator"/>
  52.             </rich:toolBarGroup>
  53.               <rich:toolBarGroup style="border:none; width:100%;"><rich:spacer height="1px"/></rich:toolBarGroup>
  54.             <rich:toolBarGroup location="right">
  55.               <h:outputLabel id="preferences" value="#{msg.label_preferences}" styleClass="toolbartext">
  56.               <rich:componentControl for="prefs_panel" attachTo="preferences" operation="show" event="onclick"/>
  57.               </h:outputLabel>
  58.               <h:graphicImage value="../images/toolbarseparator.gif" height="16" styleClass="toolbarseparator"/>
  59.             </rich:toolBarGroup>
  60.             <rich:toolBarGroup location="right">
  61.               <a4j:commandLink action="#{LoginForm.logout}" styleClass="toolbarbutton" bypassUpdates="true" oncomplete="setTimeout("window.location = 'index.jsp'", 10);Event.stop(event);">
  62.                 <h:outputLabel value="#{msg.label_logout}" styleClass="toolbartext"/>
  63.               </a4j:commandLink>
  64.             </rich:toolBarGroup>
  65.           </rich:toolBar>
  66.         </rich:panel>
  67.       </p:layoutUnit>
  68.       <!-- /Header -->
  69.      
  70.       <!-- Tree -->
  71.       <p:layoutUnit position="west" size="200" closable="false" style="padding:0;overflow-x: hidden;">
  72.  
  73.         <rich:tree id="tree" style="width:50px"
  74.                    iconLeaf="../images/iconLeaf.gif"
  75.                    nodeSelectListener="#{Browser.processTreeSelection}"
  76.                    reRender="selectedNode,table,sc"
  77.                    ajaxSubmitSelection="true"
  78.                    immediate="true"
  79.                    switchType="client"
  80.                    value="#{Browser.treeNode}"
  81.                    var="item"
  82.                    ajaxKeys="#{null}">
  83.         </rich:tree>
  84.  
  85.       </p:layoutUnit>
  86.       <!-- /Tree -->
  87.      
  88.       <!-- Browser -->
  89.       <p:layoutUnit position="center" style="padding:0;overflow-x:hidden;">
  90.         <table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%">
  91.           <tr height="100%"><td valign="top">
  92.             <!-- Data Table -->
  93.             <rich:dataTable width="100%"
  94.                             columnClasses="col1,col2,col3,col4,col5"
  95.                             value="#{Browser.tableDataModel}"
  96.                             var="doc"
  97.                             id="table"
  98.                             rows="#{Browser.maxrows}">
  99.               <!-- Table Header -->
  100.               <f:facet name="header">
  101.                 <rich:columnGroup>
  102.                   <rich:column width="30px">
  103.                     <h:outputText value="#{msg.label_column_icon}" />
  104.                   </rich:column>
  105.                   <rich:column width="200px">
  106.                     <h:outputText value="#{msg.label_column_name}" />
  107.                   </rich:column>
  108.                   <rich:column width="60%">
  109.                     <h:outputText value="#{msg.label_column_description}" />
  110.                   </rich:column>
  111.                   <rich:column width="130px">
  112.                     <h:outputText value="#{msg.label_column_created}" />
  113.                   </rich:column>
  114.                   <rich:column width="130px">
  115.                     <h:outputText value="#{msg.label_column_lastrun}" />
  116.                   </rich:column>
  117.                 </rich:columnGroup>
  118.               </f:facet>
  119.               <!-- /Table Header -->
  120.  
  121.               <!-- Icon Column -->
  122.               <rich:column sortIcon="../images/sortupdown.gif"
  123.                            sortIconAscending="../images/sortup.gif"
  124.                            sortIconDescending="../images/sortdown.gif"  
  125.                            style="nowrap"
  126.                            sortable="true"
  127.                            width="30px"  
  128.                            sortBy="#{doc.type}"
  129.                            label="#{msg.label_column_icon}">
  130.                 <f:facet name="header">
  131.                   <h:outputText value="" />
  132.                 </f:facet>
  133.                 <h:graphicImage value="#{doc.icon}" alt="#{doc.type}"/>
  134.               </rich:column>
  135.               <!-- /Icon Column -->
  136.              
  137.               <!-- Name Column -->
  138.               <rich:column sortIcon="../images/sortupdown.gif"
  139.                            sortIconAscending="../images/sortup.gif"
  140.                            sortIconDescending="../images/sortdown.gif"  
  141.                            comparator="#{Browser.nameComparator}"
  142.                            style="nowrap"
  143.                            width="200px"
  144.                            sortable="true"  
  145.                            sortBy="#{doc.name}"
  146.                            filterMethod="#{Browser.filterName}"
  147.                            label="#{msg.label_column_name}">
  148.                 <f:facet name="header">
  149.                   <h:inputText binding="#{Browser.filterName}"
  150.                                id="filterName"
  151.                                onclick="Event.stop(event);"  
  152.                                style="width:190px;">
  153.                     <a4j:support event="onkeyup" action="#{Browser.filterName}"
  154.                                  reRender="table, sc"
  155.                                  ignoreDupResponses="true"
  156.                                  requestDelay="700"
  157.                                  oncomplete="setCaretToEnd(event);"/>
  158.                   </h:inputText>
  159.                 </f:facet>
  160.                
  161.                 <!-- Link to open the Viewer -->
  162.                 <h:outputLink target="#{doc.id}"
  163.                               value="#{Browser.viewerURL}"
  164.                               styleClass="opendocument"
  165.                               onclick="popup('','#{doc.id}'); popupWindow.focus();">
  166.                   <f:param name="iDocID" value="#{doc.id}" />
  167.                   <f:param name="token" value="#{LoginForm.token}" />
  168.                   <h:outputText value="#{doc.name}" />
  169.                 </h:outputLink>
  170.               </rich:column>
  171.               <!-- /Name Column -->
  172.              
  173.               <!-- Description Column -->
  174.               <rich:column sortIcon="../images/sortupdown.gif"
  175.                            sortIconAscending="../images/sortup.gif"
  176.                            sortIconDescending="../images/sortdown.gif"  
  177.                            comparator="#{Browser.descriptionComparator}"
  178.                            style="nowrap"
  179.                            width="60%"
  180.                            sortable="true"
  181.                            sortBy="#{doc.description}"
  182.                            filterMethod="#{Browser.filterDescription}"
  183.                            label="#{msg.label_column_description}">
  184.                 <f:facet name="header">
  185.                   <h:inputText binding="#{Browser.filterDescription}"
  186.                                id="filterDescription"
  187.                                onclick="Event.stop(event);"  
  188.                                style="width:95%;">
  189.                     <a4j:support event="onkeyup" action="#{Browser.filterDescription}"
  190.                                  reRender="table, sc"
  191.                                  ignoreDupResponses="true"
  192.                                  requestDelay="700"
  193.                                  oncomplete="setCaretToEnd(event);"/>
  194.                   </h:inputText>
  195.                 </f:facet>
  196.                 <h:outputText id="docdescription"
  197.                               value="#{doc.description}"/>
  198.                 <rich:toolTip verticalOffset="-20"
  199.                               direction="top-right"
  200.                               mode="ajax"
  201.                               showDelay="300"
  202.                               styleClass="tooltip"
  203.                               layout="block"
  204.                               rendered="#{not empty doc.fulldescription}">
  205.                   <h:panelGrid columns="1">
  206.                     <f:facet name="header">
  207.                       <h:outputText value="#{msg.label_column_description}:" />
  208.                     </f:facet>
  209.                     <h:outputText value="#{doc.fulldescription}" styleClass="tooltipData" />
  210.                   </h:panelGrid>
  211.                 </rich:toolTip>
  212.               </rich:column>
  213.               <!-- /Description Column -->
  214.  
  215.               <!-- Created Column -->              
  216.               <rich:column sortIcon="../images/sortupdown.gif"
  217.                            sortIconAscending="../images/sortup.gif"
  218.                            sortIconDescending="../images/sortdown.gif"
  219.                            comparator="#{Browser.creationDateComparator}"
  220.                            style="nowrap"
  221.                            sortable="true"
  222.                            sortBy="#{doc.created}"
  223.                            width="130px"
  224.                            filterMethod="#{Browser.filterCreated}"
  225.                            label="#{msg.label_column_created}">
  226.                 <f:facet name="header">
  227.                   <h:inputText binding="#{Browser.filterCreated}"
  228.                                id="filterCreated"
  229.                                onclick="Event.stop(event);"
  230.                                style="width:100px;">
  231.                     <a4j:support event="onkeyup" action="#{Browser.filterCreated}"
  232.                                  reRender="table, sc"
  233.                                  ignoreDupResponses="true"
  234.                                  requestDelay="700"
  235.                                  oncomplete="setCaretToEnd(event);"/>
  236.                   </h:inputText>
  237.                 </f:facet>
  238.                 <h:outputText value="#{doc.created}" />
  239.               </rich:column>
  240.               <!-- /Created Column -->
  241.              
  242.               <!-- Last Run Column -->
  243.               <rich:column sortIcon="../images/sortupdown.gif"
  244.                            sortIconAscending="../images/sortup.gif"
  245.                            sortIconDescending="../images/sortdown.gif"
  246.                            comparator="#{Browser.lastrunDateComparator}"
  247.                            style="nowrap"
  248.                            sortable="true"
  249.                            sortBy="#{doc.lastrun}"
  250.                            width="130px"
  251.                            filterMethod="#{Browser.filterLastrun}"
  252.                            label="#{msg.label_column_lastrun}">
  253.                 <f:facet name="header">
  254.                   <h:inputText binding="#{Browser.filterLastrun}"
  255.                                id="filterLastrun"
  256.                                onclick="Event.stop(event);"
  257.                                style="width:100px;">
  258.                      <a4j:support event="onkeyup" action="#{Browser.filterLastrun}"
  259.                                   reRender="table, sc"
  260.                                   ignoreDupResponses="true"
  261.                                   requestDelay="700"
  262.                                   oncomplete="setCaretToEnd(event);"/>
  263.                   </h:inputText>
  264.                 </f:facet>
  265.                 <h:outputText value="#{doc.lastrun}" />
  266.               </rich:column>
  267.               <!-- /Last Run Column -->
  268.              
  269.               <!-- Selection Listener -->
  270.               <a4j:support reRender="selectiontable"
  271.                            action="#{Browser.takeSelection}"
  272.                            event="onselectionchange" />
  273.             </rich:dataTable>
  274.             <!-- /Data Table -->
  275.           </td></tr><tr><td>
  276.             <!-- Data Scroller -->
  277.             <rich:datascroller align="left"  
  278.                                for="table"
  279.                                maxPages="20"
  280.                                page="#{Browser.page}"
  281.                                id="sc"
  282.                                style="width:100%"
  283.                                renderIfSinglePage="false" />
  284.             <!-- /Data Scroller -->
  285.           </td></tr></table>
  286.         </p:layoutUnit>
  287.         <!-- /Browser -->
  288.       </p:layout>
  289.       </h:form>
  290.        
  291.       <!-- Preferences -->
  292.       <rich:modalPanel headerClass="prefsheader" id="prefs_panel" width="717" height="265" resizeable="false">
  293.         <f:facet name="header">
  294.           <h:panelGroup>
  295.             <h:outputText value="#{msg.label_preferences}"></h:outputText>
  296.           </h:panelGroup>
  297.         </f:facet>
  298.         <f:facet name="controls">
  299.           <h:panelGroup>
  300.             <h:graphicImage value="../images/close.png" id="prefs_hide"/>
  301.             <rich:componentControl for="prefs_panel" attachTo="prefs_hide" operation="hide" event="onclick"/>
  302.           </h:panelGroup>
  303.         </f:facet>
  304.        
  305.         <a4j:form ajaxSubmit="true">
  306.           <table border="0" cellspacing="0" cellpadding="0"><tr><td>&nbsp;</td></tr><tr><td align="center">
  307.           <table border="0" cellspacing="0" cellpadding="5" class="prefsbody">
  308.             <tr><td colspan="2">&nbsp;</td></tr>
  309.             <tr>
  310.               <td align="right" class="label"><h:outputText value="#{msg.label_newpassword}: "/></td>
  311.               <td>
  312.                 <h:inputSecret id="password" value="#{Preferences.password}" styleClass="inputbox"/>
  313.               </td>
  314.             </tr>
  315.             <tr>
  316.               <td align="right" class="label"><h:outputText value="#{msg.label_confirmpassword}: "/></td>
  317.               <td>
  318.                 <h:inputSecret id="confirmPassword" value="#{Preferences.confirmPassword}" styleClass="inputbox"/>
  319.               </td>
  320.             </tr>
  321.             <tr><td colspan="2">&nbsp;</td></tr>
  322.           </table>
  323.           <h:panelGrid styleClass="prefsfooter" columns="1">
  324.             <a4j:commandButton value="#{msg.label_save}"
  325.                                action="#{Preferences.save}"
  326.                                reRender="prefs_err"
  327.                                styleClass="logon_button logon_button_no_hover"
  328.                                onmouseover="this.className='logon_button logon_button_hover';"
  329.                                onmouseout="this.className='logon_button logon_button_no_hover';"
  330.                                oncomplete="if (#{empty Preferences.message}) #{rich:component('prefs_panel')}.hide();" />
  331.             <h:outputText id="prefs_err" value="#{Preferences.message}" />
  332.           </h:panelGrid>
  333.           </td></tr></table>
  334.         </a4j:form>
  335.       </rich:modalPanel>
  336.       <!-- /Preferences -->
  337.   </body>
  338. </html>
  339. </f:view>