]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/acq/lineitem/findbib.js
LP#1706124: Make include inactive patrons checkbox sticky
[working/Evergreen.git] / Open-ILS / web / js / ui / default / acq / lineitem / findbib.js
1 dojo.require('openils.Util');
2 dojo.require('openils.BibTemplate');
3 dojo.require('fieldmapper.OrgUtils');
4 dojo.require('openils.CGI');
5 dojo.require('dijit.form.Button');
6 dojo.require('openils.widget.ProgressDialog');
7
8 var limit = 15;
9 var offset = 0;
10 var template;
11 var container;
12
13 function drawSearch() {
14     container = dojo.byId('acq-findbib-container');
15     template = container.removeChild(dojo.byId('acq-findbib-template'));
16     var cgi = new openils.CGI();
17     searchQuery.attr('value', cgi.param('query') || '');
18     searchQuery.domNode.select();
19     openils.Util.registerEnterHandler(searchQuery.domNode, doSearch);
20 }
21
22 function doSearch() {
23     while(container.childNodes[0])
24         container.removeChild(container.childNodes[0])
25     progressDialog.show(true);
26     var query = searchQuery.attr('value');
27     fieldmapper.standardRequest(
28         ['open-ils.search', 'open-ils.search.biblio.multiclass.query.staff'],
29         {
30             async : true,
31             params : [{limit : limit}, query, 1],
32             oncomplete : drawResult
33         }
34     );
35 }
36
37 function drawResult(r) {
38     progressDialog.hide();
39     var result = openils.Util.readResponse(r);
40     dojo.forEach(
41         result.ids,
42         function(id) {
43             id = id[0];
44             var div = template.cloneNode(true);
45             container.appendChild(div);
46
47             var viewMarc = dojo.query('[name=view-marc]', div)[0];
48             viewMarc.onclick = function() { showMARC(id); };
49             var selectRec = dojo.query('[name=select-rec]', div)[0];
50             selectRec.onclick = function() { selectRecord(id); };
51
52             new openils.BibTemplate({
53                 record : id,
54                 org_unit : fieldmapper.aou.findOrgUnit(openils.User.user.ws_ou()).shortname(),
55                 root : div
56             }).render();
57         }
58     );
59 }
60
61 function showMARC(bibId) {
62     openils.Util.show(dojo.byId('marc-div'));
63     fieldmapper.standardRequest(
64         ['open-ils.search', 'open-ils.search.biblio.record.html'],
65         {   
66             async: true,
67             params: [bibId, true],
68             oncomplete: function(r) {
69                 dojo.byId('marc-html-div').innerHTML = openils.Util.readResponse(r);
70             }
71         }
72     );
73 }
74
75 function selectRecord(bibId) {
76     if(window.recordFound) {
77         window.recordFound(bibId);
78     }
79 }
80
81
82 openils.Util.addOnLoad(drawSearch);
83