185 |
185 |
if (!filterOptions) return;
|
186 |
186 |
var operators = operatorByType[filterOptions['type']];
|
187 |
187 |
var filterValues = filterOptions['values'];
|
188 |
|
var i, select;
|
|
188 |
var select;
|
189 |
189 |
|
190 |
190 |
var tr = $('<div class="filter">').attr('id', 'tr_'+fieldId).html(
|
191 |
191 |
'<div class="field"><input checked="checked" id="cb_'+fieldId+'" name="f[]" value="'+field+'" type="checkbox"><label for="cb_'+fieldId+'"> '+filterOptions['name']+'</label></div>' +
|
... | ... | |
195 |
195 |
filterTable.append(tr);
|
196 |
196 |
|
197 |
197 |
select = tr.find('.operator select');
|
198 |
|
for (i = 0; i < operators.length; i++) {
|
199 |
|
var option = $('<option>').val(operators[i]).text(operatorLabels[operators[i]]);
|
200 |
|
if (operators[i] == operator) { option.prop('selected', true); }
|
|
198 |
operators.forEach(function(op) {
|
|
199 |
var option = $('<option>').val(op).text(operatorLabels[op]);
|
|
200 |
if (op == operator) { option.prop('selected', true); }
|
201 |
201 |
select.append(option);
|
202 |
|
}
|
|
202 |
});
|
203 |
203 |
select.change(function(){ toggleOperator(field); });
|
204 |
204 |
|
205 |
205 |
switch (filterOptions['type']) {
|
... | ... | |
215 |
215 |
);
|
216 |
216 |
select = tr.find('.values select');
|
217 |
217 |
if (values.length > 1) { select.attr('multiple', true); }
|
218 |
|
for (i = 0; i < filterValues.length; i++) {
|
219 |
|
var filterValue = filterValues[i];
|
|
218 |
filterValues.forEach(function(filterValue) {
|
220 |
219 |
var option = $('<option>');
|
221 |
220 |
if ($.isArray(filterValue)) {
|
222 |
221 |
option.val(filterValue[1]).text(filterValue[0]);
|
... | ... | |
231 |
230 |
if ($.inArray(filterValue, values) > -1) {option.prop('selected', true);}
|
232 |
231 |
}
|
233 |
232 |
select.append(option);
|
234 |
|
}
|
|
233 |
});
|
235 |
234 |
break;
|
236 |
235 |
case "date":
|
237 |
236 |
case "date_past":
|
... | ... | |
259 |
258 |
);
|
260 |
259 |
$('#values_'+fieldId).val(values[0]);
|
261 |
260 |
select = tr.find('.values select');
|
262 |
|
for (i = 0; i < filterValues.length; i++) {
|
263 |
|
var filterValue = filterValues[i];
|
|
261 |
filterValues.forEach(function(filterValue) {
|
264 |
262 |
var option = $('<option>');
|
265 |
263 |
option.val(filterValue[1]).text(filterValue[0]);
|
266 |
264 |
if (values[0] == filterValue[1]) { option.prop('selected', true); }
|
267 |
265 |
select.append(option);
|
268 |
|
}
|
|
266 |
});
|
269 |
267 |
break;
|
270 |
268 |
case "integer":
|
271 |
269 |
case "float":
|