42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
// for use with listjs 0.2.0
|
|
// https://github.com/javve/list.js
|
|
|
|
(function(window, undefined) {
|
|
|
|
window.List.prototype.plugins.reset = function(locals, options) {
|
|
var list = this;
|
|
|
|
var init = {
|
|
start: function(options) {
|
|
this.defaults(options);
|
|
this.callbacks(options);
|
|
},
|
|
defaults: function(options) {
|
|
options.highlightClass = options.highlightClass || 'btn-primary';
|
|
options.resetSearchClass = options.resetSearchClass || 'reset-search';
|
|
options.resettableClass = options.resettableClass || 'resettable';
|
|
},
|
|
callbacks: function(options) {
|
|
$('.' + options.resetSearchClass, list.listContainer).click(list.resetSearch);
|
|
list.on('updated', list.highlightResetButton);
|
|
|
|
$(list.listContainer).on('updateComing', function() {
|
|
list.highlightResetButton(false);
|
|
});
|
|
}
|
|
};
|
|
|
|
this.highlightResetButton = function(highlightEnabled) {
|
|
highlightEnabled = (undefined === highlightEnabled) ? (list.searched) : (highlightEnabled);
|
|
$('.' + options.resetSearchClass, list.listContainer).toggleClass(options.highlightClass, highlightEnabled);
|
|
};
|
|
|
|
this.resetSearch = function() {
|
|
$('.' + options.resettableClass, list.listContainer).val('');
|
|
list.search('');
|
|
};
|
|
|
|
init.start(options);
|
|
}
|
|
|
|
})(window);
|