PlotIntervalsForm.js 2.27 KB
/**
 * Project   : AMDA-NG
 * Name      : PlotIntervalsForm.js
 * @class   amdaPlotComp.PlotIntervalsForm
 * @extends amdaPlotComp.PlotStandardForm
 * @brief   Form to define specifics intervals options
 * @author  Benjamin Renard
 * @version $Id: PlotIntervalsForm.js benjamin $
 */

Ext.define('amdaPlotComp.PlotIntervalsForm', {
	extend: 'amdaPlotComp.PlotStandardForm',

    catalogsColumns: {},

    paramId: '',
	
	setObject : function(object) {
		this.object = object.get('param-drawing-object');
		paramId = object.get('paramid');
        this.loadRecord(this.object);
		this.updateColumnInfoCombo();
	},

	updateColumnInfoCombo: function(){
        var me = this;
        if ((paramId.substring(0, 3) != 'cat') && (paramId.substring(0, 13) != 'sharedcatalog')) {
            // Not available for TT
            this.getForm().findField('intervals-column-show').setDisabled(true);
            return;
        }
        
        this.getForm().findField('intervals-column-show').setDisabled(false);
        if (this.catalogsColumns.hasOwnProperty(paramId)) {
            var combobox = this.getForm().findField('intervals-param-show');
            combobox.store.loadData(this.catalogsColumns[paramId]);
            combobox.setValue(this.object.get('intervals-param-show'));
        }
        else {
            AmdaAction.getAllColumnNames(paramId, function(result){
                if (result && result['success']) {
                    this.catalogsColumns[paramId] = result['result'];
                    me.updateColumnInfoCombo();
                }
            }, this);
        }
	},

	getFormItems: function() {
        var me = this;
		var legendItems = [
			this.addStandardText('legend-text-value', 'Text'),
			this.addStandardCombo('legend-text-position', 'Position', amdaDefaultConfigs.availableLegendTextPositions),
			this.addStandardFont('legend-text-font')]
		
		return [
			this.addColorsPicker('intervals-color', 'Color', amdaDefaultConfigs.availableColorsNew, 'none'),
			this.addStandardFieldSet('Show column info','intervals-column-show',  [
				this.addStandardCombo('intervals-param-show', 'Parameter to show'),
			], function(name, value, oldValue) {
            	me.updateColumnInfoCombo();
	        }),
			this.addStandardFieldSet('Legend', 'legend-text-activated', legendItems)
		];
	}
});