Скрытие вкладок, деталей, полей в карточке раздела?

Доброго времени суток!
Есть задача по которой нужно скрыть вкладки, детали и поля по определенному условию.
На данный момент скрытие реализовано, но есть некая двух-секундная задержка.
Скрытие идет как-то так:

this.Ext.select("#AccountPageV2TabsTabPanel-tabpanel-items li[data-item-index=1]").setStyle("display", "none");

Собственно вопрос. Как избежать этой задержки? Может есть метод аналогичный onEntityInitialized, но который срабатывает быстрее него чтобы допустим все сущности уже были отрисованы на странице.

Нравится

1 комментарий

Здравствуйте,
Ваша задача сводится к определению создания нового div элемента, уже после которой вы выполните свою логику, сделать это можно следующим образом:
http://stackoverflow.com/questions/4780822/how-can-i-detect-when-a-new-…
В Bpmonline это будет выглядеть так:

define("ContactPageV2", [], function() {
            return {
                        entitySchemaName: "Contact",
                        details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
                        diff: /**SCHEMA_DIFF*/[
                        ]/**SCHEMA_DIFF*/,
                        methods: {
                                   init: function() {
                                               this.callParent(arguments);
                                               var scope = this;
                                               require(["jQuery"], function() {
                                                           scope.test();
                                               });
                                   },
                                   test: function() {
                                               var scope = this;
                                               $(document).bind("DOMNodeInserted", function(e) {
                                                           // тут, вместо логирования создания каждого элемента в консоль
                                                           window.console.log(e.target, " was inserted");
                                                           // делаете проверку на свой, и вызываете метод выполнения  своей DOM логики через scope
                                               });
                                   }
                        },
                        rules: {}
            };
});
Показать все комментарии