3d7a8d2fecf826efc2a8175b385faaff13947cda
[mkjsf-moved-to-github.git] / src / META-INF / resources / pz2widgets / pager.xhtml
1 <?xml version="1.0" encoding="UTF-8" ?>\r
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
3 <h:html xmlns="http://www.w3.org/1999/xhtml"\r
4       xmlns:f="http://java.sun.com/jsf/core"\r
5       xmlns:h="http://java.sun.com/jsf/html"\r
6       xmlns:ui="http://java.sun.com/jsf/facelets"\r
7       xmlns:composite="http://java.sun.com/jsf/composite">\r
8 \r
9 <head>\r
10 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
11 </head>\r
12 <body>\r
13 \r
14   <composite:interface>\r
15     <composite:attribute name="renderOnChange" required="true"/>\r
16     \r
17     <composite:attribute name="visiblePageRange" required="false" default="13"/>    \r
18     <composite:attribute name="prevLabel" required="false" default="&lt;&lt;Prev"/>\r
19     <composite:attribute name="nextLabel" required="false" default="Next&gt;&gt;"/>\r
20     <composite:attribute name="morePagesIndicator" required="false" default="..."/>\r
21     <composite:attribute name="textBeforeFirst" required="false" default="| "/>\r
22     <composite:attribute name="textAfterLast" required="false" default="| "/> \r
23   </composite:interface>\r
24   \r
25   <composite:implementation>\r
26 \r
27     <h:panelGrid columns="1" width="100%" rendered="#{pz2.hasRecords()}"><h:panelGroup>\r
28       <h:outputText id="instantiatePager" value="#{pz2.setPager(cc.attrs.visiblePageRange)}" style="display: none;" />\r
29                  \r
30       <h:commandLink value="#{cc.attrs.prevLabel}" \r
31                      action="#{pz2.pager.goToPreviousPage()}" \r
32                      rendered="#{pz2.pager.hasPreviousPage()}">\r
33          <f:ajax render="#{cc.attrs.renderOnChange}" />                                    \r
34       </h:commandLink> \r
35              \r
36       <h:outputText value=" "/>\r
37                          \r
38       <h:outputText value="#{cc.attrs.prevLabel}" rendered="#{not pz2.pager.hasPreviousPage()}"/>\r
39             \r
40       <b><h:outputText value="#{cc.attrs.textBeforeFirst}"/></b>\r
41     \r
42       <ui:repeat var="pageLink" value="#{pz2.pager.pageLinks}" varStatus="status">\r
43                            \r
44         <h:commandLink value="#{pageLink.text}" \r
45                        action="#{pz2.pager.goToPage(pageLink.page)}" \r
46                        rendered="#{pageLink.page!=pz2.pager.currentPage}">\r
47           <f:ajax render="#{cc.attrs.renderOnChange}" />            \r
48         </h:commandLink>\r
49         \r
50         <b><h:outputText value="#{pageLink.text}" rendered="#{pageLink.page==pz2.pager.currentPage}"/> </b>\r
51                                                \r
52       </ui:repeat>\r
53       \r
54       <h:outputText value="#{cc.attrs.morePagesIndicator}" rendered="#{pz2.pager.hasPageAfterLastDisplayed()}"/>\r
55         \r
56       <b><h:outputText value="#{cc.attrs.textAfterLast}" /></b>\r
57                      \r
58       <h:commandLink value="#{cc.attrs.nextLabel}" \r
59                      action="#{pz2.pager.goToNextPage()}" \r
60                      rendered="#{pz2.pager.hasNextPage()}">            \r
61         <f:ajax render="#{cc.attrs.renderOnChange}" />\r
62       </h:commandLink>\r
63                 \r
64       <h:outputText value="#{cc.attrs.nextLabel}" rendered="#{not pz2.pager.hasNextPage()}"/>\r
65         \r
66     </h:panelGroup></h:panelGrid>\r
67   </composite:implementation>\r
68 </body>\r
69 </h:html>