Идея
Обсуждение

Доступность кнопок на группе полей

Неверно отрабатывают стили у кнопок внутри группы полей:

- на странице редактирования есть три группы полей, внутри каждой есть кнопка, доступность которой определяется заполненностью справочника, внутри каждой группы полей

- при заполнении любого справочного поля, кроме последнего, наблюдаем ошибку с установкой стиля неактивной/активной кнопки. При этом вызов обработчиков нажатия на кнопки осуществляется корректно

 

Считаю, что этот баг необходимо решить доработкой компонента группа полей.

 

Визуально это выглядит так:

 

Листинг:

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*/
	};
});

 

 

2 комментария

Добрый день, Артем!

Попробовал добавить кнопки к групам полей и подобных ошибок не возникло. Прикладываю код добавления:

{
			"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,
 
                }
			}

 

Дима Вовченко, 

можете предоставить полностью исходники? или на демо-сборке показать?

Показать все комментарии