[DE] Refactoring form settings for combobox, dropdown
This commit is contained in:
parent
7afa349870
commit
30273d17c0
|
@ -458,6 +458,8 @@ define([
|
||||||
var rec = store.findWhere({value: value});
|
var rec = store.findWhere({value: value});
|
||||||
if (!rec) {
|
if (!rec) {
|
||||||
store.add({value: value, name: value});
|
store.add({value: value, name: value});
|
||||||
|
this._state.listValue = value;
|
||||||
|
this._state.listIndex = undefined;
|
||||||
this.fillListProps();
|
this.fillListProps();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -468,6 +470,8 @@ define([
|
||||||
var rec = this.list.getSelectedRec();
|
var rec = this.list.getSelectedRec();
|
||||||
if (rec) {
|
if (rec) {
|
||||||
var store = this.list.store;
|
var store = this.list.store;
|
||||||
|
this._state.listIndex = store.indexOf(rec);
|
||||||
|
this._state.listValue = undefined;
|
||||||
store.remove(rec);
|
store.remove(rec);
|
||||||
this.fillListProps();
|
this.fillListProps();
|
||||||
}
|
}
|
||||||
|
@ -588,7 +592,20 @@ define([
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.list.store.reset(arr);
|
this.list.store.reset(arr);
|
||||||
|
var rec = null;
|
||||||
|
if (arr.length>0 && this._state.internalId === this.internalId && (this._state.listValue!==undefined || this._state.listIndex!==undefined)) {
|
||||||
|
if (this._state.listIndex!==undefined) {
|
||||||
|
(this._state.listIndex>=this.list.store.length) && (this._state.listIndex = this.list.store.length-1);
|
||||||
|
}
|
||||||
|
rec = (this._state.listValue!==undefined) ? this.list.store.findWhere({value: this._state.listValue}) : this.list.store.at(this._state.listIndex);
|
||||||
|
}
|
||||||
|
if (rec) {
|
||||||
|
this.list.selectRecord(rec);
|
||||||
|
this.list.scrollToRecord(rec);
|
||||||
|
} else {
|
||||||
this.txtNewValue.setValue('');
|
this.txtNewValue.setValue('');
|
||||||
|
this._state.listValue = this._state.listIndex = undefined;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.disableListButtons();
|
this.disableListButtons();
|
||||||
} else if (type == Asc.c_oAscContentControlSpecificType.CheckBox) {
|
} else if (type == Asc.c_oAscContentControlSpecificType.CheckBox) {
|
||||||
|
@ -703,6 +720,8 @@ define([
|
||||||
if (this.type !== type || type == Asc.c_oAscContentControlSpecificType.CheckBox)
|
if (this.type !== type || type == Asc.c_oAscContentControlSpecificType.CheckBox)
|
||||||
this.showHideControls(type, formTextPr, specProps);
|
this.showHideControls(type, formTextPr, specProps);
|
||||||
this.type = type;
|
this.type = type;
|
||||||
|
|
||||||
|
this._state.internalId = this.internalId;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -787,6 +806,8 @@ define([
|
||||||
|
|
||||||
onSelectItem: function(listView, itemView, record) {
|
onSelectItem: function(listView, itemView, record) {
|
||||||
this.txtNewValue.setValue(record.get('name'));
|
this.txtNewValue.setValue(record.get('name'));
|
||||||
|
this._state.listValue = record.get('name');
|
||||||
|
this._state.listIndex = undefined;
|
||||||
this.disableListButtons(false);
|
this.disableListButtons(false);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue