]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/conify/global/acq/distribution_formula.js
10d19904ba70bbd9320eaf1ca49c95fad8ce42c6
[working/Evergreen.git] / Open-ILS / web / js / ui / default / conify / global / acq / distribution_formula.js
1 dojo.require('openils.widget.AutoGrid');
2 dojo.require('dijit.form.FilteringSelect');
3 dojo.require('openils.PermaCrud');
4 var formula;
5 var formCache = [];
6
7 function draw() {
8
9     if(formulaId) {
10         openils.Util.hide('formula-list-div');
11         drawFormulaSummary();
12     } else {
13
14         openils.Util.hide('formula-entry-div');
15         fListGrid.onPostCreate = function(fmObject) {
16             location.href = location.href + '/' + fmObject.id();
17         }
18
19         fieldmapper.standardRequest(
20             ['open-ils.acq', 'open-ils.acq.distribution_formula.ranged.retrieve'],
21             {   async: true,
22                 params: [openils.User.authtoken],
23                 onresponse: function (r) { 
24                     var form = openils.Util.readResponse(r);
25                     formCache[form.id()] = form;
26                     fListGrid.store.newItem(form.toStoreItem());
27                 },
28                 oncomplete: function() {
29                     fListGrid.hideLoadProgressIndicator();
30                 }
31             }
32         );
33
34     }
35 }
36 openils.Util.addOnLoad(draw);
37
38 function drawFormulaSummary() {
39     openils.Util.show('formula-entry-div');
40     dfeListGrid.overrideEditWidgets.formula = new
41         dijit.form.TextBox({style:'display:none', value: formulaId});
42     dfeListGrid.loadAll({order_by:{acqdfe : 'formula'}}, {formula : formulaId});
43     var pcrud = new openils.PermaCrud();
44     var formulaName = pcrud.retrieve('acqdf', formulaId);
45     dojo.byId('formula_head').innerHTML = formulaName.name();
46 }
47
48 function getItemCount(rowIndex, item) {
49     if(!item) return '';
50     var form = formCache[this.grid.store.getValue(item, "id")];
51     if(!form) return 0;
52     var count = 0;
53     dojo.forEach(form.entries(), function(e) { count = count + e.item_count(); });
54     return count;
55 }
56