Stats.js 2.18 KB
/**
 * Project      : AMDA-NG
 * Name         : Stats.js 
 * Description  : Statistics Object Definition
 * @class amdaModel.Stats
 * @extends amdaModel.TimeTable 
 * @author  elena
 */

Ext.define('amdaModel.Stats', {
	extend: 'amdaModel.AmdaTimeObject',
    
	fields : [
		{ name: 'parameter' } ,
		{ name: 'description' }
	],
    
	getJsonValues : function (hasId) 
	{
		var values  = new Object();	    
		if (hasId) {
			values.id = this.get('id');
		}

		values.timesrc = this.get('timesrc');
		values.name = this.get('name');
    
// 		if (this.get('description').match(/[a-z,0-9]/gi) != null) {
// 			values.description = this.get('description');
// 		}
//     	if (this.get('history').match(/[a-z,0-9]/gi) != null) {
//     		values.history = this.get('history');
//     	}
		values.objName = this.get('objName');
		values.objFormat = this.get('objFormat');
        	
//    values.cacheToken = this.get('cacheToken');
      values.parameter = this.get('parameter'); 
		
		// if there's at least one parameter
// 		if (this.get('parameter') && this.get('parameter').length) 
// 		{
// 			var list = this.get('parameter');
// 			values.parameter=[];					
// 			Ext.each(list, function(item, index){   
// 				values.parameter[index] = item.getJsonValues();
// 			});
// 		} 
		
		if (values.timesrc == amdaModel.AmdaTimeObject.inputTimeSrc[0])
		{
			// get complete timeTables collection
			var timeTables = this.get('timeTables');	    
			// init an empty array for timeTables
			values.timeTables=[];
			// for each interval record
			Ext.Array.each(timeTables, function(item, index, all)
			{
				if (!item.$className) {
					values.timeTables[index] = {timeTableName : item.timeTableName, id : item.id};
				}
				// get Json simplified value 
				else {
					values.timeTables[index] = item.getJsonValues();
				}
			});            
		} else 
		{
			values.startDate = this.get('startDate');
			values.stopDate = this.get('stopDate');
			values.durationDay = this.get('durationDay');
			values.durationHour = this.get('durationHour');
			values.durationMin = this.get('durationMin');
			values.durationSec = this.get('durationSec');
		} 
	 
		values.leaf = true;
		values.nodeType = 'statistics';

		return values;
	}
});