1 oilsRptSetSubClass('oilsRptParamEditor','oilsRptObject');
2 function oilsRptParamEditor(report, tbody) {
8 oilsRptParamEditor.prototype.recur = function() {
9 //var cb = $n(DOM.oils_rpt_recur_editor_table,'oils_rpt_recur');
10 var cb = DOM.oils_rpt_recur;
11 return (cb.checked) ? 't' : 'f';
14 oilsRptParamEditor.prototype.recurInterval = function() {
16 var count = getSelectorVal($n(DOM.oils_rpt_recur_editor_table,'oils_rpt_recur_count'));
17 var intvl = getSelectorVal($n(DOM.oils_rpt_recur_editor_table,'oils_rpt_recur_interval_type'));
19 var count = getSelectorVal(DOM.oils_rpt_recur_count);
20 var intvl = getSelectorVal(DOM.oils_rpt_recur_interval_type);
21 return count+''+intvl;
24 oilsRptParamEditor.prototype.draw = function() {
25 var params = this.report.gatherParams();
28 if(!oilsRptParamEditor.row)
29 oilsRptParamEditor.row =
30 DOM.oils_rpt_param_editor_tbody.removeChild(
31 $n(DOM.oils_rpt_param_editor_tbody, 'tr'));
33 removeChildren(this.tbody);
34 _debug(formatJSON(js2JSON(params)));
36 for( var p = 0; p < params.length; p++ ) {
38 var row = oilsRptParamEditor.row.cloneNode(true);
39 this.tbody.appendChild(row);
40 $n(row, 'column').appendChild(text(oilsRptMakeLabel(par.path)));
41 $n(row, 'transform').appendChild(text(OILS_RPT_TRANSFORMS[par.column.transform].label));
42 $n(row, 'action').appendChild(text(OILS_RPT_FILTERS[par.op].label));
43 par.widget = this.buildWidget(par, $n(row, 'widget'));
48 oilsRptParamEditor.prototype.buildWidget = function(param, node) {
49 var transform = param.column.transform;
50 var cls = oilsRptPathClass(param.path);
51 var field = oilsRptFindField(oilsIDL[cls], oilsRptPathCol(param.path));
52 var dtype = field.datatype;
54 _debug("building widget with param class:" + cls + ' col: '+param.column.colname + ' op: '+ param.op);
56 /* get the atomic widget from the datatype */
57 var atomicWidget = oilsRptTextWidget;
58 var widgetArgs = {node:node};
59 widgetArgs.calFormat = OILS_RPT_TRANSFORMS[transform].cal_format;
60 widgetArgs.inputSize = OILS_RPT_TRANSFORMS[transform].input_size;
61 widgetArgs.regex = OILS_RPT_TRANSFORMS[transform].regex;
65 widgetArgs.type = 'date';
66 atomicWidget = oilsRptTruncPicker;
69 widgetArgs.type = 'hour';
70 atomicWidget = oilsRptTruncPicker;
73 widgetArgs.type = 'month';
74 atomicWidget = oilsRptTruncPicker;
77 widgetArgs.type = 'year';
78 atomicWidget = oilsRptTruncPicker;
81 atomicWidget = oilsRptCalWidget;
84 atomicWidget = oilsRptAgeWidget;
89 atomicWidget = oilsRptNumberWidget
94 atomicWidget = oilsRptNumberWidget
99 atomicWidget = oilsRptNumberWidget
102 widgetArgs.size = 20;
103 widgetArgs.start = 1;
104 atomicWidget = oilsRptNumberWidget
108 widgetArgs.start = 0;
109 atomicWidget = oilsRptNumberWidget
112 widgetArgs.size = 31;
113 widgetArgs.start = 1;
114 atomicWidget = oilsRptNumberWidget
117 widgetArgs.size = 365;
118 widgetArgs.start = 1;
119 atomicWidget = oilsRptNumberWidget
122 widgetArgs.size = 52;
123 widgetArgs.start = 1;
124 atomicWidget = oilsRptNumberWidget
127 widgetArgs.size = 12;
128 widgetArgs.start = 1;
129 atomicWidget = oilsRptNumberWidget
133 widgetArgs.start = 1;
134 atomicWidget = oilsRptNumberWidget
137 widgetArgs.size = 24;
138 widgetArgs.start = 0;
139 atomicWidget = oilsRptNumberWidget
145 if( field.selector ) {
146 atomicWidget = oilsRptRemoteWidget;
147 widgetArgs.class = cls;
148 widgetArgs.field = field;
149 widgetArgs.column = param.column.colname;
154 atomicWidget = oilsRptOrgSelector;
160 atomicWidget = oilsRptBoolWidget;
168 widgetArgs.inputWidget = atomicWidget;
169 return new oilsRptSetWidget(widgetArgs);
172 widgetArgs.startWidget = atomicWidget;
173 widgetArgs.endWidget = atomicWidget;
174 return new oilsRptBetweenWidget(widgetArgs);
176 return new atomicWidget(widgetArgs);