]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/web/reports/oils_rpt_filters.js
broke filters out the same way transforms are broken out, into standalone JS file
[Evergreen.git] / Open-ILS / web / reports / oils_rpt_filters.js
1 var OILS_RPT_FILTERS = {
2         '=' : {
3                 label : 'Equals',
4         },
5
6         'like' : {
7                 label : 'Contains Matching substring',
8         }, 
9
10         ilike : {
11                 label : 'Contains Matching substring (ignore case)',
12         },
13
14         '>' : {
15                 label : 'Greater than',
16                 labels : { timestamp : 'After (Date/Time)' }
17         },
18
19         '>=' : {
20                 label : 'Greater than or equal to',
21                 labels : { timestamp : 'On or After (Date/Time)' }
22         }, 
23
24
25         '<' : {
26                 label : 'Less than',
27                 labels : { timestamp : 'Before (Date/Time)' }
28         }, 
29
30         '<=' : {
31                 label : 'Less than or equal to', 
32                 labels : { timestamp : 'On or Before (Date/Time)' }
33         },
34
35         'in' : {
36                 label : 'In list',
37         },
38
39         'not in' : {
40                 label : 'Not in list',
41         },
42
43         'between' : {
44                 label : 'Between',
45         },
46
47         'not between' : {
48                 label : 'Not between',
49         },
50
51         'is' : {
52                 label : 'Is'
53         },
54
55         'is not' : {
56                 label : 'Is not'
57         }
58 }
59
60
61 function oilsRptFilterPicker(args) {
62         this.node = args.node;
63         this.dtype = args.datatype;
64         this.selector = elem('select');
65         for( var key in OILS_RPT_FILTERS ) 
66                 this.addOpt(key);
67         appendClear(this.node, this.selector);
68 }
69
70
71 oilsRptFilterPicker.prototype.addOpt = function(key) {
72         var filter = OILS_RPT_FILTERS[key];
73         var label = filter.label;
74         if( filter.labels && filter.labels[this.dtype] ) 
75                 label = filter.labels[this.dtype];
76         var obj = this;
77         insertSelectorVal(      
78                 this.selector, -1, label, key,
79                 function() {
80                         obj.setSelected(getSelectorVal(obj.selector));
81                         _debug("setting selected filter to " + obj.getSelected());
82                 }
83         );
84 }
85
86
87 oilsRptFilterPicker.prototype.setSelected = function(key) {
88         this.selected = key;
89 }
90
91
92 oilsRptFilterPicker.prototype.getSelected = function() {
93         return this.selected;
94 }
95
96
97
98