На странице объекта есть кейс. Каждому шагу кейса соответствует свой статус объекта и вкладка в коллекции Вкладок. Кейс переходит по статусам автоматически.
Вкладки, не соответствующие шагу, скрываются.
Как сделать так, чтобы переключение вкладок тоже происходило автоматически вместе со сменой статусов (шагов кейса)?
Нравится
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();
}
}
};
}
);
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать