@refinitiv-ui/efx-grid 6.0.37 → 6.0.38
Sign up to get free protection for your applications and to get access to all the features.
- 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/rt-grid/dist/rt-grid.js +103 -36
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- 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.js +6 -6
- package/lib/tr-grid-cell-selection/es6/CellSelection.js +180 -421
- package/lib/tr-grid-column-stack/es6/ColumnStack.js +106 -5
- package/lib/types/es6/Core/grid/Core.d.ts +2 -0
- package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +2 -2
- package/lib/versions.json +2 -2
- package/package.json +1 -1
@@ -266,7 +266,7 @@ declare class Grid extends EventDispatcher {
|
|
266
266
|
|
267
267
|
public freezeColumn(colIndex?: number|null, pinnedRightColumns?: number|null): void;
|
268
268
|
|
269
|
-
public pinColumn(colRef: Grid.ColumnReference|(Grid.ColumnReference)[]|null): boolean;
|
269
|
+
public pinColumn(colRef: Grid.ColumnReference|(Grid.ColumnReference)[]|null, side?: string|null): boolean;
|
270
270
|
|
271
271
|
public unpinColumn(colRef: Grid.ColumnReference|(Grid.ColumnReference)[]|null, dest?: Grid.ColumnReference|null): boolean;
|
272
272
|
|
package/lib/rt-grid/es6/Grid.js
CHANGED
@@ -3101,50 +3101,72 @@ Grid.prototype.freezeColumn = function(colIndex, pinnedRightColumns) {
|
|
3101
3101
|
}
|
3102
3102
|
this._grid.freezeColumn(colIndex, pinnedRightColumns);
|
3103
3103
|
};
|
3104
|
+
|
3104
3105
|
/** Pin column to the left side by moving the specified column to the rightmost of the frozen columns. <br>
|
3105
3106
|
* The method will do nothing if the specified column is already pinned to the left side
|
3106
3107
|
* @public
|
3107
3108
|
* @param {Grid~ColumnReference|Array.<Grid~ColumnReference>} colRef
|
3109
|
+
* @param {string=} side Available values are: left|right. If no value is supplied, the column will be pinned to the left.
|
3108
3110
|
* @return {boolean}
|
3109
3111
|
*/
|
3110
|
-
Grid.prototype.pinColumn = function(colRef) {
|
3112
|
+
Grid.prototype.pinColumn = function(colRef, side) {
|
3111
3113
|
if(Array.isArray(colRef)) {
|
3112
3114
|
var ary = colRef;
|
3113
3115
|
var len = ary.length;
|
3114
3116
|
|
3115
3117
|
var dirty = 0;
|
3116
3118
|
for(var i = 0; i < len; ++i) {
|
3117
|
-
dirty |= this._pinColumn(ary[i]);
|
3119
|
+
dirty |= this._pinColumn(ary[i], side);
|
3118
3120
|
}
|
3119
3121
|
return dirty ? true : false;
|
3120
3122
|
}
|
3121
|
-
return this._pinColumn(colRef);
|
3123
|
+
return this._pinColumn(colRef, side);
|
3122
3124
|
};
|
3123
3125
|
/** @private
|
3124
3126
|
* @param {Grid~ColumnReference} colRef
|
3127
|
+
* @param {string=} side Available values are: left|right. If no value is supplied, the column will be pinned to the left.
|
3125
3128
|
* @return {boolean}
|
3126
3129
|
*/
|
3127
|
-
Grid.prototype._pinColumn = function(colRef) {
|
3130
|
+
Grid.prototype._pinColumn = function(colRef, side) {
|
3128
3131
|
var colIndex = this.getColumnIndex(colRef);
|
3129
|
-
|
3132
|
+
var colCount = this.getColumnCount();
|
3133
|
+
if(colIndex < 0 || colIndex > colCount) {
|
3130
3134
|
return false;
|
3131
3135
|
}
|
3132
|
-
|
3133
|
-
|
3134
|
-
|
3135
|
-
|
3136
|
-
|
3137
|
-
|
3138
|
-
|
3139
|
-
|
3140
|
-
|
3141
|
-
|
3136
|
+
|
3137
|
+
var leftPinnedCount = this._grid.getPinnedLeftColumnCount();
|
3138
|
+
var rightPinnedCount = this._grid.getPinnedRightColumnCount();
|
3139
|
+
var stationaryIdx = this._grid.getStationaryColumnIndex();
|
3140
|
+
|
3141
|
+
if(side && side.toLowerCase() === "right") {
|
3142
|
+
var rightPinnedIndex = this._grid.getFirstPinnedRightIndex();
|
3143
|
+
if(colIndex >= rightPinnedIndex) {
|
3144
|
+
return false; // The column is already pinned area
|
3145
|
+
}
|
3146
|
+
|
3147
|
+
if(stationaryIdx >= 0 && colIndex <= stationaryIdx) {
|
3148
|
+
return false;
|
3149
|
+
}
|
3150
|
+
|
3151
|
+
this.moveColumnById(colIndex, rightPinnedIndex);
|
3152
|
+
rightPinnedCount += 1;
|
3153
|
+
leftPinnedCount -= 1;
|
3154
|
+
} else {
|
3155
|
+
if(colIndex < leftPinnedCount) {
|
3156
|
+
return false; // The column is already pinned area
|
3157
|
+
}
|
3158
|
+
if(!leftPinnedCount) {
|
3159
|
+
if(stationaryIdx >= 0) {
|
3160
|
+
leftPinnedCount = stationaryIdx;
|
3161
|
+
if(colIndex > stationaryIdx) {
|
3162
|
+
leftPinnedCount++;
|
3163
|
+
}
|
3142
3164
|
}
|
3143
3165
|
}
|
3166
|
+
this.moveColumnById(colIndex, leftPinnedCount);
|
3144
3167
|
}
|
3145
3168
|
|
3146
|
-
this.
|
3147
|
-
this._grid.freezeColumn(pinnedCount);
|
3169
|
+
this._grid.freezeColumn(leftPinnedCount, rightPinnedCount);
|
3148
3170
|
return true;
|
3149
3171
|
};
|
3150
3172
|
/** Unpin column from the left side by moving the specified column to the end of the frozen columns. <br>
|
@@ -3177,13 +3199,16 @@ Grid.prototype._unpinColumn = function(colRef, dest) {
|
|
3177
3199
|
if(colIndex < 0) {
|
3178
3200
|
return false;
|
3179
3201
|
}
|
3180
|
-
|
3181
|
-
|
3202
|
+
|
3203
|
+
var leftPinnedCount = this._grid.getPinnedLeftColumnCount();
|
3204
|
+
var rightPinnedCount = this._grid.getPinnedRightColumnCount();
|
3205
|
+
var colCount = this.getColumnCount();
|
3206
|
+
var firstRightPinnedIndex = colCount - rightPinnedCount;
|
3207
|
+
|
3208
|
+
if(colIndex >= leftPinnedCount && colIndex < firstRightPinnedIndex) {
|
3182
3209
|
return false;
|
3183
3210
|
}
|
3184
|
-
|
3185
|
-
return false; // The column is outside of frozen area
|
3186
|
-
}
|
3211
|
+
|
3187
3212
|
var srcId = null;
|
3188
3213
|
var destId = null;
|
3189
3214
|
if(dest != null) {
|
@@ -3194,11 +3219,19 @@ Grid.prototype._unpinColumn = function(colRef, dest) {
|
|
3194
3219
|
|
3195
3220
|
var stationaryIdx = this._grid.getStationaryColumnIndex();
|
3196
3221
|
|
3197
|
-
if(colIndex
|
3198
|
-
|
3199
|
-
|
3222
|
+
if(colIndex < leftPinnedCount) {
|
3223
|
+
if(colIndex > stationaryIdx) {
|
3224
|
+
this.moveColumnById(colIndex, leftPinnedCount);
|
3225
|
+
}
|
3200
3226
|
|
3201
|
-
|
3227
|
+
this._grid.freezeColumn(leftPinnedCount - 2, rightPinnedCount); // Column index is used for freezing
|
3228
|
+
} else if(colIndex >= firstRightPinnedIndex) {
|
3229
|
+
if(colIndex > stationaryIdx) {
|
3230
|
+
this.moveColumnById(colIndex, firstRightPinnedIndex);
|
3231
|
+
}
|
3232
|
+
|
3233
|
+
this._grid.freezeColumn(leftPinnedCount - 1, rightPinnedCount - 1); // Column index is used for freezing
|
3234
|
+
}
|
3202
3235
|
|
3203
3236
|
if(colIndex > stationaryIdx) {
|
3204
3237
|
if(destId != null) {
|
@@ -3213,11 +3246,12 @@ Grid.prototype._unpinColumn = function(colRef, dest) {
|
|
3213
3246
|
* @return {boolean}
|
3214
3247
|
*/
|
3215
3248
|
Grid.prototype.unpinAllColumns = function() {
|
3216
|
-
var
|
3217
|
-
|
3249
|
+
var leftPinnedCount = this._grid.getPinnedLeftColumnCount();
|
3250
|
+
var rightPinnedCount = this._grid.getPinnedRightColumnCount();
|
3251
|
+
if(!leftPinnedCount && !rightPinnedCount) {
|
3218
3252
|
return false;
|
3219
3253
|
}
|
3220
|
-
this._grid.freezeColumn(-1); // Column index is used for freezing
|
3254
|
+
this._grid.freezeColumn(-1, 0); // Column index is used for left freezing and column count is used for right freezing
|
3221
3255
|
return true;
|
3222
3256
|
};
|
3223
3257
|
|
@@ -94,7 +94,7 @@ RowDefinition.prototype._permId = "";
|
|
94
94
|
/** @type {string|null}
|
95
95
|
* @private
|
96
96
|
*/
|
97
|
-
RowDefinition.prototype._label = null; // Label overrides _ric and
|
97
|
+
RowDefinition.prototype._label = null; // Label overrides _ric and _permId
|
98
98
|
/** @type {boolean|null}
|
99
99
|
* @private
|
100
100
|
*/
|
@@ -261,15 +261,15 @@ RowDefinition.prototype.initialize = function(rowOptions) {
|
|
261
261
|
|
262
262
|
var expanded = this._expanded;
|
263
263
|
var symbol = this._ric || this._chainRic;
|
264
|
-
var asChain =
|
264
|
+
var asChain = this._isChain || !!this._chainRic;
|
265
265
|
if(this._ric && this._ric.indexOf("0#") >= 0){
|
266
266
|
asChain = true;
|
267
267
|
expanded = true;
|
268
268
|
}
|
269
|
-
if(
|
269
|
+
if(this._isChain === false){
|
270
270
|
asChain = false;
|
271
271
|
}
|
272
|
-
if(
|
272
|
+
if(this._expanded === false){
|
273
273
|
expanded = false;
|
274
274
|
}
|
275
275
|
if(symbol || this._permId){
|
@@ -284,7 +284,7 @@ RowDefinition.prototype._initializeAsConstituent = function(rowOptions) {
|
|
284
284
|
var parentDef = /** @type{RowDefinition} */(rowOptions["parent"]);
|
285
285
|
if(this.setParent(parentDef)) {
|
286
286
|
this._dataId = /** @type{string} */(rowOptions["dataId"]); // Constituent will have the same subId as its parent but with different ric
|
287
|
-
|
287
|
+
this._ric = /** @type{string} */(rowOptions["ric"]);
|
288
288
|
this._dc = parentDef._dc; // Parent chain must have data cache
|
289
289
|
if(this._dc) {
|
290
290
|
var rowData = this.getRowData(); // Do not trigger any data update
|
@@ -339,7 +339,7 @@ RowDefinition.prototype.setContent = function(userInput, permId, asChain, expand
|
|
339
339
|
if(asChain === false){
|
340
340
|
this._ric = this._userInput;
|
341
341
|
} else {
|
342
|
-
this._ric = expanded ? this._userInput.replace("0#", "")
|
342
|
+
this._ric = expanded === false ? this._userInput : this._userInput.replace("0#", "");
|
343
343
|
this._expanded = expanded;
|
344
344
|
this._isChain = true; // Only chain can be expanded by 0#
|
345
345
|
this._chainRic = this._userInput;
|