@refinitiv-ui/efx-grid 6.0.36 → 6.0.38
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/core/dist/core.js +51 -4
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.d.ts +2 -0
- package/lib/core/es6/grid/Core.js +51 -4
- package/lib/grid/index.js +1 -1
- package/lib/grid/themes/base.less +1 -0
- package/lib/grid/themes/halo/dark/efx-grid.js +1 -1
- package/lib/grid/themes/halo/dark/es5/all-elements.js +1 -1
- package/lib/grid/themes/halo/efx-grid.less +2 -0
- package/lib/grid/themes/halo/light/efx-grid.js +1 -1
- package/lib/grid/themes/halo/light/es5/all-elements.js +1 -1
- package/lib/grid/themes/solar/charcoal/efx-grid.js +1 -1
- package/lib/grid/themes/solar/charcoal/es5/all-elements.js +1 -1
- package/lib/grid/themes/solar/pearl/efx-grid.js +1 -1
- package/lib/grid/themes/solar/pearl/es5/all-elements.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +375 -131
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/FieldDefinition.js +0 -41
- package/lib/rt-grid/es6/Grid.d.ts +1 -1
- package/lib/rt-grid/es6/Grid.js +63 -29
- package/lib/rt-grid/es6/RowDefinition.d.ts +2 -2
- package/lib/rt-grid/es6/RowDefinition.js +103 -53
- package/lib/tr-grid-cell-selection/es6/CellSelection.js +180 -421
- package/lib/tr-grid-column-stack/es6/ColumnStack.js +159 -31
- package/lib/tr-grid-util/es6/jet/MockQuotes2.js +7 -0
- package/lib/types/es6/ColumnStack.d.ts +1 -0
- package/lib/types/es6/Core/grid/Core.d.ts +2 -0
- package/lib/types/es6/Core/grid/LayoutGrid.d.ts +4 -0
- package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +2 -2
- package/lib/versions.json +3 -3
- package/package.json +1 -1
@@ -13195,9 +13195,10 @@ DataTable._proto = DataTable.prototype;
|
|
13195
13195
|
* @property {Array.<string>=} fields=null Field that corresponds to the given static values
|
13196
13196
|
* @property {boolean=} asChain=false The given ric will be treated as a chain
|
13197
13197
|
* @property {string=} chainRic="" RIC to be used for chain request (overiding ric property)
|
13198
|
-
* @property {boolean=} collapsed=
|
13198
|
+
* @property {boolean=} collapsed=true Chain is collapsed by default
|
13199
13199
|
* @property {(string|null)=} label=null
|
13200
13200
|
* @property {boolean=} hidden=true When this row is hidden
|
13201
|
+
* @pro // realTime
|
13201
13202
|
*/
|
13202
13203
|
|
13203
13204
|
/** @typedef {Object} RowDefinition~RowTypes
|
@@ -13273,18 +13274,18 @@ RowDefinition.prototype._ric = ""; // Contains no 0#
|
|
13273
13274
|
* @private
|
13274
13275
|
*/
|
13275
13276
|
RowDefinition.prototype._permId = "";
|
13276
|
-
/** @type {string}
|
13277
|
+
/** @type {string|null}
|
13277
13278
|
* @private
|
13278
13279
|
*/
|
13279
|
-
RowDefinition.prototype.
|
13280
|
-
/** @type {
|
13280
|
+
RowDefinition.prototype._label = null; // Label overrides _ric and _permId
|
13281
|
+
/** @type {boolean|null}
|
13281
13282
|
* @private
|
13282
13283
|
*/
|
13283
|
-
RowDefinition.prototype.
|
13284
|
+
RowDefinition.prototype._isChain = null;
|
13284
13285
|
/** @type {boolean}
|
13285
13286
|
* @private
|
13286
13287
|
*/
|
13287
|
-
RowDefinition.prototype.
|
13288
|
+
RowDefinition.prototype._realTime = true;
|
13288
13289
|
|
13289
13290
|
/** @type {string}
|
13290
13291
|
* @private
|
@@ -13308,10 +13309,10 @@ RowDefinition.prototype._view = null;
|
|
13308
13309
|
*/
|
13309
13310
|
RowDefinition.prototype._subId = "";
|
13310
13311
|
|
13311
|
-
/** @type {boolean}
|
13312
|
+
/** @type {boolean|null}
|
13312
13313
|
* @private
|
13313
13314
|
*/
|
13314
|
-
RowDefinition.prototype._expanded =
|
13315
|
+
RowDefinition.prototype._expanded = null;
|
13315
13316
|
/** @type {boolean}
|
13316
13317
|
* @private
|
13317
13318
|
*/
|
@@ -13399,18 +13400,19 @@ RowDefinition.prototype.initialize = function(rowOptions) {
|
|
13399
13400
|
return;
|
13400
13401
|
}
|
13401
13402
|
|
13402
|
-
var val = rowOptions["
|
13403
|
+
var val = rowOptions["permId"];
|
13403
13404
|
if(val != null) {
|
13404
|
-
this.
|
13405
|
+
this._permId = val;
|
13405
13406
|
}
|
13406
|
-
val = rowOptions["
|
13407
|
+
val = rowOptions["ric"];
|
13407
13408
|
if(val != null) {
|
13408
|
-
this.
|
13409
|
+
this._ric = val;
|
13409
13410
|
}
|
13410
|
-
|
13411
|
-
|
13411
|
+
val = rowOptions["label"];
|
13412
|
+
// eslint-disable-next-line no-undefined
|
13413
|
+
if(val !== undefined) { // Empty string and null are allowed
|
13414
|
+
this._label = val;
|
13412
13415
|
}
|
13413
|
-
|
13414
13416
|
val = rowOptions["chainRic"];
|
13415
13417
|
if(val != null) {
|
13416
13418
|
this._chainRic = val;
|
@@ -13422,26 +13424,40 @@ RowDefinition.prototype.initialize = function(rowOptions) {
|
|
13422
13424
|
}
|
13423
13425
|
|
13424
13426
|
val = rowOptions["asChain"];
|
13425
|
-
if(val) {
|
13426
|
-
this._isChain =
|
13427
|
-
this._expanded = !rowOptions["collapsed"];
|
13428
|
-
} else if(this._isChain) {
|
13429
|
-
var collapsed = rowOptions["collapsed"];
|
13430
|
-
if(collapsed != null) {
|
13431
|
-
this._expanded = !collapsed;
|
13432
|
-
}
|
13427
|
+
if(val !== null) {
|
13428
|
+
this._isChain = val;
|
13433
13429
|
}
|
13434
13430
|
|
13435
|
-
val = rowOptions["
|
13436
|
-
|
13437
|
-
|
13438
|
-
this._label = val;
|
13431
|
+
val = rowOptions["realTime"];
|
13432
|
+
if(val != null) {
|
13433
|
+
this._realTime = val;
|
13439
13434
|
}
|
13440
13435
|
|
13436
|
+
val = rowOptions["collapsed"];
|
13437
|
+
if(val != null){
|
13438
|
+
this._expanded = !val;
|
13439
|
+
}
|
13441
13440
|
val = rowOptions["keepModel"];
|
13442
13441
|
if(val) {
|
13443
13442
|
this._userModel = rowOptions;
|
13444
13443
|
}
|
13444
|
+
|
13445
|
+
var expanded = this._expanded;
|
13446
|
+
var symbol = this._ric || this._chainRic;
|
13447
|
+
var asChain = this._isChain || !!this._chainRic;
|
13448
|
+
if(this._ric && this._ric.indexOf("0#") >= 0){
|
13449
|
+
asChain = true;
|
13450
|
+
expanded = true;
|
13451
|
+
}
|
13452
|
+
if(this._isChain === false){
|
13453
|
+
asChain = false;
|
13454
|
+
}
|
13455
|
+
if(this._expanded === false){
|
13456
|
+
expanded = false;
|
13457
|
+
}
|
13458
|
+
if(symbol || this._permId){
|
13459
|
+
this.setContent(symbol, this._permId, asChain, expanded); // this._dataId is modified
|
13460
|
+
}
|
13445
13461
|
};
|
13446
13462
|
/** @private
|
13447
13463
|
* @param {!Object} rowOptions
|
@@ -13451,8 +13467,7 @@ RowDefinition.prototype._initializeAsConstituent = function(rowOptions) {
|
|
13451
13467
|
var parentDef = /** @type{RowDefinition} */(rowOptions["parent"]);
|
13452
13468
|
if(this.setParent(parentDef)) {
|
13453
13469
|
this._dataId = /** @type{string} */(rowOptions["dataId"]); // Constituent will have the same subId as its parent but with different ric
|
13454
|
-
this.
|
13455
|
-
|
13470
|
+
this._ric = /** @type{string} */(rowOptions["ric"]);
|
13456
13471
|
this._dc = parentDef._dc; // Parent chain must have data cache
|
13457
13472
|
if(this._dc) {
|
13458
13473
|
var rowData = this.getRowData(); // Do not trigger any data update
|
@@ -13470,9 +13485,12 @@ RowDefinition.prototype._initializeAsConstituent = function(rowOptions) {
|
|
13470
13485
|
/** @public
|
13471
13486
|
* @param {string} userInput RIC
|
13472
13487
|
* @param {string=} permId=null Organization PermId, which use for getting ADC data for private company
|
13488
|
+
* @param {boolean=} asChain
|
13489
|
+
* @param {boolean=} expanded
|
13490
|
+
* @param {boolean=} realTime
|
13473
13491
|
* @return {boolean} True if there is any change otherwise false
|
13474
13492
|
*/
|
13475
|
-
RowDefinition.prototype.setContent = function(userInput, permId) {
|
13493
|
+
RowDefinition.prototype.setContent = function(userInput, permId, asChain, expanded) {
|
13476
13494
|
if(this._autoGenerated) { // AutoGenerated RowDefinition cannot be changed by user input
|
13477
13495
|
return false;
|
13478
13496
|
}
|
@@ -13486,10 +13504,7 @@ RowDefinition.prototype.setContent = function(userInput, permId) {
|
|
13486
13504
|
var dirty = (this._userInput !== userInput);
|
13487
13505
|
if(this._permId !== permId){
|
13488
13506
|
this._permId = permId || "";
|
13489
|
-
|
13490
|
-
this._displayText = this._permId;
|
13491
|
-
dirty = true;
|
13492
|
-
}
|
13507
|
+
dirty = true;
|
13493
13508
|
}
|
13494
13509
|
if(!dirty) {
|
13495
13510
|
return false;
|
@@ -13498,34 +13513,44 @@ RowDefinition.prototype.setContent = function(userInput, permId) {
|
|
13498
13513
|
this.unsubscribeForUpdates();
|
13499
13514
|
this.resetUpdates(); // Remove all previous data updates because a new content is just entered
|
13500
13515
|
|
13516
|
+
// TODO: handle changing between chain and ric row
|
13501
13517
|
this._userInput = userInput;
|
13502
13518
|
if(this._userInput.charAt(0) === "'") { // This is a row header
|
13503
|
-
this._displayText = this._userInput.substr(1);
|
13504
13519
|
this._ric = this._chainRic = ""; // No ric for realtime request
|
13505
13520
|
} else {
|
13506
13521
|
if(this._userInput.indexOf("0#") >= 0) {
|
13507
|
-
|
13508
|
-
|
13509
|
-
|
13510
|
-
|
13511
|
-
this.
|
13512
|
-
this.
|
13522
|
+
if(asChain === false){
|
13523
|
+
this._ric = this._userInput;
|
13524
|
+
} else {
|
13525
|
+
this._ric = expanded === false ? this._userInput : this._userInput.replace("0#", "");
|
13526
|
+
this._expanded = expanded;
|
13527
|
+
this._isChain = true; // Only chain can be expanded by 0#
|
13528
|
+
this._chainRic = this._userInput;
|
13529
|
+
if(this._view) {
|
13530
|
+
this._view.setSegmentSeparator(this._rowId);
|
13531
|
+
this.expandChain();
|
13532
|
+
}
|
13513
13533
|
}
|
13514
13534
|
} else {
|
13515
13535
|
this._ric = this._userInput;
|
13516
|
-
|
13536
|
+
if(asChain){
|
13537
|
+
this._isChain = true;
|
13538
|
+
}
|
13517
13539
|
}
|
13518
|
-
this._displayText = this._ric; // No 0#
|
13519
13540
|
}
|
13520
13541
|
|
13521
13542
|
this._dataId = this._rowId + this.getSymbol(); // JET/RTK will generate data id to be rowId (given from this rowDef) + ric;
|
13522
13543
|
|
13523
|
-
|
13544
|
+
|
13524
13545
|
if(!this.subscribeForUpdates()) {
|
13525
|
-
|
13526
|
-
|
13527
|
-
|
13528
|
-
|
13546
|
+
if(this._dc) {
|
13547
|
+
// This will work for runtime ric modification, but not for first initilization.
|
13548
|
+
// Avoid losing the ROW_DEF pointer.
|
13549
|
+
var rowData = {};
|
13550
|
+
rowData[ROW_DEF] = this; // Enable tracking back and updating data
|
13551
|
+
rowData["X_RIC_NAME"] = this.getDisplayText();
|
13552
|
+
this.setRowData(rowData);
|
13553
|
+
}
|
13529
13554
|
}
|
13530
13555
|
return true;
|
13531
13556
|
};
|
@@ -13546,6 +13571,16 @@ RowDefinition.prototype.getConfigObject = function(rowOptions) {
|
|
13546
13571
|
obj["ric"] = val;
|
13547
13572
|
}
|
13548
13573
|
|
13574
|
+
// The user passed a single quote (') case
|
13575
|
+
if(!this._ric && this._userInput.charAt(0) === "'") {
|
13576
|
+
obj["ric"] = this._userInput;
|
13577
|
+
}
|
13578
|
+
|
13579
|
+
val = this._realTime;
|
13580
|
+
if(val !== true) {
|
13581
|
+
obj["realTime"] = val;
|
13582
|
+
}
|
13583
|
+
|
13549
13584
|
val = this._permId;
|
13550
13585
|
if(val) {
|
13551
13586
|
obj["permId"] = val;
|
@@ -13567,12 +13602,12 @@ RowDefinition.prototype.getConfigObject = function(rowOptions) {
|
|
13567
13602
|
}
|
13568
13603
|
|
13569
13604
|
val = this._isChain;
|
13570
|
-
if(val) {
|
13605
|
+
if(val != null) {
|
13571
13606
|
obj["asChain"] = val;
|
13572
13607
|
}
|
13573
13608
|
|
13574
13609
|
val = this._expanded;
|
13575
|
-
if(val) {
|
13610
|
+
if(val != null) {
|
13576
13611
|
obj["collapsed"] = !val;
|
13577
13612
|
}
|
13578
13613
|
|
@@ -13670,6 +13705,7 @@ RowDefinition.prototype.setDataSource = function(dataSource) {
|
|
13670
13705
|
if(!rowData) {
|
13671
13706
|
rowData = {};
|
13672
13707
|
rowData[ROW_DEF] = this; // Enable tracking back and updating data
|
13708
|
+
rowData["X_RIC_NAME"] = this.getDisplayText();
|
13673
13709
|
this.setRowData(rowData); // TODO: This will dispatch dataChanged event and caused update to be added, which should not happen
|
13674
13710
|
}
|
13675
13711
|
|
@@ -13812,7 +13848,16 @@ RowDefinition.prototype.getDisplayText = function() {
|
|
13812
13848
|
if(this._label != null) { // Empty string is allowed
|
13813
13849
|
return this._label;
|
13814
13850
|
}
|
13815
|
-
|
13851
|
+
|
13852
|
+
if(this._ric) {
|
13853
|
+
return this._ric;
|
13854
|
+
}
|
13855
|
+
|
13856
|
+
if(this._permId) {
|
13857
|
+
return this._permId;
|
13858
|
+
}
|
13859
|
+
|
13860
|
+
return this._userInput;
|
13816
13861
|
};
|
13817
13862
|
/** @public
|
13818
13863
|
* @return {string|null}
|
@@ -13876,13 +13921,18 @@ RowDefinition.prototype.isRealTimeRow = function() {
|
|
13876
13921
|
if(!this.getRic()) { // Empty row
|
13877
13922
|
return false;
|
13878
13923
|
}
|
13879
|
-
if(this.
|
13924
|
+
if(!this._realTime) {
|
13880
13925
|
return false;
|
13881
13926
|
}
|
13927
|
+
|
13882
13928
|
if(this._autoGenerated) { // Constituents in chain are not real-time row
|
13883
13929
|
return false;
|
13884
13930
|
}
|
13885
13931
|
|
13932
|
+
if(this.isRowHeader()) {
|
13933
|
+
return false;
|
13934
|
+
}
|
13935
|
+
|
13886
13936
|
return true;
|
13887
13937
|
};
|
13888
13938
|
|
@@ -13911,7 +13961,7 @@ RowDefinition.prototype.subscribeForUpdates = function() {
|
|
13911
13961
|
if(prevRowData) {
|
13912
13962
|
this._dc.setRowData(this._dataId, prevRowData); // TODO: We may need to create a new object instead of prevRowData for data correctness
|
13913
13963
|
} else {
|
13914
|
-
this._dc.setRowData(this._dataId, {"X_RIC_NAME": this.
|
13964
|
+
this._dc.setRowData(this._dataId, {"X_RIC_NAME": this.getDisplayText(), "ROW_DEF": this}); // Trigger data update immediately
|
13915
13965
|
}
|
13916
13966
|
return true;
|
13917
13967
|
};
|
@@ -14372,40 +14422,6 @@ var SYNAPSE_URL =
|
|
14372
14422
|
+ 'hits=1' // search only 1 result
|
14373
14423
|
+ '&profile=' + encodeURIComponent('Field Selector');
|
14374
14424
|
|
14375
|
-
/** @function
|
14376
|
-
* @private
|
14377
|
-
* @param {Object} e
|
14378
|
-
*/
|
14379
|
-
function xRicNameRenderer(e) {
|
14380
|
-
e.cell.setContent(e.rowDef.getDisplayText());
|
14381
|
-
}
|
14382
|
-
/** @function
|
14383
|
-
* @private
|
14384
|
-
* @param {RowDefinition} rowA
|
14385
|
-
* @param {RowDefinition} rowB
|
14386
|
-
* @param {number} order
|
14387
|
-
* @returns {number}
|
14388
|
-
*/
|
14389
|
-
function xRicNameSorter(rowA, rowB, order) {
|
14390
|
-
var A = rowA.getDisplayText();
|
14391
|
-
var B = rowB.getDisplayText();
|
14392
|
-
if(A === B) {
|
14393
|
-
return 0;
|
14394
|
-
}
|
14395
|
-
if(!A) {
|
14396
|
-
return 1;
|
14397
|
-
}
|
14398
|
-
if(!B) {
|
14399
|
-
return -1;
|
14400
|
-
}
|
14401
|
-
if(A < B) {
|
14402
|
-
return -order;
|
14403
|
-
}
|
14404
|
-
|
14405
|
-
return order;
|
14406
|
-
}
|
14407
|
-
|
14408
|
-
|
14409
14425
|
/* @namespace */
|
14410
14426
|
var FieldDefinition = {};
|
14411
14427
|
|
@@ -14413,13 +14429,6 @@ var FieldDefinition = {};
|
|
14413
14429
|
* @private
|
14414
14430
|
*/
|
14415
14431
|
FieldDefinition._defs = {
|
14416
|
-
"X_RIC_NAME": {
|
14417
|
-
name: "RIC",
|
14418
|
-
IsRealtimeField: false,
|
14419
|
-
width: 100,
|
14420
|
-
binding: xRicNameRenderer,
|
14421
|
-
sortLogic: xRicNameSorter
|
14422
|
-
},
|
14423
14432
|
"CF_NAME": {
|
14424
14433
|
name: "Name",
|
14425
14434
|
rank: 2800003,
|
@@ -16814,6 +16823,13 @@ GroupDefinitions.prototype.getGroups = function () {
|
|
16814
16823
|
}
|
16815
16824
|
return groupDefs;
|
16816
16825
|
};
|
16826
|
+
/** Get array of all existing group ids
|
16827
|
+
* @public
|
16828
|
+
* @return {!Array.<string>}
|
16829
|
+
*/
|
16830
|
+
GroupDefinitions.prototype.getGroupIds = function () {
|
16831
|
+
return Object.keys(this._groupMap);
|
16832
|
+
};
|
16817
16833
|
/** @public
|
16818
16834
|
* @return {!Object.<string, Object>}
|
16819
16835
|
*/
|
@@ -16920,7 +16936,18 @@ GroupDefinitions.prototype.getParentId = function (childId, groupLevel) {
|
|
16920
16936
|
return parentId || "";
|
16921
16937
|
};
|
16922
16938
|
|
16923
|
-
|
16939
|
+
/** Remove all existing group definitions
|
16940
|
+
* @public
|
16941
|
+
* @return {boolean}
|
16942
|
+
*/
|
16943
|
+
GroupDefinitions.prototype.removeAllGroups = function () {
|
16944
|
+
for(var groupId in this._groupMap) { // eslint-disable-line
|
16945
|
+
this._groupMap = {};
|
16946
|
+
this._childToParent = {};
|
16947
|
+
return true;
|
16948
|
+
}
|
16949
|
+
return false;
|
16950
|
+
};
|
16924
16951
|
/** Remove all existing group definitions and replace them with the given definitions.
|
16925
16952
|
* @public
|
16926
16953
|
* @param {Array.<Object>=} groupDefs Use null or empty array to remove all existing groups
|
@@ -17065,9 +17092,10 @@ GroupDefinitions.prototype.hasGroupChild = function (parentId, childId) {
|
|
17065
17092
|
/** @public
|
17066
17093
|
* @param {string} parentId Group id
|
17067
17094
|
* @param {string} childId
|
17095
|
+
* @param {number=} position
|
17068
17096
|
* @return {boolean}
|
17069
17097
|
*/
|
17070
|
-
GroupDefinitions.prototype.addGroupChild = function (parentId, childId) {
|
17098
|
+
GroupDefinitions.prototype.addGroupChild = function (parentId, childId, position) {
|
17071
17099
|
var groupDef = this._groupMap[parentId];
|
17072
17100
|
|
17073
17101
|
if(childId && groupDef) {
|
@@ -17080,7 +17108,11 @@ GroupDefinitions.prototype.addGroupChild = function (parentId, childId) {
|
|
17080
17108
|
if(childDef) {
|
17081
17109
|
childDef.parentId = parentId;
|
17082
17110
|
}
|
17083
|
-
|
17111
|
+
if(position != null && position >= 0) {
|
17112
|
+
chdr.splice(position, 0, childId);
|
17113
|
+
} else {
|
17114
|
+
chdr.push(childId);
|
17115
|
+
}
|
17084
17116
|
return true;
|
17085
17117
|
}
|
17086
17118
|
}
|
@@ -17189,6 +17221,18 @@ GroupDefinitions.prototype.setGroupChildren = function (groupId, newChildList) {
|
|
17189
17221
|
}
|
17190
17222
|
return false;
|
17191
17223
|
};
|
17224
|
+
|
17225
|
+
/** @public
|
17226
|
+
* @param {string} groupId
|
17227
|
+
* @return {string}
|
17228
|
+
*/
|
17229
|
+
GroupDefinitions.prototype.getGroupName = function (groupId) {
|
17230
|
+
var groupDef = this._groupMap[groupId];
|
17231
|
+
if(groupDef) {
|
17232
|
+
return groupDef.name || "";
|
17233
|
+
}
|
17234
|
+
return "";
|
17235
|
+
};
|
17192
17236
|
/** @public
|
17193
17237
|
* @param {string} groupId
|
17194
17238
|
* @param {string} groupName
|
@@ -17205,6 +17249,7 @@ GroupDefinitions.prototype.setGroupName = function (groupId, groupName) {
|
|
17205
17249
|
|
17206
17250
|
return false;
|
17207
17251
|
};
|
17252
|
+
|
17208
17253
|
/* harmony default export */ var es6_GroupDefinitions = (GroupDefinitions);
|
17209
17254
|
|
17210
17255
|
|
@@ -20366,6 +20411,10 @@ ILayoutGrid.prototype.calculateColumnBounds = function (lftIdx, rgtIdx, outPosit
|
|
20366
20411
|
* @param {number=} topPx Top position of bound
|
20367
20412
|
*/
|
20368
20413
|
ILayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx) {};
|
20414
|
+
/** @public
|
20415
|
+
* @ignore
|
20416
|
+
*/
|
20417
|
+
ILayoutGrid.prototype.updateColumnSeparators = function () {};
|
20369
20418
|
|
20370
20419
|
/* harmony default export */ var grid_ILayoutGrid = (ILayoutGrid);
|
20371
20420
|
|
@@ -24355,7 +24404,14 @@ LayoutGrid.prototype._colSelDirty = false;
|
|
24355
24404
|
* @private
|
24356
24405
|
*/
|
24357
24406
|
LayoutGrid.prototype._hscrollbar = null;
|
24358
|
-
|
24407
|
+
/** @type {Element}
|
24408
|
+
* @private
|
24409
|
+
*/
|
24410
|
+
LayoutGrid.prototype._leftColumnSeparator = null;
|
24411
|
+
/** @type {Element}
|
24412
|
+
* @private
|
24413
|
+
*/
|
24414
|
+
LayoutGrid.prototype._rightColumnSeparator = null;
|
24359
24415
|
|
24360
24416
|
/**
|
24361
24417
|
* {@link ElementWrapper#dispose}
|
@@ -26322,8 +26378,7 @@ LayoutGrid.prototype.selectColumn = function (colIndex, selected) {
|
|
26322
26378
|
|
26323
26379
|
var boundLayer = this._boundLayer;
|
26324
26380
|
if(!boundLayer) {
|
26325
|
-
|
26326
|
-
boundLayer.className = "cover-layer";
|
26381
|
+
this._initBoundLayer();
|
26327
26382
|
this._updateLayers();
|
26328
26383
|
}
|
26329
26384
|
}
|
@@ -26495,6 +26550,92 @@ LayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx)
|
|
26495
26550
|
}
|
26496
26551
|
};
|
26497
26552
|
|
26553
|
+
/** @public
|
26554
|
+
*/
|
26555
|
+
LayoutGrid.prototype.updateColumnSeparators = function () {
|
26556
|
+
var pinnedLeftCount = this._hscrollbar.getPinnedLeftColumnCount();
|
26557
|
+
var pinnedRightCount = this._hscrollbar.getPinnedRightColumnCount();
|
26558
|
+
if ((pinnedLeftCount || pinnedRightCount) && !this._boundLayer) {
|
26559
|
+
this._initBoundLayer();
|
26560
|
+
}
|
26561
|
+
|
26562
|
+
var isScrollbarActive = false;
|
26563
|
+
if(this._hscrollbar) {
|
26564
|
+
isScrollbarActive = this._hscrollbar.isActive();
|
26565
|
+
}
|
26566
|
+
|
26567
|
+
var boundLayer = this._boundLayer;
|
26568
|
+
|
26569
|
+
var colSeparator = this._leftColumnSeparator;
|
26570
|
+
if (isScrollbarActive && pinnedLeftCount) {
|
26571
|
+
if (!colSeparator) {
|
26572
|
+
colSeparator = this._leftColumnSeparator = this._createColumnSeparator();
|
26573
|
+
}
|
26574
|
+
if (!colSeparator.parentNode) {
|
26575
|
+
if (boundLayer.children.length) {
|
26576
|
+
boundLayer.insertBefore(colSeparator, boundLayer.children[0]);
|
26577
|
+
} else {
|
26578
|
+
boundLayer.appendChild(colSeparator);
|
26579
|
+
}
|
26580
|
+
}
|
26581
|
+
|
26582
|
+
var rightPos = this._trackX.getLaneStart(pinnedLeftCount);
|
26583
|
+
colSeparator.style.left = (rightPos - 1) + "px";
|
26584
|
+
colSeparator.style.height = this._trackY.getTrackSize() + "px";
|
26585
|
+
} else {
|
26586
|
+
if (colSeparator && colSeparator.parentNode) {
|
26587
|
+
this._boundLayer.removeChild(colSeparator);
|
26588
|
+
}
|
26589
|
+
}
|
26590
|
+
|
26591
|
+
colSeparator = this._rightColumnSeparator;
|
26592
|
+
if (isScrollbarActive && pinnedRightCount) {
|
26593
|
+
if (!colSeparator) {
|
26594
|
+
colSeparator = this._rightColumnSeparator = this._createColumnSeparator();
|
26595
|
+
}
|
26596
|
+
|
26597
|
+
if (!colSeparator.parentNode) {
|
26598
|
+
if (boundLayer.children.length) {
|
26599
|
+
boundLayer.insertBefore(colSeparator, boundLayer.children[0]);
|
26600
|
+
} else {
|
26601
|
+
boundLayer.appendChild(colSeparator);
|
26602
|
+
}
|
26603
|
+
}
|
26604
|
+
var colCount = this.getColumnCount();
|
26605
|
+
var colWidth = this._trackX.getLaneEnd(colCount - 1) - this._trackX.getLaneStart(colCount - pinnedRightCount);
|
26606
|
+
var viewSize = this._getViewSize();
|
26607
|
+
|
26608
|
+
colSeparator.style.left = (viewSize - colWidth - this._rightSpaceSize) + "px";
|
26609
|
+
colSeparator.style.height = this._trackY.getTrackSize() + "px";
|
26610
|
+
} else {
|
26611
|
+
if (colSeparator && colSeparator.parentNode) {
|
26612
|
+
this._boundLayer.removeChild(colSeparator);
|
26613
|
+
}
|
26614
|
+
}
|
26615
|
+
};
|
26616
|
+
|
26617
|
+
/** @private
|
26618
|
+
* @return {Element}
|
26619
|
+
*/
|
26620
|
+
LayoutGrid.prototype._createColumnSeparator = function() {
|
26621
|
+
var colSeparator = document.createElement("div");
|
26622
|
+
colSeparator.classList.add("column-separator");
|
26623
|
+
return colSeparator;
|
26624
|
+
};
|
26625
|
+
|
26626
|
+
/** @private
|
26627
|
+
* @return {Element}
|
26628
|
+
*/
|
26629
|
+
LayoutGrid.prototype._initBoundLayer = function () {
|
26630
|
+
var boundLayer = this._boundLayer;
|
26631
|
+
if(!boundLayer) {
|
26632
|
+
boundLayer = this._boundLayer = document.createElement("div");
|
26633
|
+
boundLayer.className = "cover-layer";
|
26634
|
+
this._element.appendChild(boundLayer);
|
26635
|
+
}
|
26636
|
+
return boundLayer;
|
26637
|
+
};
|
26638
|
+
|
26498
26639
|
/**
|
26499
26640
|
* @private
|
26500
26641
|
* @param {number} indexX
|
@@ -35014,6 +35155,12 @@ VirtualizedLayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderA
|
|
35014
35155
|
this._grid.updateColumnBounds(posAry, noBorderAry, topPx);
|
35015
35156
|
this._updateRowBounds();
|
35016
35157
|
};
|
35158
|
+
/** @public
|
35159
|
+
* @ignore
|
35160
|
+
*/
|
35161
|
+
VirtualizedLayoutGrid.prototype.updateColumnSeparators = function () {
|
35162
|
+
this._grid.updateColumnSeparators();
|
35163
|
+
};
|
35017
35164
|
/** @private
|
35018
35165
|
*/
|
35019
35166
|
VirtualizedLayoutGrid.prototype._initBoundLayer = function () {
|
@@ -35318,6 +35465,7 @@ var Core = function (opt_initializer) {
|
|
35318
35465
|
_t._onVScroll = _t._onVScroll.bind(_t);
|
35319
35466
|
_t._onHScroll = _t._onHScroll.bind(_t);
|
35320
35467
|
_t._onSyncVScroll = _t._onSyncVScroll.bind(_t);
|
35468
|
+
_t._onSyncHScroll = _t._onSyncHScroll.bind(_t);
|
35321
35469
|
_t.updateLayout = _t.updateLayout.bind(_t);
|
35322
35470
|
_t._onRowRefresh = _t._onRowRefresh.bind(_t);
|
35323
35471
|
_t._onVScrollEnabled = _t._onVScrollEnabled.bind(_t);
|
@@ -35779,7 +35927,7 @@ Core.prototype._batches = null;
|
|
35779
35927
|
* @return {string}
|
35780
35928
|
*/
|
35781
35929
|
Core.getVersion = function () {
|
35782
|
-
return "5.1.
|
35930
|
+
return "5.1.51";
|
35783
35931
|
};
|
35784
35932
|
/** {@link ElementWrapper#dispose}
|
35785
35933
|
* @override
|
@@ -35821,6 +35969,12 @@ Core.prototype.dispose = function () {
|
|
35821
35969
|
mainScrolbar.unlisten("scroll", this._onSyncVScroll);
|
35822
35970
|
this._vscrollbar._mainScrollbar = null;
|
35823
35971
|
}
|
35972
|
+
mainScrolbar = this._hscrollbar._mainScrollbar;
|
35973
|
+
if(mainScrolbar) {
|
35974
|
+
mainScrolbar.unlisten("scroll", this._onSyncHScroll);
|
35975
|
+
this._hscrollbar._mainScrollbar = null;
|
35976
|
+
}
|
35977
|
+
|
35824
35978
|
this._vscrollbar.dispose();
|
35825
35979
|
this._hscrollbar.dispose();
|
35826
35980
|
this._rowHeightConflator.dispose();
|
@@ -36992,6 +37146,7 @@ Core.prototype._moveColumn = function (fromCol, destCol) {
|
|
36992
37146
|
}
|
36993
37147
|
}
|
36994
37148
|
this._updateColumnBounds();
|
37149
|
+
this._updateColumnSeparators();
|
36995
37150
|
return true;
|
36996
37151
|
};
|
36997
37152
|
|
@@ -37322,6 +37477,7 @@ Core.prototype.setDefaultRowHeight = function (val, opt_includeTitle) {
|
|
37322
37477
|
this._syncRowHeights();
|
37323
37478
|
this._rowHeightSync = true;
|
37324
37479
|
this.setRowScrollingStep(this._rowScrollingStep);
|
37480
|
+
this._updateColumnSeparators();
|
37325
37481
|
}
|
37326
37482
|
};
|
37327
37483
|
|
@@ -38156,6 +38312,7 @@ Core.prototype.freezeColumn = function (frozenColIndex, numRightColumn) {
|
|
38156
38312
|
|
38157
38313
|
this._onColumnCountChanged(); // Activate horizontal scrollbar and column virtualization
|
38158
38314
|
this._updateScrollbarWidth(true, true);
|
38315
|
+
this._updateColumnSeparators();
|
38159
38316
|
};
|
38160
38317
|
|
38161
38318
|
/** @private
|
@@ -38980,6 +39137,26 @@ Core.prototype.synchronizeVScrollbar = function (subGrid) {
|
|
38980
39137
|
this._vscrollbar.listen("scroll", subGrid._onSyncVScroll);
|
38981
39138
|
};
|
38982
39139
|
|
39140
|
+
/** Synchronize two horizontal scrollbars of two grid, by hiding its scrollbar and using the one from the given grid
|
39141
|
+
* @public
|
39142
|
+
* @param {Core} subGrid
|
39143
|
+
*/
|
39144
|
+
Core.prototype.synchronizeHScrollbar = function (subGrid) {
|
39145
|
+
subGrid.unlisten("mousemove", subGrid._onMouseMove);
|
39146
|
+
subGrid.listen("mousemove", this._onMouseMove);
|
39147
|
+
|
39148
|
+
var hscrollbar = subGrid.getHScrollbar();
|
39149
|
+
hscrollbar._mainScrollbar = this._hscrollbar; // HACK
|
39150
|
+
|
39151
|
+
hscrollbar.setStyle("visibility", "hidden");
|
39152
|
+
hscrollbar.setStyle("pointerEvents", "none");
|
39153
|
+
hscrollbar.disableMouseWheel(); // Disable sub-grid wheel behavior
|
39154
|
+
hscrollbar.attachToExternalElement(this._hscrollbar.getParent()); // MouseWheel event is still available on the main
|
39155
|
+
|
39156
|
+
// TODO: Check if we need to re-append this._hscrollbar to move it to the front over other grid elements.
|
39157
|
+
this._hscrollbar.listen("scroll", subGrid._onSyncHScroll);
|
39158
|
+
};
|
39159
|
+
|
38983
39160
|
/** Fires data binding event without actual change in the data source. <br>
|
38984
39161
|
* This will force visual elements to be re-rendered with the latest data in the data source.
|
38985
39162
|
* @public
|
@@ -39397,6 +39574,21 @@ Core.prototype._updateColumnBounds = function () {
|
|
39397
39574
|
section.updateColumnBounds(posAry, noBorderAry);
|
39398
39575
|
}
|
39399
39576
|
};
|
39577
|
+
/* @private
|
39578
|
+
*/
|
39579
|
+
Core.prototype._updateColumnSeparators = function() {
|
39580
|
+
var sectCount = this._settings.length;
|
39581
|
+
if(!sectCount) {
|
39582
|
+
return;
|
39583
|
+
}
|
39584
|
+
|
39585
|
+
for(var i = 0; i < sectCount; i++) {
|
39586
|
+
var section = this._settings[i].getSection();
|
39587
|
+
if (section) {
|
39588
|
+
section.updateColumnSeparators();
|
39589
|
+
}
|
39590
|
+
}
|
39591
|
+
};
|
39400
39592
|
|
39401
39593
|
/** @public
|
39402
39594
|
* @param {number} startColIndex INCLUSIVE
|
@@ -40466,6 +40658,8 @@ Core.prototype._onRowCountChanged = function (e) {
|
|
40466
40658
|
if(!forceUpdate) {
|
40467
40659
|
this._updateVScrollbar(); // Asynchronous
|
40468
40660
|
}
|
40661
|
+
|
40662
|
+
this._updateColumnSeparators();
|
40469
40663
|
if(prevRowCount < newRowCount) {
|
40470
40664
|
this._dispatch("rowAdded", e);
|
40471
40665
|
} else if(prevRowCount > newRowCount) {
|
@@ -40523,7 +40717,7 @@ Core.prototype._onRowHeightChanged = function (e) {
|
|
40523
40717
|
minSectionIndex >= this._startVScrollbarIndex);
|
40524
40718
|
}
|
40525
40719
|
}
|
40526
|
-
|
40720
|
+
this._updateColumnSeparators();
|
40527
40721
|
this._dispatchRowPositionChanged();
|
40528
40722
|
};
|
40529
40723
|
/** @private
|
@@ -40588,6 +40782,7 @@ Core.prototype._onColumnCountChanged = function () {
|
|
40588
40782
|
var pinnedRight = this._countPinnedRightColumns();
|
40589
40783
|
|
40590
40784
|
this._updateColumnBounds();
|
40785
|
+
this._updateColumnSeparators();
|
40591
40786
|
|
40592
40787
|
if (this._hScrollbarEnabled && pinnedLeft + pinnedRight < this.getColumnCount()) {
|
40593
40788
|
this._hscrollbar.enable();
|
@@ -40617,6 +40812,12 @@ Core.prototype._onSyncVScroll = function (e) {
|
|
40617
40812
|
this._vscrollbar.setScrollTop(e.scrollTop);
|
40618
40813
|
};
|
40619
40814
|
/** @private
|
40815
|
+
* @param {Object} e
|
40816
|
+
*/
|
40817
|
+
Core.prototype._onSyncHScroll = function (e) {
|
40818
|
+
this._hscrollbar.setScrollLeft(e.scrollLeft);
|
40819
|
+
};
|
40820
|
+
/** @private
|
40620
40821
|
* @return {number} index of footer section
|
40621
40822
|
*/
|
40622
40823
|
Core.prototype._getFooterStartIndex = function () {
|
@@ -40869,6 +41070,7 @@ Core.prototype._syncLayoutToColumns = function (from, to, opt_forceDispatching)
|
|
40869
41070
|
var paneChanged = forceUpdate || (from < this.getHScrollStartIndex()) || (to > this.getFirstPinnedRightIndex());
|
40870
41071
|
this._updateScrollbarWidth(paneChanged, true /* contentChanged */);
|
40871
41072
|
this._updateColumnBounds();
|
41073
|
+
this._updateColumnSeparators();
|
40872
41074
|
this._dispatchColumnPositionChanged();
|
40873
41075
|
|
40874
41076
|
if (dirty || opt_forceDispatching) {
|
@@ -40964,6 +41166,7 @@ Core.prototype._updateLayout = function () {
|
|
40964
41166
|
var section = this._settings[s].getSection();
|
40965
41167
|
section.updateLayout(); // Notify section about forced recalculation of the layout
|
40966
41168
|
}
|
41169
|
+
this._updateColumnSeparators();
|
40967
41170
|
};
|
40968
41171
|
|
40969
41172
|
/** @private */
|
@@ -46701,50 +46904,72 @@ Grid.prototype.freezeColumn = function(colIndex, pinnedRightColumns) {
|
|
46701
46904
|
}
|
46702
46905
|
this._grid.freezeColumn(colIndex, pinnedRightColumns);
|
46703
46906
|
};
|
46907
|
+
|
46704
46908
|
/** Pin column to the left side by moving the specified column to the rightmost of the frozen columns. <br>
|
46705
46909
|
* The method will do nothing if the specified column is already pinned to the left side
|
46706
46910
|
* @public
|
46707
46911
|
* @param {Grid~ColumnReference|Array.<Grid~ColumnReference>} colRef
|
46912
|
+
* @param {string=} side Available values are: left|right. If no value is supplied, the column will be pinned to the left.
|
46708
46913
|
* @return {boolean}
|
46709
46914
|
*/
|
46710
|
-
Grid.prototype.pinColumn = function(colRef) {
|
46915
|
+
Grid.prototype.pinColumn = function(colRef, side) {
|
46711
46916
|
if(Array.isArray(colRef)) {
|
46712
46917
|
var ary = colRef;
|
46713
46918
|
var len = ary.length;
|
46714
46919
|
|
46715
46920
|
var dirty = 0;
|
46716
46921
|
for(var i = 0; i < len; ++i) {
|
46717
|
-
dirty |= this._pinColumn(ary[i]);
|
46922
|
+
dirty |= this._pinColumn(ary[i], side);
|
46718
46923
|
}
|
46719
46924
|
return dirty ? true : false;
|
46720
46925
|
}
|
46721
|
-
return this._pinColumn(colRef);
|
46926
|
+
return this._pinColumn(colRef, side);
|
46722
46927
|
};
|
46723
46928
|
/** @private
|
46724
46929
|
* @param {Grid~ColumnReference} colRef
|
46930
|
+
* @param {string=} side Available values are: left|right. If no value is supplied, the column will be pinned to the left.
|
46725
46931
|
* @return {boolean}
|
46726
46932
|
*/
|
46727
|
-
Grid.prototype._pinColumn = function(colRef) {
|
46933
|
+
Grid.prototype._pinColumn = function(colRef, side) {
|
46728
46934
|
var colIndex = this.getColumnIndex(colRef);
|
46729
|
-
|
46935
|
+
var colCount = this.getColumnCount();
|
46936
|
+
if(colIndex < 0 || colIndex > colCount) {
|
46730
46937
|
return false;
|
46731
46938
|
}
|
46732
|
-
|
46733
|
-
|
46734
|
-
|
46735
|
-
|
46736
|
-
|
46737
|
-
|
46738
|
-
|
46739
|
-
|
46740
|
-
|
46741
|
-
|
46939
|
+
|
46940
|
+
var leftPinnedCount = this._grid.getPinnedLeftColumnCount();
|
46941
|
+
var rightPinnedCount = this._grid.getPinnedRightColumnCount();
|
46942
|
+
var stationaryIdx = this._grid.getStationaryColumnIndex();
|
46943
|
+
|
46944
|
+
if(side && side.toLowerCase() === "right") {
|
46945
|
+
var rightPinnedIndex = this._grid.getFirstPinnedRightIndex();
|
46946
|
+
if(colIndex >= rightPinnedIndex) {
|
46947
|
+
return false; // The column is already pinned area
|
46948
|
+
}
|
46949
|
+
|
46950
|
+
if(stationaryIdx >= 0 && colIndex <= stationaryIdx) {
|
46951
|
+
return false;
|
46952
|
+
}
|
46953
|
+
|
46954
|
+
this.moveColumnById(colIndex, rightPinnedIndex);
|
46955
|
+
rightPinnedCount += 1;
|
46956
|
+
leftPinnedCount -= 1;
|
46957
|
+
} else {
|
46958
|
+
if(colIndex < leftPinnedCount) {
|
46959
|
+
return false; // The column is already pinned area
|
46960
|
+
}
|
46961
|
+
if(!leftPinnedCount) {
|
46962
|
+
if(stationaryIdx >= 0) {
|
46963
|
+
leftPinnedCount = stationaryIdx;
|
46964
|
+
if(colIndex > stationaryIdx) {
|
46965
|
+
leftPinnedCount++;
|
46966
|
+
}
|
46742
46967
|
}
|
46743
46968
|
}
|
46969
|
+
this.moveColumnById(colIndex, leftPinnedCount);
|
46744
46970
|
}
|
46745
46971
|
|
46746
|
-
this.
|
46747
|
-
this._grid.freezeColumn(pinnedCount);
|
46972
|
+
this._grid.freezeColumn(leftPinnedCount, rightPinnedCount);
|
46748
46973
|
return true;
|
46749
46974
|
};
|
46750
46975
|
/** Unpin column from the left side by moving the specified column to the end of the frozen columns. <br>
|
@@ -46777,13 +47002,16 @@ Grid.prototype._unpinColumn = function(colRef, dest) {
|
|
46777
47002
|
if(colIndex < 0) {
|
46778
47003
|
return false;
|
46779
47004
|
}
|
46780
|
-
|
46781
|
-
|
47005
|
+
|
47006
|
+
var leftPinnedCount = this._grid.getPinnedLeftColumnCount();
|
47007
|
+
var rightPinnedCount = this._grid.getPinnedRightColumnCount();
|
47008
|
+
var colCount = this.getColumnCount();
|
47009
|
+
var firstRightPinnedIndex = colCount - rightPinnedCount;
|
47010
|
+
|
47011
|
+
if(colIndex >= leftPinnedCount && colIndex < firstRightPinnedIndex) {
|
46782
47012
|
return false;
|
46783
47013
|
}
|
46784
|
-
|
46785
|
-
return false; // The column is outside of frozen area
|
46786
|
-
}
|
47014
|
+
|
46787
47015
|
var srcId = null;
|
46788
47016
|
var destId = null;
|
46789
47017
|
if(dest != null) {
|
@@ -46794,11 +47022,19 @@ Grid.prototype._unpinColumn = function(colRef, dest) {
|
|
46794
47022
|
|
46795
47023
|
var stationaryIdx = this._grid.getStationaryColumnIndex();
|
46796
47024
|
|
46797
|
-
if(colIndex
|
46798
|
-
|
46799
|
-
|
47025
|
+
if(colIndex < leftPinnedCount) {
|
47026
|
+
if(colIndex > stationaryIdx) {
|
47027
|
+
this.moveColumnById(colIndex, leftPinnedCount);
|
47028
|
+
}
|
47029
|
+
|
47030
|
+
this._grid.freezeColumn(leftPinnedCount - 2, rightPinnedCount); // Column index is used for freezing
|
47031
|
+
} else if(colIndex >= firstRightPinnedIndex) {
|
47032
|
+
if(colIndex > stationaryIdx) {
|
47033
|
+
this.moveColumnById(colIndex, firstRightPinnedIndex);
|
47034
|
+
}
|
46800
47035
|
|
46801
|
-
|
47036
|
+
this._grid.freezeColumn(leftPinnedCount - 1, rightPinnedCount - 1); // Column index is used for freezing
|
47037
|
+
}
|
46802
47038
|
|
46803
47039
|
if(colIndex > stationaryIdx) {
|
46804
47040
|
if(destId != null) {
|
@@ -46813,11 +47049,12 @@ Grid.prototype._unpinColumn = function(colRef, dest) {
|
|
46813
47049
|
* @return {boolean}
|
46814
47050
|
*/
|
46815
47051
|
Grid.prototype.unpinAllColumns = function() {
|
46816
|
-
var
|
46817
|
-
|
47052
|
+
var leftPinnedCount = this._grid.getPinnedLeftColumnCount();
|
47053
|
+
var rightPinnedCount = this._grid.getPinnedRightColumnCount();
|
47054
|
+
if(!leftPinnedCount && !rightPinnedCount) {
|
46818
47055
|
return false;
|
46819
47056
|
}
|
46820
|
-
this._grid.freezeColumn(-1); // Column index is used for freezing
|
47057
|
+
this._grid.freezeColumn(-1, 0); // Column index is used for left freezing and column count is used for right freezing
|
46821
47058
|
return true;
|
46822
47059
|
};
|
46823
47060
|
|
@@ -49573,6 +49810,13 @@ MockSubscriptions.prototype._generateQuoteData = function(sub, fields) {
|
|
49573
49810
|
values[field] = data.value;
|
49574
49811
|
values[formattedField] = data.formattedValue;
|
49575
49812
|
}
|
49813
|
+
|
49814
|
+
// The delay symbol for X_RIC_NAME will depend on the INDICATOR field.
|
49815
|
+
if(values["X_RIC_NAME"] != null && values["INDICATOR"] != null) {
|
49816
|
+
if(values["INDICATOR"] > 0) {
|
49817
|
+
values["X_RIC_NAME"] = "/" + values["X_RIC_NAME"];
|
49818
|
+
}
|
49819
|
+
}
|
49576
49820
|
return values;
|
49577
49821
|
};
|
49578
49822
|
|