Add "valueless verbs" concept to grid filters.

Plus some other improvements I'm sure...
This commit is contained in:
Lance Edgar 2015-08-20 20:29:04 -05:00
parent 3d7cb2d9a7
commit 032d538062
3 changed files with 92 additions and 20 deletions

View file

@ -213,6 +213,8 @@
_create: function() {
var that = this;
// Track down some important elements.
this.checkbox = this.element.find('input[name$="-active"]');
this.label = this.element.find('label');
@ -229,8 +231,24 @@
icons: {primary: 'ui-icon-blank'}
});
// Enhance some more stuff.
this.inputs.find('.verb').selectmenu({width: '15em'});
// Enhance verb dropdown as selectmenu.
this.verb_select = this.inputs.find('.verb');
this.valueless_verbs = {};
$.each(this.verb_select.data('hide-value-for').split(' '), function(index, value) {
that.valueless_verbs[value] = true;
});
this.verb_select.selectmenu({
width: '15em',
change: function(event, ui) {
if (ui.item.value in that.valueless_verbs) {
that.inputs.find('.value').hide();
} else {
that.inputs.find('.value').show();
that.focus();
that.select();
}
}
});
// Listen for button click, to keep checkbox in sync.
this._on(this.activebutton, {
@ -289,6 +307,10 @@
this.inputs.find('.value input').focus();
},
select: function() {
this.inputs.find('.value input').select();
},
value: function() {
return this.inputs.find('.value input').val();
},