_bindHandlers: function()

in teamcity-kubernetes-plugin-server/src/main/resources/buildServerResources/kubeSettings.js [120:240]


    _bindHandlers: function () {
        var self = this;

        //// Click Handlers
        this.$showAddImageDialogButton.on('click', this._showAllImageDialogClickHandler.bind(this));
        this.$addImageButton.on('click', this._submitImageDialogClickHandler.bind(this));
        this.$cancelAddImageButton.on('click', this._cancelImageDialogClickHandler.bind(this));

        this.$deleteImageButton.on('click', this._submitDeleteImageDialogClickHandler.bind(this));
        this.$cancelDeleteImageButton.on('click', this._cancelDeleteImageDialogClickHandler.bind(this));

        this.$imagesTable.on('click', this.selectors.rmImageLink, function () {
            self.showDeleteImageDialog($j(this));
            return false;
        });
        var editDelegates = this.selectors.imagesTableRow + ' .highlight, ' + this.selectors.editImageLink;
        var that = this;
        this.$imagesTable.on('click', editDelegates, function () {
            if (!that.$addImageButton.prop('disabled')) {
                self.showEditImageDialog($j(this));
            }
            return false;
        });

        this.$authStrategySelector.on('change', this._toggleAuth.bind(this));
        this.$eksUseInstanceProfile.on('change', this._toggleEKSCredentials.bind(this));
        this.$eksAssumeIAMRole.on('change', this._toggleEKSIAM.bind(this));

        this.$podSpecModeSelector.on('change', function(e, value) {
            if (arguments.length === 1) {
                this._image['podTemplateMode'] = this.$podSpecModeSelector.val();
                this._updateImageDescription(this._image);
            } else {
                this.$podSpecModeSelector.val(value);
            }
            this._togglePodSpecMode();
            this._resetCodeMirrorValues();
        }.bind(this));

        ///// Change handlers
        this.$dockerImage.on('change', function (e, value) {
            if (arguments.length === 1) {
                this._image['dockerImage'] = this.$dockerImage.val();
                this._updateImageDescription(this._image);
            } else {
                this.$dockerImage.val(value);
            }
        }.bind(this));

        this.$imagePullPolicy.on('change', function(e, value) {
            if (arguments.length === 1) {
                this._image['imagePullPolicy'] = this.$imagePullPolicy.val();
                this._updateImageDescription(this._image);
            } else {
                this.$imagePullPolicy.val(value);
            }
        }.bind(this));

        this.$dockerCommand.on('change', function (e, value) {
            if (arguments.length === 1) {
                this._image['dockerCmd'] = this.$dockerCommand.val();
                this._updateImageDescription(this._image);
            } else {
                this.$dockerCommand.val(value);
            }
        }.bind(this));

        this.$dockerArgs.on('change', function (e, value) {
            if (arguments.length === 1) {
                this._image['dockerArgs'] = this.$dockerArgs.val();
                this._updateImageDescription(this._image);
            } else {
                this.$dockerArgs.val(value);
            }
        }.bind(this));

        this.$deploymentName.on('change', function (e, value) {
            if(value !== undefined) this.$deploymentName.val(value);
            this._image['sourceDeployment'] = this.$deploymentName.val();
            this._updateImageDescription(this._image);
        }.bind(this));

        this.$agentNamePrefix.on('change', function (e, value) {
            if (arguments.length === 1) {
                this._image['agentNamePrefix'] = this.$agentNamePrefix.val();
                this._updateImageDescription(this._image);
            } else {
                this.$agentNamePrefix.val(value);
            }
        }.bind(this));

        this.$imageInstanceLimit.on('change', function (e, value) {
            if (arguments.length === 1) {
                this._image['imageInstanceLimit'] = this.$imageInstanceLimit.val();
            } else {
                this.$imageInstanceLimit.val(value);
            }
        }.bind(this));

        this.$agentPoolSelector.on('change', function(e, value) {
            if (arguments.length === 1) {
                this._image['agent_pool_id'] = this.$agentPoolSelector.val();
            } else {
                this.$agentPoolSelector.val(value);
            }
        }.bind(this));

        this.$customPodTemplate
        .on('change', function(e, data){
            var val = e.target.value;
            if (arguments.length === 1) {
                self._image[this.getAttribute('id')] = val;
            } else {
                this.value = data;
                $j(this).trigger('cm-set-value', data);
            }
        })
        .on('cm-change', function(e, value){
            self._image[this.getAttribute('id')] = value;
        });
    },