]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/conify/global/acq/provider.js
8900ed2d8dfed37f73ab63afecf178c3e7377cb2
[working/Evergreen.git] / Open-ILS / web / js / ui / default / conify / global / acq / provider.js
1 dojo.require('dijit.layout.TabContainer');
2 dojo.require('openils.widget.AutoGrid');
3 dojo.require('dijit.form.FilteringSelect');
4 dojo.require('openils.PermaCrud');
5 dojo.require('openils.MarcXPathParser');
6
7
8 var provider;
9 var xpathParser = new openils.MarcXPathParser();
10 var subFields= [];
11
12 function draw() {
13     if(providerId) {
14         openils.Util.addCSSClass(dojo.byId('provider-list-div'), 'hidden');
15         console.log('in draw');
16         var pcrud = new openils.PermaCrud();
17         pcrud.retrieve('acqpro', providerId, {
18                 oncomplete : function(r) {
19                     provider = openils.Util.readResponse(r);
20                     console.log('provider is' + js2JSON(provider));
21                     var pane = new openils.widget.EditPane({fmObject:provider}, dojo.byId('provider-summary-pane'));
22                     pane.startup();
23                     console.log("pane started");
24                     dojo.connect(providerTabs, 'selectChild', drawProviderSummary);                        
25                 }
26  
27             });
28       
29         drawProviderSummary();
30     } else {
31         console.log('in else block');
32         openils.Util.removeCSSClass(dojo.byId('provider-details-div'), 'hidden');
33         pListGrid.loadAll({order_by:{acqpro : 'name'}});       
34         pListGrid.onPostCreate = function(fmObject) {
35             location.href = location.href + '/' + fmObject.id();
36         }
37         
38     }
39    
40 }
41 function drawProviderSummary(child) {
42     console.log(child);
43     openils.Util.addCSSClass(dojo.byId('provider-details-div'), 'visible');
44     console.log('added provider.list.div');
45     console.log("drawing provider-details-div");
46   
47     var loadedTabs = {'provider-address' : true};
48     if(child){   
49         if(loadedTabs[child.id]) return;
50         loadedTabs[child.id] = true;
51         switch(child.id) {
52         case 'tab-pro-contact': 
53             pcListGrid.overrideEditWidgets.provider = new
54                 dijit.form.TextBox({disabled: 'true', value: providerId});
55             openils.Util.removeCSSClass(dojo.byId('contact-addr-div'), 'hidden');
56             pcListGrid.resetStore();
57             pcListGrid.loadAll( {oncomplete:function(r){
58                         var count = 0; 
59                         pcListGrid.store.fetch( {onComplete:function(list) { 
60                                     count =  list.length
61                                         if(count>=1){
62                                             var contactIds = [];                           
63                                             dojo.forEach(list, function(item) {
64                                                     contactIds.push(pcListGrid.store.getValue(item, 'id')); }
65                                                 );
66                                             openils.Util.addCSSClass(dojo.byId('contact-addr-div'), 'visible');
67                                             pcaListGrid.overrideEditWidgets.contact = new
68                                             dijit.form.FilteringSelect({store: pcListGrid.store});
69                                             pcaListGrid.resetStore();
70                                             pcaListGrid.loadAll({order_by:{acqpca : 'contact'}}, {contact: contactIds});
71                                         }else{ 
72                                             return;
73                                         }            
74                                 }
75                             }
76                             );
77                     }
78                 }, {provider : providerId});
79             
80             break;
81         case 'tab-attr': 
82             padListGrid.overrideEditWidgets.provider = new
83                 dijit.form.TextBox({disabled: 'true', value: providerId});
84             padListGrid.resetStore();
85             padListGrid.loadAll({order_by:{acqlipad : 'provider'}}, {provider : providerId});
86             break;
87         case 'tab-hold': 
88             phsListGrid.overrideEditWidgets.provider = new
89                 dijit.form.TextBox({disabled: 'true', value: providerId});
90             phsListGrid.overrideEditWidgets.name = name;
91             phsListGrid.resetStore();
92             phsListGrid.loadAll({order_by:{acqphsm : 'provider'}}, {provider : providerId});
93             break;
94         default:
95             paListGrid.overrideEditWidgets.provider = new
96                 dijit.form.TextBox({disabled: 'true', value: providerId});
97             paListGrid.resetStore();
98             paListGrid.loadAll({order_by:{acqpa:'provider'}}, {provider: providerId}); 
99         }
100         
101     } else {
102         paListGrid.overrideEditWidgets.provider = new
103             dijit.form.TextBox({disabled: 'true', value: providerId});
104         paListGrid.resetStore();
105         paListGrid.loadAll({order_by:{acqpa:'provider'}}, {provider: providerId}); 
106     }
107 }
108
109
110 function getParsedTag(rowIndex, item) {
111     console.log("in getParsedTag");
112     console.log(item);
113     return item && xpathParser.parse(padListGrid.store.getValue(item, 'xpath')).tags;
114 }
115
116
117 function getParsedSubf(rowIndex, item) {
118
119     if(item) {
120         var subfields = xpathParser.parse(padListGrid.store.getValue(item, 'xpath')).subfields;
121         return subfields.join(',');
122     }
123     return'';
124 }
125 openils.Util.addOnLoad(draw);