@refinitiv-ui/efx-grid 6.0.116 → 6.0.117
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 +214 -42
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.js +9 -2
- package/lib/grid/index.js +1 -1
- package/lib/row-segmenting/es6/RowSegmenting.js +72 -29
- package/lib/rt-grid/dist/rt-grid.js +324 -141
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/ColumnDefinition.js +5 -2
- package/lib/rt-grid/es6/DataConnector.d.ts +2 -0
- package/lib/rt-grid/es6/DataConnector.js +8 -0
- package/lib/rt-grid/es6/Grid.d.ts +4 -0
- package/lib/rt-grid/es6/Grid.js +39 -1
- package/lib/rt-grid/es6/ReferenceCounter.d.ts +2 -0
- package/lib/rt-grid/es6/ReferenceCounter.js +10 -0
- package/lib/rt-grid/es6/RowDefinition.js +28 -34
- package/lib/tr-grid-contextmenu/es6/MenuEventAPI.d.ts +1 -1
- package/lib/tr-grid-contextmenu/es6/MenuEventAPI.js +13 -8
- package/lib/tr-grid-contextmenu/es6/MenuItem.js +49 -9
- package/lib/tr-grid-contextmenu/es6/PopupMenu.js +24 -21
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +3 -0
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +115 -28
- package/lib/types/es6/InCellEditing.d.ts +3 -0
- package/lib/types/es6/RealtimeGrid/DataConnector.d.ts +2 -0
- package/lib/types/es6/RealtimeGrid/Grid.d.ts +4 -0
- package/lib/types/es6/RealtimeGrid/ReferenceCounter.d.ts +2 -0
- package/lib/versions.json +3 -3
- package/package.json +1 -1
package/lib/core/dist/core.js
CHANGED
@@ -10817,7 +10817,209 @@ LayoutGrid._proto = LayoutGrid.prototype;
|
|
10817
10817
|
/* harmony default export */ const grid_LayoutGrid = (LayoutGrid);
|
10818
10818
|
|
10819
10819
|
|
10820
|
+
;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/Color.js
|
10821
|
+
/** @namespace */
|
10822
|
+
let Color = {};
|
10823
|
+
|
10824
|
+
/** @private
|
10825
|
+
* @constant
|
10826
|
+
* @type {RegExp}
|
10827
|
+
*/
|
10828
|
+
const NumRegExp = /\d+/g;
|
10829
|
+
|
10830
|
+
/** Convert CSS rgb or rgba formats to CSS hex color string (with # prefix)
|
10831
|
+
* @public
|
10832
|
+
* @param {string} rgbCode RGB values without # prefix
|
10833
|
+
* @return {string} RGB in hex code (with # prefix)
|
10834
|
+
* @example
|
10835
|
+
* rgb2Hex("rgb(255, 255, 0)"); // "#FFFF00"
|
10836
|
+
* rgb2Hex("rgba(255, 255, 0, 1)"); // "#FFFF00"
|
10837
|
+
* rgb2Hex("255 255.0"); // "#FFFF00"
|
10838
|
+
* rgb2Hex("#FFFF00"); // "#FFFF00"
|
10839
|
+
* rgb2Hex("#1a1a1a"); // "#1a1a1a"
|
10840
|
+
* rgb2Hex("2552550"); // "2552550"
|
10841
|
+
* rgb2Hex("invalid"); // "invalid"
|
10842
|
+
* rgb2Hex(null); // ""
|
10843
|
+
*/
|
10844
|
+
let rgb2Hex = function (rgbCode) {
|
10845
|
+
if(!rgbCode || typeof rgbCode !== "string") {
|
10846
|
+
return "";
|
10847
|
+
}
|
10848
|
+
if(rgbCode.charAt(0) === "#") {
|
10849
|
+
return rgbCode;
|
10850
|
+
}
|
10851
|
+
let rgb = rgbCode.match(NumRegExp);
|
10852
|
+
if(!rgb || rgb.length < 3) {
|
10853
|
+
return rgbCode;
|
10854
|
+
}
|
10855
|
+
|
10856
|
+
let hex = "#";
|
10857
|
+
for(let i = 0; i < 3; i++) {
|
10858
|
+
let num = +rgb[i];
|
10859
|
+
if(!(num >= 16)) { // Handle NaN case
|
10860
|
+
hex += "0";
|
10861
|
+
}
|
10862
|
+
hex += (num) ? num.toString(16).toUpperCase() : "0";
|
10863
|
+
}
|
10864
|
+
return hex;
|
10865
|
+
};
|
10866
|
+
|
10867
|
+
/** @public
|
10868
|
+
* @function
|
10869
|
+
* @param {Array.<number>} triplet
|
10870
|
+
* @return {string} resultColor
|
10871
|
+
*/
|
10872
|
+
let num2Hex = function (triplet) {
|
10873
|
+
let rgb = triplet[2] | (triplet[1] << 8) | (triplet[0] << 16);
|
10874
|
+
return ("#" + (0x1000000 + rgb).toString(16).slice(1));
|
10875
|
+
};
|
10876
|
+
/** Note that Chrome, IE, and Firefox store color in rgb representation.
|
10877
|
+
* @public
|
10878
|
+
* @function
|
10879
|
+
* @param {Array.<number>} triplet
|
10880
|
+
* @return {string} Color string in RGB represetation (e.g. rgb(100, 44, 1))
|
10881
|
+
*/
|
10882
|
+
let num2Rgb = function (triplet) {
|
10883
|
+
return "rgb(" + triplet[0] + ", " + triplet[1] + ", " + triplet[2] + ")";
|
10884
|
+
};
|
10885
|
+
/** @public
|
10886
|
+
* @function
|
10887
|
+
* @param {string} hex
|
10888
|
+
* @return {Array.<number>} Array of size 3 which contains [red, green, blue]
|
10889
|
+
*/
|
10890
|
+
let hex2Num = function (hex) {
|
10891
|
+
let hexInt = parseInt(hex.replace(/[^0-9A-F]/gi, ""), 16);
|
10892
|
+
let r = (hexInt >> 16) & 255;
|
10893
|
+
let g = (hexInt >> 8) & 255;
|
10894
|
+
let b = hexInt & 255;
|
10895
|
+
return [r, g, b];
|
10896
|
+
};
|
10897
|
+
/** @public
|
10898
|
+
* @function
|
10899
|
+
* @param {string} hex Color string with leading # character (e.g. #FFAA00)
|
10900
|
+
* @return {string} Color string in RGB represetation (e.g. rgb(100, 44, 1))
|
10901
|
+
*/
|
10902
|
+
let hex2Rgb = function (hex) {
|
10903
|
+
if(hex) {
|
10904
|
+
let hexInt = parseInt(hex.replace(/[^0-9A-F]/gi, ""), 16);
|
10905
|
+
let r = (hexInt >> 16) & 255;
|
10906
|
+
let g = (hexInt >> 8) & 255;
|
10907
|
+
let b = hexInt & 255;
|
10908
|
+
return "rgb(" + r + ", " + g + ", " + b + ")";
|
10909
|
+
}
|
10910
|
+
return "";
|
10911
|
+
};
|
10912
|
+
|
10913
|
+
/** @public
|
10914
|
+
* @function
|
10915
|
+
* @param {number} color A color component (e.g., R, G, or B) with value between 0 and 255 (inclusive)
|
10916
|
+
* @return {number} Normalized luminance value between 0 and 1
|
10917
|
+
*/
|
10918
|
+
let getColorLuminance = function (color) {
|
10919
|
+
if(!color || color < 0) {
|
10920
|
+
return 0;
|
10921
|
+
}
|
10922
|
+
if(color >= 255) {
|
10923
|
+
return 1;
|
10924
|
+
}
|
10925
|
+
let normalizedColor = color / 255;
|
10926
|
+
if(normalizedColor <= 0.03928) {
|
10927
|
+
return normalizedColor / 12.92;
|
10928
|
+
}
|
10929
|
+
return Math.pow((normalizedColor + 0.055) / 1.055, 2.4);
|
10930
|
+
};
|
10931
|
+
/** The relative brightness of any point in a colorspace, normalized to 0 for darkest black and 1 for lightest white (https://www.w3.org/TR/WCAG20/#relativeluminancedef)
|
10932
|
+
* @public
|
10933
|
+
* @function
|
10934
|
+
* @param {Array.<number>} triplet
|
10935
|
+
* @return {number} Normalized value between 0 and 1
|
10936
|
+
*/
|
10937
|
+
let getRelativeLuminance = function (triplet) {
|
10938
|
+
let R = getColorLuminance(triplet[0]);
|
10939
|
+
let G = getColorLuminance(triplet[1]);
|
10940
|
+
let B = getColorLuminance(triplet[2]);
|
10941
|
+
|
10942
|
+
return 0.2126 * R + 0.7152 * G + 0.0722 * B;
|
10943
|
+
};
|
10944
|
+
/** @public
|
10945
|
+
* @function
|
10946
|
+
* @param {number} lumin1
|
10947
|
+
* @param {number} lumin2
|
10948
|
+
* @return {number} Contrast ratios can range from 1 to 21 (commonly written 1:1 to 21:1).
|
10949
|
+
*/
|
10950
|
+
let getContrastRatio = function (lumin1, lumin2) {
|
10951
|
+
if(lumin1 === lumin2) {
|
10952
|
+
return 1;
|
10953
|
+
}
|
10954
|
+
let darker = lumin1;
|
10955
|
+
let lighter = lumin2;
|
10956
|
+
|
10957
|
+
if(lumin1 > lumin2) {
|
10958
|
+
lighter = lumin1;
|
10959
|
+
darker = lumin2;
|
10960
|
+
}
|
10961
|
+
return (lighter + 0.05) / (darker + 0.05);
|
10962
|
+
};
|
10963
|
+
/** @public
|
10964
|
+
* @function
|
10965
|
+
* @param {Array.<number>} triplet
|
10966
|
+
* @return {string} white or black color in hex code
|
10967
|
+
*/
|
10968
|
+
let getContrastColor = function (triplet) {
|
10969
|
+
let luminance = getRelativeLuminance(triplet);
|
10970
|
+
let contrastW = getContrastRatio(1, luminance);
|
10971
|
+
let contrastB = getContrastRatio(0, luminance);
|
10972
|
+
|
10973
|
+
if (contrastB >= contrastW) { // Brighter color has more impact to human eye than the darker color
|
10974
|
+
return "#000000";
|
10975
|
+
}
|
10976
|
+
return "#ffffff";
|
10977
|
+
};
|
10978
|
+
|
10979
|
+
/** Blend two colors into single color with the specified ratio
|
10980
|
+
* @public
|
10981
|
+
* @function
|
10982
|
+
* @param {string} baseColor
|
10983
|
+
* @param {string} maxColor
|
10984
|
+
* @param {number} ratio [0, 1]
|
10985
|
+
* @return {Array.<number>} resultColor
|
10986
|
+
*/
|
10987
|
+
let blendColor = function (baseColor, maxColor, ratio) { // This can be optimized further
|
10988
|
+
if (ratio > 1) {
|
10989
|
+
ratio = 1;
|
10990
|
+
} else if(ratio < 0) {
|
10991
|
+
ratio = 0;
|
10992
|
+
}
|
10993
|
+
|
10994
|
+
let baseColorTriplet = hex2Num(baseColor);
|
10995
|
+
let maxColorTriplet = hex2Num(maxColor);
|
10996
|
+
let blendResult = [];
|
10997
|
+
for (let i = 0; i < 3; ++i) {
|
10998
|
+
let gap = (maxColorTriplet[i] - baseColorTriplet[i]) * ratio;
|
10999
|
+
blendResult.push(baseColorTriplet[i] + gap);
|
11000
|
+
}
|
11001
|
+
|
11002
|
+
return blendResult;
|
11003
|
+
};
|
11004
|
+
|
11005
|
+
|
11006
|
+
Color.rgb2Hex = rgb2Hex;
|
11007
|
+
Color.num2Hex = num2Hex;
|
11008
|
+
Color.num2Rgb = num2Rgb;
|
11009
|
+
Color.hex2Num = hex2Num;
|
11010
|
+
Color.hex2Rgb = hex2Rgb;
|
11011
|
+
Color.getColorLuminance = getColorLuminance;
|
11012
|
+
Color.getRelativeLuminance = getRelativeLuminance;
|
11013
|
+
Color.getContrastRatio = getContrastRatio;
|
11014
|
+
Color.getContrastColor = getContrastColor;
|
11015
|
+
Color.blendColor = blendColor;
|
11016
|
+
|
11017
|
+
/* harmony default export */ const es6_Color = ((/* unused pure expression or super */ null && (Color)));
|
11018
|
+
|
11019
|
+
|
10820
11020
|
;// CONCATENATED MODULE: ./node_modules/tr-grid-util/es6/Util.js
|
11021
|
+
|
11022
|
+
|
10821
11023
|
/** @namespace */
|
10822
11024
|
let Util_Util = {};
|
10823
11025
|
|
@@ -11273,43 +11475,6 @@ let nestedObjectToArray = function (obj, ary) {
|
|
11273
11475
|
return ary;
|
11274
11476
|
};
|
11275
11477
|
|
11276
|
-
/** Convert CSS rgb or rgba formats to CSS hex color string (# prefix)
|
11277
|
-
* @public
|
11278
|
-
* @param {string} rgbCode
|
11279
|
-
* @return {string}
|
11280
|
-
* @example
|
11281
|
-
* rgb2Hex("rgb(255, 255, 0)"); // "#FFFF00"
|
11282
|
-
* rgb2Hex("rgba(255, 255, 0, 1)"); // "#FFFF00"
|
11283
|
-
* rgb2Hex("255 255.0"); // "#FFFF00"
|
11284
|
-
* rgb2Hex("#FFFF00"); // "#FFFF00"
|
11285
|
-
* rgb2Hex("#1a1a1a"); // "#1a1a1a"
|
11286
|
-
* rgb2Hex("2552550"); // "2552550"
|
11287
|
-
* rgb2Hex("invalid"); // "invalid"
|
11288
|
-
* rgb2Hex(null); // ""
|
11289
|
-
*/
|
11290
|
-
let rgb2Hex = function (rgbCode) {
|
11291
|
-
if(!rgbCode || typeof rgbCode !== "string") {
|
11292
|
-
return "";
|
11293
|
-
}
|
11294
|
-
if(rgbCode.charAt(0) === "#") {
|
11295
|
-
return rgbCode;
|
11296
|
-
}
|
11297
|
-
let rgb = rgbCode.match(/\d+/g);
|
11298
|
-
if(!rgb || rgb.length < 3) {
|
11299
|
-
return rgbCode;
|
11300
|
-
}
|
11301
|
-
|
11302
|
-
let hex = "#";
|
11303
|
-
for(let i = 0; i < 3; i++) {
|
11304
|
-
let num = +rgb[i];
|
11305
|
-
if(!(num >= 16)) { // Handle NaN case
|
11306
|
-
hex += "0";
|
11307
|
-
}
|
11308
|
-
hex += (num) ? num.toString(16).toUpperCase() : "0";
|
11309
|
-
}
|
11310
|
-
return hex;
|
11311
|
-
};
|
11312
|
-
|
11313
11478
|
/** transform data to tab seperated value
|
11314
11479
|
* @public
|
11315
11480
|
* @param {*} data
|
@@ -11747,9 +11912,9 @@ GroupDefinitions.prototype.setGroup = function (groupId, groupDef) {
|
|
11747
11912
|
if(curDef) { // Replace
|
11748
11913
|
this.removeAllChildren(groupId);
|
11749
11914
|
}
|
11750
|
-
let
|
11751
|
-
if(
|
11752
|
-
newDef.parentId =
|
11915
|
+
let parentId = this._childToParent[groupId];
|
11916
|
+
if(parentId) {
|
11917
|
+
newDef.parentId = parentId;
|
11753
11918
|
}
|
11754
11919
|
this._groupMap[groupId] = newDef;
|
11755
11920
|
|
@@ -25712,7 +25877,7 @@ Core_Core.prototype._hasPendingRowChange = false;
|
|
25712
25877
|
* @return {string}
|
25713
25878
|
*/
|
25714
25879
|
Core_Core.getVersion = function () {
|
25715
|
-
return "5.1.
|
25880
|
+
return "5.1.117";
|
25716
25881
|
};
|
25717
25882
|
/** {@link ElementWrapper#dispose}
|
25718
25883
|
* @override
|
@@ -30519,13 +30684,20 @@ Core_Core.prototype.getColumnIndex = function (colRef) {
|
|
30519
30684
|
return colRef;
|
30520
30685
|
} else if(colRef) {
|
30521
30686
|
let str = colRef;
|
30687
|
+
let indexByField = -1;
|
30522
30688
|
let colCount = this.getColumnCount();
|
30523
30689
|
for(let c = 0; c < colCount; ++c) {
|
30524
30690
|
let colDef = this._getColumnDef(c);
|
30525
|
-
if(str === colDef["id"]
|
30691
|
+
if(str === colDef["id"]){
|
30526
30692
|
return c;
|
30527
30693
|
}
|
30694
|
+
if(str === colDef["field"]) { // In case colId and field are the same, use colId first and field as a fallback
|
30695
|
+
if(indexByField < 0) {
|
30696
|
+
indexByField = c;
|
30697
|
+
}
|
30698
|
+
}
|
30528
30699
|
}
|
30700
|
+
return indexByField;
|
30529
30701
|
}
|
30530
30702
|
return -1;
|
30531
30703
|
};
|