Задача в том что бы скрыть группу полей. Осталось только вернуть значение true или false для функции visibleReasons но не как не доходит как, сделал но понимаю что так не работает это
isAutoActivity: function(callback, scope){ var recordId = this.get("PrimaryColumnValue"); var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Activity" }); esq.addColumn("KtIsAutoActivity", "KtIsAutoActivity"); esq.getEntity(recordId, function(result) { this.set("IsAutoActivity", result.entity.get("KtIsAutoActivity")); if (callback) { callback.call(scope || this); } }, this); }, visibleReasons: function() { Terrasoft.chain( function(next) { this.isAutoActivity(next, this); }, function(){ if (this.get("IsAutoActivity")) { return false; } return true; }, this); }
Нравится
3 комментария
Лучший ответ
2 октября 2019 23:14
А если просто при открытии карточки выполнить
isAutoActivity и дальше забиндится на
IsAutoActivity которое при открытии будет проиницилизировано!
2 октября 2019 23:14
А если просто при открытии карточки выполнить
isAutoActivity и дальше забиндится на
IsAutoActivity которое при открытии будет проиницилизировано!
3 октября 2019 05:17
Григорий Чех,
Сработало с init, только теперь вопрос - есть ли смысл делать такую конструкцию?
init: function(callback, scope) { this.callParent([function() { this.Terrasoft.chain( function(next) { this.isAutoActivity(next, this); }, function(){ if (callback) { callback.call(scope || this); } },this); }, this]); }, isAutoActivity: function(callback, scope){ var recordId = this.get("PrimaryColumnValue"); var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Activity" }); esq.addColumn("KtIsAutoActivity", "KtIsAutoActivity"); esq.getEntity(recordId, function(result) { this.set("IsAutoActivity", result.entity.get("KtIsAutoActivity")); if (callback) { callback.call(scope || this); } }, this); }
или достаточно сделать?
init: function(callback, scope) { this.callParent([function() { var recordId = this.get("PrimaryColumnValue"); var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Activity" }); esq.addColumn("KtIsAutoActivity", "KtIsAutoActivity"); esq.getEntity(recordId, function(result) { this.set("IsAutoActivity", result.entity.get("KtIsAutoActivity")); if (callback) { callback.call(scope || this); } }, this); }, this]); }
3 октября 2019 15:57
Если оба варианта работают одинаково и при отладке в браузере заходит внутрь функции нормально, можете использовать любой из способов.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать