@refinitiv-ui/efx-grid 6.0.116 → 6.0.118
Sign up to get free protection for your applications and to get access to all the features.
- 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/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/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/row-segmenting/es6/RowSegmenting.js +74 -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-auto-tooltip/es6/AutoTooltip.d.ts +1 -0
- package/lib/tr-grid-auto-tooltip/es6/AutoTooltip.js +200 -26
- package/lib/tr-grid-contextmenu/es6/ContextMenu.js +11 -0
- 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.d.ts +3 -1
- package/lib/tr-grid-contextmenu/es6/MenuItem.js +75 -35
- package/lib/tr-grid-contextmenu/es6/PopupMenu.d.ts +5 -1
- package/lib/tr-grid-contextmenu/es6/PopupMenu.js +70 -59
- 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/tr-grid-util/es6/GroupDefinitions.js +1 -1
- package/lib/types/es6/InCellEditing.d.ts +3 -0
- package/lib/types/es6/MenuEventAPI.d.ts +1 -1
- package/lib/types/es6/MenuItem.d.ts +3 -1
- package/lib/types/es6/PopupMenu.d.ts +5 -1
- 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 +5 -5
- package/package.json +2 -2
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
|
};
|