]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/acq/picklist/view.js
adding paging plugins to li table. showing entry count in picklist view.
[working/Evergreen.git] / Open-ILS / web / js / ui / default / acq / picklist / view.js
1 dojo.require('dojo.date.stamp');
2 dojo.require('dojo.date.locale');
3 dojo.require('openils.User');
4 dojo.require('openils.Util');
5 dojo.require('dijit.layout.ContentPane');
6
7 var plist;
8 var plOffset = 0;
9 var plLimit = 20;
10 var liTable;
11
12
13 function load() {
14     liTable = new AcqLiTable();
15     fieldmapper.standardRequest(
16         ['open-ils.acq', 'open-ils.acq.picklist.retrieve'],
17         {   async: true,
18             params: [openils.User.authtoken, plId, 
19                 {flesh_lineitem_count:true, flesh_owner:true}],
20             oncomplete: function(r) {
21                 plist = openils.Util.readResponse(r);
22                 drawPl(plist);
23             }
24         }
25     );
26
27 }
28
29 function drawPl() {
30
31     dojo.byId("oils-acq-picklist-name").innerHTML = plist.name();
32     dojo.byId("oils-acq-picklist-attr-owner").innerHTML = plist.owner().usrname();
33     dojo.byId("oils-acq-picklist-attr-count").innerHTML = plist.entry_count();
34
35     dojo.byId("oils-acq-picklist-attr-cdate").innerHTML =
36          dojo.date.locale.format(
37             dojo.date.stamp.fromISOString(plist.create_time()), 
38             {selector:'date'}
39         );
40
41     dojo.byId("oils-acq-picklist-attr-edate").innerHTML = 
42          dojo.date.locale.format(
43             dojo.date.stamp.fromISOString(plist.edit_time()), 
44             {selector:'date'}
45         );
46
47     loadLIs();
48 }
49
50 function loadLIs() {
51     liTable.reset();
52
53     if(plist.entry_count() > (plOffset + plLimit)) {
54         liTable.setNext(
55             function() { 
56                 plOffset += plLimit;
57                 loadLIs();
58             }
59         );
60     } else {
61         liTable.setNext(null);
62     }
63
64     if(plOffset > 0) {
65         liTable.setPrev(
66             function() { 
67                 plOffset -= plLimit;
68                 loadLIs();
69             }
70         );
71     } else {
72         liTable.setPrev(null);
73     }
74
75
76     fieldmapper.standardRequest(
77         ['open-ils.acq', 'open-ils.acq.lineitem.picklist.retrieve'],
78         {   async: true,
79             params: [openils.User.authtoken, plId, 
80                 {flesh_attrs:true, clear_marc:true, offset:plOffset, limit:plLimit}],
81             onresponse: function(r) {
82                 liTable.showTable();
83                 liTable.addLineitem(openils.Util.readResponse(r));
84             }
85         }
86     );
87 }
88
89 openils.Util.addOnLoad(load);
90
91