adding paging plugins to li table. showing entry count in picklist view.
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 17 Mar 2009 16:54:17 +0000 (16:54 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 17 Mar 2009 16:54:17 +0000 (16:54 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12564 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/css/skin/default/acq.css
Open-ILS/web/js/ui/default/acq/common/li_table.js
Open-ILS/web/js/ui/default/acq/picklist/bib_search.js
Open-ILS/web/js/ui/default/acq/picklist/view.js
Open-ILS/web/templates/default/acq/common/li_table.tt2
Open-ILS/web/templates/default/acq/picklist/view.tt2

index 09b612f..f50f19c 100644 (file)
@@ -93,7 +93,7 @@
 
 
 #acq-lit-table {width:100%}
-#acq-lit-table th {padding:5px; font-weight: bold;}
+#acq-lit-table th {padding:5px; font-weight: bold; text-align:left;}
 #acq-lit-table td {padding:2px;}
 .acq-lit-row { border-bottom: 1px solid #AAA; }
 .acq-lit-alt-row td:first-child { width:30px; }
index 47e0495..582b2c7 100644 (file)
@@ -19,6 +19,27 @@ function AcqLiTable() {
             self.tbody.removeChild(self.tbody.childNodes[0]);
         self.selectors = [];
     };
+    
+    this.setNext = function(handler) {
+        var link = dojo.byId('acq-lit-next');
+        if(handler) {
+            dojo.style(link, 'visibility', 'visible');
+            link.onclick = handler;
+        } else {
+            dojo.style(link, 'visibility', 'hidden');
+        }
+    };
+
+    this.setPrev = function(handler) {
+        var link = dojo.byId('acq-lit-prev');
+        if(handler) {
+            dojo.style(link, 'visibility', 'visible'); 
+            link.onclick = handler; 
+        } else {
+            dojo.style(link, 'visibility', 'hidden');
+        }
+    };
+
 
     this.showTable = function() {
         dojo.style(dojo.byId('acq-lit-table-div'), 'display', 'block');
index 8c4a2f0..40346e9 100644 (file)
@@ -82,8 +82,8 @@ function clearSearchForm() {
 
 var resultRow;
 function doSearch(values) {
-    showDiv('oils-acq-pl-loading');
     liTable.reset();
+    showDiv('oils-acq-pl-loading');
 
     search = {
         service : [],
index 92fcc45..c9fafaa 100644 (file)
@@ -30,6 +30,7 @@ function drawPl() {
 
     dojo.byId("oils-acq-picklist-name").innerHTML = plist.name();
     dojo.byId("oils-acq-picklist-attr-owner").innerHTML = plist.owner().usrname();
+    dojo.byId("oils-acq-picklist-attr-count").innerHTML = plist.entry_count();
 
     dojo.byId("oils-acq-picklist-attr-cdate").innerHTML =
          dojo.date.locale.format(
@@ -43,6 +44,35 @@ function drawPl() {
             {selector:'date'}
         );
 
+    loadLIs();
+}
+
+function loadLIs() {
+    liTable.reset();
+
+    if(plist.entry_count() > (plOffset + plLimit)) {
+        liTable.setNext(
+            function() { 
+                plOffset += plLimit;
+                loadLIs();
+            }
+        );
+    } else {
+        liTable.setNext(null);
+    }
+
+    if(plOffset > 0) {
+        liTable.setPrev(
+            function() { 
+                plOffset -= plLimit;
+                loadLIs();
+            }
+        );
+    } else {
+        liTable.setPrev(null);
+    }
+
+
     fieldmapper.standardRequest(
         ['open-ils.acq', 'open-ils.acq.lineitem.picklist.retrieve'],
         {   async: true,
index 94ae125..8b1137f 100644 (file)
@@ -4,7 +4,17 @@
         <table id='acq-lit-table'>
             <thead>
                 <tr>
-                    <th colspan='0'><a id='acq-lit-select-toggle' href='javascript:void(0);'>Select</a></th>
+                    <th colspan='0'>
+                        <table style='width:100%;'><tr>
+                            <td><a id='acq-lit-select-toggle' href='javascript:void(0);'>Select</a></td>
+                            <td>
+                                <div style='width:100%;text-align:right;'>
+                                    <a href='javascript:void(0);' id='acq-lit-prev' style='visibility:hidden'>&#171; Previous</a>
+                                    <a href='javascript:void(0);' id='acq-lit-next' style='visibility:hidden'>Next &#187;</a>
+                                </div>
+                            </td>
+                        </tr></table>
+                    </th>
                 </tr>
             </thead>
             <tbody id='acq-lit-tbody'>
index db1f1b1..b41f4a7 100644 (file)
@@ -3,13 +3,12 @@
 <div dojoType="dijit.layout.ContentPane" style="height:100%">
     <div class='container'>
         <div id='oils-acq-picklist-header'>
-                Picklist
-            <span id='oils-acq-picklist-name'> </span>
+            Picklist <span id='oils-acq-picklist-name'> </span>
             <div class='oils-acq-picklist-attributes'>
-            <div>Create
-            date: <span id="oils-acq-picklist-attr-cdate"></span></div>
-            <div>Last updated: <span id="oils-acq-picklist-attr-edate"></span></div>
-            <div>Selector: <span id="oils-acq-picklist-attr-owner"></span></div>
+                <div>Create date: <span id="oils-acq-picklist-attr-cdate"></span></div>
+                <div>Last updated: <span id="oils-acq-picklist-attr-edate"></span></div>
+                <div>Selector: <span id="oils-acq-picklist-attr-owner"></span></div>
+                <div>Entry Count: <span id="oils-acq-picklist-attr-count"></span></div>
             </div>
         </div>
     </div>