me.savedMinHeight = picker.getMinHeight();
picker.setMinHeight(100);
}
+ if (me.loadError) {
+ Proxmox.Utils.setErrorMask(picker, me.loadError);
+ delete me.loadError;
+ picker.updateLayout();
+ }
});
picker.getNavigationModel().navigateOnSpace = false;
me.changingFilters = true;
me.store.removeFilter(filter, true);
me.changingFilters = false;
+ me.store.fireEvent('refresh');
}
},
if (Ext.isArray(value)) {
Ext.Array.each(value, function(v) {
- if (store.findRecord(me.valueField, v)) {
+ if (store.findRecord(me.valueField, v, 0, false, true, true)) {
found = true;
return false; // break
}
return true;
});
} else {
- found = !!store.findRecord(me.valueField, value);
+ found = !!store.findRecord(me.valueField, value, 0, false, true, true);
}
return found;
me.mon(me.store, 'load', function(store, r, success, o) {
if (success) {
me.clearInvalid();
+ delete me.loadError;
if (me.enableLoadMask) {
delete me.enableLoadMask;
- // if the picker exists,
- // we reset its minheight to the saved let/0
- // we have to update the layout, otherwise the height
- // gets not recalculated
+ // if the picker exists, we reset its minHeight to the previous saved one or 0
if (me.picker) {
me.picker.setMinHeight(me.savedMinHeight || 0);
+ Proxmox.Utils.setErrorMask(me.picker);
delete me.savedMinHeight;
+ // we have to update the layout, otherwise the height gets not recalculated
me.picker.updateLayout();
}
}
}
if (!found) {
- let rec = me.store.first();
- if (me.autoSelect && rec && rec.data) {
- def = rec.data[me.valueField];
- me.setValue(def, true);
- } else if (!me.allowBlank && !(Ext.isArray(def) ? def.length : def)) {
- me.setValue(def);
- if (!me.notFoundIsValid && !me.isDisabled()) {
- me.markInvalid(me.blankText);
+ if (!(Ext.isArray(def) ? def.length : def)) {
+ let rec = me.store.first();
+ if (me.autoSelect && rec && rec.data) {
+ def = rec.data[me.valueField];
+ me.setValue(def, true);
+ } else if (!me.allowBlank) {
+ me.setValue(def);
+ if (!me.isDisabled()) {
+ me.markInvalid(me.blankText);
+ }
}
+ } else if (!me.notFoundIsValid && !me.isDisabled()) {
+ me.markInvalid(gettext('Invalid Value'));
}
}
+ } else {
+ let msg = Proxmox.Utils.getResponseErrorMessage(o.getError());
+ if (me.picker) {
+ Proxmox.Utils.setErrorMask(me.picker, msg);
+ }
+ me.loadError = msg;
}
});
},