ZoomIntervalSelection.js 1.4 KB
Ext.define('amdaPlotComp.intervalSelection.ZoomIntervalSelection', {
    extend: 'amdaPlotComp.intervalSelection.IntervalSelection', // This class extends from amdaPlotComp.intervalSelection.IntervalSelection

    buttonApply: "Apply Zoom",
    type: null,

    initComponent: function () {
        const me = this;
        this.callParent(arguments);
        this.parent.getDockedItems('toolbar[dock="bottom"]')[0].add({
            xtype: 'button',
            width: width,
            text: 'Undo Zoom',
            handler: function () {
                me._undoZoom();
            }
        });
    },

    _apply: function () {
        if (this._notValidValues()) {
            myDesktopApp.warningMsg('The Input Values are not defined');
        } else {
            this.hostCmp.callInteractivePlot({
                'action': 'zoom',
                'interactiveId': this.interactiveId,
                'panelId': this.panelId,
                'axeId': this.type,
                'min': this.getField1Value(),
                'max': this.getField2Value()
            });

            this._resetHostCmpSelection();
        }
    },

    _undoZoom: function () {
        this.hostCmp.callInteractivePlot({
            'action': 'undozoom',
            'interactiveId': this.interactiveId,
            'panelId': this.panelId,
            'axeId': this.type
        });

        this._resetHostCmpSelection();
    }

});