@refinitiv-ui/efx-grid 6.0.28 → 6.0.29
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/core/dist/core.js +3 -2
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.js +2 -2
- package/lib/core/es6/grid/LayoutGrid.js +1 -0
- package/lib/grid/index.js +1 -1
- package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +6 -0
- package/lib/tr-grid-column-stack/es6/ColumnStack.js +66 -1
- package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.d.ts +30 -23
- package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +78 -3
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +24 -10
- package/lib/tr-grid-util/es6/CellPainter.d.ts +2 -1
- package/lib/tr-grid-util/es6/CellPainter.js +53 -15
- package/lib/types/es6/ColumnStack.d.ts +6 -0
- package/lib/utils/index.d.ts +3 -0
- package/lib/utils/index.js +3 -0
- package/lib/versions.json +4 -4
- package/package.json +6 -2
@@ -536,7 +536,7 @@ Core.prototype._groupDefs = null;
|
|
536
536
|
* @return {string}
|
537
537
|
*/
|
538
538
|
Core.getVersion = function () {
|
539
|
-
return "5.1.
|
539
|
+
return "5.1.39";
|
540
540
|
};
|
541
541
|
/** {@link ElementWrapper#dispose}
|
542
542
|
* @override
|
@@ -4979,7 +4979,7 @@ Core.prototype.getColumnField = function (colIndex) {
|
|
4979
4979
|
return "";
|
4980
4980
|
};
|
4981
4981
|
/** @public
|
4982
|
-
* @return {!Array.<string>} Return all column
|
4982
|
+
* @return {!Array.<string>} Return all column fields from existing columns
|
4983
4983
|
*/
|
4984
4984
|
Core.prototype.getColumnFields = function () {
|
4985
4985
|
var colCount = this.getColumnCount();
|
@@ -1867,6 +1867,7 @@ LayoutGrid.prototype.setRowOffset = function (index) {
|
|
1867
1867
|
LayoutGrid.prototype.updateLayout = function () {
|
1868
1868
|
this._calculateViewSize(true); // Column bounds will be updated by trigger from Core
|
1869
1869
|
|
1870
|
+
this._stretchedCells.updateCells();
|
1870
1871
|
this._updateRightSpaceStyle();
|
1871
1872
|
};
|
1872
1873
|
|
package/lib/grid/index.js
CHANGED
@@ -129,6 +129,12 @@ declare class ColumnStackPlugin extends GridPlugin {
|
|
129
129
|
|
130
130
|
public moveColumnById(srcCol: number|string|null, destCol?: (number|string)|null): boolean;
|
131
131
|
|
132
|
+
public hideStack(stackId: string): void;
|
133
|
+
|
134
|
+
public showStack(stackId: string): void;
|
135
|
+
|
136
|
+
public isStackHidden(stackId: string): boolean|null|null;
|
137
|
+
|
132
138
|
}
|
133
139
|
|
134
140
|
export default ColumnStackPlugin;
|
@@ -336,6 +336,7 @@ ColumnStackPlugin.prototype.config = function (options) {
|
|
336
336
|
*/
|
337
337
|
ColumnStackPlugin.prototype.getConfigObject = function (gridOptions) {
|
338
338
|
var obj = gridOptions || {};
|
339
|
+
var host = this._host || this._hosts[0];
|
339
340
|
|
340
341
|
var columnOptions = obj["columns"];
|
341
342
|
|
@@ -351,7 +352,7 @@ ColumnStackPlugin.prototype.getConfigObject = function (gridOptions) {
|
|
351
352
|
for(var i = 0; i < memberIndices.length; i++){
|
352
353
|
var colIndex = memberIndices[i];
|
353
354
|
var colOption = columnOptions[colIndex];
|
354
|
-
if(colOption){
|
355
|
+
if(colOption && host.isColumnVisible(colIndex)){
|
355
356
|
colOption.hidden = colIndex !== activeColIndex;
|
356
357
|
}
|
357
358
|
}
|
@@ -1871,6 +1872,70 @@ ColumnStackPlugin.prototype.moveColumnById = function(srcCol, destCol) {
|
|
1871
1872
|
return dirty;
|
1872
1873
|
};
|
1873
1874
|
|
1875
|
+
/** @private
|
1876
|
+
* @description Set stack visibility to the specific stack
|
1877
|
+
* @param {string} stackId
|
1878
|
+
* @param {boolean} visible
|
1879
|
+
*/
|
1880
|
+
ColumnStackPlugin.prototype._setStackVisibility = function(stackId, visible) {
|
1881
|
+
var stackOption = this._stacks[stackId];
|
1882
|
+
if(!stackOption){
|
1883
|
+
return;
|
1884
|
+
}
|
1885
|
+
|
1886
|
+
if(stackOption["spreading"] && !stackOption["collapsed"]){
|
1887
|
+
var stackRefs = stackOption["stackRefs"];
|
1888
|
+
for(var i = 0; i < stackRefs.length; i++){
|
1889
|
+
var colIndex = this._getColumnIndex(stackRefs[i]);
|
1890
|
+
this._setColumnVisibility(colIndex, visible);
|
1891
|
+
}
|
1892
|
+
} else {
|
1893
|
+
var activeColIndex = this._getColumnIndex(stackOption.activeColumn);
|
1894
|
+
this._setColumnVisibility(activeColIndex, visible);
|
1895
|
+
}
|
1896
|
+
};
|
1897
|
+
|
1898
|
+
/** @public
|
1899
|
+
* @description Hide specific stack from grid
|
1900
|
+
* @param {string} stackId
|
1901
|
+
*/
|
1902
|
+
ColumnStackPlugin.prototype.hideStack = function(stackId) {
|
1903
|
+
if(!stackId){
|
1904
|
+
return;
|
1905
|
+
}
|
1906
|
+
this._setStackVisibility(stackId, false);
|
1907
|
+
};
|
1908
|
+
|
1909
|
+
/** @public
|
1910
|
+
* @description Show specific stack from grid
|
1911
|
+
* @param {string} stackId
|
1912
|
+
*/
|
1913
|
+
ColumnStackPlugin.prototype.showStack = function(stackId) {
|
1914
|
+
if(!stackId){
|
1915
|
+
return;
|
1916
|
+
}
|
1917
|
+
this._setStackVisibility(stackId, true);
|
1918
|
+
};
|
1919
|
+
|
1920
|
+
/** @public
|
1921
|
+
* @description Get hidden status of specific stack
|
1922
|
+
* @param {string} stackId
|
1923
|
+
* @return {boolean|null}
|
1924
|
+
*/
|
1925
|
+
ColumnStackPlugin.prototype.isStackHidden = function(stackId) {
|
1926
|
+
var stackOption = this._stacks[stackId];
|
1927
|
+
var host = this._host || this._hosts[0];
|
1928
|
+
|
1929
|
+
if(!stackOption || !host){
|
1930
|
+
return null;
|
1931
|
+
}
|
1932
|
+
|
1933
|
+
var activeColIndex = this._getColumnIndex(stackOption.activeColumn);
|
1934
|
+
var isVisible = host.isColumnVisible(activeColIndex);
|
1935
|
+
|
1936
|
+
return !isVisible;
|
1937
|
+
};
|
1938
|
+
|
1874
1939
|
|
1875
1940
|
|
1876
1941
|
export default ColumnStackPlugin;
|
@@ -1,39 +1,44 @@
|
|
1
1
|
import {Ext} from '../../tr-grid-util/es6/Ext.js';
|
2
|
-
import {
|
3
|
-
import {
|
2
|
+
import {GridPlugin} from '../../tr-grid-util/es6/GridPlugin.js';
|
3
|
+
import {extendObject, injectCss, prettifyCss} from '../../tr-grid-util/es6/Util.js';
|
4
4
|
import {CellPainter} from '../../tr-grid-util/es6/CellPainter.js';
|
5
5
|
import {FilterBuilder} from '../../tr-grid-util/es6/FilterBuilder.js';
|
6
6
|
import {ElfUtil} from '../../tr-grid-util/es6/ElfUtil.js';
|
7
7
|
|
8
8
|
declare namespace ConditionalColoringPlugin {
|
9
9
|
|
10
|
+
type Options = {
|
11
|
+
predefinedColors?: any
|
12
|
+
};
|
13
|
+
|
10
14
|
type ColumnOptions = {
|
11
|
-
conditions?: (ConditionalColoringPlugin.Condition)[],
|
12
|
-
colorText?: (string|boolean),
|
13
|
-
tickColor?: (string|boolean),
|
14
|
-
blinking?: (ConditionalColoringPlugin.Blinking|boolean),
|
15
|
-
field?: string
|
15
|
+
conditions?: (ConditionalColoringPlugin.Condition)[]|null,
|
16
|
+
colorText?: (string|boolean)|null,
|
17
|
+
tickColor?: (string|boolean)|null,
|
18
|
+
blinking?: (ConditionalColoringPlugin.Blinking|boolean)|null,
|
19
|
+
field?: string|null
|
16
20
|
};
|
17
21
|
|
18
22
|
type ConditionalColoringOptions = {
|
19
|
-
conditions?: (ConditionalColoringPlugin.Condition)[],
|
20
|
-
colorText?: (string|boolean),
|
21
|
-
tickColor?: (string|boolean),
|
22
|
-
field?: string
|
23
|
+
conditions?: (ConditionalColoringPlugin.Condition)[]|null,
|
24
|
+
colorText?: (string|boolean)|null,
|
25
|
+
tickColor?: (string|boolean)|null,
|
26
|
+
field?: string|null
|
23
27
|
};
|
24
28
|
|
25
29
|
type Condition = {
|
26
|
-
expression?: (string|((...params: any[]) => any)),
|
27
|
-
backgroundColor?: string,
|
28
|
-
color?: string
|
30
|
+
expression?: (string|((...params: any[]) => any))|null,
|
31
|
+
backgroundColor?: string|null,
|
32
|
+
color?: string|null,
|
33
|
+
cssClass?: string|null
|
29
34
|
};
|
30
35
|
|
31
36
|
type Blinking = {
|
32
|
-
border?: boolean,
|
33
|
-
field?: string,
|
34
|
-
up?: string,
|
35
|
-
down?: string,
|
36
|
-
level?: (string|boolean)
|
37
|
+
border?: boolean|null,
|
38
|
+
field?: string|null,
|
39
|
+
up?: string|null,
|
40
|
+
down?: string|null,
|
41
|
+
level?: (string|boolean)|null
|
37
42
|
};
|
38
43
|
|
39
44
|
}
|
@@ -56,21 +61,23 @@ declare class ConditionalColoringPlugin extends GridPlugin {
|
|
56
61
|
|
57
62
|
public getColumnColoring(colIndex: number, options?: any): ConditionalColoringPlugin.ColumnOptions;
|
58
63
|
|
59
|
-
public setColumnColoring(colIndex: number, columnOptions?: (ConditionalColoringPlugin.ColumnOptions|null)): void;
|
64
|
+
public setColumnColoring(colIndex: number, columnOptions?: (ConditionalColoringPlugin.ColumnOptions|null)|null): void;
|
60
65
|
|
61
|
-
public setConditionalColoring(colIndex: number, coloringOptions?: (ConditionalColoringPlugin.ConditionalColoringOptions|null)): void;
|
66
|
+
public setConditionalColoring(colIndex: number, coloringOptions?: (ConditionalColoringPlugin.ConditionalColoringOptions|null)|null): void;
|
62
67
|
|
63
|
-
public setColumnBlinking(colIndex: number, blinkingOptions?: (boolean|ConditionalColoringPlugin.Blinking), field?: string): void;
|
68
|
+
public setColumnBlinking(colIndex: number, blinkingOptions?: (boolean|ConditionalColoringPlugin.Blinking)|null, field?: string|null): void;
|
64
69
|
|
65
70
|
public blinkRow(rowIndex: number, blinkSignal: number, host?: any): void;
|
66
71
|
|
72
|
+
public setPredefinedColors(predefinedColors: any): void;
|
73
|
+
|
67
74
|
public getColumnPainter(colIndex: number): CellPainter|null;
|
68
75
|
|
69
76
|
public applyColor(colIndex: number, cell: any, rowData?: any): void;
|
70
77
|
|
71
78
|
public static cleanUpPrevRows(): void;
|
72
79
|
|
73
|
-
public static setThemeColors(colors: { [key: string]: string }): void;
|
80
|
+
public static setThemeColors(colors: { [key: string]: string }|null): void;
|
74
81
|
|
75
82
|
public reloadThemeColors(): Promise<any>|null;
|
76
83
|
|
@@ -1,10 +1,15 @@
|
|
1
1
|
import {Ext} from '../../tr-grid-util/es6/Ext.js';
|
2
|
-
import {
|
3
|
-
import {
|
2
|
+
import {GridPlugin} from '../../tr-grid-util/es6/GridPlugin.js';
|
3
|
+
import {extendObject, injectCss, prettifyCss} from '../../tr-grid-util/es6/Util.js';
|
4
4
|
import {CellPainter} from '../../tr-grid-util/es6/CellPainter.js';
|
5
5
|
import {FilterBuilder} from '../../tr-grid-util/es6/FilterBuilder.js';
|
6
6
|
import {ElfUtil} from '../../tr-grid-util/es6/ElfUtil.js';
|
7
7
|
|
8
|
+
/** @typedef {Object} ConditionalColoringPlugin~Options
|
9
|
+
* @description The options can be specified by `conditionalColoring` property of the main grid's options
|
10
|
+
* @property {Object=} predefinedColors Predefined color object map for conditional coloring
|
11
|
+
*/
|
12
|
+
|
8
13
|
/** @typedef {Object} ConditionalColoringPlugin~ColumnOptions
|
9
14
|
* @description Extension column options that can be specified on each individual grid's column option:
|
10
15
|
* @property {Array.<ConditionalColoringPlugin~Condition>=} conditions=null List of condition options
|
@@ -27,6 +32,7 @@ import {ElfUtil} from '../../tr-grid-util/es6/ElfUtil.js';
|
|
27
32
|
* @property {(string|Function)=} expression Expression could be `[FIELD_1] > 0`
|
28
33
|
* @property {string=} backgroundColor="" CSS color (e.g. #ffffff, black)
|
29
34
|
* @property {string=} color CSS="" color (e.g. #000000, white)
|
35
|
+
* @property {string=} cssClass cssClass="" Predefined color class name
|
30
36
|
*/
|
31
37
|
|
32
38
|
/** @typedef {(string|boolean|Object)} ConditionalColoringPlugin~Blinking
|
@@ -79,6 +85,10 @@ Ext.inherits(ConditionalColoringPlugin, GridPlugin);
|
|
79
85
|
* @private
|
80
86
|
*/
|
81
87
|
ConditionalColoringPlugin._cleanUpTimer = 0;
|
88
|
+
/** @type {string}
|
89
|
+
* @private
|
90
|
+
*/
|
91
|
+
ConditionalColoringPlugin._controlClass = "predefined-conditional-color";
|
82
92
|
|
83
93
|
/** @type {boolean}
|
84
94
|
* @private
|
@@ -89,6 +99,10 @@ ConditionalColoringPlugin.prototype._blinkingEnabled = false; // WORKAROUND: To
|
|
89
99
|
* @private
|
90
100
|
*/
|
91
101
|
ConditionalColoringPlugin.prototype._pendingFields;
|
102
|
+
/** @type {Object}
|
103
|
+
* @private
|
104
|
+
*/
|
105
|
+
ConditionalColoringPlugin.prototype._predefinedColors = null;
|
92
106
|
|
93
107
|
/** @override
|
94
108
|
* @return {string}
|
@@ -118,6 +132,15 @@ ConditionalColoringPlugin.prototype.initialize = function (host, options) {
|
|
118
132
|
|
119
133
|
hosts.push(host);
|
120
134
|
|
135
|
+
var extOptions = options["conditionalColoring"];
|
136
|
+
if (extOptions) {
|
137
|
+
var predefinedColors = extOptions["predefinedColors"];
|
138
|
+
if (predefinedColors != null && typeof predefinedColors === "object") {
|
139
|
+
this._injectStyles(predefinedColors);
|
140
|
+
host.enableClass(ConditionalColoringPlugin._controlClass);
|
141
|
+
}
|
142
|
+
}
|
143
|
+
|
121
144
|
if(hosts.length === 1) {
|
122
145
|
this.config(options);
|
123
146
|
} else {
|
@@ -206,6 +229,14 @@ ConditionalColoringPlugin.prototype.config = function (options) {
|
|
206
229
|
ConditionalColoringPlugin.prototype.getConfigObject = function (gridOptions) {
|
207
230
|
var obj = gridOptions || {};
|
208
231
|
|
232
|
+
if(this._predefinedColors != null) {
|
233
|
+
var extOptions = obj["conditionalColoring"];
|
234
|
+
if(!extOptions) {
|
235
|
+
extOptions = obj["conditionalColoring"] = {};
|
236
|
+
}
|
237
|
+
extOptions["predefinedColors"] = this._predefinedColors;
|
238
|
+
}
|
239
|
+
|
209
240
|
var columns = obj.columns;
|
210
241
|
if (!columns) {
|
211
242
|
columns = obj.columns = [];
|
@@ -244,7 +275,8 @@ ConditionalColoringPlugin.prototype.getColumnColoring = function(colIndex, optio
|
|
244
275
|
extendObject(exCondition, conditions[n], [
|
245
276
|
"expression",
|
246
277
|
"backgroundColor",
|
247
|
-
"color"
|
278
|
+
"color",
|
279
|
+
"cssClass"
|
248
280
|
]);
|
249
281
|
|
250
282
|
options.conditions.push(exCondition);
|
@@ -824,6 +856,49 @@ ConditionalColoringPlugin._mergeUpdates = function(e) {
|
|
824
856
|
return changedRows;
|
825
857
|
};
|
826
858
|
/** @private
|
859
|
+
* @param {Object} predefinedColors Predefined color object map
|
860
|
+
*/
|
861
|
+
ConditionalColoringPlugin.prototype._injectStyles = function(predefinedColors) {
|
862
|
+
var prefix = ".tr-grid." + ConditionalColoringPlugin._controlClass + " .tr-lg .cell";
|
863
|
+
var css = [];
|
864
|
+
var ss, styles, value;
|
865
|
+
for (var className in predefinedColors) {
|
866
|
+
css.push(prefix + "." + className);
|
867
|
+
ss = [];
|
868
|
+
styles = predefinedColors[className];
|
869
|
+
|
870
|
+
value = styles["backgroundColor"];
|
871
|
+
if(value) {
|
872
|
+
ss.push("background-color: " + value + ";");
|
873
|
+
}
|
874
|
+
|
875
|
+
value = styles["color"];
|
876
|
+
if(value) {
|
877
|
+
ss.push("color: " + value + ";");
|
878
|
+
}
|
879
|
+
|
880
|
+
css.push(ss);
|
881
|
+
}
|
882
|
+
|
883
|
+
// TODO: support multitable
|
884
|
+
var host = this._hosts[0];
|
885
|
+
|
886
|
+
if(this._styleTag) {
|
887
|
+
this._styleTag.parentNode.removeChild(this._styleTag);
|
888
|
+
this._styleTag = null;
|
889
|
+
}
|
890
|
+
this._styleTag = injectCss(prettifyCss(css), host.getElement());
|
891
|
+
this._predefinedColors = predefinedColors;
|
892
|
+
};
|
893
|
+
/** @public
|
894
|
+
* @param {Object} predefinedColors Predefined color object map
|
895
|
+
*/
|
896
|
+
ConditionalColoringPlugin.prototype.setPredefinedColors = function(predefinedColors) {
|
897
|
+
if(predefinedColors != null && typeof predefinedColors === "object") {
|
898
|
+
this._injectStyles(predefinedColors);
|
899
|
+
}
|
900
|
+
};
|
901
|
+
/** @private
|
827
902
|
* @function
|
828
903
|
* @return {!FilterBuilder}
|
829
904
|
*/
|
@@ -83,6 +83,8 @@ import { CoralItems } from "../../tr-grid-util/es6/CoralItems.js";
|
|
83
83
|
* @description Fired after the text editor has been closed and all operations are done. This is useful to clean up left over resource and get result text entered.
|
84
84
|
* @type {Object}
|
85
85
|
* @property {string=} text Text that user has entered
|
86
|
+
* @property {boolean=} groupHeader if the row is header of row, it will be groupHeader
|
87
|
+
* @property {Object} suggestionDetail Suggestion detail for auto suggest "item-select" event
|
86
88
|
* @property {boolean} cancelled Readonly flag. Indicates whether the commit operation has been cancelled
|
87
89
|
* @property {boolean} committed Readonly flag. The opposite of `cancelled` flag
|
88
90
|
*/
|
@@ -92,6 +94,8 @@ import { CoralItems } from "../../tr-grid-util/es6/CoralItems.js";
|
|
92
94
|
* @type {Object}
|
93
95
|
* @property {string=} text Text that user has entered
|
94
96
|
* @property {boolean=} cancel Set to true to cancel the commit operation.
|
97
|
+
* @property {boolean=} groupHeader if the row is header of row, it will be groupHeader
|
98
|
+
* @property {Object} suggestionDetail Suggestion detail for auto suggest "item-select" event
|
95
99
|
* @example
|
96
100
|
* var cep = new InCellEditingPlugin();
|
97
101
|
* cep.listen("beforeCommit", function(e) {
|
@@ -1450,15 +1454,20 @@ InCellEditingPlugin.prototype._onPopupHide = function (e) {
|
|
1450
1454
|
* @param {Object} event
|
1451
1455
|
*/
|
1452
1456
|
InCellEditingPlugin.prototype._onAutoSuggestItemSelected = function (event) {
|
1453
|
-
|
1454
|
-
|
1455
|
-
|
1456
|
-
|
1457
|
-
|
1458
|
-
|
1459
|
-
|
1460
|
-
|
1461
|
-
|
1457
|
+
var eventDetail = event.detail;
|
1458
|
+
if (!eventDetail) {
|
1459
|
+
return;
|
1460
|
+
}
|
1461
|
+
var targetSelected = eventDetail.target;
|
1462
|
+
if (!targetSelected) {
|
1463
|
+
return;
|
1464
|
+
}
|
1465
|
+
var suggestionMethod = eventDetail.method;
|
1466
|
+
// Need to check the details of the methods, another method like a navigation, reset, clear shouldn't commit text
|
1467
|
+
// TODO: We need to handled tab to move. Currently, the property suggestionDetail in 'beforeCommit' event doesn't handlded when we use autosuggest with tab to move.
|
1468
|
+
if (suggestionMethod === "click" || suggestionMethod === "enter") {
|
1469
|
+
this.setText(targetSelected.value);
|
1470
|
+
this._commitText(true, eventDetail.suggestion);
|
1462
1471
|
}
|
1463
1472
|
};
|
1464
1473
|
|
@@ -1554,8 +1563,9 @@ InCellEditingPlugin.prototype._onTextKeyUp = function (e) {
|
|
1554
1563
|
/** Commit text from editor to cell.
|
1555
1564
|
* @private
|
1556
1565
|
* @param {boolean} committed
|
1566
|
+
* @param {Object} suggestionDetail suggestion detail for auto suggest element
|
1557
1567
|
*/
|
1558
|
-
InCellEditingPlugin.prototype._commitText = function (committed) {
|
1568
|
+
InCellEditingPlugin.prototype._commitText = function (committed, suggestionDetail) {
|
1559
1569
|
var t = this;
|
1560
1570
|
var arg = t._activePos;
|
1561
1571
|
if (!t.isEditing() || !arg) {
|
@@ -1566,6 +1576,10 @@ InCellEditingPlugin.prototype._commitText = function (committed) {
|
|
1566
1576
|
var enteredValue = arg["text"] = this.getValue();
|
1567
1577
|
var groupHeader = arg["groupHeader"] || false;
|
1568
1578
|
if (committed) {
|
1579
|
+
if (suggestionDetail) {
|
1580
|
+
// This property is only available when the user commits text from the 'item-select' event of the auto suggest.
|
1581
|
+
arg["suggestionDetail"] = suggestionDetail;
|
1582
|
+
}
|
1569
1583
|
if (t.hasListener("beforeCommit")) {
|
1570
1584
|
t._dispatch("beforeCommit", arg);
|
1571
1585
|
committed = !arg["cancel"];
|
@@ -18,6 +18,7 @@ import { ElfUtil } from "./ElfUtil.js";
|
|
18
18
|
* @property {string=} fontStyle
|
19
19
|
* @property {string=} textAlign
|
20
20
|
* @property {string=} textDecoration
|
21
|
+
* @property {string=} cssClass Predefined color class name
|
21
22
|
*/
|
22
23
|
|
23
24
|
/** @typedef {Object.<string, string>} CellPainter~ThemeColors
|
@@ -517,14 +518,21 @@ CellPainter.prototype.renderForPrinting = function(cell, rowData, min, max) {
|
|
517
518
|
return;
|
518
519
|
}
|
519
520
|
var styles = this._getStyles(rowData, min, max);
|
520
|
-
var
|
521
|
-
if(
|
522
|
-
cell.
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
cell.
|
521
|
+
var cssClass = styles["cssClass"];
|
522
|
+
if (cssClass) {
|
523
|
+
if (cell._coloringCssClass !== cssClass) {
|
524
|
+
cell.classList.remove(cell._coloringCssClass);
|
525
|
+
cell._coloringCssClass = null;
|
526
|
+
}
|
527
|
+
cell.classList.add(cssClass);
|
528
|
+
cell._coloringCssClass = cssClass;
|
529
|
+
} else {
|
530
|
+
if (cell._coloringCssClass) {
|
531
|
+
cell.classList.remove(cell._coloringCssClass);
|
532
|
+
cell._coloringCssClass = null;
|
533
|
+
}
|
534
|
+
cell.style.backgroundColor = styles["backgroundColor"] || "";
|
535
|
+
cell.style.color = styles["color"] || "";
|
528
536
|
}
|
529
537
|
};
|
530
538
|
|
@@ -650,8 +658,24 @@ CellPainter._cellRestorer = function(scope) {
|
|
650
658
|
}
|
651
659
|
|
652
660
|
var styles = this._getStyles(rowData, min, max);
|
653
|
-
|
654
|
-
|
661
|
+
var cssClass = styles["cssClass"];
|
662
|
+
if (cssClass) {
|
663
|
+
if (elem._coloringCssClass && elem._coloringCssClass !== cssClass) {
|
664
|
+
elem.classList.remove(elem._coloringCssClass);
|
665
|
+
elem._coloringCssClass = null;
|
666
|
+
}
|
667
|
+
elem.classList.add(cssClass);
|
668
|
+
elem._coloringCssClass = cssClass;
|
669
|
+
elem.style.backgroundColor = "";
|
670
|
+
elem.style.color = "";
|
671
|
+
} else {
|
672
|
+
if (elem._coloringCssClass) {
|
673
|
+
elem.classList.remove(elem._coloringCssClass);
|
674
|
+
elem._coloringCssClass = null;
|
675
|
+
}
|
676
|
+
elem.style.backgroundColor = styles["backgroundColor"] || "";
|
677
|
+
elem.style.color = styles["color"] || "";
|
678
|
+
}
|
655
679
|
}
|
656
680
|
};
|
657
681
|
|
@@ -1000,11 +1024,25 @@ CellPainter.prototype._paintCell = function(cell, rowData, min, max) {
|
|
1000
1024
|
}
|
1001
1025
|
|
1002
1026
|
var styles = this._getStyles(rowData, min, max);
|
1003
|
-
var
|
1004
|
-
|
1005
|
-
|
1006
|
-
|
1007
|
-
|
1027
|
+
var cssClass = styles["cssClass"];
|
1028
|
+
if (cssClass) {
|
1029
|
+
if (elem._coloringCssClass !== cssClass) {
|
1030
|
+
elem.classList.remove(elem._coloringCssClass);
|
1031
|
+
elem._coloringCssClass = null;
|
1032
|
+
}
|
1033
|
+
elem.classList.add(cssClass);
|
1034
|
+
elem._coloringCssClass = cssClass;
|
1035
|
+
} else {
|
1036
|
+
if (elem._coloringCssClass) {
|
1037
|
+
elem.classList.remove(elem._coloringCssClass);
|
1038
|
+
elem._coloringCssClass = null;
|
1039
|
+
}
|
1040
|
+
var ss = CellPainter.bgStyles;
|
1041
|
+
var elStyle = elem.style;
|
1042
|
+
for (var n = ss.length; --n >= 0;) {
|
1043
|
+
var styleName = ss[n];
|
1044
|
+
elStyle[styleName] = styles[styleName] || "";
|
1045
|
+
}
|
1008
1046
|
}
|
1009
1047
|
};
|
1010
1048
|
|
@@ -129,6 +129,12 @@ declare class ColumnStackPlugin extends GridPlugin {
|
|
129
129
|
|
130
130
|
public moveColumnById(srcCol: number|string|null, destCol?: (number|string)|null): boolean;
|
131
131
|
|
132
|
+
public hideStack(stackId: string): void;
|
133
|
+
|
134
|
+
public showStack(stackId: string): void;
|
135
|
+
|
136
|
+
public isStackHidden(stackId: string): boolean|null|null;
|
137
|
+
|
132
138
|
}
|
133
139
|
|
134
140
|
export default ColumnStackPlugin;
|
package/lib/versions.json
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"tr-grid-util": "1.3.
|
2
|
+
"tr-grid-util": "1.3.88",
|
3
3
|
"@grid/column-dragging": "1.0.11",
|
4
4
|
"@grid/row-segmenting": "1.0.23",
|
5
5
|
"@grid/statistics-row": "1.0.13",
|
@@ -12,13 +12,13 @@
|
|
12
12
|
"tr-grid-column-grouping": "1.0.46",
|
13
13
|
"tr-grid-column-resizing": "1.0.28",
|
14
14
|
"tr-grid-column-selection": "1.0.26",
|
15
|
-
"tr-grid-column-stack": "1.0.
|
16
|
-
"tr-grid-conditional-coloring": "1.0.
|
15
|
+
"tr-grid-column-stack": "1.0.53",
|
16
|
+
"tr-grid-conditional-coloring": "1.0.58",
|
17
17
|
"tr-grid-content-wrap": "1.0.19",
|
18
18
|
"tr-grid-contextmenu": "1.0.38",
|
19
19
|
"tr-grid-filter-input": "0.9.31",
|
20
20
|
"tr-grid-heat-map": "1.0.28",
|
21
|
-
"tr-grid-in-cell-editing": "1.0.
|
21
|
+
"tr-grid-in-cell-editing": "1.0.77",
|
22
22
|
"tr-grid-pagination": "1.0.24",
|
23
23
|
"tr-grid-percent-bar": "1.0.22",
|
24
24
|
"tr-grid-printer": "1.0.16",
|
package/package.json
CHANGED
@@ -24,6 +24,9 @@
|
|
24
24
|
"grid": [
|
25
25
|
"lib/grid/lib/efx-grid.d.ts"
|
26
26
|
],
|
27
|
+
"utils": [
|
28
|
+
"lib/utils/index.d.ts"
|
29
|
+
],
|
27
30
|
"*": [
|
28
31
|
"lib/types/index.d.ts"
|
29
32
|
]
|
@@ -53,7 +56,8 @@
|
|
53
56
|
"./extensions": "./lib/index.js",
|
54
57
|
"./window-exporter": "./lib/window-exporter.js",
|
55
58
|
"./grid": "./lib/grid/lib/efx-grid.js",
|
56
|
-
"./formatters/": "./lib/formatters/es6/"
|
59
|
+
"./formatters/": "./lib/formatters/es6/",
|
60
|
+
"./utils": "./lib/utils/index.js"
|
57
61
|
},
|
58
62
|
"peerDependencies": {
|
59
63
|
"@refinitiv-ui/core": "^6.2.0",
|
@@ -62,5 +66,5 @@
|
|
62
66
|
"publishConfig": {
|
63
67
|
"access": "public"
|
64
68
|
},
|
65
|
-
"version": "6.0.
|
69
|
+
"version": "6.0.29"
|
66
70
|
}
|