Store additional criterias in advanced search #32781
- text - date(s) - multiple selections
This commit is contained in:
parent
11dc2f1216
commit
66311179e9
|
@ -185,16 +185,34 @@
|
|||
};
|
||||
|
||||
$.querywidget.updateWidget = function (node) {
|
||||
if (typeof(node) === "undefined") {
|
||||
node = $('.querywidget');
|
||||
}
|
||||
if ($().dateinput) {
|
||||
if (typeof (node) === "undefined") {
|
||||
node = $('.querywidget');
|
||||
}
|
||||
if ($().dateinput) {
|
||||
jQuery.tools.dateinput.conf.format = 'dd/mm/yyyy';
|
||||
$(node).parents('.criteria').find('.date').dateinput({change: function() { $.querywidget.updateSearch();}, firstDay: 1,selectors: true, trigger: false, yearRange: [-10, 10]}).unbind('change')
|
||||
$(node).parents('.criteria').find('.date').dateinput({
|
||||
change: function () {
|
||||
var multi = get_history_parameter('multi', {});
|
||||
var input = this.getInput();
|
||||
var index = input.parents(".criteria").find(".queryindex option:selected").val();
|
||||
if (input.hasClass("querywidget")) { // 1 date input, .querywidget itself
|
||||
multi[index].value = input.val();
|
||||
} else { // 2 date inputs, contained inside .querywidget
|
||||
var dates = input.parent().children(".date");
|
||||
multi[index].value = [dates.get(0).value, dates.get(1).value];
|
||||
}
|
||||
store_history_parameter('multi', multi);
|
||||
$.querywidget.updateSearch();
|
||||
},
|
||||
firstDay: 1,
|
||||
selectors: true,
|
||||
trigger: false,
|
||||
yearRange: [-10, 10]
|
||||
}).unbind('change')
|
||||
.bind('onShow', function (event) {
|
||||
var trigger_offset = $(this).next().offset();
|
||||
$(this).data('dateinput').getCalendar().offset(
|
||||
{top: trigger_offset.top+20, left: trigger_offset.left}
|
||||
{top: trigger_offset.top + 20, left: trigger_offset.left}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
@ -386,7 +404,7 @@
|
|||
var querywidget = $(this).parent(".criteria").children('.querywidget');
|
||||
if ((widget !== $.querywidget.getCurrentWidget(querywidget)) || (widget === 'MultipleSelectionWidget')) {
|
||||
querywidget.replaceWith($.querywidget.createWidget(widget, index, fname));
|
||||
$.querywidget.updateWidget($(this).parent(".criteria").children('.querywidget'));
|
||||
$.querywidget.updateWidget($(this).parent(".criteria").children('.querywidget'));
|
||||
}
|
||||
$.querywidget.updateSearch();
|
||||
});
|
||||
|
@ -395,11 +413,14 @@
|
|||
var fname = $(this).closest('.QueryWidget').attr('data-fieldname');
|
||||
var index = $(this).parents('.criteria').children('.queryindex').val();
|
||||
var operatorvalue = $(this).children(':selected')[0].value;
|
||||
var multi = get_history_parameter('multi', {});
|
||||
multi[index]["operator"] = operatorvalue;
|
||||
store_history_parameter('multi', multi);
|
||||
var widget = $.querywidget.config.indexes[index].operators[operatorvalue].widget;
|
||||
var querywidget = $(this).parent().children('.querywidget');
|
||||
if (widget !== $.querywidget.getCurrentWidget(querywidget)) {
|
||||
querywidget.replaceWith($.querywidget.createWidget(widget, index, fname));
|
||||
$.querywidget.updateWidget($(this).parent().children('.querywidget'));
|
||||
$.querywidget.updateWidget($(this).parent().children('.querywidget'));
|
||||
}
|
||||
$.querywidget.updateSearch();
|
||||
|
||||
|
@ -412,9 +433,14 @@
|
|||
$('.multipleSelectionWidget input').live('change', function () {
|
||||
var widget = $(this).parents('.multipleSelectionWidget');
|
||||
var selected_values = [];
|
||||
var multi = get_history_parameter('multi', {});
|
||||
var input_values = [];
|
||||
widget.find('input:checked').each(function () {
|
||||
selected_values.push($(this).parent().children('span').html());
|
||||
input_values.push($(this).val());
|
||||
});
|
||||
multi[index].value = input_values;
|
||||
store_history_parameter('multi', multi);
|
||||
widget.find('.multipleSelectionWidgetTitle')
|
||||
.attr('title', selected_values.join(', '))
|
||||
.html(selected_values.join(', '));
|
||||
|
@ -422,6 +448,10 @@
|
|||
});
|
||||
|
||||
$('.queryvalue').live('keyup', function () {
|
||||
var index = $(this).parents('.criteria').children('.queryindex').val();
|
||||
var multi = get_history_parameter('multi', {});
|
||||
multi[index].value = $(this).val();
|
||||
store_history_parameter('multi', multi);
|
||||
$.querywidget.updateSearch();
|
||||
});
|
||||
|
||||
|
@ -466,6 +496,10 @@
|
|||
});
|
||||
|
||||
$('.removecriteria').live('click', function () {
|
||||
var multi = get_history_parameter('multi', {});
|
||||
var index = $(this).parents(".criteria").find(".queryindex option:selected").val();
|
||||
delete multi[index];
|
||||
store_history_parameter('multi', multi);
|
||||
$(this).parents('.criteria').remove();
|
||||
$.querywidget.updateSearch();
|
||||
return false;
|
||||
|
|
Reference in New Issue