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) {
|
$.querywidget.updateWidget = function (node) {
|
||||||
if (typeof(node) === "undefined") {
|
if (typeof (node) === "undefined") {
|
||||||
node = $('.querywidget');
|
node = $('.querywidget');
|
||||||
}
|
}
|
||||||
if ($().dateinput) {
|
if ($().dateinput) {
|
||||||
jQuery.tools.dateinput.conf.format = 'dd/mm/yyyy';
|
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) {
|
.bind('onShow', function (event) {
|
||||||
var trigger_offset = $(this).next().offset();
|
var trigger_offset = $(this).next().offset();
|
||||||
$(this).data('dateinput').getCalendar().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');
|
var querywidget = $(this).parent(".criteria").children('.querywidget');
|
||||||
if ((widget !== $.querywidget.getCurrentWidget(querywidget)) || (widget === 'MultipleSelectionWidget')) {
|
if ((widget !== $.querywidget.getCurrentWidget(querywidget)) || (widget === 'MultipleSelectionWidget')) {
|
||||||
querywidget.replaceWith($.querywidget.createWidget(widget, index, fname));
|
querywidget.replaceWith($.querywidget.createWidget(widget, index, fname));
|
||||||
$.querywidget.updateWidget($(this).parent(".criteria").children('.querywidget'));
|
$.querywidget.updateWidget($(this).parent(".criteria").children('.querywidget'));
|
||||||
}
|
}
|
||||||
$.querywidget.updateSearch();
|
$.querywidget.updateSearch();
|
||||||
});
|
});
|
||||||
|
@ -395,11 +413,14 @@
|
||||||
var fname = $(this).closest('.QueryWidget').attr('data-fieldname');
|
var fname = $(this).closest('.QueryWidget').attr('data-fieldname');
|
||||||
var index = $(this).parents('.criteria').children('.queryindex').val();
|
var index = $(this).parents('.criteria').children('.queryindex').val();
|
||||||
var operatorvalue = $(this).children(':selected')[0].value;
|
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 widget = $.querywidget.config.indexes[index].operators[operatorvalue].widget;
|
||||||
var querywidget = $(this).parent().children('.querywidget');
|
var querywidget = $(this).parent().children('.querywidget');
|
||||||
if (widget !== $.querywidget.getCurrentWidget(querywidget)) {
|
if (widget !== $.querywidget.getCurrentWidget(querywidget)) {
|
||||||
querywidget.replaceWith($.querywidget.createWidget(widget, index, fname));
|
querywidget.replaceWith($.querywidget.createWidget(widget, index, fname));
|
||||||
$.querywidget.updateWidget($(this).parent().children('.querywidget'));
|
$.querywidget.updateWidget($(this).parent().children('.querywidget'));
|
||||||
}
|
}
|
||||||
$.querywidget.updateSearch();
|
$.querywidget.updateSearch();
|
||||||
|
|
||||||
|
@ -412,9 +433,14 @@
|
||||||
$('.multipleSelectionWidget input').live('change', function () {
|
$('.multipleSelectionWidget input').live('change', function () {
|
||||||
var widget = $(this).parents('.multipleSelectionWidget');
|
var widget = $(this).parents('.multipleSelectionWidget');
|
||||||
var selected_values = [];
|
var selected_values = [];
|
||||||
|
var multi = get_history_parameter('multi', {});
|
||||||
|
var input_values = [];
|
||||||
widget.find('input:checked').each(function () {
|
widget.find('input:checked').each(function () {
|
||||||
selected_values.push($(this).parent().children('span').html());
|
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')
|
widget.find('.multipleSelectionWidgetTitle')
|
||||||
.attr('title', selected_values.join(', '))
|
.attr('title', selected_values.join(', '))
|
||||||
.html(selected_values.join(', '));
|
.html(selected_values.join(', '));
|
||||||
|
@ -422,6 +448,10 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.queryvalue').live('keyup', function () {
|
$('.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();
|
$.querywidget.updateSearch();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -466,6 +496,10 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.removecriteria').live('click', function () {
|
$('.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();
|
$(this).parents('.criteria').remove();
|
||||||
$.querywidget.updateSearch();
|
$.querywidget.updateSearch();
|
||||||
return false;
|
return false;
|
||||||
|
|
Reference in New Issue