]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/acq/settings/li_attr.js
Merging acq-experiment to trunk, since rel_1_4 has been branched.
[working/Evergreen.git] / Open-ILS / web / js / ui / default / acq / settings / li_attr.js
1 dojo.require("dijit.Dialog");
2 dojo.require('dijit.layout.TabContainer');
3 dojo.require('dijit.layout.ContentPane');
4 dojo.require('dijit.form.FilteringSelect');
5 dojo.require('dijit.form.TextBox');
6 dojo.require('dojox.grid.Grid');
7 dojo.require("fieldmapper.OrgUtils");
8 dojo.require('openils.Event');
9 dojo.require('openils.User');
10 dojo.require('openils.acq.LineitemAttr');
11
12 var provider = null;
13 var marcRegex = /^\/\/\*\[@tag="(\d+)"]\/\*\[@code="(\w)"]$/;
14 var attrDefStores;
15
16
17 function getOrgInfo(rowIndex) {
18     data = providerGrid.model.getRow(rowIndex);
19     if(!data) return;
20     return fieldmapper.aou.findOrgUnit(data.owner).shortname();
21 }
22
23 function getTag(rowIdx) {
24     data = this.grid.model.getRow(rowIdx);
25     if(!data) return;
26     return data.xpath.replace(marcRegex, '$1');
27 }
28
29 function getSubfield(rowIdx) {
30     data = this.grid.model.getRow(rowIdx);
31     if(!data) return;
32     return data.xpath.replace(marcRegex, '$2');
33 }
34
35
36 function loadStores(onload) {
37     if(attrDefStores) 
38         return onload();
39     openils.acq.LineitemAttr.createAttrDefStores(
40         function(stores) {
41             attrDefStores = stores;
42             onload();
43         }
44     )
45 }
46
47
48 function loadMarcAttrGrid() {
49     loadStores(
50         function() {
51             var store = new dojo.data.ItemFileReadStore({data:attrDefStores.marc});
52             var model = new dojox.grid.data.DojoData(
53                 null, store, {rowsPerPage: 20, clientSort: true, query:{id:'*'}});
54             liMarcAttrGrid.setModel(model);
55             liMarcAttrGrid.update();
56         }
57     );
58 }
59
60 function loadGeneratedAttrGrid() {
61     loadStores(
62         function() {
63             var store = new dojo.data.ItemFileReadStore({data:attrDefStores.generated});
64             var model = new dojox.grid.data.DojoData(
65                 null, store, {rowsPerPage: 20, clientSort: true, query:{id:'*'}});
66             liGeneratedAttrGrid.setModel(model);
67             liGeneratedAttrGrid.update();
68         }
69     );
70 }
71
72 /*
73 function createOrderRecordField(fields) {
74     fields.provider = providerId;
75     if(!fields.xpath) 
76         fields.xpath = '//*[@tag="'+fields.tag+'"]/*[@code="'+fields.subfield+'"]';
77     delete fields.tag;
78     delete fields.subfield;
79     openils.acq.Provider.createLineitemProviderAttrDef(fields, 
80         function(id) {
81             loadPADGrid();
82         }
83     );
84 }
85
86 function setORDesc() {
87     var code = dijit.byId('oils-acq-provider-or-code');
88     var desc = dijit.byId('oils-acq-provider-or-desc');
89     desc.setValue(code.getDisplayedValue());
90 }
91
92 function deleteORDataFields() {
93     var list = []
94     var selected = padGrid.selection.getSelected();
95     for(var idx = 0; idx < selected.length; idx++) 
96         list.push(padGrid.model.getRow(selected[idx]).id);
97     openils.acq.Provider.lineitemProviderAttrDefDeleteList(
98         list, function(){loadPADGrid();});
99 }
100 */
101
102
103 //dojo.addOnLoad(loadLIAttrGrid);
104
105