Вопрос
Переключение активной вкладки в зависимости от шага кейса
10 апреля 2021 22:53
На странице объекта есть кейс. Каждому шагу кейса соответствует свой статус объекта и вкладка в коллекции Вкладок. Кейс переходит по статусам автоматически.
Вкладки, не соответствующие шагу, скрываются.
Как сделать так, чтобы переключение вкладок тоже происходило автоматически вместе со сменой статусов (шагов кейса)?
Нравится
1 комментарий
15 апреля 2021 14:56
Добрый день.
Для реализации Вам необходимо подписаться на изменение колонки кейса и при её изменении вызывать метод setActiveTab.
Пример реализации для страницы CasePage:
define("CasePage", [], function() { return { entitySchemaName: "Case", attributes: { "ActiveTabName": { dependencies: [ { columns: ["Status"], methodName: "setActiveTabByStatus" } ] }, "StatusTabDictionary": { dataValueType: Terrasoft.DataValueType.COLLECTION, value: [ { statusId: "7e9f1204-f46b-1410-fb9a-0050ba5d6c38", tabName: "CaseInformationTab" }, { statusId: "3859c6e7-cbcb-486b-ba53-77808fe6e593", tabName: "TimelineTab" }, { statusId: "ae7f411e-f46b-1410-009b-0050ba5d6c38", tabName: "SolutionTab" } ] } }, methods: { setActiveTabByStatus: function() { var status = this.get("Status"); if (!status) { return; } var statusTabDictionary = this.get("StatusTabDictionary"); for (var i = 0; i < statusTabDictionary.length; i++) { var item = statusTabDictionary[i]; if (item.statusId === status.value) { this.setActiveTab(item.tabName); return; } } }, initTabs: function() { this.callParent(arguments); this.setActiveTabByStatus(); }, onEntityInitialized: function() { this.callParent(arguments); this.setActiveTabByStatus(); } } }; } );
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать