Подскажите срочно, как поставить флаг в созданный мной модуле

Добрый день мне нужно в созданном мной модуле сделать функцию для bind к кнопке "Добавить". Я делаю расширение от LookupPage. 



Вот весь код: 

 

define("UsrAccountBaseLookupModule", [
        "LookupPage",
        "LookupPageViewGenerator",
        "LookupUtilitiesV2",
        "css!LookupPageCSS"
    ],
    function(LookupPage, LookupPageViewGenerator) {
        return Ext.define("Terrasoft.configuration.UsrAccountBaseLookupModule", {
            alternateClassName: "Terrasoft.UsrAccountBaseLookupModule",
            extend: "Terrasoft.LookupPage",
            render: function() {
                this.callParent(arguments);
                // if()
                this.myRenderLookupView(this.lookupInfo.entitySchema, this.lookupInfo.gridProfile);
            },
            renderLookupView: Terrasoft.emptyFn,
            myRenderLookupView: function(schema, profile){
                var config = this.getLookupConfig(schema, profile);
                var topPanelConfig = LookupPageViewGenerator.generateFixed(config);
                var buttonsConfig;
                _.some(topPanelConfig.items, function(target) {
                    if (target.id === "selectionControlsContainerLookupPage") {
                        _.some(target, function(target) {
                            if (Array.isArray(target)) {
                                buttonsConfig = target;
                                return true;
                            }
                        });
                        return true;
                    }
                });
                _.some(buttonsConfig, function(target) {
                    if (target.caption === "Добавить") {
                        target.enabled = {bindTo:"getViewModelValues"};
                        return true;
                    }
                });
                this.renderLookupControls(config, topPanelConfig);
            },
            getViewModelValues: function() {
                if(Terrasoft.SysValue.CURRENT_USER.value !== "8239c02a-1376-4e23-82f5-d5b142ac16f4") {
                    window.console.log(Terrasoft.SysValue.CURRENT_USER.value !== 
                        "8239c02a-1376-4e23-82f5-d5b142ac16f4");
                    return false;
 
              } else {
                   return this.render();
 
             }
                var values = {
                    canEdit: true,
                };
                return values;
            },
            generateViewModel: function() {
                var viewModel = this.callParent(arguments);
                this.applyViewModelMethods(viewModel);
                return viewModel;
            },
 
            applyViewModelMethods: function(viewModel, scope) {
                Ext.override(viewModel, {
                    onSearchButtonClick: function() {
                        var parentMethod = this.getParentMethod(this, arguments);
 
                        Terrasoft.chain(
                            function(next) {
                                 // Вот тут нужно сделать вызов функции чтобы кнопка Добавить стала активной
                                this.Ext.callback(scope, this.getViewModelValues);
                                next();
                            },
                            parentMethod,
                            this
                        );
                    }
                });
            },
        });
    });

Для уточнения, мне нужно сделать проверку функцию когда делаю клик на кнопку поиск, если есть данные в справочнике, то кнопка Добавить должна быть неактивной, в противном случае она активируется. 



Вот тут я не могу сделать вызов функции. Пожалуйста подскажите

Изображение удалено.

Нравится

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

Добрый день!

Рекомендую сперва проверить работает ли данное замещение кнопки "Добавить". Для этого вместо функции используйте простое значение false. Уже с этого можно делать выводы и искать причину.

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