@refinitiv-ui/efx-grid 6.0.15 → 6.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/grid/index.js +1 -1
 - package/lib/rt-grid/dist/rt-grid.js +661 -84
 - package/lib/rt-grid/dist/rt-grid.min.js +1 -1
 - package/lib/rt-grid/es6/ColumnDefinition.d.ts +10 -0
 - package/lib/rt-grid/es6/ColumnDefinition.js +110 -1
 - package/lib/rt-grid/es6/FieldDefinition.d.ts +6 -0
 - package/lib/rt-grid/es6/FieldDefinition.js +43 -0
 - package/lib/rt-grid/es6/Grid.js +184 -8
 - package/lib/rt-grid/es6/SnapshotFiller.d.ts +1 -0
 - package/lib/rt-grid/es6/SnapshotFiller.js +125 -17
 - package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +2 -2
 - package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +30 -29
 - package/lib/tr-grid-row-filtering/es6/RowFiltering.js +176 -98
 - package/lib/tr-grid-rowcoloring/es6/RowColoring.d.ts +17 -15
 - package/lib/tr-grid-rowcoloring/es6/RowColoring.js +89 -159
 - package/lib/versions.json +4 -4
 - package/package.json +1 -1
 
| 
         @@ -11363,7 +11363,7 @@ DataTable.prototype.setRowData = function(rid, values, eventArg) { // Data chang 
     | 
|
| 
       11363 
11363 
     | 
    
         
             
            			this._prevData[rid] = {};
         
     | 
| 
       11364 
11364 
     | 
    
         
             
            			if(eventArg) {
         
     | 
| 
       11365 
11365 
     | 
    
         
             
            				var nextRid = /** @type{string} */(eventArg["nextRid"]); // Used for insertion only
         
     | 
| 
       11366 
     | 
    
         
            -
            				var rowIndex = (nextRid 
     | 
| 
      
 11366 
     | 
    
         
            +
            				var rowIndex = (nextRid) ? this.getRowIndex(nextRid) : -1;
         
     | 
| 
       11367 
11367 
     | 
    
         
             
            				if(rowIndex < 0) {
         
     | 
| 
       11368 
11368 
     | 
    
         
             
            					rowIndex = /** @type{number} */(eventArg["fallback"]);
         
     | 
| 
       11369 
11369 
     | 
    
         
             
            				}
         
     | 
| 
         @@ -11625,7 +11625,7 @@ DataTable.prototype.unshiftRow = function(opt_values, opt_rid) { 
     | 
|
| 
       11625 
11625 
     | 
    
         
             
            	return this.insertRow(0, opt_values, opt_rid);
         
     | 
| 
       11626 
11626 
     | 
    
         
             
            };
         
     | 
| 
       11627 
11627 
     | 
    
         
             
            /** @public
         
     | 
| 
       11628 
     | 
    
         
            -
            * @param {string|number|null=} rowRef
         
     | 
| 
      
 11628 
     | 
    
         
            +
            * @param {(string|number|null)=} rowRef
         
     | 
| 
       11629 
11629 
     | 
    
         
             
            * @param {Object.<string, *>=} values Key/value pair object map
         
     | 
| 
       11630 
11630 
     | 
    
         
             
            * @param {string|null=} rid If the given row Id already exists, data is updated and no new row is added. Leave blank or null to let DataTable generate unique row Id
         
     | 
| 
       11631 
11631 
     | 
    
         
             
            * @return {string} Return Row id that has been inserted or changed
         
     | 
| 
         @@ -11634,11 +11634,13 @@ DataTable.prototype.unshiftRow = function(opt_values, opt_rid) { 
     | 
|
| 
       11634 
11634 
     | 
    
         
             
            * @see {@link DataTable#removeRow}
         
     | 
| 
       11635 
11635 
     | 
    
         
             
            */
         
     | 
| 
       11636 
11636 
     | 
    
         
             
            DataTable.prototype.insertRow = function(rowRef, values, rid) {
         
     | 
| 
       11637 
     | 
    
         
            -
            	var arg =  
     | 
| 
      
 11637 
     | 
    
         
            +
            	var arg = null;
         
     | 
| 
       11638 
11638 
     | 
    
         
             
            	if(typeof rowRef === "number") {
         
     | 
| 
      
 11639 
     | 
    
         
            +
            		arg = {};
         
     | 
| 
       11639 
11640 
     | 
    
         
             
            		arg["nextRid"] = this._rids[rowRef];
         
     | 
| 
       11640 
11641 
     | 
    
         
             
            		arg["fallback"] = rowRef; // Fallback index in case of no nextRid found
         
     | 
| 
       11641 
     | 
    
         
            -
            	} else {
         
     | 
| 
      
 11642 
     | 
    
         
            +
            	} else if(rowRef) {
         
     | 
| 
      
 11643 
     | 
    
         
            +
            		arg = {};
         
     | 
| 
       11642 
11644 
     | 
    
         
             
            		arg["nextRid"] = /** @type{string} */(rowRef);
         
     | 
| 
       11643 
11645 
     | 
    
         
             
            	}
         
     | 
| 
       11644 
11646 
     | 
    
         | 
| 
         @@ -14194,6 +14196,12 @@ FieldDefinition._defs = { 
     | 
|
| 
       14194 
14196 
     | 
    
         
             
            		description: "The latest Ask price."
         
     | 
| 
       14195 
14197 
     | 
    
         
             
            	}
         
     | 
| 
       14196 
14198 
     | 
    
         
             
            };
         
     | 
| 
      
 14199 
     | 
    
         
            +
             
     | 
| 
      
 14200 
     | 
    
         
            +
            /** @type {Object.<string, Object>}
         
     | 
| 
      
 14201 
     | 
    
         
            +
            * @private
         
     | 
| 
      
 14202 
     | 
    
         
            +
            */
         
     | 
| 
      
 14203 
     | 
    
         
            +
            FieldDefinition._timeSeriesChildren = {};
         
     | 
| 
      
 14204 
     | 
    
         
            +
             
     | 
| 
       14197 
14205 
     | 
    
         
             
            /** api-key to call synapse service
         
     | 
| 
       14198 
14206 
     | 
    
         
             
            * @type {string}
         
     | 
| 
       14199 
14207 
     | 
    
         
             
            * @private
         
     | 
| 
         @@ -14240,6 +14248,25 @@ FieldDefinition.get = function(field) { 
     | 
|
| 
       14240 
14248 
     | 
    
         
             
            /** @public
         
     | 
| 
       14241 
14249 
     | 
    
         
             
            * @function
         
     | 
| 
       14242 
14250 
     | 
    
         
             
            * @param {string} field
         
     | 
| 
      
 14251 
     | 
    
         
            +
            * @return {Object}
         
     | 
| 
      
 14252 
     | 
    
         
            +
            */
         
     | 
| 
      
 14253 
     | 
    
         
            +
            FieldDefinition.getTimeSeriesChildren = function(field) {
         
     | 
| 
      
 14254 
     | 
    
         
            +
            	return FieldDefinition._timeSeriesChildren[field];
         
     | 
| 
      
 14255 
     | 
    
         
            +
            };
         
     | 
| 
      
 14256 
     | 
    
         
            +
            /** @public
         
     | 
| 
      
 14257 
     | 
    
         
            +
            * @function
         
     | 
| 
      
 14258 
     | 
    
         
            +
            * @param {string} tsDef
         
     | 
| 
      
 14259 
     | 
    
         
            +
            * @param {Object} childDef
         
     | 
| 
      
 14260 
     | 
    
         
            +
            */
         
     | 
| 
      
 14261 
     | 
    
         
            +
            FieldDefinition.addTimeSeriesChild = function(tsDef, childDef) {
         
     | 
| 
      
 14262 
     | 
    
         
            +
            	if(!FieldDefinition._timeSeriesChildren[tsDef]) {
         
     | 
| 
      
 14263 
     | 
    
         
            +
            		FieldDefinition._timeSeriesChildren[tsDef] = [];
         
     | 
| 
      
 14264 
     | 
    
         
            +
            	}
         
     | 
| 
      
 14265 
     | 
    
         
            +
            	FieldDefinition._timeSeriesChildren[tsDef].push(childDef);
         
     | 
| 
      
 14266 
     | 
    
         
            +
            };
         
     | 
| 
      
 14267 
     | 
    
         
            +
            /** @public
         
     | 
| 
      
 14268 
     | 
    
         
            +
            * @function
         
     | 
| 
      
 14269 
     | 
    
         
            +
            * @param {string} field
         
     | 
| 
       14243 
14270 
     | 
    
         
             
            */
         
     | 
| 
       14244 
14271 
     | 
    
         
             
            FieldDefinition.remove = function(field) {
         
     | 
| 
       14245 
14272 
     | 
    
         
             
            	delete FieldDefinition._defs[field];
         
     | 
| 
         @@ -14262,6 +14289,24 @@ FieldDefinition.setFieldCaching = function (caching) { 
     | 
|
| 
       14262 
14289 
     | 
    
         
             
            	FieldDefinition._caching = caching;
         
     | 
| 
       14263 
14290 
     | 
    
         
             
            };
         
     | 
| 
       14264 
14291 
     | 
    
         | 
| 
      
 14292 
     | 
    
         
            +
            /** @public
         
     | 
| 
      
 14293 
     | 
    
         
            +
            * @param {string} field
         
     | 
| 
      
 14294 
     | 
    
         
            +
            * @return {boolean}=true if field is time series field
         
     | 
| 
      
 14295 
     | 
    
         
            +
            */
         
     | 
| 
      
 14296 
     | 
    
         
            +
            FieldDefinition.isTimeSeriesField = function (field) {
         
     | 
| 
      
 14297 
     | 
    
         
            +
            	/*
         
     | 
| 
      
 14298 
     | 
    
         
            +
            		^TR.                    => start with TR.
         
     | 
| 
      
 14299 
     | 
    
         
            +
            		[\w]+                   => any field with string and value
         
     | 
| 
      
 14300 
     | 
    
         
            +
            		[\(]                    => open bucket (
         
     | 
| 
      
 14301 
     | 
    
         
            +
            		[\w\-\=\,]*             => any property name and follow by = EX. SDATE=2011-11-11, PRIOD=123123
         
     | 
| 
      
 14302 
     | 
    
         
            +
            		EDATE\=+                => EDATE in bucket
         
     | 
| 
      
 14303 
     | 
    
         
            +
            		[\w\-\=\,]+             => another propertie param
         
     | 
| 
      
 14304 
     | 
    
         
            +
            		[\)]$                   => end with only )
         
     | 
| 
      
 14305 
     | 
    
         
            +
            	*/
         
     | 
| 
      
 14306 
     | 
    
         
            +
             
     | 
| 
      
 14307 
     | 
    
         
            +
            	return !!field.toUpperCase().match(/^TR.[\w]+[\(][\w\-\=\,]*EDATE\=+[\w\-\=\,]+[\)]$/g);
         
     | 
| 
      
 14308 
     | 
    
         
            +
            };
         
     | 
| 
      
 14309 
     | 
    
         
            +
             
     | 
| 
       14265 
14310 
     | 
    
         
             
            /** to get more info about field via synapse service
         
     | 
| 
       14266 
14311 
     | 
    
         
             
            * @private
         
     | 
| 
       14267 
14312 
     | 
    
         
             
            * @param {string} field
         
     | 
| 
         @@ -14620,8 +14665,17 @@ var ColumnDefinition = function(columnOption, hostGrid) { 
     | 
|
| 
       14620 
14665 
     | 
    
         | 
| 
       14621 
14666 
     | 
    
         
             
            	this._classes = [];
         
     | 
| 
       14622 
14667 
     | 
    
         
             
            	this._requiredFields = [];
         
     | 
| 
      
 14668 
     | 
    
         
            +
            	this._children = [];
         
     | 
| 
      
 14669 
     | 
    
         
            +
            	this._parent = [];
         
     | 
| 
      
 14670 
     | 
    
         
            +
             
     | 
| 
      
 14671 
     | 
    
         
            +
            	if(columnOption) {
         
     | 
| 
      
 14672 
     | 
    
         
            +
            		if(columnOption["parent"]) { // WARNING: This assume time series child, when have a parent
         
     | 
| 
      
 14673 
     | 
    
         
            +
            			this._initializeTimeSeriesChild(columnOption);
         
     | 
| 
      
 14674 
     | 
    
         
            +
            		} else {
         
     | 
| 
      
 14675 
     | 
    
         
            +
            			this.initialize(columnOption);
         
     | 
| 
      
 14676 
     | 
    
         
            +
            		}
         
     | 
| 
      
 14677 
     | 
    
         
            +
            	}
         
     | 
| 
       14623 
14678 
     | 
    
         | 
| 
       14624 
     | 
    
         
            -
            	this.initialize(columnOption);
         
     | 
| 
       14625 
14679 
     | 
    
         
             
            };
         
     | 
| 
       14626 
14680 
     | 
    
         
             
            //#region Private Members
         
     | 
| 
       14627 
14681 
     | 
    
         
             
            /** @type {string}
         
     | 
| 
         @@ -14702,6 +14756,10 @@ ColumnDefinition.prototype._eventArg; 
     | 
|
| 
       14702 
14756 
     | 
    
         
             
            * @private
         
     | 
| 
       14703 
14757 
     | 
    
         
             
            */
         
     | 
| 
       14704 
14758 
     | 
    
         
             
            ColumnDefinition.prototype._realTimeField = false;
         
     | 
| 
      
 14759 
     | 
    
         
            +
            /** @type {boolean}
         
     | 
| 
      
 14760 
     | 
    
         
            +
            * @private
         
     | 
| 
      
 14761 
     | 
    
         
            +
            */
         
     | 
| 
      
 14762 
     | 
    
         
            +
            ColumnDefinition.prototype._autoGenerated = false;
         
     | 
| 
       14705 
14763 
     | 
    
         | 
| 
       14706 
14764 
     | 
    
         
             
            /** @type {!Array.<string>}
         
     | 
| 
       14707 
14765 
     | 
    
         
             
            * @private
         
     | 
| 
         @@ -14738,6 +14796,19 @@ ColumnDefinition.prototype._textSelect = false; 
     | 
|
| 
       14738 
14796 
     | 
    
         
             
            * @private
         
     | 
| 
       14739 
14797 
     | 
    
         
             
            */
         
     | 
| 
       14740 
14798 
     | 
    
         
             
            ColumnDefinition.prototype._userModel = null;
         
     | 
| 
      
 14799 
     | 
    
         
            +
             
     | 
| 
      
 14800 
     | 
    
         
            +
            /** @type {Grid~ColumnDefinition}
         
     | 
| 
      
 14801 
     | 
    
         
            +
            * @private
         
     | 
| 
      
 14802 
     | 
    
         
            +
            */
         
     | 
| 
      
 14803 
     | 
    
         
            +
            ColumnDefinition.prototype._parent = null;
         
     | 
| 
      
 14804 
     | 
    
         
            +
            /** @type {Array<ColumnDefinition>}
         
     | 
| 
      
 14805 
     | 
    
         
            +
            * @private
         
     | 
| 
      
 14806 
     | 
    
         
            +
            */
         
     | 
| 
      
 14807 
     | 
    
         
            +
            ColumnDefinition.prototype._children = null;
         
     | 
| 
      
 14808 
     | 
    
         
            +
            /** @type {boolean}
         
     | 
| 
      
 14809 
     | 
    
         
            +
            * @private
         
     | 
| 
      
 14810 
     | 
    
         
            +
            */
         
     | 
| 
      
 14811 
     | 
    
         
            +
            ColumnDefinition.prototype._timeSeriesField = false;
         
     | 
| 
       14741 
14812 
     | 
    
         
             
            /** @type {Object}
         
     | 
| 
       14742 
14813 
     | 
    
         
             
            * @private
         
     | 
| 
       14743 
14814 
     | 
    
         
             
            */
         
     | 
| 
         @@ -14753,8 +14824,20 @@ ColumnDefinition.prototype.dispose = function() { 
     | 
|
| 
       14753 
14824 
     | 
    
         
             
            	this.setRenderer(null); // this._userRenderers are removed
         
     | 
| 
       14754 
14825 
     | 
    
         
             
            	this.setSorter(null);
         
     | 
| 
       14755 
14826 
     | 
    
         
             
            	this._userModel = null;
         
     | 
| 
      
 14827 
     | 
    
         
            +
            	this._parent = null;
         
     | 
| 
      
 14828 
     | 
    
         
            +
            	this._children = null;
         
     | 
| 
       14756 
14829 
     | 
    
         
             
            	// TODO: Remove any related reference from this._fnEngine
         
     | 
| 
       14757 
14830 
     | 
    
         
             
            };
         
     | 
| 
      
 14831 
     | 
    
         
            +
             
     | 
| 
      
 14832 
     | 
    
         
            +
            /** @public
         
     | 
| 
      
 14833 
     | 
    
         
            +
            * @param {ColumnDefinition~Options|string=} columnOption
         
     | 
| 
      
 14834 
     | 
    
         
            +
            */
         
     | 
| 
      
 14835 
     | 
    
         
            +
            ColumnDefinition.prototype._initializeTimeSeriesChild = function(columnOption) {
         
     | 
| 
      
 14836 
     | 
    
         
            +
            	this._autoGenerated = true;
         
     | 
| 
      
 14837 
     | 
    
         
            +
            	var parentDef = /** @type{ColumnDefinition} */(columnOption["parent"]);
         
     | 
| 
      
 14838 
     | 
    
         
            +
            	this._setParent(parentDef);
         
     | 
| 
      
 14839 
     | 
    
         
            +
            	this.initialize(columnOption);
         
     | 
| 
      
 14840 
     | 
    
         
            +
            };
         
     | 
| 
       14758 
14841 
     | 
    
         
             
            /** @public
         
     | 
| 
       14759 
14842 
     | 
    
         
             
            * @param {ColumnDefinition~Options|string=} columnOption
         
     | 
| 
       14760 
14843 
     | 
    
         
             
            */
         
     | 
| 
         @@ -15053,6 +15136,12 @@ ColumnDefinition.prototype.isRealTimeField = function() { 
     | 
|
| 
       15053 
15136 
     | 
    
         
             
            /** @public
         
     | 
| 
       15054 
15137 
     | 
    
         
             
            * @return {boolean}
         
     | 
| 
       15055 
15138 
     | 
    
         
             
            */
         
     | 
| 
      
 15139 
     | 
    
         
            +
            ColumnDefinition.prototype.isTimeSeriesField = function() {
         
     | 
| 
      
 15140 
     | 
    
         
            +
            	return this._timeSeriesField;
         
     | 
| 
      
 15141 
     | 
    
         
            +
            };
         
     | 
| 
      
 15142 
     | 
    
         
            +
            /** @public
         
     | 
| 
      
 15143 
     | 
    
         
            +
            * @return {boolean}
         
     | 
| 
      
 15144 
     | 
    
         
            +
            */
         
     | 
| 
       15056 
15145 
     | 
    
         
             
            ColumnDefinition.prototype.isFormulaField = function() {
         
     | 
| 
       15057 
15146 
     | 
    
         
             
            	return this._formula ? true : false;
         
     | 
| 
       15058 
15147 
     | 
    
         
             
            };
         
     | 
| 
         @@ -15238,6 +15327,10 @@ ColumnDefinition.prototype.getConfigObject = function(colOptions) { 
     | 
|
| 
       15238 
15327 
     | 
    
         
             
            		obj["headerAlignment"] = this._headerAlignment;
         
     | 
| 
       15239 
15328 
     | 
    
         
             
            	}
         
     | 
| 
       15240 
15329 
     | 
    
         | 
| 
      
 15330 
     | 
    
         
            +
            	if(this._autoGenerated) {
         
     | 
| 
      
 15331 
     | 
    
         
            +
            		obj["autoGenerated"] = this._autoGenerated;
         
     | 
| 
      
 15332 
     | 
    
         
            +
            	}
         
     | 
| 
      
 15333 
     | 
    
         
            +
             
     | 
| 
       15241 
15334 
     | 
    
         
             
            	var core = this._eventArg["core"];
         
     | 
| 
       15242 
15335 
     | 
    
         
             
            	var grid = this._eventArg["grid"];
         
     | 
| 
       15243 
15336 
     | 
    
         
             
            	var colIndex = grid.getColumnIndex(this);
         
     | 
| 
         @@ -15315,6 +15408,53 @@ ColumnDefinition.prototype.setRenderer = function(func) { 
     | 
|
| 
       15315 
15408 
     | 
    
         
             
            		this._userRenderers = null;
         
     | 
| 
       15316 
15409 
     | 
    
         
             
            	}
         
     | 
| 
       15317 
15410 
     | 
    
         
             
            };
         
     | 
| 
      
 15411 
     | 
    
         
            +
             
     | 
| 
      
 15412 
     | 
    
         
            +
             
     | 
| 
      
 15413 
     | 
    
         
            +
            /** @public
         
     | 
| 
      
 15414 
     | 
    
         
            +
            * @return {ColumnDefinition}
         
     | 
| 
      
 15415 
     | 
    
         
            +
            */
         
     | 
| 
      
 15416 
     | 
    
         
            +
            ColumnDefinition.prototype.getParent = function() {
         
     | 
| 
      
 15417 
     | 
    
         
            +
            	return this._parent;
         
     | 
| 
      
 15418 
     | 
    
         
            +
            };
         
     | 
| 
      
 15419 
     | 
    
         
            +
             
     | 
| 
      
 15420 
     | 
    
         
            +
             
     | 
| 
      
 15421 
     | 
    
         
            +
            /**
         
     | 
| 
      
 15422 
     | 
    
         
            +
            * @private
         
     | 
| 
      
 15423 
     | 
    
         
            +
            * @param {ColumnDefinition} parentDef
         
     | 
| 
      
 15424 
     | 
    
         
            +
            * @return {boolean}=true if have any change
         
     | 
| 
      
 15425 
     | 
    
         
            +
            */
         
     | 
| 
      
 15426 
     | 
    
         
            +
            ColumnDefinition.prototype._setParent = function(parentDef) {
         
     | 
| 
      
 15427 
     | 
    
         
            +
            	if(this._parent === parentDef || parentDef === this) { // The same parent is given
         
     | 
| 
      
 15428 
     | 
    
         
            +
            		return false;
         
     | 
| 
      
 15429 
     | 
    
         
            +
            	}
         
     | 
| 
      
 15430 
     | 
    
         
            +
             
     | 
| 
      
 15431 
     | 
    
         
            +
            	if(parentDef) {
         
     | 
| 
      
 15432 
     | 
    
         
            +
            		this._parent = parentDef;
         
     | 
| 
      
 15433 
     | 
    
         
            +
            		this._parent._addChild(this); // sync child and parent
         
     | 
| 
      
 15434 
     | 
    
         
            +
            	}
         
     | 
| 
      
 15435 
     | 
    
         
            +
            	return false;
         
     | 
| 
      
 15436 
     | 
    
         
            +
            };
         
     | 
| 
      
 15437 
     | 
    
         
            +
             
     | 
| 
      
 15438 
     | 
    
         
            +
             
     | 
| 
      
 15439 
     | 
    
         
            +
            /**
         
     | 
| 
      
 15440 
     | 
    
         
            +
            * @public
         
     | 
| 
      
 15441 
     | 
    
         
            +
            * @return {Array.<ColumnDefinition>}
         
     | 
| 
      
 15442 
     | 
    
         
            +
            */
         
     | 
| 
      
 15443 
     | 
    
         
            +
            ColumnDefinition.prototype.getChildren = function() {
         
     | 
| 
      
 15444 
     | 
    
         
            +
            	return this._children;
         
     | 
| 
      
 15445 
     | 
    
         
            +
            };
         
     | 
| 
      
 15446 
     | 
    
         
            +
             
     | 
| 
      
 15447 
     | 
    
         
            +
            /**
         
     | 
| 
      
 15448 
     | 
    
         
            +
            * @private
         
     | 
| 
      
 15449 
     | 
    
         
            +
            * @param {string} colDef Child column definition
         
     | 
| 
      
 15450 
     | 
    
         
            +
            */
         
     | 
| 
      
 15451 
     | 
    
         
            +
            ColumnDefinition.prototype._addChild = function(colDef) {
         
     | 
| 
      
 15452 
     | 
    
         
            +
            	if(this === colDef || this._children.indexOf(colDef) > -1) {
         
     | 
| 
      
 15453 
     | 
    
         
            +
            		return;
         
     | 
| 
      
 15454 
     | 
    
         
            +
            	}
         
     | 
| 
      
 15455 
     | 
    
         
            +
            	this._children.push(colDef);
         
     | 
| 
      
 15456 
     | 
    
         
            +
            };
         
     | 
| 
      
 15457 
     | 
    
         
            +
             
     | 
| 
       15318 
15458 
     | 
    
         
             
            /** Add more renderer to the existing list
         
     | 
| 
       15319 
15459 
     | 
    
         
             
            * @public
         
     | 
| 
       15320 
15460 
     | 
    
         
             
            * @param {Function} func
         
     | 
| 
         @@ -15381,6 +15521,13 @@ ColumnDefinition.prototype.isRowSorting = function() { 
     | 
|
| 
       15381 
15521 
     | 
    
         
             
            	return this._rowSorting ? true : false;
         
     | 
| 
       15382 
15522 
     | 
    
         
             
            };
         
     | 
| 
       15383 
15523 
     | 
    
         | 
| 
      
 15524 
     | 
    
         
            +
            /** @public
         
     | 
| 
      
 15525 
     | 
    
         
            +
            * @return {boolean}
         
     | 
| 
      
 15526 
     | 
    
         
            +
            */
         
     | 
| 
      
 15527 
     | 
    
         
            +
            ColumnDefinition.prototype.isAutoGenerated = function() {
         
     | 
| 
      
 15528 
     | 
    
         
            +
            	return this._autoGenerated;
         
     | 
| 
      
 15529 
     | 
    
         
            +
            };
         
     | 
| 
      
 15530 
     | 
    
         
            +
             
     | 
| 
       15384 
15531 
     | 
    
         
             
            /** To allow user change column name in run-time (language change or localization)
         
     | 
| 
       15385 
15532 
     | 
    
         
             
            * @public
         
     | 
| 
       15386 
15533 
     | 
    
         
             
            * @param {string} str
         
     | 
| 
         @@ -15431,6 +15578,13 @@ ColumnDefinition.prototype._setField = function(field, formulaStr) { 
     | 
|
| 
       15431 
15578 
     | 
    
         
             
            		this._emptyField = false;
         
     | 
| 
       15432 
15579 
     | 
    
         
             
            		this._realTimeField = field ? true : false;
         
     | 
| 
       15433 
15580 
     | 
    
         
             
            	}
         
     | 
| 
      
 15581 
     | 
    
         
            +
             
     | 
| 
      
 15582 
     | 
    
         
            +
            	if(js_FieldDefinition.isTimeSeriesField(field)) {
         
     | 
| 
      
 15583 
     | 
    
         
            +
            		// children will be clone the config from parent too
         
     | 
| 
      
 15584 
     | 
    
         
            +
            		this._realTimeField = false;
         
     | 
| 
      
 15585 
     | 
    
         
            +
            		this._timeSeriesField = true;
         
     | 
| 
      
 15586 
     | 
    
         
            +
            	}
         
     | 
| 
      
 15587 
     | 
    
         
            +
             
     | 
| 
       15434 
15588 
     | 
    
         
             
            	this._isDefaultName = true;
         
     | 
| 
       15435 
15589 
     | 
    
         
             
            	this._updateContext("field", field);
         
     | 
| 
       15436 
15590 
     | 
    
         
             
            	if(this.isRealTimeField()) { // Only realtime field will have a formatted field
         
     | 
| 
         @@ -15547,6 +15701,7 @@ ColumnDefinition.prototype.getColumnInfo = function() { 
     | 
|
| 
       15547 
15701 
     | 
    
         | 
| 
       15548 
15702 
     | 
    
         | 
| 
       15549 
15703 
     | 
    
         | 
| 
      
 15704 
     | 
    
         
            +
             
     | 
| 
       15550 
15705 
     | 
    
         
             
            /** @private
         
     | 
| 
       15551 
15706 
     | 
    
         
             
            * @param {Object} obj
         
     | 
| 
       15552 
15707 
     | 
    
         
             
            * @return {boolean}
         
     | 
| 
         @@ -15733,10 +15888,19 @@ SnapshotFiller.prototype._onRequest = function () { 
     | 
|
| 
       15733 
15888 
     | 
    
         
             
            	var instruments = Object.keys(this._rics);
         
     | 
| 
       15734 
15889 
     | 
    
         | 
| 
       15735 
15890 
     | 
    
         
             
            	var i;
         
     | 
| 
       15736 
     | 
    
         
            -
            	var fields =  
     | 
| 
      
 15891 
     | 
    
         
            +
            	var fields = [];
         
     | 
| 
      
 15892 
     | 
    
         
            +
            	var timeSeriesFields = [];
         
     | 
| 
      
 15893 
     | 
    
         
            +
            	for (var field in this._fields) {
         
     | 
| 
      
 15894 
     | 
    
         
            +
            		if(!FieldDefinition.isTimeSeriesField(field)) {
         
     | 
| 
      
 15895 
     | 
    
         
            +
            			fields.push(field);
         
     | 
| 
      
 15896 
     | 
    
         
            +
            		} else {
         
     | 
| 
      
 15897 
     | 
    
         
            +
            			timeSeriesFields.push(field);
         
     | 
| 
      
 15898 
     | 
    
         
            +
            		}
         
     | 
| 
      
 15899 
     | 
    
         
            +
            	}
         
     | 
| 
       15737 
15900 
     | 
    
         
             
            	var fieldLen = fields.length;
         
     | 
| 
      
 15901 
     | 
    
         
            +
            	var timeSeriesFieldLen = timeSeriesFields.length;
         
     | 
| 
       15738 
15902 
     | 
    
         | 
| 
       15739 
     | 
    
         
            -
            	if (!fieldLen || !instruments.length) { // No ADC field or real-time RIC
         
     | 
| 
      
 15903 
     | 
    
         
            +
            	if ( (!fieldLen && !timeSeriesFieldLen ) || !instruments.length) { // No ADC field or real-time RIC
         
     | 
| 
       15740 
15904 
     | 
    
         
             
            		return;
         
     | 
| 
       15741 
15905 
     | 
    
         
             
            	}
         
     | 
| 
       15742 
15906 
     | 
    
         | 
| 
         @@ -15746,21 +15910,47 @@ SnapshotFiller.prototype._onRequest = function () { 
     | 
|
| 
       15746 
15910 
     | 
    
         | 
| 
       15747 
15911 
     | 
    
         
             
            	var onSuccess, payload;
         
     | 
| 
       15748 
15912 
     | 
    
         
             
            	if (this._rtk) {
         
     | 
| 
       15749 
     | 
    
         
            -
            		var strFields 
     | 
| 
       15750 
     | 
    
         
            -
            		 
     | 
| 
       15751 
     | 
    
         
            -
             
     | 
| 
       15752 
     | 
    
         
            -
            			 
     | 
| 
       15753 
     | 
    
         
            -
            			 
     | 
| 
       15754 
     | 
    
         
            -
            			 
     | 
| 
       15755 
     | 
    
         
            -
             
     | 
| 
       15756 
     | 
    
         
            -
             
     | 
| 
       15757 
     | 
    
         
            -
             
     | 
| 
       15758 
     | 
    
         
            -
             
     | 
| 
       15759 
     | 
    
         
            -
             
     | 
| 
       15760 
     | 
    
         
            -
            			 
     | 
| 
       15761 
     | 
    
         
            -
            			. 
     | 
| 
       15762 
     | 
    
         
            -
             
     | 
| 
       15763 
     | 
    
         
            -
             
     | 
| 
      
 15913 
     | 
    
         
            +
            		var strFields;
         
     | 
| 
      
 15914 
     | 
    
         
            +
            		// Request time serie fields
         
     | 
| 
      
 15915 
     | 
    
         
            +
            		if(timeSeriesFields.length > 0) {
         
     | 
| 
      
 15916 
     | 
    
         
            +
            			// request time series field
         
     | 
| 
      
 15917 
     | 
    
         
            +
            			var strtTimeSeriesFields = timeSeriesFields.join(',');
         
     | 
| 
      
 15918 
     | 
    
         
            +
            			payload = {
         
     | 
| 
      
 15919 
     | 
    
         
            +
            				"method": "select",
         
     | 
| 
      
 15920 
     | 
    
         
            +
            				"formula": strtTimeSeriesFields,
         
     | 
| 
      
 15921 
     | 
    
         
            +
            				"identifiers": instruments,
         
     | 
| 
      
 15922 
     | 
    
         
            +
            				"productId": this._adcOptions.productId,
         
     | 
| 
      
 15923 
     | 
    
         
            +
            				"output": "Col,date|,Row,In|,va,T,NoEmptyTickers" // For customize output server, for more information please visit "https://confluence.refinitiv.com/display/ADC/Data+Cloud+Output+Format"
         
     | 
| 
      
 15924 
     | 
    
         
            +
            			};
         
     | 
| 
      
 15925 
     | 
    
         
            +
            			onSuccess = this._onRTKTimeSeriesSuccess.bind(this, timeSeriesFields);
         
     | 
| 
      
 15926 
     | 
    
         
            +
            			this._rtk.Data.Adc
         
     | 
| 
      
 15927 
     | 
    
         
            +
            				.request(payload)
         
     | 
| 
      
 15928 
     | 
    
         
            +
            				.then(onSuccess)
         
     | 
| 
      
 15929 
     | 
    
         
            +
            				.catch(function (err) {
         
     | 
| 
      
 15930 
     | 
    
         
            +
            					console.log(err);
         
     | 
| 
      
 15931 
     | 
    
         
            +
            				});
         
     | 
| 
      
 15932 
     | 
    
         
            +
            		}
         
     | 
| 
      
 15933 
     | 
    
         
            +
             
     | 
| 
      
 15934 
     | 
    
         
            +
            		// Request normal adc field
         
     | 
| 
      
 15935 
     | 
    
         
            +
            		if(fields.length > 0) {
         
     | 
| 
      
 15936 
     | 
    
         
            +
            			strFields = fields.join(',');
         
     | 
| 
      
 15937 
     | 
    
         
            +
            			payload = {
         
     | 
| 
      
 15938 
     | 
    
         
            +
            				"method": "select",
         
     | 
| 
      
 15939 
     | 
    
         
            +
            				"formula": strFields,
         
     | 
| 
      
 15940 
     | 
    
         
            +
            				"identifiers": instruments,
         
     | 
| 
      
 15941 
     | 
    
         
            +
            				"productId": this._adcOptions.productId,
         
     | 
| 
      
 15942 
     | 
    
         
            +
            				"output": "Col,In,va,T,NoEmptyTickers" // For customize output server, for more information please visit "https://confluence.refinitiv.com/display/ADC/Data+Cloud+Output+Format"
         
     | 
| 
      
 15943 
     | 
    
         
            +
            			};
         
     | 
| 
      
 15944 
     | 
    
         
            +
            			onSuccess = this._onRTKSuccess.bind(this, fields);
         
     | 
| 
      
 15945 
     | 
    
         
            +
            			this._rtk.Data.Adc
         
     | 
| 
      
 15946 
     | 
    
         
            +
            				.request(payload)
         
     | 
| 
      
 15947 
     | 
    
         
            +
            				.then(onSuccess)
         
     | 
| 
      
 15948 
     | 
    
         
            +
            				.catch(function (err) {
         
     | 
| 
      
 15949 
     | 
    
         
            +
            					console.log(err);
         
     | 
| 
      
 15950 
     | 
    
         
            +
            				});
         
     | 
| 
      
 15951 
     | 
    
         
            +
            		}
         
     | 
| 
      
 15952 
     | 
    
         
            +
             
     | 
| 
      
 15953 
     | 
    
         
            +
             
     | 
| 
       15764 
15954 
     | 
    
         
             
            	} else {
         
     | 
| 
       15765 
15955 
     | 
    
         
             
            		var reqFields = [];
         
     | 
| 
       15766 
15956 
     | 
    
         
             
            		for(i = 0; i < fieldLen; i++) {
         
     | 
| 
         @@ -15922,6 +16112,78 @@ SnapshotFiller.prototype._onRTKSuccess = function (fields, serverResult) { 
     | 
|
| 
       15922 
16112 
     | 
    
         
             
            };
         
     | 
| 
       15923 
16113 
     | 
    
         | 
| 
       15924 
16114 
     | 
    
         | 
| 
      
 16115 
     | 
    
         
            +
            /** @private
         
     | 
| 
      
 16116 
     | 
    
         
            +
            * @function
         
     | 
| 
      
 16117 
     | 
    
         
            +
            * @param {Array.<string>} fields
         
     | 
| 
      
 16118 
     | 
    
         
            +
            * @param {string} serverResult
         
     | 
| 
      
 16119 
     | 
    
         
            +
            */
         
     | 
| 
      
 16120 
     | 
    
         
            +
            SnapshotFiller.prototype._onRTKTimeSeriesSuccess = function (fields, serverResult) {
         
     | 
| 
      
 16121 
     | 
    
         
            +
             
     | 
| 
      
 16122 
     | 
    
         
            +
            	// TODO: noti the user for change structure
         
     | 
| 
      
 16123 
     | 
    
         
            +
            	this._dispatch("adcDataReceived", serverResult);
         
     | 
| 
      
 16124 
     | 
    
         
            +
            	var data2D = serverResult["rows"];
         
     | 
| 
      
 16125 
     | 
    
         
            +
            	var svHeaders = serverResult["rows"] && serverResult["rows"][0];
         
     | 
| 
      
 16126 
     | 
    
         
            +
            	if (!Array.isArray(data2D) || !Array.isArray(svHeaders)) {
         
     | 
| 
      
 16127 
     | 
    
         
            +
            		return; // TODO: Return Promise.reject(errMsg);
         
     | 
| 
      
 16128 
     | 
    
         
            +
            	}
         
     | 
| 
      
 16129 
     | 
    
         
            +
             
     | 
| 
      
 16130 
     | 
    
         
            +
            	var headerLen = svHeaders.length;
         
     | 
| 
      
 16131 
     | 
    
         
            +
             
     | 
| 
      
 16132 
     | 
    
         
            +
            	var headerDates = [];
         
     | 
| 
      
 16133 
     | 
    
         
            +
            	var i, j;
         
     | 
| 
      
 16134 
     | 
    
         
            +
             
     | 
| 
      
 16135 
     | 
    
         
            +
            	for (i = 2; i < headerLen; i++) { // Start with 2 (Skip instrunment and date header)
         
     | 
| 
      
 16136 
     | 
    
         
            +
            		headerDates.push(svHeaders[i].v);
         
     | 
| 
      
 16137 
     | 
    
         
            +
            	}
         
     | 
| 
      
 16138 
     | 
    
         
            +
             
     | 
| 
      
 16139 
     | 
    
         
            +
            	var ric, j, field;
         
     | 
| 
      
 16140 
     | 
    
         
            +
            	var len = data2D.length;
         
     | 
| 
      
 16141 
     | 
    
         
            +
            	var ricMap = {};
         
     | 
| 
      
 16142 
     | 
    
         
            +
            	var childrenFieldToParent = {};
         
     | 
| 
      
 16143 
     | 
    
         
            +
             
     | 
| 
      
 16144 
     | 
    
         
            +
            	var fileNameToTSField = {};
         
     | 
| 
      
 16145 
     | 
    
         
            +
            	var count = 0;
         
     | 
| 
      
 16146 
     | 
    
         
            +
            	for (let i = 1; i < len; i++) {
         
     | 
| 
      
 16147 
     | 
    
         
            +
            		var dataRow = data2D[i];
         
     | 
| 
      
 16148 
     | 
    
         
            +
            		var fieldName = dataRow[1];
         
     | 
| 
      
 16149 
     | 
    
         
            +
            		if(!fileNameToTSField[fieldName]) {
         
     | 
| 
      
 16150 
     | 
    
         
            +
            			fileNameToTSField[fieldName] = fields[count++];
         
     | 
| 
      
 16151 
     | 
    
         
            +
            		}   	
         
     | 
| 
      
 16152 
     | 
    
         
            +
            	}
         
     | 
| 
      
 16153 
     | 
    
         
            +
             
     | 
| 
      
 16154 
     | 
    
         
            +
            	// TODO: Freeze the data view before setting multiple data
         
     | 
| 
      
 16155 
     | 
    
         
            +
            	for (i = 1; i < len; i++) { // to skip column header index, use i = 1
         
     | 
| 
      
 16156 
     | 
    
         
            +
            		var dataRow = data2D[i];
         
     | 
| 
      
 16157 
     | 
    
         
            +
            		ric = dataRow[0];
         
     | 
| 
      
 16158 
     | 
    
         
            +
            		var fieldName = dataRow[1]; // ex. PRICECLOSE
         
     | 
| 
      
 16159 
     | 
    
         
            +
            		if(!ricMap[ric]) {
         
     | 
| 
      
 16160 
     | 
    
         
            +
            			ricMap[ric] = {};
         
     | 
| 
      
 16161 
     | 
    
         
            +
            		}
         
     | 
| 
      
 16162 
     | 
    
         
            +
            		var snapData = ricMap[ric];
         
     | 
| 
      
 16163 
     | 
    
         
            +
            		for (var k = 0; k < headerDates.length; k++) {
         
     | 
| 
      
 16164 
     | 
    
         
            +
            			field = fileNameToTSField[fieldName].replace("TR.", "") + "_"  + headerDates[k]; // TODO: make support time series field definition cache
         
     | 
| 
      
 16165 
     | 
    
         
            +
            			childrenFieldToParent[field] = fileNameToTSField[fieldName];
         
     | 
| 
      
 16166 
     | 
    
         
            +
            			snapData[field] = dataRow[2 + k]; // Start with field value
         
     | 
| 
      
 16167 
     | 
    
         
            +
            		}
         
     | 
| 
      
 16168 
     | 
    
         
            +
            	}
         
     | 
| 
      
 16169 
     | 
    
         
            +
             
     | 
| 
      
 16170 
     | 
    
         
            +
            	// return result only ric that has update data
         
     | 
| 
      
 16171 
     | 
    
         
            +
            	var dataMapping = {};
         
     | 
| 
      
 16172 
     | 
    
         
            +
            	for (ric in ricMap) {
         
     | 
| 
      
 16173 
     | 
    
         
            +
            		var obj = ricMap[ric];
         
     | 
| 
      
 16174 
     | 
    
         
            +
            		if (!isEmptyObject(obj)) {
         
     | 
| 
      
 16175 
     | 
    
         
            +
            			dataMapping[ric] = obj;
         
     | 
| 
      
 16176 
     | 
    
         
            +
            		}
         
     | 
| 
      
 16177 
     | 
    
         
            +
            	}
         
     | 
| 
      
 16178 
     | 
    
         
            +
             
     | 
| 
      
 16179 
     | 
    
         
            +
            	this._dispatch("dataChanged", {
         
     | 
| 
      
 16180 
     | 
    
         
            +
            		data: dataMapping,
         
     | 
| 
      
 16181 
     | 
    
         
            +
            		timeSeries: true,
         
     | 
| 
      
 16182 
     | 
    
         
            +
            		childrenFieldToParent: childrenFieldToParent
         
     | 
| 
      
 16183 
     | 
    
         
            +
            	});
         
     | 
| 
      
 16184 
     | 
    
         
            +
            };
         
     | 
| 
      
 16185 
     | 
    
         
            +
             
     | 
| 
      
 16186 
     | 
    
         
            +
             
     | 
| 
       15925 
16187 
     | 
    
         
             
            /* harmony default export */ var js_SnapshotFiller = (SnapshotFiller);
         
     | 
| 
       15926 
16188 
     | 
    
         | 
| 
       15927 
16189 
     | 
    
         
             
            // CONCATENATED MODULE: ./node_modules/@grid/core/es6/grid/components/ElementWrapper.js
         
     | 
| 
         @@ -34253,7 +34515,7 @@ Core.prototype._rowHeightTimerId = 0; 
     | 
|
| 
       34253 
34515 
     | 
    
         
             
            * @return {string}
         
     | 
| 
       34254 
34516 
     | 
    
         
             
            */
         
     | 
| 
       34255 
34517 
     | 
    
         
             
            Core.getVersion = function () {
         
     | 
| 
       34256 
     | 
    
         
            -
            	return "5.1. 
     | 
| 
      
 34518 
     | 
    
         
            +
            	return "5.1.26";
         
     | 
| 
       34257 
34519 
     | 
    
         
             
            };
         
     | 
| 
       34258 
34520 
     | 
    
         
             
            /** {@link ElementWrapper#dispose}
         
     | 
| 
       34259 
34521 
     | 
    
         
             
            * @override
         
     | 
| 
         @@ -41765,6 +42027,13 @@ var excludeAutoGenerated = function (rowDef) { 
     | 
|
| 
       41765 
42027 
     | 
    
         
             
            	return !rowDef.isAutoGenerated();
         
     | 
| 
       41766 
42028 
     | 
    
         
             
            };
         
     | 
| 
       41767 
42029 
     | 
    
         | 
| 
      
 42030 
     | 
    
         
            +
            /** @private
         
     | 
| 
      
 42031 
     | 
    
         
            +
            * @param {Object} colConfig column config
         
     | 
| 
      
 42032 
     | 
    
         
            +
            * @return {boolean}
         
     | 
| 
      
 42033 
     | 
    
         
            +
            */
         
     | 
| 
      
 42034 
     | 
    
         
            +
            var _byNonAutoGeneratedColumn = function (colConfig) {
         
     | 
| 
      
 42035 
     | 
    
         
            +
            	return !colConfig.autoGenerated;
         
     | 
| 
      
 42036 
     | 
    
         
            +
            };
         
     | 
| 
       41768 
42037 
     | 
    
         
             
            /** @private
         
     | 
| 
       41769 
42038 
     | 
    
         
             
            * @param {string} rowDefA
         
     | 
| 
       41770 
42039 
     | 
    
         
             
            * @param {string} rowDefB
         
     | 
| 
         @@ -41790,6 +42059,8 @@ var Grid = function(placeholder, config) { 
     | 
|
| 
       41790 
42059 
     | 
    
         
             
            	t._recalculateFormulas = t._recalculateFormulas.bind(t);
         
     | 
| 
       41791 
42060 
     | 
    
         
             
            	t._updateStreamingData = t._updateStreamingData.bind(t);
         
     | 
| 
       41792 
42061 
     | 
    
         
             
            	t.updateColumnTitle = t.updateColumnTitle.bind(t);
         
     | 
| 
      
 42062 
     | 
    
         
            +
            	t._insertTimeSeriesChildren = t._insertTimeSeriesChildren.bind(t);
         
     | 
| 
      
 42063 
     | 
    
         
            +
             
     | 
| 
       41793 
42064 
     | 
    
         | 
| 
       41794 
42065 
     | 
    
         
             
            	t._onPostSectionDataBinding = t._onPostSectionDataBinding.bind(t);
         
     | 
| 
       41795 
42066 
     | 
    
         
             
            	t._asyncClearDataUpdates = t._asyncClearDataUpdates.bind(t);
         
     | 
| 
         @@ -41813,6 +42084,8 @@ var Grid = function(placeholder, config) { 
     | 
|
| 
       41813 
42084 
     | 
    
         
             
            	t._formulaConflator = new Conflator(300, t._onFormulaDataChanged);
         
     | 
| 
       41814 
42085 
     | 
    
         
             
            	t._chainConflator = new Conflator(100, t._addMemberOfChain);
         
     | 
| 
       41815 
42086 
     | 
    
         
             
            	t._columnTitleConflator = new Conflator(0, t.updateColumnTitle);
         
     | 
| 
      
 42087 
     | 
    
         
            +
            	t._timeSeriesChildConflator = new Conflator(0, t._insertTimeSeriesChildren);
         
     | 
| 
      
 42088 
     | 
    
         
            +
             
     | 
| 
       41816 
42089 
     | 
    
         | 
| 
       41817 
42090 
     | 
    
         
             
            	t._defaultColumnOptions = {};
         
     | 
| 
       41818 
42091 
     | 
    
         | 
| 
         @@ -42559,8 +42832,8 @@ Grid.prototype.getConfigObject = function (gridOptions) { 
     | 
|
| 
       42559 
42832 
     | 
    
         
             
            		grid.getConfigObject(obj);
         
     | 
| 
       42560 
42833 
     | 
    
         
             
            	}
         
     | 
| 
       42561 
42834 
     | 
    
         | 
| 
       42562 
     | 
    
         
            -
            	var i;
         
     | 
| 
       42563 
     | 
    
         
            -
            	 
     | 
| 
      
 42835 
     | 
    
         
            +
            	var i, len;
         
     | 
| 
      
 42836 
     | 
    
         
            +
            	len = this.getColumnCount();
         
     | 
| 
       42564 
42837 
     | 
    
         
             
            	for (i = 0; i < len; ++i) {
         
     | 
| 
       42565 
42838 
     | 
    
         
             
            		var column = columns[i];
         
     | 
| 
       42566 
42839 
     | 
    
         
             
            		if(!column) {
         
     | 
| 
         @@ -42571,6 +42844,8 @@ Grid.prototype.getConfigObject = function (gridOptions) { 
     | 
|
| 
       42571 
42844 
     | 
    
         
             
            		colDef.getConfigObject(column);
         
     | 
| 
       42572 
42845 
     | 
    
         
             
            	}
         
     | 
| 
       42573 
42846 
     | 
    
         | 
| 
      
 42847 
     | 
    
         
            +
            	obj.columns = columns = columns.filter(_byNonAutoGeneratedColumn);
         
     | 
| 
      
 42848 
     | 
    
         
            +
             
     | 
| 
       42574 
42849 
     | 
    
         
             
            	if(this._topNode.style.overflow === "") {
         
     | 
| 
       42575 
42850 
     | 
    
         
             
            		obj["scrollbar"] = false;
         
     | 
| 
       42576 
42851 
     | 
    
         
             
            	}
         
     | 
| 
         @@ -42811,6 +43086,116 @@ Grid.prototype.insertColumn = function (columnOption, idx) { 
     | 
|
| 
       42811 
43086 
     | 
    
         
             
            	this._grid.insertColumn(idx, configObj); // columnAdded is fired
         
     | 
| 
       42812 
43087 
     | 
    
         
             
            };
         
     | 
| 
       42813 
43088 
     | 
    
         | 
| 
      
 43089 
     | 
    
         
            +
            /** @private
         
     | 
| 
      
 43090 
     | 
    
         
            +
            * @param {Object} e snapshort change event object
         
     | 
| 
      
 43091 
     | 
    
         
            +
            */
         
     | 
| 
      
 43092 
     | 
    
         
            +
            Grid.prototype._updateTimeSeriesFields = function (e) {
         
     | 
| 
      
 43093 
     | 
    
         
            +
            	var snapShortData = e.data;
         
     | 
| 
      
 43094 
     | 
    
         
            +
            	var childFields;
         
     | 
| 
      
 43095 
     | 
    
         
            +
            	for (var ric in snapShortData) {
         
     | 
| 
      
 43096 
     | 
    
         
            +
            		childFields = snapShortData[ric];
         
     | 
| 
      
 43097 
     | 
    
         
            +
            		this.setRicData(ric, snapShortData[ric]);
         
     | 
| 
      
 43098 
     | 
    
         
            +
            	}
         
     | 
| 
      
 43099 
     | 
    
         
            +
            	var parentField, field, colIndex, parentColDef, childColIndex;
         
     | 
| 
      
 43100 
     | 
    
         
            +
             
     | 
| 
      
 43101 
     | 
    
         
            +
            	var firstField;
         
     | 
| 
      
 43102 
     | 
    
         
            +
            	for (field in childFields) {
         
     | 
| 
      
 43103 
     | 
    
         
            +
            		firstField = field;
         
     | 
| 
      
 43104 
     | 
    
         
            +
            		break;
         
     | 
| 
      
 43105 
     | 
    
         
            +
            	}
         
     | 
| 
      
 43106 
     | 
    
         
            +
             
     | 
| 
      
 43107 
     | 
    
         
            +
            	parentField = e.childrenFieldToParent[firstField];
         
     | 
| 
      
 43108 
     | 
    
         
            +
            	colIndex = this.getColumnIndex(parentField);
         
     | 
| 
      
 43109 
     | 
    
         
            +
            	this._grid.setColumnVisibility(colIndex);
         
     | 
| 
      
 43110 
     | 
    
         
            +
            	parentColDef = this._getColumnDefinition(colIndex);
         
     | 
| 
      
 43111 
     | 
    
         
            +
             
     | 
| 
      
 43112 
     | 
    
         
            +
             
     | 
| 
      
 43113 
     | 
    
         
            +
            	var children = parentColDef.getChildren();
         
     | 
| 
      
 43114 
     | 
    
         
            +
            	var i, len, childDef, childField;
         
     | 
| 
      
 43115 
     | 
    
         
            +
            	len = children.length;
         
     | 
| 
      
 43116 
     | 
    
         
            +
            	if(len > 0){
         
     | 
| 
      
 43117 
     | 
    
         
            +
            		for (i = 0; i < len; i++) {
         
     | 
| 
      
 43118 
     | 
    
         
            +
            			childDef = children[i];
         
     | 
| 
      
 43119 
     | 
    
         
            +
            			childField = childDef.getField();
         
     | 
| 
      
 43120 
     | 
    
         
            +
            			if(!childFields[childField]) {
         
     | 
| 
      
 43121 
     | 
    
         
            +
            				this.removeColumn(childField);
         
     | 
| 
      
 43122 
     | 
    
         
            +
            			}
         
     | 
| 
      
 43123 
     | 
    
         
            +
            		}
         
     | 
| 
      
 43124 
     | 
    
         
            +
            	}
         
     | 
| 
      
 43125 
     | 
    
         
            +
             
     | 
| 
      
 43126 
     | 
    
         
            +
            	for (childField in childFields) {
         
     | 
| 
      
 43127 
     | 
    
         
            +
            		parentField = e.childrenFieldToParent[childField];
         
     | 
| 
      
 43128 
     | 
    
         
            +
            		colIndex = this.getColumnIndex(parentField);
         
     | 
| 
      
 43129 
     | 
    
         
            +
            		parentColDef = this._getColumnDefinition(colIndex);
         
     | 
| 
      
 43130 
     | 
    
         
            +
            		childColIndex = this.getColumnIndex(childField);
         
     | 
| 
      
 43131 
     | 
    
         
            +
            		if(childColIndex < 0) { // not found column index in view tried to clone from parent
         
     | 
| 
      
 43132 
     | 
    
         
            +
            			this._cloneTimeSeriesColumn(parentColDef, childField, colIndex);
         
     | 
| 
      
 43133 
     | 
    
         
            +
            			js_FieldDefinition.addTimeSeriesChild(parentField, childField);
         
     | 
| 
      
 43134 
     | 
    
         
            +
            		}
         
     | 
| 
      
 43135 
     | 
    
         
            +
            	}
         
     | 
| 
      
 43136 
     | 
    
         
            +
             
     | 
| 
      
 43137 
     | 
    
         
            +
            };
         
     | 
| 
      
 43138 
     | 
    
         
            +
             
     | 
| 
      
 43139 
     | 
    
         
            +
             
     | 
| 
      
 43140 
     | 
    
         
            +
            /** @private
         
     | 
| 
      
 43141 
     | 
    
         
            +
            * @param {ColumnDefinition} colDef
         
     | 
| 
      
 43142 
     | 
    
         
            +
            */
         
     | 
| 
      
 43143 
     | 
    
         
            +
            Grid.prototype._insertTimeSeriesChildren = function (colDef) {
         
     | 
| 
      
 43144 
     | 
    
         
            +
            	if(this._timeSeriesChildConflator.conflate(colDef) ) {
         
     | 
| 
      
 43145 
     | 
    
         
            +
            		return;
         
     | 
| 
      
 43146 
     | 
    
         
            +
            	}
         
     | 
| 
      
 43147 
     | 
    
         
            +
             
     | 
| 
      
 43148 
     | 
    
         
            +
            	var colDefs  = this._timeSeriesChildConflator.popAllData();
         
     | 
| 
      
 43149 
     | 
    
         
            +
            	var i, j, len, childField, idx;
         
     | 
| 
      
 43150 
     | 
    
         
            +
             
     | 
| 
      
 43151 
     | 
    
         
            +
            	for (i = 0; i < colDefs.length; i++) {
         
     | 
| 
      
 43152 
     | 
    
         
            +
            		colDef = colDefs[i];
         
     | 
| 
      
 43153 
     | 
    
         
            +
            		idx = this.getColumnIndex(colDef);
         
     | 
| 
      
 43154 
     | 
    
         
            +
            		this._grid.setColumnVisibility(idx); // hide parent field
         
     | 
| 
      
 43155 
     | 
    
         
            +
             
     | 
| 
      
 43156 
     | 
    
         
            +
            		if(!colDef) {
         
     | 
| 
      
 43157 
     | 
    
         
            +
            			continue;
         
     | 
| 
      
 43158 
     | 
    
         
            +
            		}
         
     | 
| 
      
 43159 
     | 
    
         
            +
            		var childFields = js_FieldDefinition.getTimeSeriesChildren(colDef.getField());
         
     | 
| 
      
 43160 
     | 
    
         
            +
            		if(!childFields) { // not found time series field
         
     | 
| 
      
 43161 
     | 
    
         
            +
            			return;
         
     | 
| 
      
 43162 
     | 
    
         
            +
            		}
         
     | 
| 
      
 43163 
     | 
    
         
            +
             
     | 
| 
      
 43164 
     | 
    
         
            +
            		len = childFields.length;
         
     | 
| 
      
 43165 
     | 
    
         
            +
            		if(len < 1) {
         
     | 
| 
      
 43166 
     | 
    
         
            +
            			return; // normal field
         
     | 
| 
      
 43167 
     | 
    
         
            +
            		}
         
     | 
| 
      
 43168 
     | 
    
         
            +
             
     | 
| 
      
 43169 
     | 
    
         
            +
            		for (j = 0; j < len; j++) {
         
     | 
| 
      
 43170 
     | 
    
         
            +
            			idx = this.getColumnIndex(colDef);
         
     | 
| 
      
 43171 
     | 
    
         
            +
            			childField = childFields[j];
         
     | 
| 
      
 43172 
     | 
    
         
            +
            			this._cloneTimeSeriesColumn(colDef, childField, idx);
         
     | 
| 
      
 43173 
     | 
    
         
            +
            		}
         
     | 
| 
      
 43174 
     | 
    
         
            +
            	}
         
     | 
| 
      
 43175 
     | 
    
         
            +
             
     | 
| 
      
 43176 
     | 
    
         
            +
            };
         
     | 
| 
      
 43177 
     | 
    
         
            +
             
     | 
| 
      
 43178 
     | 
    
         
            +
            /** @private
         
     | 
| 
      
 43179 
     | 
    
         
            +
            * @param {ColumnDefinition} parentColDef Parent definition
         
     | 
| 
      
 43180 
     | 
    
         
            +
            * @param {string} childField field
         
     | 
| 
      
 43181 
     | 
    
         
            +
            * @param {number} idx index of insertion column
         
     | 
| 
      
 43182 
     | 
    
         
            +
            */
         
     | 
| 
      
 43183 
     | 
    
         
            +
            Grid.prototype._cloneTimeSeriesColumn = function (parentColDef, childField, idx) {
         
     | 
| 
      
 43184 
     | 
    
         
            +
            	var parentConfig, columnOption, obj, key;
         
     | 
| 
      
 43185 
     | 
    
         
            +
            	parentConfig = parentColDef.getConfigObject();
         
     | 
| 
      
 43186 
     | 
    
         
            +
            	obj = {};
         
     | 
| 
      
 43187 
     | 
    
         
            +
            	for (key in parentConfig) {
         
     | 
| 
      
 43188 
     | 
    
         
            +
            		if(key !== "hidden") {
         
     | 
| 
      
 43189 
     | 
    
         
            +
            			obj[key] = parentConfig[key];
         
     | 
| 
      
 43190 
     | 
    
         
            +
            		}
         
     | 
| 
      
 43191 
     | 
    
         
            +
            	}
         
     | 
| 
      
 43192 
     | 
    
         
            +
            	columnOption = Object(Util["b" /* cloneObject */])(obj);
         
     | 
| 
      
 43193 
     | 
    
         
            +
            	columnOption["field"] = childField.replace("TR.", "");
         
     | 
| 
      
 43194 
     | 
    
         
            +
            	columnOption["name"] = childField.split("_")[1].split("T")[0]; // Currently, response server format utc date ex "2022-11-23T00:00:00"
         
     | 
| 
      
 43195 
     | 
    
         
            +
            	columnOption["parent"] = parentColDef;
         
     | 
| 
      
 43196 
     | 
    
         
            +
            	this.insertColumn(columnOption, idx++);
         
     | 
| 
      
 43197 
     | 
    
         
            +
             
     | 
| 
      
 43198 
     | 
    
         
            +
            };
         
     | 
| 
       42814 
43199 
     | 
    
         | 
| 
       42815 
43200 
     | 
    
         
             
            /** @public
         
     | 
| 
       42816 
43201 
     | 
    
         
             
            * @param {ColumnDefinition~Options|string} columnOption String will be treated as field, while object is treated as the column options
         
     | 
| 
         @@ -42872,6 +43257,10 @@ Grid.prototype.replaceColumn = function (columnOption, colRef) { 
     | 
|
| 
       42872 
43257 
     | 
    
         
             
            		colConfig["width"] = 1;
         
     | 
| 
       42873 
43258 
     | 
    
         
             
            	}
         
     | 
| 
       42874 
43259 
     | 
    
         | 
| 
      
 43260 
     | 
    
         
            +
            	var colDef = this.getColumnDefinition(colIndex);
         
     | 
| 
      
 43261 
     | 
    
         
            +
            	if(colDef.getChildren()) { // Parent time series field doesn't provide hidden property
         
     | 
| 
      
 43262 
     | 
    
         
            +
            		colConfig["hidden"] = false;
         
     | 
| 
      
 43263 
     | 
    
         
            +
            	}
         
     | 
| 
       42875 
43264 
     | 
    
         
             
            	this.insertColumn(colConfig, colIndex);
         
     | 
| 
       42876 
43265 
     | 
    
         
             
            	this.removeColumn(colIndex + 1); // remove existing column after insert
         
     | 
| 
       42877 
43266 
     | 
    
         
             
            };
         
     | 
| 
         @@ -42908,7 +43297,15 @@ Grid.prototype._onFieldLoadedError = function (err) { 
     | 
|
| 
       42908 
43297 
     | 
    
         
             
             * @param {string} referrer
         
     | 
| 
       42909 
43298 
     | 
    
         
             
             */
         
     | 
| 
       42910 
43299 
     | 
    
         
             
            Grid.prototype._onFieldLoaded = function (field, referrer) {
         
     | 
| 
       42911 
     | 
    
         
            -
            	 
     | 
| 
      
 43300 
     | 
    
         
            +
            	// async process, the field can be remove before column added
         
     | 
| 
      
 43301 
     | 
    
         
            +
            	var colIndex = this.getColumnIndex(field);
         
     | 
| 
      
 43302 
     | 
    
         
            +
            	if(colIndex > -1) {
         
     | 
| 
      
 43303 
     | 
    
         
            +
            		var colDef = this._getColumnDefinition(field);
         
     | 
| 
      
 43304 
     | 
    
         
            +
            		if(colDef.isTimeSeriesField()) {
         
     | 
| 
      
 43305 
     | 
    
         
            +
            			this._insertTimeSeriesChildren(colDef);
         
     | 
| 
      
 43306 
     | 
    
         
            +
            		}
         
     | 
| 
      
 43307 
     | 
    
         
            +
            		this._connector.addFields(field, referrer);
         
     | 
| 
      
 43308 
     | 
    
         
            +
            	}
         
     | 
| 
       42912 
43309 
     | 
    
         
             
            };
         
     | 
| 
       42913 
43310 
     | 
    
         | 
| 
       42914 
43311 
     | 
    
         
             
            /**
         
     | 
| 
         @@ -42937,8 +43334,8 @@ Grid.prototype._shouldLoadFieldInfo = function (field, isRealTime) { 
     | 
|
| 
       42937 
43334 
     | 
    
         
             
            	var fieldDef = js_FieldDefinition.get(field);
         
     | 
| 
       42938 
43335 
     | 
    
         
             
            	if (!fieldDef &&
         
     | 
| 
       42939 
43336 
     | 
    
         
             
            		field !== 'X_RIC_NAME' && // ignore X_RIC_NAME
         
     | 
| 
       42940 
     | 
    
         
            -
            		(isRealTime || ColumnDefinition.isAdcField(field)) &&
         
     | 
| 
       42941 
     | 
    
         
            -
            		(this._RTK || window["JET"])
         
     | 
| 
      
 43337 
     | 
    
         
            +
            		(isRealTime || ColumnDefinition.isAdcField(field)) && // realtime field or adc field (Without static field)
         
     | 
| 
      
 43338 
     | 
    
         
            +
            		(this._RTK || window["JET"]) // have rtk instance or window jet sub
         
     | 
| 
       42942 
43339 
     | 
    
         
             
            	) {
         
     | 
| 
       42943 
43340 
     | 
    
         
             
            		return true;
         
     | 
| 
       42944 
43341 
     | 
    
         
             
            	}
         
     | 
| 
         @@ -43064,9 +43461,15 @@ Grid.prototype._onColumnAdded = function(e) { 
     | 
|
| 
       43064 
43461 
     | 
    
         
             
            				onLoaded = this._onFieldLoaded.bind(this, field, referrer);
         
     | 
| 
       43065 
43462 
     | 
    
         
             
            				prom = prom.then(onLoaded).catch(onLoaded);
         
     | 
| 
       43066 
43463 
     | 
    
         
             
            			} else {
         
     | 
| 
      
 43464 
     | 
    
         
            +
            				if(colDef.isTimeSeriesField()) {
         
     | 
| 
      
 43465 
     | 
    
         
            +
            					this._insertTimeSeriesChildren(colDef);
         
     | 
| 
      
 43466 
     | 
    
         
            +
            				}
         
     | 
| 
       43067 
43467 
     | 
    
         
             
            				this._connector.addFields(field, referrer);
         
     | 
| 
       43068 
43468 
     | 
    
         
             
            			}
         
     | 
| 
       43069 
43469 
     | 
    
         
             
            		} else {
         
     | 
| 
      
 43470 
     | 
    
         
            +
            			if(colDef.isTimeSeriesField()) {
         
     | 
| 
      
 43471 
     | 
    
         
            +
            				this._insertTimeSeriesChildren(colDef);
         
     | 
| 
      
 43472 
     | 
    
         
            +
            			}
         
     | 
| 
       43070 
43473 
     | 
    
         
             
            			this._connector.addFields(field, referrer);
         
     | 
| 
       43071 
43474 
     | 
    
         
             
            		}
         
     | 
| 
       43072 
43475 
     | 
    
         
             
            	}
         
     | 
| 
         @@ -43084,6 +43487,19 @@ Grid.prototype.removeColumn = function(colRef) { 
     | 
|
| 
       43084 
43487 
     | 
    
         
             
            	}
         
     | 
| 
       43085 
43488 
     | 
    
         | 
| 
       43086 
43489 
     | 
    
         
             
            	var colDef = this.getColumnDefinition(colIndex);
         
     | 
| 
      
 43490 
     | 
    
         
            +
            	var children = colDef.getChildren();
         
     | 
| 
      
 43491 
     | 
    
         
            +
            	if(children) {
         
     | 
| 
      
 43492 
     | 
    
         
            +
            		var len = children.length;
         
     | 
| 
      
 43493 
     | 
    
         
            +
            		if(len > 0) { // remove time series child
         
     | 
| 
      
 43494 
     | 
    
         
            +
            			var i, childDef;
         
     | 
| 
      
 43495 
     | 
    
         
            +
            			for (i = 0; i < len; i++) {
         
     | 
| 
      
 43496 
     | 
    
         
            +
            				childDef = children[i];
         
     | 
| 
      
 43497 
     | 
    
         
            +
            				this.removeColumn(childDef);
         
     | 
| 
      
 43498 
     | 
    
         
            +
            			}
         
     | 
| 
      
 43499 
     | 
    
         
            +
            			colIndex = this.getColumnIndex(colRef); // children in parent will be remove the parent should be get new index
         
     | 
| 
      
 43500 
     | 
    
         
            +
            		}
         
     | 
| 
      
 43501 
     | 
    
         
            +
            	}
         
     | 
| 
      
 43502 
     | 
    
         
            +
             
     | 
| 
       43087 
43503 
     | 
    
         
             
            	if(!colDef.isRealTimeField()) {
         
     | 
| 
       43088 
43504 
     | 
    
         
             
            		if(this._dc) {
         
     | 
| 
       43089 
43505 
     | 
    
         
             
            			this._dc.removeStaticFields([colDef.getField()]);
         
     | 
| 
         @@ -43156,6 +43572,7 @@ Grid.prototype.removeAllColumns = function() { 
     | 
|
| 
       43156 
43572 
     | 
    
         
             
            	// TODO: Remove fields that are related to the column (e.g. fields for coloring)
         
     | 
| 
       43157 
43573 
     | 
    
         | 
| 
       43158 
43574 
     | 
    
         
             
            	this._columnTitleConflator.reset();
         
     | 
| 
      
 43575 
     | 
    
         
            +
            	this._timeSeriesChildConflator.reset();
         
     | 
| 
       43159 
43576 
     | 
    
         | 
| 
       43160 
43577 
     | 
    
         
             
            	this._connector.removeAllFields();
         
     | 
| 
       43161 
43578 
     | 
    
         
             
            	this._grid.setColumnCount(0);
         
     | 
| 
         @@ -43184,7 +43601,22 @@ Grid.prototype.moveColumn = function (fromColIndex, toColIndex) { 
     | 
|
| 
       43184 
43601 
     | 
    
         
             
            */
         
     | 
| 
       43185 
43602 
     | 
    
         
             
            Grid.prototype.hideColumn = function(colRef, hidden) {
         
     | 
| 
       43186 
43603 
     | 
    
         
             
            	var colIndex = this.getColumnIndex(colRef);
         
     | 
| 
       43187 
     | 
    
         
            -
            	 
     | 
| 
      
 43604 
     | 
    
         
            +
            	if(colIndex < 0) { // not found
         
     | 
| 
      
 43605 
     | 
    
         
            +
            		return;
         
     | 
| 
      
 43606 
     | 
    
         
            +
            	}
         
     | 
| 
      
 43607 
     | 
    
         
            +
            	var colDef = this.getColumnDefinition(colIndex);
         
     | 
| 
      
 43608 
     | 
    
         
            +
            	var children = colDef.getChildren();
         
     | 
| 
      
 43609 
     | 
    
         
            +
            	var len = children.length;
         
     | 
| 
      
 43610 
     | 
    
         
            +
            	if(len > 0) { // remove time series child, and parent shouldn't unHide
         
     | 
| 
      
 43611 
     | 
    
         
            +
            		var i, childDef;
         
     | 
| 
      
 43612 
     | 
    
         
            +
            		for (i = 0; i < len; i++) {
         
     | 
| 
      
 43613 
     | 
    
         
            +
            			childDef = children[i];
         
     | 
| 
      
 43614 
     | 
    
         
            +
            			this.hideColumn(childDef, hidden);
         
     | 
| 
      
 43615 
     | 
    
         
            +
            		}
         
     | 
| 
      
 43616 
     | 
    
         
            +
            	} else {
         
     | 
| 
      
 43617 
     | 
    
         
            +
            		this._grid.hideColumn(colIndex, hidden);
         
     | 
| 
      
 43618 
     | 
    
         
            +
            	}
         
     | 
| 
      
 43619 
     | 
    
         
            +
             
     | 
| 
       43188 
43620 
     | 
    
         
             
            };
         
     | 
| 
       43189 
43621 
     | 
    
         
             
            /** Hide multiple columns at once. The hidden columns still occupy the same index.
         
     | 
| 
       43190 
43622 
     | 
    
         
             
            * @public
         
     | 
| 
         @@ -43986,6 +44418,7 @@ Grid.prototype._getAllColumnDefinitions = function() { 
     | 
|
| 
       43986 
44418 
     | 
    
         
             
            	}
         
     | 
| 
       43987 
44419 
     | 
    
         
             
            	return colDefs;
         
     | 
| 
       43988 
44420 
     | 
    
         
             
            };
         
     | 
| 
      
 44421 
     | 
    
         
            +
             
     | 
| 
       43989 
44422 
     | 
    
         
             
            /** @public
         
     | 
| 
       43990 
44423 
     | 
    
         
             
            * @param {number|string} rowRef Row index as shown in the view or row id (string)
         
     | 
| 
       43991 
44424 
     | 
    
         
             
            * @return {RowDefinition}
         
     | 
| 
         @@ -44741,9 +45174,14 @@ Grid.prototype._snapshotFillerDataChanged = function (e) { 
     | 
|
| 
       44741 
45174 
     | 
    
         
             
            	if (!this._dt) return;
         
     | 
| 
       44742 
45175 
     | 
    
         | 
| 
       44743 
45176 
     | 
    
         
             
            	var data = e.data;
         
     | 
| 
       44744 
     | 
    
         
            -
            	 
     | 
| 
       44745 
     | 
    
         
            -
            		this. 
     | 
| 
      
 45177 
     | 
    
         
            +
            	if(e.timeSeries) {
         
     | 
| 
      
 45178 
     | 
    
         
            +
            		this._updateTimeSeriesFields(e); // Increase or decrease time series field
         
     | 
| 
      
 45179 
     | 
    
         
            +
            	} else {
         
     | 
| 
      
 45180 
     | 
    
         
            +
            		for (var ric in data) {
         
     | 
| 
      
 45181 
     | 
    
         
            +
            			this.setRicData(ric, data[ric]);
         
     | 
| 
      
 45182 
     | 
    
         
            +
            		}
         
     | 
| 
       44746 
45183 
     | 
    
         
             
            	}
         
     | 
| 
      
 45184 
     | 
    
         
            +
             
     | 
| 
       44747 
45185 
     | 
    
         
             
            	if(!this._lastPollingRequest) { // This is the first time we receive successful ADC response
         
     | 
| 
       44748 
45186 
     | 
    
         
             
            		this._lastPollingRequest = 1; // Allow polling to be started
         
     | 
| 
       44749 
45187 
     | 
    
         
             
            	}
         
     | 
| 
         @@ -47099,6 +47537,7 @@ MockArchive.prototype.filter = function(func) { 
     | 
|
| 
       47099 
47537 
     | 
    
         
             
            // CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/jet/mockDataAPI.js
         
     | 
| 
       47100 
47538 
     | 
    
         | 
| 
       47101 
47539 
     | 
    
         | 
| 
      
 47540 
     | 
    
         
            +
             
     | 
| 
       47102 
47541 
     | 
    
         
             
            /**
         
     | 
| 
       47103 
47542 
     | 
    
         
             
            * @private
         
     | 
| 
       47104 
47543 
     | 
    
         
             
            * @type {object}
         
     | 
| 
         @@ -47123,6 +47562,7 @@ function setInvalidFields(fields) { 
     | 
|
| 
       47123 
47562 
     | 
    
         
             
            	}
         
     | 
| 
       47124 
47563 
     | 
    
         
             
            }
         
     | 
| 
       47125 
47564 
     | 
    
         | 
| 
      
 47565 
     | 
    
         
            +
             
     | 
| 
       47126 
47566 
     | 
    
         
             
            var dataGen = new DataGenerator();
         
     | 
| 
       47127 
47567 
     | 
    
         | 
| 
       47128 
47568 
     | 
    
         
             
            /** @private
         
     | 
| 
         @@ -47224,70 +47664,207 @@ Adc.request = function (payload, mockResponse) { 
     | 
|
| 
       47224 
47664 
     | 
    
         
             
            		return Promise.resolve(JSON.stringify(mockResponse));
         
     | 
| 
       47225 
47665 
     | 
    
         
             
            	}
         
     | 
| 
       47226 
47666 
     | 
    
         | 
| 
       47227 
     | 
    
         
            -
            	 
     | 
| 
       47228 
     | 
    
         
            -
            	var  
     | 
| 
       47229 
     | 
    
         
            -
            	var  
     | 
| 
       47230 
     | 
    
         
            -
            	var fields  
     | 
| 
      
 47667 
     | 
    
         
            +
            	// build row header
         
     | 
| 
      
 47668 
     | 
    
         
            +
            	var rows = [];
         
     | 
| 
      
 47669 
     | 
    
         
            +
            	var i, f, len, row, j;
         
     | 
| 
      
 47670 
     | 
    
         
            +
            	var identifiers, formula, fields, invalidDict;
         
     | 
| 
      
 47671 
     | 
    
         
            +
            	if(payload.output === "Col,date|,Row,In|,va,T,NoEmptyTickers") {
         
     | 
| 
      
 47672 
     | 
    
         
            +
             
     | 
| 
      
 47673 
     | 
    
         
            +
            		identifiers = payload.identifiers;
         
     | 
| 
      
 47674 
     | 
    
         
            +
            		formula =  payload.formula.trim().split(/(?=,TR.)/);// TODO: check each field with another way, this doesn't work when user use some comma (,) formula
         
     | 
| 
      
 47675 
     | 
    
         
            +
            		fields = [];
         
     | 
| 
      
 47676 
     | 
    
         
            +
             
     | 
| 
      
 47677 
     | 
    
         
            +
            		// _invalidFieldDict is a dictionary of non exist field
         
     | 
| 
      
 47678 
     | 
    
         
            +
            		// so we must remove invalid field to make "mocking api" return result more like a "real api".
         
     | 
| 
      
 47679 
     | 
    
         
            +
            		invalidDict = _invalidFieldDict;
         
     | 
| 
      
 47680 
     | 
    
         
            +
            		for (i = 0; i < formula.length; i++) {
         
     | 
| 
      
 47681 
     | 
    
         
            +
            			f = formula[i];
         
     | 
| 
      
 47682 
     | 
    
         
            +
            			if (!invalidDict[f]) {
         
     | 
| 
      
 47683 
     | 
    
         
            +
            				fields.push(f);
         
     | 
| 
      
 47684 
     | 
    
         
            +
            			}
         
     | 
| 
      
 47685 
     | 
    
         
            +
            		}
         
     | 
| 
      
 47686 
     | 
    
         
            +
             
     | 
| 
      
 47687 
     | 
    
         
            +
            		var fieldCount = fields.length;
         
     | 
| 
      
 47688 
     | 
    
         
            +
            		// formula = payload.formula.trim().split(",TR"); // TODO: split wit
         
     | 
| 
      
 47689 
     | 
    
         
            +
             
     | 
| 
      
 47690 
     | 
    
         
            +
            		rows.push([
         
     | 
| 
      
 47691 
     | 
    
         
            +
            			{
         
     | 
| 
      
 47692 
     | 
    
         
            +
            				"h": true,
         
     | 
| 
      
 47693 
     | 
    
         
            +
            				"i": "instrument",
         
     | 
| 
      
 47694 
     | 
    
         
            +
            				"v": "Instrument"
         
     | 
| 
      
 47695 
     | 
    
         
            +
            			},
         
     | 
| 
      
 47696 
     | 
    
         
            +
            			{
         
     | 
| 
      
 47697 
     | 
    
         
            +
            				"h": true,
         
     | 
| 
      
 47698 
     | 
    
         
            +
            				"i": "date",
         
     | 
| 
      
 47699 
     | 
    
         
            +
            				"v": "Date"
         
     | 
| 
      
 47700 
     | 
    
         
            +
            			}
         
     | 
| 
      
 47701 
     | 
    
         
            +
            		]);
         
     | 
| 
      
 47702 
     | 
    
         
            +
             
     | 
| 
      
 47703 
     | 
    
         
            +
            		for (var index = 0; index < fieldCount; index++) {
         
     | 
| 
      
 47704 
     | 
    
         
            +
            			var timeSeriesField = fields[index];
         
     | 
| 
      
 47705 
     | 
    
         
            +
             
     | 
| 
      
 47706 
     | 
    
         
            +
            			var regex = /TR.(.*)(?=\()/;
         
     | 
| 
      
 47707 
     | 
    
         
            +
            			var result = timeSeriesField.match(regex);
         
     | 
| 
      
 47708 
     | 
    
         
            +
            			var field = result[0].replace("TR.", "");
         
     | 
| 
      
 47709 
     | 
    
         
            +
            			var phrase = timeSeriesField.toLowerCase();
         
     | 
| 
      
 47710 
     | 
    
         
            +
            			var startDateRegex = /sdate=(.*)[,]/;
         
     | 
| 
      
 47711 
     | 
    
         
            +
            			var endDateRegex = /edate=(.*)[)]/;
         
     | 
| 
      
 47712 
     | 
    
         
            +
            			var startDateMatch = phrase.match(startDateRegex);
         
     | 
| 
      
 47713 
     | 
    
         
            +
            			var endDateMatch = phrase.match(endDateRegex);
         
     | 
| 
      
 47714 
     | 
    
         
            +
             
     | 
| 
      
 47715 
     | 
    
         
            +
            			var startDate = startDateMatch ? startDateMatch[1] : DateTime.format(new Date(), "YYYY-MM-DD");
         
     | 
| 
      
 47716 
     | 
    
         
            +
            			var endDate = endDateMatch[1];
         
     | 
| 
      
 47717 
     | 
    
         
            +
             
     | 
| 
      
 47718 
     | 
    
         
            +
            			var swapDateTmp;
         
     | 
| 
      
 47719 
     | 
    
         
            +
            			if(startDate > endDate) {
         
     | 
| 
      
 47720 
     | 
    
         
            +
            				swapDateTmp = startDate;
         
     | 
| 
      
 47721 
     | 
    
         
            +
            				startDate = endDate;
         
     | 
| 
      
 47722 
     | 
    
         
            +
            				endDate = swapDateTmp;
         
     | 
| 
      
 47723 
     | 
    
         
            +
            			}
         
     | 
| 
      
 47724 
     | 
    
         
            +
             
     | 
| 
      
 47725 
     | 
    
         
            +
            			var msBetweenDate = (+new Date(endDate)) - (+new Date(startDate));
         
     | 
| 
      
 47726 
     | 
    
         
            +
             
     | 
| 
      
 47727 
     | 
    
         
            +
            			var msInDay = 1000 * 60 * 60 * 24;
         
     | 
| 
      
 47728 
     | 
    
         
            +
            			var betweenDay = msBetweenDate / msInDay;
         
     | 
| 
      
 47729 
     | 
    
         
            +
            			// var betweenDay = Math.floor(Math.random() * 10); // For random length
         
     | 
| 
      
 47730 
     | 
    
         
            +
             
     | 
| 
      
 47731 
     | 
    
         
            +
             
     | 
| 
      
 47732 
     | 
    
         
            +
            			for (i = 0; i <= betweenDay; i++) {
         
     | 
| 
      
 47733 
     | 
    
         
            +
            				var date = new Date(new Date(startDate).setDate(new Date(startDate).getDate() + i));
         
     | 
| 
      
 47734 
     | 
    
         
            +
            				var fieldValue = {
         
     | 
| 
      
 47735 
     | 
    
         
            +
            					"h": true,
         
     | 
| 
      
 47736 
     | 
    
         
            +
            					"v": DateTime.format(date, "YYYY-MM-DDT00:00:00")
         
     | 
| 
      
 47737 
     | 
    
         
            +
            				};
         
     | 
| 
      
 47738 
     | 
    
         
            +
            				if(index === 0) { // add header 1 time
         
     | 
| 
      
 47739 
     | 
    
         
            +
            					rows[0].push(fieldValue);
         
     | 
| 
      
 47740 
     | 
    
         
            +
            				}
         
     | 
| 
      
 47741 
     | 
    
         
            +
            			}
         
     | 
| 
       47231 
47742 
     | 
    
         | 
| 
       47232 
     | 
    
         
            -
             
     | 
| 
       47233 
     | 
    
         
            -
             
     | 
| 
       47234 
     | 
    
         
            -
             
     | 
| 
       47235 
     | 
    
         
            -
             
     | 
| 
       47236 
     | 
    
         
            -
             
     | 
| 
       47237 
     | 
    
         
            -
             
     | 
| 
       47238 
     | 
    
         
            -
             
     | 
| 
      
 47743 
     | 
    
         
            +
            			var rics = identifiers;
         
     | 
| 
      
 47744 
     | 
    
         
            +
            			for (i = 0; i < rics.length; i++) {
         
     | 
| 
      
 47745 
     | 
    
         
            +
             
     | 
| 
      
 47746 
     | 
    
         
            +
            				var ric = rics[i];
         
     | 
| 
      
 47747 
     | 
    
         
            +
            				var rowValue = [
         
     | 
| 
      
 47748 
     | 
    
         
            +
            					ric,
         
     | 
| 
      
 47749 
     | 
    
         
            +
            					field
         
     | 
| 
      
 47750 
     | 
    
         
            +
            				];
         
     | 
| 
      
 47751 
     | 
    
         
            +
            				for (j = 1; j <= betweenDay + 1; j++) {
         
     | 
| 
      
 47752 
     | 
    
         
            +
            					var generatedValue = DataGenerator.generateRecord(field);
         
     | 
| 
      
 47753 
     | 
    
         
            +
            					rowValue.push(generatedValue[field]);
         
     | 
| 
      
 47754 
     | 
    
         
            +
             
     | 
| 
      
 47755 
     | 
    
         
            +
            				}
         
     | 
| 
      
 47756 
     | 
    
         
            +
            				rows.push(rowValue);
         
     | 
| 
      
 47757 
     | 
    
         
            +
            			}
         
     | 
| 
      
 47758 
     | 
    
         
            +
            			// The example rows should be look like
         
     | 
| 
      
 47759 
     | 
    
         
            +
            			/*
         
     | 
| 
      
 47760 
     | 
    
         
            +
            			[
         
     | 
| 
      
 47761 
     | 
    
         
            +
            				[
         
     | 
| 
      
 47762 
     | 
    
         
            +
            				{
         
     | 
| 
      
 47763 
     | 
    
         
            +
            					"h": true,
         
     | 
| 
      
 47764 
     | 
    
         
            +
            					"i": "instrument",
         
     | 
| 
      
 47765 
     | 
    
         
            +
            					"v": "Instrument"
         
     | 
| 
      
 47766 
     | 
    
         
            +
            				},
         
     | 
| 
      
 47767 
     | 
    
         
            +
            				{
         
     | 
| 
      
 47768 
     | 
    
         
            +
            					"h": true,
         
     | 
| 
      
 47769 
     | 
    
         
            +
            					"i": "date",
         
     | 
| 
      
 47770 
     | 
    
         
            +
            					"v": "Date"
         
     | 
| 
      
 47771 
     | 
    
         
            +
            				},
         
     | 
| 
      
 47772 
     | 
    
         
            +
            				{
         
     | 
| 
      
 47773 
     | 
    
         
            +
            					"h": true,
         
     | 
| 
      
 47774 
     | 
    
         
            +
            					"v": "2011-08-11T00:00:00"
         
     | 
| 
      
 47775 
     | 
    
         
            +
            				},
         
     | 
| 
      
 47776 
     | 
    
         
            +
            				{
         
     | 
| 
      
 47777 
     | 
    
         
            +
            					"h": true,
         
     | 
| 
      
 47778 
     | 
    
         
            +
            					"v": "2011-08-12T00:00:00"
         
     | 
| 
      
 47779 
     | 
    
         
            +
            				},
         
     | 
| 
      
 47780 
     | 
    
         
            +
            				{
         
     | 
| 
      
 47781 
     | 
    
         
            +
            					"h": true,
         
     | 
| 
      
 47782 
     | 
    
         
            +
            					"v": "2011-08-15T00:00:00"
         
     | 
| 
      
 47783 
     | 
    
         
            +
            				}
         
     | 
| 
      
 47784 
     | 
    
         
            +
            				],
         
     | 
| 
      
 47785 
     | 
    
         
            +
            				[
         
     | 
| 
      
 47786 
     | 
    
         
            +
            				"IBM",
         
     | 
| 
      
 47787 
     | 
    
         
            +
            				"Price Close", // NOTE: this cannot be detech we join it with space Ex. PriceClose
         
     | 
| 
      
 47788 
     | 
    
         
            +
            				159.25449372,
         
     | 
| 
      
 47789 
     | 
    
         
            +
            				160.6585848,
         
     | 
| 
      
 47790 
     | 
    
         
            +
            				165.23382036
         
     | 
| 
      
 47791 
     | 
    
         
            +
            				],
         
     | 
| 
      
 47792 
     | 
    
         
            +
            				[
         
     | 
| 
      
 47793 
     | 
    
         
            +
            				"GOOGL.O",
         
     | 
| 
      
 47794 
     | 
    
         
            +
            				"Price Close",
         
     | 
| 
      
 47795 
     | 
    
         
            +
            				14.066881653,
         
     | 
| 
      
 47796 
     | 
    
         
            +
            				14.107921423,
         
     | 
| 
      
 47797 
     | 
    
         
            +
            				13.944262828
         
     | 
| 
      
 47798 
     | 
    
         
            +
            				]
         
     | 
| 
      
 47799 
     | 
    
         
            +
            			]
         
     | 
| 
      
 47800 
     | 
    
         
            +
            			*/
         
     | 
| 
       47239 
47801 
     | 
    
         
             
            		}
         
     | 
| 
       47240 
     | 
    
         
            -
            	}
         
     | 
| 
       47241 
47802 
     | 
    
         | 
| 
       47242 
     | 
    
         
            -
            	 
     | 
| 
       47243 
     | 
    
         
            -
            	var rows = [];
         
     | 
| 
       47244 
     | 
    
         
            -
            	rows[0] = [{
         
     | 
| 
       47245 
     | 
    
         
            -
            		"h": true,
         
     | 
| 
       47246 
     | 
    
         
            -
            		"i": "instrument",
         
     | 
| 
       47247 
     | 
    
         
            -
            		"v": "Instrument"
         
     | 
| 
       47248 
     | 
    
         
            -
            	}];
         
     | 
| 
       47249 
     | 
    
         
            -
            	for (i = 0; i < fields.length; i++) {
         
     | 
| 
       47250 
     | 
    
         
            -
            		f = fields[i];
         
     | 
| 
       47251 
     | 
    
         
            -
            		rows[0].push({
         
     | 
| 
       47252 
     | 
    
         
            -
            			"h": true,
         
     | 
| 
       47253 
     | 
    
         
            -
            			"r": f.toUpperCase()
         
     | 
| 
       47254 
     | 
    
         
            -
            			// "v": "Price Close", // Doesn't use
         
     | 
| 
       47255 
     | 
    
         
            -
            			// "p": "I_TRP_PH_PriceClose" // Doesn't use this property
         
     | 
| 
       47256 
     | 
    
         
            -
            		});
         
     | 
| 
       47257 
     | 
    
         
            -
            	}
         
     | 
| 
      
 47803 
     | 
    
         
            +
            	} else {
         
     | 
| 
       47258 
47804 
     | 
    
         | 
| 
       47259 
     | 
    
         
            -
             
     | 
| 
       47260 
     | 
    
         
            -
             
     | 
| 
      
 47805 
     | 
    
         
            +
            		identifiers = payload.identifiers;
         
     | 
| 
      
 47806 
     | 
    
         
            +
            		formula = payload.formula.trim().split(","); // TODO: check each field with another way, this doesn't work when user use some comma (,) formula
         
     | 
| 
      
 47807 
     | 
    
         
            +
            		fields = [];
         
     | 
| 
       47261 
47808 
     | 
    
         | 
| 
       47262 
     | 
    
         
            -
             
     | 
| 
       47263 
     | 
    
         
            -
             
     | 
| 
       47264 
     | 
    
         
            -
             
     | 
| 
       47265 
     | 
    
         
            -
            		 
     | 
| 
       47266 
     | 
    
         
            -
             
     | 
| 
       47267 
     | 
    
         
            -
             
     | 
| 
       47268 
     | 
    
         
            -
             
     | 
| 
       47269 
     | 
    
         
            -
            			 
     | 
| 
      
 47809 
     | 
    
         
            +
            		// _invalidFieldDict is a dictionary of non exist field
         
     | 
| 
      
 47810 
     | 
    
         
            +
            		// so we must remove invalid field to make "mocking api" return result more like a "real api".
         
     | 
| 
      
 47811 
     | 
    
         
            +
            		invalidDict = _invalidFieldDict;
         
     | 
| 
      
 47812 
     | 
    
         
            +
            		for (i = 0; i < formula.length; i++) {
         
     | 
| 
      
 47813 
     | 
    
         
            +
            			f = formula[i];
         
     | 
| 
      
 47814 
     | 
    
         
            +
            			if (!invalidDict[f]) {
         
     | 
| 
      
 47815 
     | 
    
         
            +
            				fields.push(f);
         
     | 
| 
      
 47816 
     | 
    
         
            +
            			}
         
     | 
| 
       47270 
47817 
     | 
    
         
             
            		}
         
     | 
| 
       47271 
     | 
    
         
            -
            		rows.push(row);
         
     | 
| 
       47272 
     | 
    
         
            -
            	}
         
     | 
| 
       47273 
47818 
     | 
    
         | 
| 
       47274 
     | 
    
         
            -
             
     | 
| 
       47275 
     | 
    
         
            -
             
     | 
| 
       47276 
     | 
    
         
            -
             
     | 
| 
       47277 
     | 
    
         
            -
             
     | 
| 
       47278 
     | 
    
         
            -
            		 
     | 
| 
       47279 
     | 
    
         
            -
             
     | 
| 
       47280 
     | 
    
         
            -
            			 
     | 
| 
       47281 
     | 
    
         
            -
            			 
     | 
| 
       47282 
     | 
    
         
            -
             
     | 
| 
       47283 
     | 
    
         
            -
             
     | 
| 
       47284 
     | 
    
         
            -
             
     | 
| 
       47285 
     | 
    
         
            -
            				 
     | 
| 
      
 47819 
     | 
    
         
            +
            		rows[0] = [{
         
     | 
| 
      
 47820 
     | 
    
         
            +
            			"h": true,
         
     | 
| 
      
 47821 
     | 
    
         
            +
            			"i": "instrument",
         
     | 
| 
      
 47822 
     | 
    
         
            +
            			"v": "Instrument"
         
     | 
| 
      
 47823 
     | 
    
         
            +
            		}];
         
     | 
| 
      
 47824 
     | 
    
         
            +
            		for (i = 0; i < fields.length; i++) {
         
     | 
| 
      
 47825 
     | 
    
         
            +
            			f = fields[i];
         
     | 
| 
      
 47826 
     | 
    
         
            +
            			rows[0].push({
         
     | 
| 
      
 47827 
     | 
    
         
            +
            				"h": true,
         
     | 
| 
      
 47828 
     | 
    
         
            +
            				"r": f.toUpperCase().trim()
         
     | 
| 
      
 47829 
     | 
    
         
            +
            				// "v": "Price Close", // Doesn't use
         
     | 
| 
      
 47830 
     | 
    
         
            +
            				// "p": "I_TRP_PH_PriceClose" // Doesn't use this property
         
     | 
| 
      
 47831 
     | 
    
         
            +
            			});
         
     | 
| 
      
 47832 
     | 
    
         
            +
            		}
         
     | 
| 
      
 47833 
     | 
    
         
            +
             
     | 
| 
      
 47834 
     | 
    
         
            +
            		// build data
         
     | 
| 
      
 47835 
     | 
    
         
            +
            		var rowMap = {};
         
     | 
| 
      
 47836 
     | 
    
         
            +
             
     | 
| 
      
 47837 
     | 
    
         
            +
            		len = identifiers.length;
         
     | 
| 
      
 47838 
     | 
    
         
            +
            		var rowData = dataGen.generate(fields, len);
         
     | 
| 
      
 47839 
     | 
    
         
            +
            		for (i = 0; i < len; ++i) {
         
     | 
| 
      
 47840 
     | 
    
         
            +
            			var inst = identifiers[i];
         
     | 
| 
      
 47841 
     | 
    
         
            +
            			row = rowMap[inst];
         
     | 
| 
      
 47842 
     | 
    
         
            +
            			if (!row) {
         
     | 
| 
      
 47843 
     | 
    
         
            +
            				row = rowMap[inst] = rowData[i];
         
     | 
| 
      
 47844 
     | 
    
         
            +
            				row.unshift(inst); // prepend instrument on each row
         
     | 
| 
      
 47845 
     | 
    
         
            +
            			}
         
     | 
| 
      
 47846 
     | 
    
         
            +
            			rows.push(row);
         
     | 
| 
      
 47847 
     | 
    
         
            +
            		}
         
     | 
| 
      
 47848 
     | 
    
         
            +
             
     | 
| 
      
 47849 
     | 
    
         
            +
            		// There is a chance that rtk will return multiple row data per instrument
         
     | 
| 
      
 47850 
     | 
    
         
            +
            		// so we must create mock up for this case
         
     | 
| 
      
 47851 
     | 
    
         
            +
            		if (rows.length > 0) {
         
     | 
| 
      
 47852 
     | 
    
         
            +
            			var chance = dataGen.randInt(1, 10);
         
     | 
| 
      
 47853 
     | 
    
         
            +
            			if (chance <= 3) { // chance 30%
         
     | 
| 
      
 47854 
     | 
    
         
            +
            				var pos = dataGen.randInt(0, rows.length - 1); // random row pos
         
     | 
| 
      
 47855 
     | 
    
         
            +
            				row = rows[pos];
         
     | 
| 
      
 47856 
     | 
    
         
            +
            				len = row.length;
         
     | 
| 
      
 47857 
     | 
    
         
            +
            				var mockupRow = new Array(len);
         
     | 
| 
      
 47858 
     | 
    
         
            +
            				mockupRow[0] = row[0]; // 1st index is for instrument
         
     | 
| 
      
 47859 
     | 
    
         
            +
            				for (i = 1; i < len; i++) {
         
     | 
| 
      
 47860 
     | 
    
         
            +
            					mockupRow[i] = ''; // real case will return null or empty string
         
     | 
| 
      
 47861 
     | 
    
         
            +
            				}
         
     | 
| 
      
 47862 
     | 
    
         
            +
            				rows.splice(pos + 1, 0, mockupRow);
         
     | 
| 
       47286 
47863 
     | 
    
         
             
            			}
         
     | 
| 
       47287 
     | 
    
         
            -
            			rows.splice(pos + 1, 0, mockupRow);
         
     | 
| 
       47288 
47864 
     | 
    
         
             
            		}
         
     | 
| 
       47289 
47865 
     | 
    
         
             
            	}
         
     | 
| 
       47290 
47866 
     | 
    
         | 
| 
      
 47867 
     | 
    
         
            +
             
     | 
| 
       47291 
47868 
     | 
    
         
             
            	/*
         
     | 
| 
       47292 
47869 
     | 
    
         
             
            	response type is :
         
     | 
| 
       47293 
47870 
     | 
    
         
             
            	{
         
     |