AmdaTimeObject.js 3.12 KB
/**
 * Project      : AMDA-NG
 * Name         : AmdaTimeObject.js
 * Description  : Base Amda Business Object Definition
 * @class amdaModel.AmdaTimeObject
 * @extends amdaModel.AmdaObject
 * 
 * @author elena
 * @version $Id: AmdaTimeObject.js 1534 2013-05-24 13:30:26Z myriam $ 
 * @todo Validations 
 ******************************************************************************
 *    FT Id     :   Date   : Name - Description
 ******************************************************************************
 *	:           :07/07/2011: elena – creation
 */


Ext.define('amdaModel.TTobject', {
    extend: 'amdaModel.AmdaObject',
     
     getJsonValues : function () {
         var values  = new Object();
         values.timeTableName = this.get('name');
         values.id = this.get('id');
         return values;
     }
}); 


Ext.define('amdaModel.AmdaTimeObject', {	
    extend: 'amdaModel.AmdaObject',    
    statics:{
        inputTimeSrc: ['TimeTable','Interval','Catalog']
    },	
    fields : [
	      { name: 'resultId', type: 'string'}, 
	      { name: 'folderId', type: 'string'}, 
	      { name: 'processId', type: 'string'},
	      { name: 'timesrc', type: 'string'/*, defaultValue: amdaModel.AmdaTimeObject.inputTimeSrc[1] /*'Interval'*/ },
	      { name: 'startDate', type: 'date', defaultValue:Ext.Date.add(Ext.Date.clearTime(new Date()),Ext.Date.DAY,-1),
		convert: function(value,rec) {
		  if (!Ext.isDate(value)) {
		    var valueString = new String(value);
		    var date = new Date(valueString.replace(/\-/g,'\/').replace(/[T|Z]/g,' '));
		      return date;
		  }
		  return value;
		  }
	      },
	      { name: 'stopDate', type: 'date', defaultValue: Ext.Date.clearTime (new Date()), persist: false, 
		convert: function(value,rec) {
		   if (!Ext.isDate(value)){
		    var valueString = new String(value);
		    var date = new Date(valueString.replace(/\-/g,'\/').replace(/[T|Z]/g,' '));
		      return date;
		   }
		   return value;
		   }
		  
	      }, 
	      { 
	          name: 'durationDay', type: 'int',  
	          convert: function(value, rec) {                 		 
                  return Ext.String.leftPad(Math.floor((rec.get('stopDate') - rec.get('startDate'))/86400000),4,'0');      
	          }
	      }, 
	      { 
	          name: 'durationHour', type: 'int',  
	          convert: function(value, rec) {
	              var diffH = (rec.get('stopDate') - rec.get('startDate'))/3600000 % 24;
	              return Ext.String.leftPad(Math.floor(diffH), 2, '0');      
	          }
	      }, 
	      { 
	          name: 'durationMin', type: 'int',  
	          convert: function(value, rec) {
	              var diffM = (rec.get('stopDate') - rec.get('startDate'))/60000 % 60;
	              return Ext.String.leftPad(Math.floor(diffM), 2, '0');      
	          }
	      },
	      { 
	          name: 'durationSec', type: 'int',  
	          convert: function(value, rec) {
	              var diffS = (rec.get('stopDate') - rec.get('startDate'))/1000 % 60;
	              return Ext.String.leftPad(Math.floor(diffS), 2, '0');      
	          }
	      }, 
	      { name: 'timeTables', defaultValue: null }    // array of TTobject
	 ]
	 
});