Никак не получается отображать/скрывать по условию элемент tab:

{
        "operation": "insert",
        "name": "TestTab",
        "values": {
                "caption": {
                        "bindTo": "Resources.Strings.OwnerCaption"
                },
                "items": []
        },
        "parentName": "Tabs",
        "propertyName": "tabs",
        "index": 0
}

Подскажите как это сделать.

Нравится

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

Все вкладки хранятся в коллекции TabsCollection
получить доступ к ней можно следующим образом:
this.get("TabsCollection");

В примере реализовано скрытие вкладки для контрагента с типом клиент (функционал не базовый)

this.get("TabsCollection");

 attributes: {
                "Type": {
                    dependencies: [
                        {
                            columns: ["Type"],
                            methodName: "typeChange"
                        }
                    ]
                }
            },
 typeChange: function () {
 
                    /*  Добавление/удаление вкладки */
                    var tabsCollection = this.get("TabsCollection");
                   //TestTab- название вкладки, которую необходимо спрятать
                    var TestTab = tabsCollection.contains("TestTab")?tabsCollection.get("TestTab"):false;
 
                    //прячем вкладку "TestTab" для всех, кроме клиента
                    if( Type === Constants.Client && 
                        !TestTab){
                        tabsCollection.insert(4, "TestTab", Terrasoft.Account.TestTab);
                    }else if(!(Type === Constants.Client) &&
                        TestTab){
                        Terrasoft.Account.TestTab= TestTab;
                        tabsCollection.removeByKey("TestTab");
                    }
 
                }

Также можете ознакомиться с данной темой:
http://www.community.terrasoft.ru/forum/topic/11180

Спасибо, получилось !

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