PlotObjectConfig.js 10.4 KB
/**
 * Project      : AMDA-NG
 * Name         : PlotObjectConfig.js
 * @class   amdaPlotObj.PlotObjectConfig
 * @extends Ext.data.Model
 * @brief   Plot Request object configuration 
 * @author  Benjamin Renard
 * @version $Id: PlotObjectConfig.js benjamin $
 ******************************************************************************
 *    FT Id     :   Date   : Name - Description
 ******************************************************************************
 *	:           :21/07/2015: BRE  - file creation
 */
 
 		
Ext.define('amdaPlotObj.PlotObjectConfig', {
	singleton: true,
	
	defaultValues : {
		file : {
			format : 'PNG',
			output : 'INTERACTIVE',
			oneFilePerInterval: false
		},
		tree : {
			simplifiedView : false
		},
		page : {
			xMargin : 15.,
			yMargin : 20.,
			mode : 'color',
			orientation: 'landscape',
			dimension : 'ISO A4',
			title : {
				position: 'top',
				alignment: ' center',
				color: '#000000'
			},
			font : {
				name : 'sans-serif',
				size: '12'
			},
			layout : {
				type : 'vertical',
				panelHeight  : 0.5,
				panelSpacing : 0.05,
				expand : false
			}
		},
		panel : {
			plotType : 'timePlot',
			title : {
				position: 'bottom',
				alignment: ' center',
				color: '#000000'
			},
			font : {
				name : 'sans-serif',
				size: '12'
			},
			backgroundColor : 'none',
			status : {
				position : 'top',
				colorMap : 0
			}
		},
		axis : {
			scale : 'linear',
			tickPosition : 'outwards',
			color : '#000000',
			thickness : '1',
			legend : {
				color: '#000000',
				font : {
					name : 'sans-serif',
					size: '12'
				}
			},
			timeFormat : 'dd/mm/yy',
			colorMap : '1'
		},
		serie : {
			yAxis : 'y-left',
			lines : {
				style : 'plain',
				width : 1,
				color : 'auto'
			},
			symbols : {
				type : 'dot',
				size : 3,
				color : 'auto'
			},
			resamplingMode : 'xparam',
			timetick : {
				type: 'auto',
				step: 3600,
				nbmajor : 5,
				nbminor : 5,
				color : '#FF0000',
				symbols : {
					type: 'full-circle',
					size: 10,
					color: '#FF0000'
				},
				firstsymbols : {
					type: 'triangle',
					size: 4,
					color: '#00FF00'
				},
				font : {
					name : 'sans-serif',
					size: '12'
				}
			}
		},
		spectro : {
			yAxis : 'y-left'
		},
		legends : {
			series : {
				type : 'text-only',
				position : 'outside',
				text: {
					color : '#000000'
				},
				border: {
					color : '#000000'
				},
				intervalinfo : {
					type : 'start-stop'
				},
				font : {
					name : 'sans-serif',
					size: '12'
				}
			},
			text : {
				position : 'left',
				color : '#000000',
				font : {
					name : 'sans-serif',
					size: '12'
				}
			}
		},
		constants : {
			axisId : 'y-left',
			line : {
				style : 'plain',
				width : 1,
				color : '#000000'
			}
		},
		textObjs : {
			yAxisId   : 'y-left',
			xRelative : true,
			yRelative : true,
			align : 'left',
			color : '#000000',
			font : {
				name : 'sans-serif',
				size: '12'
			}
		},
		curves : {
			line : {
				style : 'plain',
				width : 1,
				color : '#000000'
			}
		},
		fills : {
			type : 'serie-constant',
			greaterColor : 'none',
			lessColor : 'none'
		}
	},
	
	getValueByKey : function(dataList, key)
	{
		var value = '';
		Ext.each(dataList, function (data) {
			if (data.key == key)
			{
				value = data.value;
				return;
			}
		});
		return value;
	},
	
	availableFileFormats : [
	               {'key' : 'PNG', 'value' : 'PNG'},
	               {'key' : 'PDF', 'value' : 'PDF'},
	               {'key' : 'PS', 'value' : 'PS'},
	               {'key' : 'SVG', 'value' : 'SVG'}
	],
	
	availableFileOutputsForPng : [
	               {'key' : 'INTERACTIVE', 'value' : 'Interactive mode'},
	               {'key' : 'TGZ', 'value' : 'tar+gzip archive'},
	               {'key' : 'ZIP', 'value' : 'zip archive'}
	],
	
	availableFileOutputsForOtherFormats : [
	           	   {'key' : 'TGZ', 'value' : 'tar+gzip archive'},
	           	   {'key' : 'ZIP', 'value' : 'zip archive'}
	],
	
	availablePageModes : [
	               {'key' : 'color', 'value' : 'Color'},
	               {'key' : 'grayscale', 'value' : 'Grayscale'}
	],
	
	availablePageOrientations : [
	         	   {'key' : 'landscape', 'value' : 'Lanscape'},
	        	   {'key' : 'portrait', 'value' : 'Portrait'}
	],
	
	availablePageDimensions : [
	       	       {'key' : 'ISO A4', 'value' : 'ISO A4'},
	    	       {'key' : 'US letter', 'value' : 'US letter'}      
	],
	
	availablePlotTypes : [
   	               {'key' : 'timePlot', value : 'Time Plot'},
   	               {'key' : 'xyPlot', value : 'Scatter Plot'},
	               {'key' : 'epochPlot', value : 'Epoch Plot'},
	               {'key' : 'instantPlot', value : 'Instant Plot'},
	               {'key' : 'statusPlot', value : 'Status Plot'},
	               {'key' : 'tickPlot', value : 'Tick Plot'}
	],
	
	availableFontNames : [
	        	   {'key' : 'sans-serif', 'value' : 'sans-serif'},
	        	   {'key' : 'serif', 'value' : 'serif'},
	        	   {'key' : 'monospace', 'value' : 'monospace'},
	        	   {'key' : 'script', 'value' : 'script'}
	],
	
	availableTitlePositions : [
	     	       {'key' : 'top', 'value' : 'Top'},
	     	       {'key' : 'bottom', 'value' : 'Bottom'}
	],
	
	availableTitleAlignments : [
	               {'key' : 'center', 'value' : 'Center'},
	               {'key' : 'left', 'value' : 'Left'},
	               {'key' : 'right', 'value' : 'Right'}
	],
	
	availableAxisScales : [
	               {'key' : 'linear', 'value' : 'Linear'},
	               {'key' : 'logarithmic', 'value' : 'Logarithmic'}
    ],
    
    availableTicksPositions : [
                   {'key' : 'inwards', 'value' : 'Inwards'},
                   {'key' : 'outwards', 'value' : 'Outwards'}
    ],
    
    availableTimeAxisFormats : [
                   {'key' : 'dd/mm/yy', 'value' : 'dd/mm/yy'},
                   {'key' : 'ddd/yy', 'value' : 'ddd/yy'},
                   {'key' : 'DD/MM/YYYY', 'value' : 'DD/MM/YYYY'}
    ],
    
    availableYAxes : [
                   {'key' : 'y-left', 'value' : 'Left'},
                   {'key' : 'y-right', 'value' : 'Right'}
	], 
    
    availableLinesStyles : [
                   {'key' : 'plain', 'value' : 'Plain'},
                   {'key' : 'dot', 'value' : 'Dot'},
                   {'key' : 'long-spaced-dot', 'value' : 'Long spaced dot'},
                   {'key' : 'long-short-dot', 'value' : 'Long short dot'}
	],
	
	availableSymbolsTypes : [
	               {'key' : 'dot', 'value' : 'Dot'},
	               {'key' : 'plus', 'value' : 'Plus'},
	               {'key' : 'wildcard', 'value' : 'Wildcard'},
	               {'key' : 'circle', 'value' : 'Circle'},
	               {'key' : 'crux', 'value' : 'Crux'},
	               {'key' : 'square', 'value' : 'Square'},
	               {'key' : 'triangle', 'value' : 'Triangle'},
	               {'key' : 'crux-in-circle', 'value' : 'Crux in circle'},
	               {'key' : 'dot-in-circle', 'value' : 'Dot in circle'},
	               {'key' : 'diamond', 'value' : 'Diamond'},
	               {'key' : 'star', 'value' : 'Star'},
	               {'key' : 'david-star', 'value' : 'David star'},
	               {'key' : 'full-square', 'value' : 'Full square'},
	               {'key' : 'full-circle', 'value' : 'Full circle'},
	               {'key' : 'full-star', 'value' : 'Full star'}
    ],
    
    availableColorMaps : [
                   {'key' : '0', 'value' : 'Default'},
                   {'key' : '1', 'value' : 'Blue Red'},
                   {'key' : '2', 'value' : 'Blue Yellow'},
                   {'key' : '3', 'value' : 'Grayscale'}
	],
	
	availableColors : [
	               {'color' : '#000000', 'value' : 'Black'},
	               {'color' : '#0000FF', 'value' : 'Blue'},
	               {'color' : '#FF0000', 'value' : 'Red'},
	               {'color' : '#00FF00', 'value' : 'Green'}
	],
	
	availableBackgroundColors : [
		           {'color' : 'none', 'value' : 'None'},
		           {'color' : '#0000FF', 'value' : 'Blue'},
		           {'color' : '#FF0000', 'value' : 'Red'},
		           {'color' : '#00FF00', 'value' : 'Green'}
	],
	
	availableStatusBarPositions : [
                   {'key' : 'top', 'value' : 'Top'},
                   {'key' : 'bottom', 'value' : 'Bottom'}
	],
	
	availableStatusBarColorMaps : [
                   {'key' : '0', 'value' : '0'},
                   {'key' : '1', 'value' : '1'},
                   {'key' : '2', 'value' : '2'}
	],
	
	availablePageLayouts : [
                   {'key' : 'vertical', 'value' : 'Vertical'},
                   {'key' : 'auto', 'value' : 'Auto'},
                   {'key' : 'manual', 'value' : 'Manual'}
    ],
    
    availableResamplingModes : [
                   {'key' : 'xparam', 'value' : 'X Parameter'},
                   {'key' : 'yparam', 'value' : 'Y Parameter'}
    ],
    
    availableDimsOnXAxis : [
                   {'key' : '0', 'value' : 'First dimension'},
                   {'key' : '1', 'value' : 'Second dimension'}  
    ],
    
    availableTimeTickTypes : [
                   {'key' : 'auto', 'value' : 'Auto'},
                   {'key' : 'time-step', 'value' : 'Time step'},
                   {'key' : 'nb-major', 'value' : 'Num. of major symb.'}
    ],
    
    availableLegendSeriesTypes : [
	               {'key' : 'text-line-symbol', 'value' : 'Text, Line & Symbols'},
                   {'key' : 'text-only', 'value' : 'Text only'}
    ],
    
    availableLegendSeriesPositions : [
                   {'key' : 'inside', 'value' : 'Inside'},
                   {'key' : 'outside', 'value' : 'Outside'}
    ],
    
    availableLegendSeriesIntervalInfoTypes : [
                   {'key' : 'index', 'value' : 'Interval Index'},
                   {'key' : 'start-stop', 'value' : 'Interval Start/Stop'}
	],
	
	availableLegendTextPositions : [
                   {'key' : 'right', 'value' : 'Right'},
                   {'key' : 'left', 'value' : 'Left'},
                   {'key' : 'top', 'value' : 'Top'},
                   {'key' : 'bottom', 'value' : 'Bottom'}
	],
	
	availableConstantAxes : [
	               {'key' : 'x', 'value' : 'X / Time / Epoch'},
	               {'key' : 'y-left', 'value' : 'Y Left'},
	               {'key' : 'y-right', 'value' : 'Y Right'}
    ],
    
    availableTextAlignments : [
                   {'key' : 'left', 'value' : 'Left'},
                   {'key' : 'center', 'value' : 'Center'},
                   {'key' : 'right', 'value' : 'Right'}
    ],
    
    availableFillTypes : [
	               {'key' : 'serie-constant', 'value' : 'Serie / Constant'},
	               {'key' : 'serie-serie', 'value' : 'Serie / Serie'}    
	]
});