@refinitiv-ui/efx-grid 6.0.84 → 6.0.85
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 +199 -144
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.d.ts +0 -4
- package/lib/core/es6/grid/Core.js +15 -13
- package/lib/core/es6/grid/plugins/SortableTitlePlugin.d.ts +13 -3
- package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +184 -131
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +275 -159
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/ColumnDefinition.js +1 -2
- package/lib/rt-grid/es6/Grid.js +7 -7
- package/lib/tr-grid-filter-input/es6/FilterInput.js +31 -2
- package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +4 -1
- package/lib/tr-grid-row-filtering/es6/RowFiltering.js +3 -0
- package/lib/tr-grid-textformatting/es6/TextFormatting.js +13 -2
- package/lib/tr-grid-util/es6/FieldFormatter.js +4 -2
- package/lib/tr-grid-util/es6/NumberFormatter.js +2 -2
- package/lib/types/es6/Core/grid/Core.d.ts +0 -4
- package/lib/types/es6/Core/grid/plugins/SortableTitlePlugin.d.ts +13 -3
- package/lib/types/es6/RowFiltering.d.ts +4 -1
- package/lib/versions.json +4 -4
- package/package.json +1 -1
@@ -1001,8 +1001,7 @@ ColumnDefinition.prototype._setField = function(field, columnOption) {
|
|
1001
1001
|
if(!field) {
|
1002
1002
|
field = "";
|
1003
1003
|
}
|
1004
|
-
|
1005
|
-
field = field.replace(/^\s+|\s+$/gm, "");
|
1004
|
+
field = field.trim();
|
1006
1005
|
|
1007
1006
|
var formulaStr = columnOption ? columnOption["formula"] : "";
|
1008
1007
|
if(this._fnEngine) {
|
package/lib/rt-grid/es6/Grid.js
CHANGED
@@ -65,10 +65,10 @@ import { ElementWrapper } from "../../core/es6/grid/components/ElementWrapper.js
|
|
65
65
|
* @property {boolean=} columnVirtualization=false If enabled, all columns will be rendered. This will greatly impact grid's performance if the column set is huge.
|
66
66
|
* @property {(number|null|boolean)=} topFreezingCount=null If number >= 0 will fix number of frozen title section, If false = disabled scrollbar, if null then title section will freeze auto when new section added, this option will not work with scrollbar option.
|
67
67
|
* @property {(number|null)=} bottomFreezingCount=null If number >= 0 will fix nuber of frozen footer section, if null then footer section will freeze auto when new section added, this option will not work with scrollbar option.
|
68
|
-
* @property {boolean=} borders=
|
69
|
-
* @property {boolean=} gridlines
|
70
|
-
* @property {boolean=} verticalLines=
|
71
|
-
* @property {boolean=} contentVerticalLines=
|
68
|
+
* @property {boolean=} borders=false Lines around grid element
|
69
|
+
* @property {boolean=} gridlines Horizontal and Vertical lines for ONLY content sections
|
70
|
+
* @property {boolean=} verticalLines=false Vertical lines for all sections
|
71
|
+
* @property {boolean=} contentVerticalLines=false Vertical lines for all content section
|
72
72
|
* @property {boolean=} horizontalLines=true Horizontal lines for all sections
|
73
73
|
* @property {*=} RTK=null rtk toolkit instance
|
74
74
|
* @property {Grid~ADCOptions=} ADC=null ADC requesting level config object from adc team
|
@@ -1778,7 +1778,7 @@ Grid.prototype.restoreColumns = function(columns, byId) {
|
|
1778
1778
|
}
|
1779
1779
|
}
|
1780
1780
|
if (!found) {
|
1781
|
-
removingFields.push(
|
1781
|
+
removingFields.push(i);
|
1782
1782
|
}
|
1783
1783
|
}
|
1784
1784
|
|
@@ -1794,7 +1794,7 @@ Grid.prototype.restoreColumns = function(columns, byId) {
|
|
1794
1794
|
for (j = 0; j < keepingLen; j++) { // loop only keeping column
|
1795
1795
|
if(compareLogic(columns[i], keepingColumns[j])) {
|
1796
1796
|
found = true;
|
1797
|
-
var colIndex = this.getColumnIndex(columns[i].field); // We cannot use 'i' (colIndex) in this case, as it will sort the columns. Instead, we need to obtain a new column index from the field.
|
1797
|
+
var colIndex = this.getColumnIndex(columns[i].id || columns[i].field); // We cannot use 'i' (colIndex) in this case, as it will sort the columns. Instead, we need to obtain a new column index from the field.
|
1798
1798
|
columnOrdering.push(this.getColumnId(colIndex));
|
1799
1799
|
break;
|
1800
1800
|
}
|
@@ -3090,8 +3090,8 @@ Grid.prototype._getRowId = function(rowRef) {
|
|
3090
3090
|
*/
|
3091
3091
|
Grid.prototype.getColumnIndex = function(colRef) {
|
3092
3092
|
if(colRef) {
|
3093
|
-
var colCount = this.getColumnCount();
|
3094
3093
|
if(colRef instanceof ColumnDefinition) {
|
3094
|
+
var colCount = this.getColumnCount();
|
3095
3095
|
for(var i = 0; i < colCount; ++i) {
|
3096
3096
|
var colDef = this.getColumnDefinition(i);
|
3097
3097
|
if(colDef === colRef) {
|
@@ -852,10 +852,11 @@ FilterInputPlugin.prototype.setInputValue = function (colIndex, value) {
|
|
852
852
|
var colOpt = this._getExtColumnOption(colIndex);
|
853
853
|
|
854
854
|
var type = colOpt.type ? colOpt.type.toLowerCase() : "";
|
855
|
+
var dateValue;
|
855
856
|
|
856
857
|
if (type == "date") {
|
857
858
|
var dateObj = ElfDate.from(value);
|
858
|
-
|
859
|
+
dateValue = dateObj ? dateObj.toDateString().substr(4) : "";
|
859
860
|
}
|
860
861
|
|
861
862
|
if (type == "multiselect") {
|
@@ -866,9 +867,37 @@ FilterInputPlugin.prototype.setInputValue = function (colIndex, value) {
|
|
866
867
|
this.filterColumn(colIndex, "", textMap);
|
867
868
|
} else {
|
868
869
|
inputElem.value = value;
|
869
|
-
this.filterColumn(colIndex, value);
|
870
|
+
this.filterColumn(colIndex, type == "date" ? dateValue : value);
|
870
871
|
}
|
871
872
|
};
|
873
|
+
/** @public
|
874
|
+
* @ignore
|
875
|
+
* @param {number} colIndex
|
876
|
+
* @return {Object}
|
877
|
+
*/
|
878
|
+
|
879
|
+
|
880
|
+
FilterInputPlugin.prototype.getColumnFilter = function (colIndex) {
|
881
|
+
var proc = this._filterProc;
|
882
|
+
|
883
|
+
if (proc) {
|
884
|
+
return proc.getColumnFilterState(colIndex);
|
885
|
+
}
|
886
|
+
|
887
|
+
return null;
|
888
|
+
};
|
889
|
+
/** @public
|
890
|
+
* @ignore
|
891
|
+
* @param {number} colIndex
|
892
|
+
* @return {Function}
|
893
|
+
*/
|
894
|
+
|
895
|
+
|
896
|
+
FilterInputPlugin.prototype.getFilterLogic = function (colIndex) {
|
897
|
+
var option = this._getExtColumnOption(colIndex);
|
898
|
+
|
899
|
+
return option._comparingLogic;
|
900
|
+
};
|
872
901
|
/** Force filtering for every column
|
873
902
|
* @public
|
874
903
|
* @param {number=} delayMs=0 Set delay in millisecond to avoid repeatedly filtering
|
@@ -45,7 +45,10 @@ declare namespace RowFilteringPlugin {
|
|
45
45
|
click?: ((...params: any[]) => any)|null,
|
46
46
|
clicked?: ((...params: any[]) => any)|null,
|
47
47
|
iconCreated?: ((...params: any[]) => any)|null,
|
48
|
-
filterChanged?: ((...params: any[]) => any)|null
|
48
|
+
filterChanged?: ((...params: any[]) => any)|null,
|
49
|
+
beforeDialogOpened?: ((...params: any[]) => any)|null,
|
50
|
+
dialogCommitted?: ((...params: any[]) => any)|null,
|
51
|
+
refreshed?: ((...params: any[]) => any)|null
|
49
52
|
};
|
50
53
|
|
51
54
|
}
|
@@ -102,6 +102,9 @@ The expression can take various forms:<br>
|
|
102
102
|
* @property {Function=} clicked=null Alias to `click` event handler
|
103
103
|
* @property {Function=} iconCreated=null Event handler dispatched when a new column filter icon is created.
|
104
104
|
* @property {Function=} filterChanged=null Event handler dispatched whenever global or column filter is changed by either adding or removing.
|
105
|
+
* @property {Function=} beforeDialogOpened=null Event handler dispatched before dialog opening.
|
106
|
+
* @property {Function=} dialogCommitted=null Event handler dispatched whenever the new settings from dialog are applied.
|
107
|
+
* @property {Function=} refreshed=null Event handler dispatched after new filter is applied to grid's data view.
|
105
108
|
*/
|
106
109
|
|
107
110
|
/** @private
|
@@ -30,8 +30,8 @@ import { DateTime } from '../../tr-grid-util/es6/DateTime.js';
|
|
30
30
|
* @property {boolean=} precisionEnabled=true If disabled, number of decimal will remain as original.
|
31
31
|
* @property {boolean=} plusSign=false
|
32
32
|
* @property {boolean=} separator=false Thousands separators
|
33
|
-
* @property {boolean=} percentSign=false
|
34
|
-
* @property {string=} scalingUnit Value can be million or billion
|
33
|
+
* @property {boolean=} percentSign=false If the formatType is percent and the value of percentSign is not specified, the percentSign is set to true by default
|
34
|
+
* @property {string=} scalingUnit=million Value can be million or billion
|
35
35
|
* @property {boolean=} multiplyBy100=false
|
36
36
|
* @property {boolean=} mutiplyBy100=false Alias of multiplyBy100
|
37
37
|
* @property {string=} dateTimeFormat="MM/DD/YYYY"
|
@@ -328,6 +328,14 @@ TextFormattingPlugin.prototype._setColumnFormat = function (colIndex, userObj) {
|
|
328
328
|
}
|
329
329
|
fo["decimalPlaces"] = precision;
|
330
330
|
fo["precisionEnabled"] = precisionEnabled;
|
331
|
+
if (fot === "percent") {
|
332
|
+
var percentSign = fo["percentSign"];
|
333
|
+
if (percentSign == null) {
|
334
|
+
fo["percentSign"] = true;
|
335
|
+
} else {
|
336
|
+
colData["percentSign"] = percentSign;
|
337
|
+
}
|
338
|
+
}
|
331
339
|
nf = new NumberFormatter(fo);
|
332
340
|
ff.setNumberFormatter(nf.format);
|
333
341
|
}
|
@@ -369,6 +377,9 @@ TextFormattingPlugin.prototype.getColumnFormatOptions = function (colIndex, opti
|
|
369
377
|
} else {
|
370
378
|
delete options["decimalPlaces"];
|
371
379
|
}
|
380
|
+
if (options["formatType"] === "percent" && colData["percentSign"] != null) {
|
381
|
+
options["percentSign"] = colData["percentSign"];
|
382
|
+
}
|
372
383
|
}
|
373
384
|
}
|
374
385
|
return options;
|
@@ -27,6 +27,8 @@ const DATE_TIME_TYPE = {
|
|
27
27
|
"TIME-DATE": true
|
28
28
|
};
|
29
29
|
|
30
|
+
const DEFAULT_DATE_TIME_FORMAT = "MM/DD/YYYY";
|
31
|
+
|
30
32
|
/* eslint-enaable */
|
31
33
|
|
32
34
|
/** @public
|
@@ -189,7 +191,7 @@ FieldFormatter.prototype.getOptions = function(options) { // serialize
|
|
189
191
|
options["field"] = this._field;
|
190
192
|
options["formatType"] = this._userFormatType ? this._userFormatType : this._formatType; // WARNING: Beware of case sensitivity
|
191
193
|
if(toDateTimeType(options["formatType"]) == DATE_TIME){
|
192
|
-
if(this._dateTimeFormat !==
|
194
|
+
if(this._dateTimeFormat && this._dateTimeFormat !== DEFAULT_DATE_TIME_FORMAT) {
|
193
195
|
options["dateTimeFormat"] = this._dateTimeFormat;
|
194
196
|
}
|
195
197
|
if(this._timeZone !== "GMT") {
|
@@ -391,7 +393,7 @@ FieldFormatter.prototype._formatDateTime = function(val, rowData) {
|
|
391
393
|
}
|
392
394
|
val = new Date(sec * 1000); // Convert real-time raw data (second) to millisecond
|
393
395
|
}
|
394
|
-
return this._df(val, this._dateTimeFormat
|
396
|
+
return this._df(val, this._dateTimeFormat || DEFAULT_DATE_TIME_FORMAT, this._timeZone);
|
395
397
|
};
|
396
398
|
/** @private
|
397
399
|
* @param {number|string|Date} val
|
@@ -161,7 +161,7 @@ NumberFormatter.prototype.init = function(options) { // deserialize
|
|
161
161
|
if(val != null && val !== "") {
|
162
162
|
this._percentSignEnabled = val ? true : false;
|
163
163
|
} else {
|
164
|
-
this._percentSignEnabled =
|
164
|
+
this._percentSignEnabled = false;
|
165
165
|
}
|
166
166
|
|
167
167
|
val = options["multiplyBy100"];
|
@@ -267,7 +267,7 @@ NumberFormatter.prototype.getOptions = function(options) { // serialize
|
|
267
267
|
}
|
268
268
|
|
269
269
|
if(formatType === "percent") {
|
270
|
-
if(this._percentSignEnabled !==
|
270
|
+
if(this._percentSignEnabled !== false) {
|
271
271
|
options["percentSign"] = this._percentSignEnabled;
|
272
272
|
}
|
273
273
|
if(this._multiplyBy100Enabled !== false) {
|
@@ -227,10 +227,6 @@ declare class Core extends ElementWrapper {
|
|
227
227
|
|
228
228
|
public getColumnData(colIndex: number): any;
|
229
229
|
|
230
|
-
public setColumnData(colIndex: number, userData: any): any;
|
231
|
-
|
232
|
-
public newColumnData(colIndex: number): any;
|
233
|
-
|
234
230
|
public setAlwaysRenderColumn(colIndex: number, alwaysRender?: boolean|null): void;
|
235
231
|
|
236
232
|
public getFitContentWidth(): boolean;
|
@@ -18,6 +18,14 @@ declare namespace SortableTitlePlugin {
|
|
18
18
|
order?: SortableTitlePlugin.SortOrder|null
|
19
19
|
};
|
20
20
|
|
21
|
+
type SortingDefinition = {
|
22
|
+
colIndex?: number|null,
|
23
|
+
colId?: string|null,
|
24
|
+
field?: string|null,
|
25
|
+
sortOrder?: SortableTitlePlugin.SortOrder|null,
|
26
|
+
order?: SortableTitlePlugin.SortOrder|null
|
27
|
+
};
|
28
|
+
|
21
29
|
type ColumnOptions = {
|
22
30
|
sortable?: boolean|null,
|
23
31
|
sortBy?: string|null,
|
@@ -30,7 +38,7 @@ declare namespace SortableTitlePlugin {
|
|
30
38
|
};
|
31
39
|
|
32
40
|
type Options = {
|
33
|
-
initialSort?: (SortableTitlePlugin.InitialSort|(SortableTitlePlugin.
|
41
|
+
initialSort?: (SortableTitlePlugin.InitialSort|(SortableTitlePlugin.SortingDefinition)[])|null,
|
34
42
|
multicolumn?: (boolean|number)|null,
|
35
43
|
multiColumn?: (boolean|number)|null,
|
36
44
|
threeStatesSorting?: boolean|null,
|
@@ -79,7 +87,7 @@ declare class SortableTitlePlugin extends EventDispatcher {
|
|
79
87
|
|
80
88
|
public getSortedColumnIndex(priority?: number|null): number;
|
81
89
|
|
82
|
-
public getSortPriority(colIndex: number): number;
|
90
|
+
public getSortPriority(colIndex: number, colRef?: string|null): number;
|
83
91
|
|
84
92
|
public isColumnSorted(colIndex: number): boolean;
|
85
93
|
|
@@ -89,7 +97,7 @@ declare class SortableTitlePlugin extends EventDispatcher {
|
|
89
97
|
|
90
98
|
public sortColumn(colRef: number|string|null, sortOrder?: string|null, opt_arg?: any): void;
|
91
99
|
|
92
|
-
public sortColumns(sortOptions: (SortableTitlePlugin.
|
100
|
+
public sortColumns(sortOptions: (SortableTitlePlugin.SortingDefinition)[]|null, opt_arg?: any): void;
|
93
101
|
|
94
102
|
public clearSortState(opt_arg?: any): void;
|
95
103
|
|
@@ -113,6 +121,8 @@ declare class SortableTitlePlugin extends EventDispatcher {
|
|
113
121
|
|
114
122
|
public getColumnSortingFields(): (string)[];
|
115
123
|
|
124
|
+
public setFirstSortOrder(colIdentifier: string|number|(string|number)[]|null, sortOrder?: string|null): void;
|
125
|
+
|
116
126
|
public disableTwoStateSorting(disabled?: boolean|null): void;
|
117
127
|
|
118
128
|
public freezeIndicator(bool?: boolean|null): void;
|
@@ -45,7 +45,10 @@ declare namespace RowFilteringPlugin {
|
|
45
45
|
click?: ((...params: any[]) => any)|null,
|
46
46
|
clicked?: ((...params: any[]) => any)|null,
|
47
47
|
iconCreated?: ((...params: any[]) => any)|null,
|
48
|
-
filterChanged?: ((...params: any[]) => any)|null
|
48
|
+
filterChanged?: ((...params: any[]) => any)|null,
|
49
|
+
beforeDialogOpened?: ((...params: any[]) => any)|null,
|
50
|
+
dialogCommitted?: ((...params: any[]) => any)|null,
|
51
|
+
refreshed?: ((...params: any[]) => any)|null
|
49
52
|
};
|
50
53
|
|
51
54
|
}
|
package/lib/versions.json
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"tr-grid-util": "1.3.
|
2
|
+
"tr-grid-util": "1.3.137",
|
3
3
|
"tr-grid-printer": "1.0.17",
|
4
4
|
"@grid/column-dragging": "1.0.16",
|
5
5
|
"@grid/row-segmenting": "1.0.30",
|
@@ -17,18 +17,18 @@
|
|
17
17
|
"tr-grid-conditional-coloring": "1.0.69",
|
18
18
|
"tr-grid-content-wrap": "1.0.20",
|
19
19
|
"tr-grid-contextmenu": "1.0.41",
|
20
|
-
"tr-grid-filter-input": "0.9.
|
20
|
+
"tr-grid-filter-input": "0.9.38",
|
21
21
|
"tr-grid-heat-map": "1.0.29",
|
22
22
|
"tr-grid-in-cell-editing": "1.0.81",
|
23
23
|
"tr-grid-pagination": "1.0.24",
|
24
24
|
"tr-grid-percent-bar": "1.0.22",
|
25
25
|
"tr-grid-range-bar": "2.0.6",
|
26
26
|
"tr-grid-row-dragging": "1.0.31",
|
27
|
-
"tr-grid-row-filtering": "1.0.
|
27
|
+
"tr-grid-row-filtering": "1.0.68",
|
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
|
-
"tr-grid-textformatting": "1.0.
|
31
|
+
"tr-grid-textformatting": "1.0.48",
|
32
32
|
"tr-grid-titlewrap": "1.0.21",
|
33
33
|
"@grid/formatters": "1.0.51",
|
34
34
|
"@grid/column-selection-dialog": "4.0.56",
|
package/package.json
CHANGED