]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/reports/oils_rpt_param_editor.js
removing the pie chart option for now
[working/Evergreen.git] / Open-ILS / web / reports / oils_rpt_param_editor.js
1 oilsRptSetSubClass('oilsRptParamEditor','oilsRptObject');
2 function oilsRptParamEditor(report, tbody) {
3         this.tbody = tbody;
4         this.report = report;
5 }
6
7
8 oilsRptParamEditor.prototype.recur = function() {
9         var cb = $n(DOM.oils_rpt_recur_editor_table,'oils_rpt_recur');
10         return (cb.checked) ? 't' : 'f';
11 }
12
13 oilsRptParamEditor.prototype.recurInterval = function() {
14         var count = getSelectorVal($n(DOM.oils_rpt_recur_editor_table,'oils_rpt_recur_count'));
15         var intvl = getSelectorVal($n(DOM.oils_rpt_recur_editor_table,'oils_rpt_recur_interval_type'));
16         return count+''+intvl;
17 }
18
19 oilsRptParamEditor.prototype.draw = function() {
20         var params = this.report.gatherParams();
21         this.params = params;
22
23         if(!oilsRptParamEditor.row)
24                 oilsRptParamEditor.row = 
25                         DOM.oils_rpt_param_editor_tbody.removeChild(
26                         $n(DOM.oils_rpt_param_editor_tbody, 'tr'));
27
28         removeChildren(this.tbody);
29         _debug(formatJSON(js2JSON(params)));
30                         
31         for( var p = 0; p < params.length; p++ ) {
32                 var par = params[p];
33                 var row = oilsRptParamEditor.row.cloneNode(true);
34                 $n(row, 'object').appendChild(text(oilsRptMakeLabel(oilsRptPathRel(par.path))));
35                 $n(row, 'column').appendChild(text(par.column.colname));
36                 $n(row, 'transform').appendChild(text(par.column.transform));
37                 $n(row, 'action').appendChild(text(par.op));
38                 par.widget = this.buildWidget(par, $n(row, 'widget'));
39                 par.widget.draw();
40                 this.tbody.appendChild(row);
41         }
42 }
43
44
45 oilsRptParamEditor.prototype.buildWidget = function(param, node) {
46         //var cls = param.relation.split(/-/).pop();
47         var path = param.path.split(/-/);
48         path.pop();
49         var cls = path.pop();
50         _debug("building widget with param class:" + cls + ' col: '+param.column.colname + ' op: '+ param.op);
51         switch(param.op) {
52                 case 'in':
53                 case 'not in':
54                         /* we have to special case org selection for now, 
55                                 until we have generic object fetch support */
56                         if( cls == 'aou' ) {
57                                 return new oilsRptOrgMultiSelect({node:node});
58                         } else {
59                                 return new oilsRptInputMultiWidget({node:node});
60                         }
61
62                 default:
63                         return new oilsRptWidget({node:node});
64         }
65 }
66
67 //oilsRptParamEditor.prototype.get = function(param, node) {
68
69
70
71