Неверно отрабатывают стили у кнопок внутри группы полей:
- на странице редактирования есть три группы полей, внутри каждой есть кнопка, доступность которой определяется заполненностью справочника, внутри каждой группы полей
- при заполнении любого справочного поля, кроме последнего, наблюдаем ошибку с установкой стиля неактивной/активной кнопки. При этом вызов обработчиков нажатия на кнопки осуществляется корректно
Считаю, что этот баг необходимо решить доработкой компонента группа полей.
Визуально это выглядит так:
Листинг:
define("UsrIssue1Page", [], function() { return { entitySchemaName: "UsrIssue", attributes: {}, modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/, details: /**SCHEMA_DETAILS*/{ "Files": { "schemaName": "FileDetailV2", "entitySchemaName": "UsrIssueFile", "filter": { "masterColumn": "Id", "detailColumn": "UsrIssue" } } }/**SCHEMA_DETAILS*/, businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/, methods: { start1: function(){ Terrasoft.showMessage("Click1"); }, start2: function(){ Terrasoft.showMessage("Click2"); }, start3: function(){ Terrasoft.showMessage("Click3"); }, isEnabled1: function(){ return !this.Ext.isEmpty(this.$UsrFirstStatus); }, isEnabled2: function(){ return !this.Ext.isEmpty(this.$UsrSecondStatus); }, isEnabled3: function(){ return !this.Ext.isEmpty(this.$UsrThirdStatus); } }, dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/, diff: /**SCHEMA_DIFF*/[ { "operation": "insert", "name": "UsrNamea5fee99c-e5bb-425f-bbcf-5c1d37d01def", "values": { "layout": { "colSpan": 24, "rowSpan": 1, "column": 0, "row": 0, "layoutName": "ProfileContainer" }, "bindTo": "UsrName" }, "parentName": "ProfileContainer", "propertyName": "items", "index": 0 }, { "operation": "insert", "name": "NotesAndFilesTab", "values": { "caption": { "bindTo": "Resources.Strings.NotesAndFilesTabCaption" }, "items": [], "order": 0 }, "parentName": "Tabs", "propertyName": "tabs", "index": 0 }, { "operation": "insert", "name": "Files", "values": { "itemType": 2 }, "parentName": "NotesAndFilesTab", "propertyName": "items", "index": 0 }, { "operation": "insert", "name": "NotesControlGroup", "values": { "itemType": 15, "caption": { "bindTo": "Resources.Strings.NotesGroupCaption" }, "items": [] }, "parentName": "NotesAndFilesTab", "propertyName": "items", "index": 1 }, { "operation": "insert", "name": "Notes", "values": { "bindTo": "UsrNotes", "dataValueType": 1, "contentType": 4, "layout": { "column": 0, "row": 0, "colSpan": 24 }, "labelConfig": { "visible": false }, "controlConfig": { "imageLoaded": { "bindTo": "insertImagesToNotes" }, "images": { "bindTo": "NotesImagesCollection" } } }, "parentName": "NotesControlGroup", "propertyName": "items", "index": 0 }, { "operation": "insert", "name": "FirstStatusTabGroup", "values": { "caption": { "bindTo": "Resources.Strings.FirstStatusTabGroupGroupCaption" }, "itemType": 15, "markerValue": "added-group", "items": [], "tools": [ { "itemType": 5, "caption": { "bindTo": "Resources.Strings.FirstStatusButtonCaption" }, "enabled": { "bindTo": "isEnabled1" }, "click": { "bindTo": "start1" } } ] }, "parentName": "NotesAndFilesTab", "propertyName": "items", "index": 2 }, { "operation": "insert", "name": "NotesAndFilesTabGridLayout85b41bc8", "values": { "itemType": 0, "items": [] }, "parentName": "FirstStatusTabGroup", "propertyName": "items", "index": 0 }, { "operation": "insert", "name": "UsrFirstStatus01ab24c1-0502-4d21-87aa-c79ca6ee3c47", "values": { "layout": { "colSpan": 12, "rowSpan": 1, "column": 0, "row": 0, "layoutName": "NotesAndFilesTabGridLayout85b41bc8" }, "bindTo": "UsrFirstStatus" }, "parentName": "NotesAndFilesTabGridLayout85b41bc8", "propertyName": "items", "index": 0 }, { "operation": "insert", "name": "SecondTabGroup", "values": { "caption": { "bindTo": "Resources.Strings.SecondTabGroupGroupCaption" }, "itemType": 15, "markerValue": "added-group", "items": [], "tools": [ { "itemType": 5, "caption": { "bindTo": "Resources.Strings.SecondStatusButtonCaption" }, "enabled": { "bindTo": "isEnabled2" }, "click": { "bindTo": "start2" } } ] }, "parentName": "NotesAndFilesTab", "propertyName": "items", "index": 3 }, { "operation": "insert", "name": "NotesAndFilesTabGridLayoutd705a810", "values": { "itemType": 0, "items": [] }, "parentName": "SecondTabGroup", "propertyName": "items", "index": 0 }, { "operation": "insert", "name": "UsrSecondStatus740354d4-fbfa-4cbf-bad3-6d5d731c1191", "values": { "layout": { "colSpan": 12, "rowSpan": 1, "column": 0, "row": 0, "layoutName": "NotesAndFilesTabGridLayoutd705a810" }, "bindTo": "UsrSecondStatus" }, "parentName": "NotesAndFilesTabGridLayoutd705a810", "propertyName": "items", "index": 0 }, { "operation": "insert", "name": "ThirdTabGroup", "values": { "caption": { "bindTo": "Resources.Strings.ThirdTabGroupGroupCaption" }, "itemType": 15, "markerValue": "added-group", "items": [], "tools": [ { "itemType": 5, "caption": { "bindTo": "Resources.Strings.ThirdStatusButtonCaption" }, "enabled": { "bindTo": "isEnabled3" }, "click": { "bindTo": "start3" } } ] }, "parentName": "NotesAndFilesTab", "propertyName": "items", "index": 4 }, { "operation": "insert", "name": "NotesAndFilesTabGridLayoutb0f12aac", "values": { "itemType": 0, "items": [] }, "parentName": "ThirdTabGroup", "propertyName": "items", "index": 0 }, { "operation": "insert", "name": "UsrThirdStatus62607dbc-28d3-47ba-b7cf-850f39706211", "values": { "layout": { "colSpan": 12, "rowSpan": 1, "column": 0, "row": 0, "layoutName": "NotesAndFilesTabGridLayoutb0f12aac" }, "bindTo": "UsrThirdStatus" }, "parentName": "NotesAndFilesTabGridLayoutb0f12aac", "propertyName": "items", "index": 0 } ]/**SCHEMA_DIFF*/ }; });
Понравилась ли вам эта идея?
Добрый день, Артем!
Попробовал добавить кнопки к групам полей и подобных ошибок не возникло. Прикладываю код добавления:
{ "operation": "insert", "parentName": "UsrFirst", "propertyName": "items", "name": "UsrTestButton1", "values": { "caption": "test", "enabled": { "bindTo": "isEnabled1" }, "click": {bindTo: "callpr"}, "itemType": this.Terrasoft.ViewItemType.BUTTON, "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT, } }, { "operation": "insert", "parentName": "UsrSecond", "propertyName": "items", "name": "UsrTestButton2", "values": { "caption": "test", "enabled": { "bindTo": "isEnabled2" }, "click": {bindTo: "callpr"}, "itemType": this.Terrasoft.ViewItemType.BUTTON, "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT, } }, { "operation": "insert", "parentName": "UsrThird", "propertyName": "items", "name": "UsrTestButton3", "values": { "caption": "test", "enabled": { "bindTo": "isEnabled3" }, "click": {bindTo: "callpr"}, "itemType": this.Terrasoft.ViewItemType.BUTTON, "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT, } }
Дима Вовченко,
можете предоставить полностью исходники? или на демо-сборке показать?