Хочу для некоторых своих категорий активностей скрыть некоторые вкладки, например, Файлы и примечания.
Нашел на форуме способ this.get("TabsCollection") + removeByKey.
И всё бы хорошо, но combinedMode, т.е. если я удалил вкладку, то открывая другую активность, где эта вкладка должна присутствовать, пользователь ее не видит. Казалось бы insert, но кого?
Есть ли полноценный работающий пример на этот случай?
Нравится
removeByKey возврщает удаляемый объект. Вы можете создать переменную, в которую сохранять удаляемые объекты. После этого, когда необходимо можно использовать на TabsCollection метод add и возвращать вкладку, когда нужно.
Золотарев Артем Андреевич,
А где можно создать такую глобальную переменную? Если я делаю
this.set("mActivityParticipantTab", tabsCollection.removeByKey("ActivityParticipantTab"));
то при заходе в новую активность this.get("mActivityParticipantTab") у меня undefined.
Во-первых, следите за контекстом. Проверьте, что вы set и get делаете в одном контексте. Также, если вы будете прятать несколько вкладок, то лучше будет использовать Terrasoft.DataValueType.COLLECTION и делать не "set", a "add", т.к. в переменной может храниться только одна вкладка.
Во-вторых, можно просто использовать контекст this и в него сохранить (что-то типа такого this.hiddenTabs = Ext.create("Terrasoft.Collection");)
Вероятнее всего вы пытаетесь делать this.get в контексте другого объекта, и там его нет