PlotSpectroObject.js 4.19 KB
/**
 * Project      : AMDA-NG
 * Name         : PlotSpectroObject.js
 * @class   amdaPlotObj.PlotSpectroObject
 * @extends Ext.data.Model
 * @brief   Plot Spectro Business Object Definition 
 * @author  Benjamin Renard
 * @version $Id: PlotSpectroObject.js benjamin $
 ******************************************************************************
 *    FT Id     :   Date   : Name - Description
 ******************************************************************************
 *	:           :21/08/2015: BRE  - file creation
 */


Ext.define('amdaPlotObj.PlotSpectroObject', {
    extend: 'Ext.data.Model',

    requires: [
        'amdaPlotObj.PlotObjectConfig'
    ],

    fields: [
        { name: 'spectro-yaxis', type: 'string' },
        { name: 'spectro-resolution', type: 'int' },
        { name: 'spectro-value-min', type: 'float', useNull: true },
        { name: 'spectro-value-max', type: 'float', useNull: true },
        { name: 'spectro-log0-as-min', type: 'boolean' },
        { name: 'spectro-normalization', type: 'string' },
        //Filtering
        { name: 'filtering-activated', type: 'boolean' },
        { name: 'filtering-level', type: 'int' },

        { name: amdaPlotObj.PlotObjectConfig.bgSubstraction.name, type: 'boolean' },
        { name: amdaPlotObj.PlotObjectConfig.bgSubstraction.type.key, type: 'string' },
        { name: amdaPlotObj.PlotObjectConfig.bgSubstraction.value.key, type: 'string' },
        { name: amdaPlotObj.PlotObjectConfig.bgSubstraction.value.dimkey, type: 'string' }
    ],

    constructor: function () {
        var me = this;
        me.callParent(arguments);
        if ((arguments.length > 0) && arguments[0]) {
        }
        else {
            //new object, set default fields values
            me.setDefaultValues();
        }
        this.dirty = false;
    },

    loadFromData: function (drawData) {
        Ext.Object.each(drawData, function (key, value) {
            if (key == 'type')
                return;
            this.set(key, value);
        }, this);
    },

    setDefaultValues: function () {
        this.set('spectro-yaxis', amdaPlotObj.PlotObjectConfig.defaultValues.spectro.yAxis);
        this.set('spectro-resolution', amdaPlotObj.PlotObjectConfig.defaultValues.spectro.resolution);
        this.set('spectro-log0-as-min', false);
        this.set('spectro-normalization', "none");
        // filtering 
        this.set('filtering-activated', false);
        this.set('filtering-level', amdaPlotObj.PlotObjectConfig.defaultValues.filtering.level);

        this.set(amdaPlotObj.PlotObjectConfig.bgSubstraction.name, false);
        this.set(amdaPlotObj.PlotObjectConfig.bgSubstraction.type.key, null);
        this.set(amdaPlotObj.PlotObjectConfig.bgSubstraction.value.key, amdaPlotObj.PlotObjectConfig.bgSubstraction.value.dimNullValue);
        this.set(amdaPlotObj.PlotObjectConfig.bgSubstraction.value.dimkey, amdaPlotObj.PlotObjectConfig.bgSubstraction.value.dimNullValue);
    },

    getJsonValues: function () {
        var spectroValues = new Object();

        spectroValues['spectro-yaxis'] = this.get('spectro-yaxis');
        spectroValues['spectro-resolution'] = this.get('spectro-resolution');
        spectroValues['spectro-value-min'] = this.get('spectro-value-min');
        spectroValues['spectro-value-max'] = this.get('spectro-value-max');
        spectroValues['spectro-log0-as-min'] = this.get('spectro-log0-as-min');
        spectroValues['spectro-normalization'] = this.get('spectro-normalization');
        spectroValues['filtering-activated'] = this.get('filtering-activated');
        spectroValues['filtering-level'] = this.get('filtering-level');

        spectroValues[amdaPlotObj.PlotObjectConfig.bgSubstraction.name] = this.get(amdaPlotObj.PlotObjectConfig.bgSubstraction.name);
        spectroValues[amdaPlotObj.PlotObjectConfig.bgSubstraction.type.key] = this.get(amdaPlotObj.PlotObjectConfig.bgSubstraction.type.key);
        spectroValues[amdaPlotObj.PlotObjectConfig.bgSubstraction.value.key] = this.get(amdaPlotObj.PlotObjectConfig.bgSubstraction.value.key);
        spectroValues[amdaPlotObj.PlotObjectConfig.bgSubstraction.value.dimkey] = this.get(amdaPlotObj.PlotObjectConfig.bgSubstraction.value.dimkey);
        return spectroValues;
    }
});