]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/web/opac/skin/default/js/rresult.js
5856c276c826ea239bc17bb96937b15aee55a684
[Evergreen.git] / Open-ILS / web / opac / skin / default / js / rresult.js
1 var records = new Array();
2 var table;
3 var rowtemplate;
4
5 function rresultUnload() { removeChildren(table); table = null;}
6
7 attachEvt("common", "unload", rresultUnload);
8 attachEvt("common", "run", rresultDoSearch);
9 attachEvt("result", "idsReceived", rresultCollectRecords); 
10 attachEvt("result", "recordDrawn", rresultLaunchDrawn); 
11
12 function rresultDoSearch() {
13         table = G.ui.result.main_table;
14         hideMe(G.ui.result.row_template);
15         while( table.parentNode.rows.length <= (getDisplayCount() +1) ) 
16                 hideMe(table.appendChild(G.ui.result.row_template.cloneNode(true)));
17         rresultCollectIds();
18 }
19
20 function rresultCollectIds() {
21         var ids;
22         switch(getRtype()) {
23                 case RTYPE_COOKIE:
24                         ids = JSON2js(cookieManager.read(COOKIE_RIDS));
25                         _rresultHandleIds( ids, ids.length );
26                         break;
27
28                 case RTYPE_MRID :
29                 defaut:
30                         var form = (getForm() == "all") ? null : getForm();
31                         var req = new Request(FETCH_RIDS, getMrid(), form );
32                         req.callback( rresultHandleRIds );
33                         req.send();
34         }
35 }
36
37 function rresultHandleRIds(r) {
38         var res = r.getResultObject();
39         _rresultHandleIds(res.ids, res.count);
40 }
41
42 function _rresultHandleIds(ids, count) {
43         HITCOUNT = parseInt(count);
44         runEvt('result', 'hitCountReceived');
45         runEvt('result', 'idsReceived', ids);
46 }
47
48 function rresultCollectRecords(ids) {
49         runEvt("result", "preCollectRecords");
50         var x = 0;
51         for( var i = getOffset(); i!= getDisplayCount() + getOffset(); i++ ) {
52                 if(ids[i] == null) break;
53                 var req = new Request(FETCH_RMODS, parseInt(ids[i]));
54                 req.callback(rresultHandleMods);
55                 req.request.userdata = x++;
56                 req.send();
57         }
58 }
59
60 function rresultHandleMods(r) {
61         var rec = r.getResultObject();
62         runEvt('result', 'recordReceived', rec, r.userdata, false);
63         resultCollectCopyCounts(rec, r.userdata, FETCH_R_COPY_COUNTS);
64 }
65
66
67 function rresultLaunchDrawn(id, node) {
68         runEvt("rresult", "recordDrawn", id, node);
69 }