Добрый день,
Возможно ли отфильтровать справочное поле внутри модального окна? Я попробовал обычным путем через атрибуты, но это не сработало, бпм даже не зашла в реализацию "lookupListConfig". В справочнике просто отображались абсолютно все значения
После решил попробовать заполнить справочник вручную нужными значениями
//attributes
"RIBDocType": {
"dataValueType": Terrasoft.DataValueType.ENUM,
"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
"caption": "RIBDocType"
},
"documentTypeList": {
"dataValueType": Terrasoft.DataValueType.ENUM,
"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
"isCollection": true
}
//diff
{
"operation": "insert",
"parentName": "Header1",
"propertyName": "items",
"name": "RIBDocType",
"values": {
"bindTo": "RIBDocType",
"caption": "Тип документа",
"classes": {"wrapperClass": ["base-edit"]},
"layout": {"column": 0, "row": 3, "colSpan": 24},
"textSize": "Default",
"contentType": Terrasoft.ContentType.ENUM,
"labelConfig": {
"visible": true
},
"controlConfig": {
"className": "Terrasoft.ComboBoxEdit",
"list": {
"bindTo": "documentTypeList"
},
"change": {
"bindTo": "onMyValueChange"
},
"prepareList": {
"bindTo": "prepareDocumentTypeList"
}
}
},
"index": 3
}
//methods
onRender: function() {
if (!this.get("documentTypeList")) {
this.set("documentTypeList", this.Ext.create("Terrasoft.Collection"));
}
},
prepareDocumentTypeList: function(filter, list) {
if (list === null) {
return;
}
list.clear();
var columns = {};
var value1 = {
displayValue: "Type1",
value: "e8670398-603b-43ca-820d-03e5b03fc275"
};
var value2 = {
displayValue: "Type2",
value: "14fcef3a-7d9e-4737-810f-52d57db3673a"
};
var value3 = {
displayValue: "Type3",
value: "672606f8-da25-40bd-a4ef-95c958331743"
};
columns[1] = value1;
columns[2] = value2;
columns[3] = value3;
list.loadAll(columns);
console.log(list);
},
onMyValueChange: function(val) {
if (val && val.displayValue) {
console.log("you pick: ", val.displayValue);
}
},
Однако таким образом данные не отображаются в выборке совсем, просто пустой справочник.