1 dojo.requireLocalization("openils.reports", "reports");
3 var rpt_strings = dojo.i18n.getLocalization("openils.reports", "reports");
5 var OILS_RPT_FILTERS = {
7 label : rpt_strings.FILTERS_LABEL_EQUALS
11 label : rpt_strings.FILTERS_LABEL_LIKE
15 label : rpt_strings.FILTERS_LABEL_ILIKE
19 label : rpt_strings.FILTERS_LABEL_GREATER_THAN,
20 labels : { timestamp : rpt_strings.FILTERS_LABEL_GT_TIME }
24 label : rpt_strings.FILTERS_LABEL_GT_EQUAL,
25 labels : { timestamp : rpt_strings.FILTERS_LABEL_GTE_TIME }
30 label : rpt_strings.FILTERS_LABEL_LESS_THAN,
31 labels : { timestamp : rpt_strings.FILTERS_LABEL_LT_TIME }
35 label : rpt_strings.FILTERS_LABEL_LT_EQUAL,
36 labels : { timestamp : rpt_strings.FILTERS_LABEL_LSE_TIME }
40 label : rpt_strings.FILTERS_LABEL_IN
44 label : rpt_strings.FILTERS_LABEL_NOT_IN
48 label : rpt_strings.FILTERS_LABEL_BETWEEN
52 label : rpt_strings.FILTERS_LABEL_NOT_BETWEEN
56 label : rpt_strings.FILTERS_LABEL_NULL
60 label : rpt_strings.FILTERS_LABEL_NOT_NULL
64 label : rpt_strings.FILTERS_LABEL_NULL_BLANK
68 label : rpt_strings.FILTERS_LABEL_NOT_NULL_BLANK
72 label : rpt_strings.FILTERS_LABEL_EQ_ANY
76 label : rpt_strings.FILTERS_LABEL_NE_ANY
81 function oilsRptFilterPicker(args) {
82 this.node = args.node;
83 this.dtype = args.datatype;
84 this.selector = elem('select');
85 for( var key in OILS_RPT_FILTERS )
86 this.addOpt(key, key == args.select );
87 appendClear(this.node, this.selector);
91 oilsRptFilterPicker.prototype.addOpt = function(key, select) {
92 var filter = OILS_RPT_FILTERS[key];
93 var label = filter.label;
94 var opt = insertSelectorVal( this.selector, -1, label, key);
95 if( select ) opt.selected = true;
96 if( filter.labels && filter.labels[this.dtype] )
97 insertSelectorVal( this.selector, -1, filter.labels[this.dtype], key);
100 oilsRptFilterPicker.prototype.getSelected = function() {
101 return getSelectorVal(this.selector);