mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-04-08 17:15:08 +02:00
js/events: improve search field change detection
This used to be nasty since "search" is the field with the initial focus. Right now we detect "real" changes, this might be implemented in a more generic way for all autocompleting fields later on.
This commit is contained in:
parent
67144407e6
commit
de0b97b4ca
@ -9,6 +9,8 @@
|
|||||||
|
|
||||||
Icinga.Events = function (icinga) {
|
Icinga.Events = function (icinga) {
|
||||||
this.icinga = icinga;
|
this.icinga = icinga;
|
||||||
|
|
||||||
|
this.searchValue = '';
|
||||||
};
|
};
|
||||||
|
|
||||||
Icinga.Events.prototype = {
|
Icinga.Events.prototype = {
|
||||||
@ -27,6 +29,11 @@
|
|||||||
this.applyHandlers($('#layout'));
|
this.applyHandlers($('#layout'));
|
||||||
this.icinga.ui.prepareContainers();
|
this.icinga.ui.prepareContainers();
|
||||||
this.icinga.ui.prepareMultiselectTables($(document));
|
this.icinga.ui.prepareMultiselectTables($(document));
|
||||||
|
|
||||||
|
// Remember initial search field value if any
|
||||||
|
if ($('#menu input.search').val().length) {
|
||||||
|
this.searchValue = $('#menu input.search').val();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// TODO: What's this?
|
// TODO: What's this?
|
||||||
@ -108,7 +115,7 @@
|
|||||||
// We support an 'autosubmit' class on dropdown form elements
|
// We support an 'autosubmit' class on dropdown form elements
|
||||||
$(document).on('change', 'form select.autosubmit', { self: this }, this.autoSubmitForm);
|
$(document).on('change', 'form select.autosubmit', { self: this }, this.autoSubmitForm);
|
||||||
|
|
||||||
$(document).on('keyup', '#menu input.search', {self: this}, this.autoSubmitForm);
|
$(document).on('keyup', '#menu input.search', {self: this}, this.autoSubmitSearch);
|
||||||
|
|
||||||
$(document).on('mouseenter', '.historycolorgrid td', this.historycolorgridHover);
|
$(document).on('mouseenter', '.historycolorgrid td', this.historycolorgridHover);
|
||||||
$(document).on('mouseleave', '.historycolorgrid td', this.historycolorgidUnhover);
|
$(document).on('mouseleave', '.historycolorgrid td', this.historycolorgidUnhover);
|
||||||
@ -233,6 +240,15 @@
|
|||||||
$(this).removeClass('hover');
|
$(this).removeClass('hover');
|
||||||
},
|
},
|
||||||
|
|
||||||
|
autoSubmitSearch: function(event) {
|
||||||
|
var self = event.data.self;
|
||||||
|
if ($('#menu input.search').val() === self.searchValue) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
self.searchValue = $('#menu input.search').val();
|
||||||
|
return self.autoSubmitForm(event);
|
||||||
|
},
|
||||||
|
|
||||||
autoSubmitForm: function (event) {
|
autoSubmitForm: function (event) {
|
||||||
return event.data.self.submitForm(event, true);
|
return event.data.self.submitForm(event, true);
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user