Есть у меня одна большая сущность, отображение которой разбито на большое количество вкладок. Есть желание уметь давать ссылку сразу на определенную вкладку.
Как это лучше сделать?
Я, например, вижу, что есть метод setActiveTab, однако, надо номер таба получить.
Нормально ли сделать ссылку вида
/0/Nui/ViewModule.aspx#CardModuleV2/UsrMyPage/edit/3f199545-fd54-46fb-b801-f711014389f2/4
Не окажется ли так, что такая приписка к урлу будет валить систему в будущих версиях?
Нравится
Добрый день
Вы можете оперировать не номерами Tab'а, а их именами и в урле будете передавать его имя. В будущих релизах не планируется что-то добавлять после Id записи
По ходу возник еще один вопрос - а когда можно вызывать setActiveTab при загрузке страницы? В onEntityEnitialized получается рано - таб выбирается, но контент остается от первого таба.
Алексей-Карягин пишет:
В onEntityEnitialized получается рано - таб выбирается, но контент остается от первого таба.
Это потому , что с табами всё очень плохо Попробуйте вот так написать:
onEntityInitialized: function() { this.callParent(arguments); this.tabsCollectionActions(); }, tabsCollectionActions: function() { var tabsCollection = this.get("TabsCollection"); //получаем коллекцию //что-то с ней делаем (или нет) this.setActiveTab("ProductsInDiscountTab"); //устанавливаем активную this.set("ProductsInDiscountTab", true); //в этом set-е вся соль. Нафига он - непонятно. Но без него не рендерится содержимое вкладки },
Варфоломеев Данила,
c this.set("ProductsInDiscountTab", true); тоже не рендерится. Только таймаут, только хардкор!