@refinitiv-ui/efx-grid 6.0.87 → 6.0.89
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/column-dragging/es6/ColumnDragging.js +55 -0
- package/lib/core/dist/core.js +2 -2
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.d.ts +0 -2
- package/lib/core/es6/grid/Core.js +2 -2
- package/lib/grid/index.js +1 -1
- package/lib/row-segmenting/es6/RowSegmenting.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +786 -706
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/ColumnDefinition.js +68 -68
- package/lib/rt-grid/es6/DataConnector.js +26 -26
- package/lib/rt-grid/es6/FieldDefinition.js +27 -27
- package/lib/rt-grid/es6/Grid.js +390 -378
- package/lib/rt-grid/es6/PredefinedFormula.js +1 -1
- package/lib/rt-grid/es6/ReferenceCounter.js +15 -15
- package/lib/rt-grid/es6/RowDefSorter.js +26 -26
- package/lib/rt-grid/es6/RowDefinition.d.ts +5 -6
- package/lib/rt-grid/es6/RowDefinition.js +105 -76
- package/lib/rt-grid/es6/SnapshotFiller.js +77 -77
- package/lib/rt-grid/es6/StyleLoader.js +1 -1
- package/lib/statistics-row/es6/StatisticsRow.d.ts +1 -0
- package/lib/statistics-row/es6/StatisticsRow.js +18 -2
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +0 -4
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +2 -2
- package/lib/tr-grid-percent-bar/es6/PercentBar.d.ts +18 -18
- package/lib/tr-grid-percent-bar/es6/PercentBar.js +7 -1
- package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +2 -0
- package/lib/tr-grid-row-filtering/es6/RowFiltering.js +69 -18
- package/lib/tr-grid-titlewrap/es6/TitleWrap.d.ts +0 -2
- package/lib/tr-grid-titlewrap/es6/TitleWrap.js +1 -1
- package/lib/tr-grid-util/es6/DragUI.js +2 -1
- package/lib/types/es6/PercentBar.d.ts +18 -18
- package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +5 -2
- package/lib/types/es6/RowFiltering.d.ts +2 -0
- package/lib/types/es6/StatisticsRow.d.ts +1 -0
- package/lib/versions.json +10 -10
- package/package.json +1 -1
@@ -79,8 +79,8 @@ The expression can take various forms:<br>
|
|
79
79
|
|
80
80
|
/** @typedef {Object} RowFilteringPlugin~FilterDialogOptions
|
81
81
|
* @description Options that specify UIs of filter dialog
|
82
|
-
* @property {boolean=} sortUI show/hide sort UI
|
83
|
-
* @property {boolean=} filterUI show/hide filter UI
|
82
|
+
* @property {boolean=} sortUI=true show/hide sort UI
|
83
|
+
* @property {boolean=} filterUI=true show/hide filter UI
|
84
84
|
* @property {string=} fieldDataType data type of column
|
85
85
|
* @property {string=} lang dialog language
|
86
86
|
* @property {Function=} rawDataAccessor In case you have custom data type for the specified field, data getter is needed to retrieve raw value for filtering
|
@@ -112,7 +112,7 @@ The expression can take various forms:<br>
|
|
112
112
|
* @param {Object} cfo
|
113
113
|
* @return {!RowFilteringPlugin~FilterExpression}
|
114
114
|
*/
|
115
|
-
var
|
115
|
+
var _toFilterExpression = function _toFilterExpression(cfo) {
|
116
116
|
var ctx = cfo._context[0];
|
117
117
|
// TODO: Handle rawDataAccessor and formattedDataAccessor (saving and loading of functions)
|
118
118
|
return {
|
@@ -121,6 +121,22 @@ var toFilterExpression = function toFilterExpression(cfo) {
|
|
121
121
|
context: ctx != null && !ctx._autoGenerated ? ctx : null
|
122
122
|
};
|
123
123
|
};
|
124
|
+
/** @private
|
125
|
+
* @function
|
126
|
+
* @param {Array} ary
|
127
|
+
* @param {*} val
|
128
|
+
* @return {Array}
|
129
|
+
*/
|
130
|
+
var _arrayConcat = function _arrayConcat(ary, val) {
|
131
|
+
if (Array.isArray(val) && val.length) {
|
132
|
+
if (ary) {
|
133
|
+
return ary.concat(val);
|
134
|
+
} else {
|
135
|
+
return val;
|
136
|
+
}
|
137
|
+
}
|
138
|
+
return ary;
|
139
|
+
};
|
124
140
|
|
125
141
|
/** @type {string}
|
126
142
|
* @private
|
@@ -405,7 +421,7 @@ RowFilteringPlugin.prototype.config = function (options) {
|
|
405
421
|
return;
|
406
422
|
}
|
407
423
|
|
408
|
-
//
|
424
|
+
// let host = this._hosts[0];
|
409
425
|
var len = columns.length;
|
410
426
|
for (var i = 0; i < len; ++i) {
|
411
427
|
var column = columns[i];
|
@@ -456,6 +472,10 @@ RowFilteringPlugin.prototype.getConfigObject = function (gridOptions) {
|
|
456
472
|
column.filterState = ctx;
|
457
473
|
}
|
458
474
|
}
|
475
|
+
var filterIcon = colSettings.filterIcon;
|
476
|
+
if (!filterIcon) {
|
477
|
+
column.filterIcon = false;
|
478
|
+
}
|
459
479
|
}
|
460
480
|
var extOptions = obj.rowFiltering;
|
461
481
|
var dirty = false;
|
@@ -705,14 +725,14 @@ RowFilteringPlugin.prototype.getColumnFilterExpression = function (colIndex) {
|
|
705
725
|
* @param {RowFilteringPlugin~ColumnOptions} userObj
|
706
726
|
* @returns {boolean} Returns true if there is an active filter in the column options
|
707
727
|
* @example
|
708
|
-
*
|
728
|
+
* let colDef1 = {
|
709
729
|
* "field": "PCTCHNG",
|
710
730
|
* "filter": [["GT", 0]]
|
711
731
|
* };
|
712
|
-
*
|
732
|
+
* let colDef2 = {
|
713
733
|
* "filter": "[PCTCHNG] > 0"
|
714
734
|
* };
|
715
|
-
*
|
735
|
+
* let colDef3 = {
|
716
736
|
* "filter": function(rowData) {
|
717
737
|
* return rowData["PCTCHNG"] > 0;
|
718
738
|
* }
|
@@ -983,7 +1003,7 @@ RowFilteringPlugin.prototype.getAllColumnFilters = function () {
|
|
983
1003
|
RowFilteringPlugin.prototype.getFilterExpressions = function () {
|
984
1004
|
if (this._columnFilters.length) {
|
985
1005
|
// TODO: Provide a way to save rawDataAccessor and formattedDataAccessor
|
986
|
-
return this._columnFilters.map(
|
1006
|
+
return this._columnFilters.map(_toFilterExpression);
|
987
1007
|
}
|
988
1008
|
return null;
|
989
1009
|
};
|
@@ -1216,7 +1236,7 @@ RowFilteringPlugin.prototype._updateColumnIcon = function (colIndex) {
|
|
1216
1236
|
var noFilterIcon = this._disabled || iconActivation === "none" || onActiveFilter && !hasFilter;
|
1217
1237
|
if (!noFilterIcon) {
|
1218
1238
|
if (!cell._filterIcon) {
|
1219
|
-
var filterIcon;
|
1239
|
+
var filterIcon = void 0;
|
1220
1240
|
if (ElfUtil.hasComponent("ef-icon") >= 3) {
|
1221
1241
|
filterIcon = document.createElement("ef-icon");
|
1222
1242
|
filterIcon.setAttribute("icon", "filter");
|
@@ -1483,14 +1503,7 @@ RowFilteringPlugin.prototype._getUniqueValues = function (field, dialogConfig, f
|
|
1483
1503
|
}
|
1484
1504
|
}
|
1485
1505
|
}
|
1486
|
-
|
1487
|
-
if (Array.isArray(additionalItems)) {
|
1488
|
-
if (userItemList) {
|
1489
|
-
userItemList = userItemList.concat(additionalItems);
|
1490
|
-
} else {
|
1491
|
-
userItemList = additionalItems;
|
1492
|
-
}
|
1493
|
-
}
|
1506
|
+
userItemList = _arrayConcat(userItemList, dialogConfig.additionalItems);
|
1494
1507
|
var dummyRow = {};
|
1495
1508
|
var userItemCount = userItemList ? userItemList.length : 0;
|
1496
1509
|
for (var i = 0; i < userItemCount; ++i) {
|
@@ -1699,6 +1712,9 @@ RowFilteringPlugin.prototype.openDialog = function (colIndex, runtimeDialogOptio
|
|
1699
1712
|
if (cfo._filters && cfo._filters.length) {
|
1700
1713
|
filterFuncs = cfo._filters;
|
1701
1714
|
}
|
1715
|
+
if (_typeof(exp) === "object") {
|
1716
|
+
dialogConfig.additionalItems = _arrayConcat(dialogConfig.additionalItems, Object.keys(exp));
|
1717
|
+
}
|
1702
1718
|
}
|
1703
1719
|
}
|
1704
1720
|
var selectedItems = {};
|
@@ -1847,6 +1863,27 @@ RowFilteringPlugin._getFilterBuilder = function () {
|
|
1847
1863
|
return RowFilteringPlugin._filterBuilder;
|
1848
1864
|
};
|
1849
1865
|
|
1866
|
+
/** @public
|
1867
|
+
* @ignore
|
1868
|
+
* @param {*} val
|
1869
|
+
*/
|
1870
|
+
RowFilteringPlugin.prototype.mockDialogFilterChange = function (val) {
|
1871
|
+
if (this._filterDialog) {
|
1872
|
+
var arg = {
|
1873
|
+
detail: {}
|
1874
|
+
};
|
1875
|
+
if (Array.isArray(val)) {
|
1876
|
+
if (Array.isArray(val[0])) {
|
1877
|
+
arg.detail.conditions = val;
|
1878
|
+
} else {
|
1879
|
+
arg.detail.value = val;
|
1880
|
+
}
|
1881
|
+
} else {
|
1882
|
+
arg.detail.value = val;
|
1883
|
+
}
|
1884
|
+
this._onDialogFilterChanged(arg);
|
1885
|
+
}
|
1886
|
+
};
|
1850
1887
|
/** @private
|
1851
1888
|
* @param {Object} e
|
1852
1889
|
*/
|
@@ -1916,7 +1953,7 @@ RowFilteringPlugin.prototype._onDialogFilterChanged = function (e) {
|
|
1916
1953
|
var atLeastOne = false;
|
1917
1954
|
for (var i = 0; i < selCount; ++i) {
|
1918
1955
|
var formattedVal = selAry[i].title; // title is defined by the multi-select element
|
1919
|
-
//
|
1956
|
+
// let selIdx = selAry[i].index; // index cannot be used due to filtering
|
1920
1957
|
if (selAry[i].value === BLANKS) {
|
1921
1958
|
if (!ctx) {
|
1922
1959
|
ctx = {};
|
@@ -1945,6 +1982,20 @@ RowFilteringPlugin.prototype._onDialogFilterChanged = function (e) {
|
|
1945
1982
|
"colIndex": colIndex
|
1946
1983
|
});
|
1947
1984
|
};
|
1985
|
+
|
1986
|
+
/** @public
|
1987
|
+
* @ignore
|
1988
|
+
* @param {string} sortOrder
|
1989
|
+
*/
|
1990
|
+
RowFilteringPlugin.prototype.mockDialogSortChange = function (sortOrder) {
|
1991
|
+
if (this._filterDialog) {
|
1992
|
+
var arg = {
|
1993
|
+
detail: {}
|
1994
|
+
};
|
1995
|
+
arg.detail.value = sortOrder;
|
1996
|
+
this._onDialogSortChanged(arg);
|
1997
|
+
}
|
1998
|
+
};
|
1948
1999
|
/** @private
|
1949
2000
|
* @param {Object} e
|
1950
2001
|
*/
|
@@ -15,8 +15,6 @@ declare class TitleWrapPlugin extends GridPlugin {
|
|
15
15
|
|
16
16
|
public getConfigObject(gridOptions?: any): any;
|
17
17
|
|
18
|
-
public _adjustRowHeightRefByHost(host: any, sectionRef: any, from?: number|null, to?: number|null): boolean;
|
19
|
-
|
20
18
|
public adjustRowHeight(sectionRef: any, from?: number|null, to?: number|null): boolean;
|
21
19
|
|
22
20
|
public adjustRowHeightAt(sectionRef: any, rowIndex: number): boolean;
|
@@ -166,7 +166,7 @@ TitleWrapPlugin.prototype._onRecalculation = function () {
|
|
166
166
|
this.adjustRowHeight("title");
|
167
167
|
};
|
168
168
|
/** adjust row height using specific grid at a reference to other grid
|
169
|
-
* @
|
169
|
+
* @private
|
170
170
|
* @param {Object} host core grid instance
|
171
171
|
* @param {Object} sectionRef grid SectionReference
|
172
172
|
* @param {number=} from
|
@@ -103,7 +103,8 @@ DragUI.prototype.onThemeLoaded = function(colors) {
|
|
103
103
|
"overflow-x: clip;",
|
104
104
|
"text-overflow: ellipsis;",
|
105
105
|
"padding: 0 7px 0 7px;",
|
106
|
-
"box-shadow: 0 0 8px var(--grid-dragbox-bordercolor);"
|
106
|
+
"box-shadow: 0 0 8px var(--grid-dragbox-bordercolor);",
|
107
|
+
"z-index: 2" // Cover sort indicator
|
107
108
|
],
|
108
109
|
".drag-box-disabled", [
|
109
110
|
"width: 100px;",
|
@@ -7,29 +7,29 @@ import {ElfUtil} from '../../tr-grid-util/es6/ElfUtil.js';
|
|
7
7
|
declare namespace PercentBarPlugin {
|
8
8
|
|
9
9
|
type Options = {
|
10
|
-
padding?: number,
|
11
|
-
percentageLabel?: boolean,
|
12
|
-
autoTextSizing?: boolean,
|
13
|
-
autoFitting?: boolean,
|
14
|
-
zeroValueHidden?: boolean
|
10
|
+
padding?: number|null,
|
11
|
+
percentageLabel?: boolean|null,
|
12
|
+
autoTextSizing?: boolean|null,
|
13
|
+
autoFitting?: boolean|null,
|
14
|
+
zeroValueHidden?: boolean|null
|
15
15
|
};
|
16
16
|
|
17
17
|
type PercentBarOptions = {
|
18
|
-
alignment?: string,
|
19
|
-
field?: string,
|
20
|
-
textHidden?: boolean,
|
21
|
-
textWidth?: (number|string),
|
22
|
-
useMovementColor?: boolean,
|
23
|
-
barColor?: string,
|
24
|
-
padding?: number,
|
25
|
-
percentageLabel?: boolean,
|
26
|
-
autoTextSizing?: boolean,
|
27
|
-
autoFitting?: boolean,
|
28
|
-
zeroValueHidden?: boolean
|
18
|
+
alignment?: string|null,
|
19
|
+
field?: string|null,
|
20
|
+
textHidden?: boolean|null,
|
21
|
+
textWidth?: (number|string)|null,
|
22
|
+
useMovementColor?: boolean|null,
|
23
|
+
barColor?: string|null,
|
24
|
+
padding?: number|null,
|
25
|
+
percentageLabel?: boolean|null,
|
26
|
+
autoTextSizing?: boolean|null,
|
27
|
+
autoFitting?: boolean|null,
|
28
|
+
zeroValueHidden?: boolean|null
|
29
29
|
};
|
30
30
|
|
31
31
|
type ColumnOptions = {
|
32
|
-
percentBar?: (PercentBarPlugin.PercentBarOptions|boolean)
|
32
|
+
percentBar?: (PercentBarPlugin.PercentBarOptions|boolean)|null
|
33
33
|
};
|
34
34
|
|
35
35
|
}
|
@@ -50,7 +50,7 @@ declare class PercentBarPlugin extends GridPlugin {
|
|
50
50
|
|
51
51
|
public setPercentBarAlignment(colIndex: number, alignment: string): void;
|
52
52
|
|
53
|
-
public setColumnPercentBar(colIndex: number, columnOptions: PercentBarPlugin.ColumnOptions): void;
|
53
|
+
public setColumnPercentBar(colIndex: number, columnOptions: PercentBarPlugin.ColumnOptions|null): void;
|
54
54
|
|
55
55
|
public reloadThemeColors(): Promise<any>|null;
|
56
56
|
|
@@ -14,7 +14,8 @@ declare namespace RowDefinition {
|
|
14
14
|
collapsed?: boolean|null,
|
15
15
|
label?: (string|null)|null,
|
16
16
|
hidden?: boolean|null,
|
17
|
-
realTime?: boolean|null
|
17
|
+
realTime?: boolean|null,
|
18
|
+
info?: any
|
18
19
|
};
|
19
20
|
|
20
21
|
type RowTypes = {
|
@@ -130,7 +131,9 @@ declare class RowDefinition {
|
|
130
131
|
|
131
132
|
public getDepthLevel(): number;
|
132
133
|
|
133
|
-
public
|
134
|
+
public setRowInfo(obj: any): void;
|
135
|
+
|
136
|
+
public getRowInfo(): any;
|
134
137
|
|
135
138
|
public static toRowId(rowDef: RowDefinition|null): string;
|
136
139
|
|
@@ -131,6 +131,8 @@ declare class RowFilteringPlugin extends GridPlugin {
|
|
131
131
|
|
132
132
|
declare function colSettings(colIndex: number, exp: RowFilteringPlugin.Expression|null, ctx?: (any|string)|null): boolean;
|
133
133
|
|
134
|
+
declare function selCount(sortOrder: string): void;
|
135
|
+
|
134
136
|
declare function crf(enabled?: boolean|null): void;
|
135
137
|
|
136
138
|
export default RowFilteringPlugin;
|
@@ -8,6 +8,7 @@ declare namespace StatisticsRowPlugin {
|
|
8
8
|
invalidText?: string|null,
|
9
9
|
noColoring?: boolean|null,
|
10
10
|
noFormatting?: boolean|null,
|
11
|
+
useAllData?: boolean|null,
|
11
12
|
postCalculation?: ((...params: any[]) => any)|null,
|
12
13
|
postRendering?: ((...params: any[]) => any)|null
|
13
14
|
};
|
package/lib/versions.json
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
|
-
"tr-grid-util": "1.3.
|
2
|
+
"tr-grid-util": "1.3.140",
|
3
3
|
"tr-grid-printer": "1.0.17",
|
4
|
-
"@grid/column-dragging": "1.0.
|
5
|
-
"@grid/row-segmenting": "1.0.
|
6
|
-
"@grid/statistics-row": "1.0.
|
4
|
+
"@grid/column-dragging": "1.0.18",
|
5
|
+
"@grid/row-segmenting": "1.0.31",
|
6
|
+
"@grid/statistics-row": "1.0.17",
|
7
7
|
"@grid/zoom": "1.0.11",
|
8
8
|
"tr-grid-auto-tooltip": "1.1.6",
|
9
9
|
"tr-grid-cell-selection": "1.0.35",
|
@@ -19,17 +19,17 @@
|
|
19
19
|
"tr-grid-contextmenu": "1.0.41",
|
20
20
|
"tr-grid-filter-input": "0.9.39",
|
21
21
|
"tr-grid-heat-map": "1.0.29",
|
22
|
-
"tr-grid-in-cell-editing": "1.0.
|
22
|
+
"tr-grid-in-cell-editing": "1.0.82",
|
23
23
|
"tr-grid-pagination": "1.0.24",
|
24
|
-
"tr-grid-percent-bar": "1.0.
|
25
|
-
"tr-grid-range-bar": "2.0.
|
26
|
-
"tr-grid-row-dragging": "1.0.
|
27
|
-
"tr-grid-row-filtering": "1.0.
|
24
|
+
"tr-grid-percent-bar": "1.0.24",
|
25
|
+
"tr-grid-range-bar": "2.0.8",
|
26
|
+
"tr-grid-row-dragging": "1.0.32",
|
27
|
+
"tr-grid-row-filtering": "1.0.71",
|
28
28
|
"tr-grid-row-grouping": "1.0.86",
|
29
29
|
"tr-grid-row-selection": "1.0.27",
|
30
30
|
"tr-grid-rowcoloring": "1.0.25",
|
31
31
|
"tr-grid-textformatting": "1.0.48",
|
32
|
-
"tr-grid-titlewrap": "1.0.
|
32
|
+
"tr-grid-titlewrap": "1.0.22",
|
33
33
|
"@grid/formatters": "1.0.51",
|
34
34
|
"@grid/column-selection-dialog": "4.0.57",
|
35
35
|
"@grid/filter-dialog": "4.0.63",
|
package/package.json
CHANGED