//Добавляем в методы
methods: {
//TODO: Изначальная инициализация
tabRender: function(tabObject) {
//TODO
},
subscribeForEvents: function() {
this.on("change:UsrType", this.changeTabsVisibility.bind(this)); //UsrType - поле, по которому будут скрываться вкладки
},
changeTabsVisibility: function() {
var usrType = this.get("UsrType") || {}; //"UsrType" - поле, по которому будут скрываться вкладки
switch(usrType.value) {
case "933b3812-4882-484f-9ba7-37b272443f36": //id одного из состояний из поля UsrType
this.hideTabByName( "Tab98e9ceedTabLabel", true ); //Имя нужной вкладки, в diff выглядит так "name": "Tab98e9ceedTabLabel",
this.hideTabByName( "Tabc65f2ae2TabLabel", true ); //Имя нужной вкладки. Та, что true будет скрыта
this.hideTabByName( "Tabfcd67f08TabLabel", false ); //Имя нужной вкладки. Та, что false будет отображаться
break;
case "49bbaa75-dfdd-4de5-a2fa-4d9b2ba54b96": //id одного из состояний из поля UsrType
case "8daf0d76-5522-4444-843d-54f05bae3ad9": //id одного из состояний из поля UsrType
this.hideTabByName( "Tabfcd67f08TabLabel", true ); //Имя нужной вкладки
this.hideTabByName( "Tabc65f2ae2TabLabel", true ); //Имя нужной вкладки
this.hideTabByName( "Tab98e9ceedTabLabel", false ); //Имя нужной вкладки
break;
case "b74416cd-ae95-4e6c-b7f9-fc80dcbcf7af": //id одного из состояний из поля UsrType
this.hideTabByName( "Tabfcd67f08TabLabel", true ); //Имя нужной вкладки
this.hideTabByName( "Tab98e9ceedTabLabel", true ); //Имя нужной вкладки
this.hideTabByName( "Tabc65f2ae2TabLabel", false ); //Имя нужной вкладки
break;
default: //Если состояние не указано
this.hideTabByName( "Tabfcd67f08TabLabel", false ); //Имя нужной вкладки
this.hideTabByName( "Tab98e9ceedTabLabel", false ); //Имя нужной вкладки
this.hideTabByName( "Tabc65f2ae2TabLabel", false ); //Имя нужной вкладки
}
},
init: function() {
this.callParent(arguments);
this.subscribeForEvents();
},
hideTabByName: function(tabName, isHide){
var tabsCollection = this.get("TabsCollection");
if(tabsCollection){
var tabIndex = tabsCollection.collection.keys.indexOf(tabName);
var tabsPanelDomElement = document.getElementById("ActivityPageV2TabsTabPanel-tabpanel-items"); // Вместо "ActivityPageV2..." в этой строке подставьте своё)
if(tabsPanelDomElement){
tabDomElement = tabsPanelDomElement.querySelector('[data-item-index="'+tabIndex.toString()+'"]');
if(tabDomElement){
if(isHide){
tabDomElement.style.display = "none";
}else{
tabDomElement.style.display = null;
}
}
}
}
}
},
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать