@refinitiv-ui/efx-grid 6.0.69 → 6.0.71
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/column-selection-dialog/lib/column-selection-dialog.js +19 -7
- package/lib/core/dist/core.js +38 -3
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.d.ts +2 -0
- package/lib/core/es6/grid/Core.js +30 -2
- package/lib/core/es6/grid/VirtualizedLayoutGrid.js +8 -1
- package/lib/filter-dialog/lib/filter-dialog.js +90 -51
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +52 -17
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/Grid.d.ts +5 -2
- package/lib/rt-grid/es6/Grid.js +22 -15
- package/lib/tr-grid-column-selection/es6/ColumnSelection.js +7 -27
- package/lib/tr-grid-column-stack/es6/ColumnStack.js +7 -1
- package/lib/tr-grid-filter-input/es6/FilterInput.js +9 -3
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +3 -2
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +65 -18
- package/lib/tr-grid-printer/es6/CellWriter.d.ts +5 -5
- package/lib/tr-grid-printer/es6/CellWriter.js +6 -6
- package/lib/tr-grid-printer/es6/GridPrinter.d.ts +7 -6
- package/lib/tr-grid-printer/es6/GridPrinter.js +4 -2
- package/lib/tr-grid-printer/es6/PrintTrait.d.ts +1 -1
- package/lib/tr-grid-printer/es6/SectionWriter.d.ts +1 -1
- package/lib/tr-grid-row-dragging/es6/RowDragging.js +65 -0
- package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +1 -3
- package/lib/tr-grid-row-filtering/es6/RowFiltering.js +235 -114
- package/lib/tr-grid-row-selection/es6/RowSelection.js +14 -32
- package/lib/tr-grid-titlewrap/es6/TitleWrap.d.ts +2 -2
- package/lib/tr-grid-titlewrap/es6/TitleWrap.js +1 -1
- package/lib/tr-grid-util/es6/GridPlugin.js +52 -0
- package/lib/types/es6/Core/grid/Core.d.ts +2 -0
- package/lib/types/es6/InCellEditing.d.ts +3 -2
- package/lib/types/es6/RealtimeGrid/Grid.d.ts +5 -2
- package/lib/types/es6/RowFiltering.d.ts +1 -3
- package/lib/types/es6/TitleWrap.d.ts +2 -2
- package/lib/versions.json +14 -14
- package/package.json +1 -1
@@ -73,7 +73,6 @@ declare namespace Grid {
|
|
73
73
|
contentRightPadding?: number|null,
|
74
74
|
contentBottomPadding?: number|null,
|
75
75
|
dataConflationRate?: number|null,
|
76
|
-
dataComposed?: ((...params: any[]) => any)|null,
|
77
76
|
autoDateConversion?: boolean|null,
|
78
77
|
textSelect?: boolean|null,
|
79
78
|
lang?: string|null,
|
@@ -84,7 +83,11 @@ declare namespace Grid {
|
|
84
83
|
timeSeriesExpansion?: boolean|null,
|
85
84
|
childDataField?: string|null,
|
86
85
|
topSection?: boolean|null,
|
87
|
-
sorting?: SortableTitlePlugin.Options|null
|
86
|
+
sorting?: SortableTitlePlugin.Options|null,
|
87
|
+
dataComposed?: ((...params: any[]) => any)|null,
|
88
|
+
beforeContentBinding?: ((...params: any[]) => any)|null,
|
89
|
+
firstRendered?: ((...params: any[]) => any)|null,
|
90
|
+
afterContentBinding?: ((...params: any[]) => any)|null
|
88
91
|
};
|
89
92
|
|
90
93
|
type RowReference = number|string|RowDefinition|null;
|
package/lib/rt-grid/es6/Grid.js
CHANGED
@@ -76,7 +76,6 @@ import { ElementWrapper } from "../../core/es6/grid/components/ElementWrapper.js
|
|
76
76
|
* @property {number=} contentRightPadding=0 Padding that is added next to the right most column. The padding is still a part of scrollable content.
|
77
77
|
* @property {number=} contentBottomPadding=0 Padding that is added below the last section. The padding is still a part of scrollable content.
|
78
78
|
* @property {number=} dataConflationRate=0 set delay for data to avoid to much sorting operation when data changed
|
79
|
-
* @property {Function=} dataComposed Handler for dataComposed event
|
80
79
|
* @property {boolean=} autoDateConversion=false If enabled, date-time field with numeric value will be automatically converted to native date object.
|
81
80
|
* @property {boolean=} textSelect=false If enabled, user can select content text by using mouse drag.
|
82
81
|
* @property {string=} lang laguage for config localization date time, if null the default language is "en"
|
@@ -88,6 +87,10 @@ import { ElementWrapper } from "../../core/es6/grid/components/ElementWrapper.js
|
|
88
87
|
* @property {string=} childDataField=CHILD_VALUES The given field will be used to store children's static data, such as row color assignment.
|
89
88
|
* @property {boolean=} topSection=true If disabled, title section will not be rendered
|
90
89
|
* @property {SortableTitlePlugin~Options=} sorting Options for sorting
|
90
|
+
* @property {Function=} dataComposed Handler for dataComposed event
|
91
|
+
* @property {Function=} beforeContentBinding Handler for beforeContentBinding event
|
92
|
+
* @property {Function=} firstRendered Handler for firstRendered event
|
93
|
+
* @property {Function=} afterContentBinding Handler for afterContentBinding event
|
91
94
|
*/
|
92
95
|
|
93
96
|
/** @typedef {number|string|RowDefinition} Grid~RowReference
|
@@ -158,6 +161,16 @@ import { ElementWrapper } from "../../core/es6/grid/components/ElementWrapper.js
|
|
158
161
|
* @description Trigger before content binding.
|
159
162
|
*/
|
160
163
|
|
164
|
+
/** @event Grid#firstRendered
|
165
|
+
* @property {Object} e Event of firstRendered
|
166
|
+
* @description This event is triggered when the content is rendered for the first time.
|
167
|
+
*/
|
168
|
+
|
169
|
+
/** @event Grid#afterContentBinding
|
170
|
+
* @property {Object} e Event of afterContentBinding
|
171
|
+
* @description Trigger after content binding.
|
172
|
+
*/
|
173
|
+
|
161
174
|
/** @event Grid#beforeRowRemoved
|
162
175
|
* @description Fired only when a row will be removed through Grid's API and before occurring of the actual removal
|
163
176
|
*/
|
@@ -312,7 +325,6 @@ var Grid = function(placeholder, config) {
|
|
312
325
|
t.updateColumnTitle = t.updateColumnTitle.bind(t);
|
313
326
|
t._populateTimeSeriesChildren = t._populateTimeSeriesChildren.bind(t);
|
314
327
|
|
315
|
-
t._onBeforeContentBinding = t._onBeforeContentBinding.bind(t);
|
316
328
|
t._onPostSectionDataBinding = t._onPostSectionDataBinding.bind(t);
|
317
329
|
t._asyncClearDataUpdates = t._asyncClearDataUpdates.bind(t);
|
318
330
|
t._clearDataUpdates = t._clearDataUpdates.bind(t);
|
@@ -405,9 +417,11 @@ var Grid = function(placeholder, config) {
|
|
405
417
|
t._grid.loadPlugin(t._stp, config);
|
406
418
|
}
|
407
419
|
|
408
|
-
t._grid.listen("beforeContentBinding", t.
|
420
|
+
t._grid.listen("beforeContentBinding", t._dispatch.bind(t, "beforeContentBinding"));
|
409
421
|
t._grid.listen("preSectionRender", t._onColumnHeaderBinding);
|
410
422
|
t._grid.listen("postSectionDataBinding", t._onPostSectionDataBinding);
|
423
|
+
t._grid.listen("firstRendered", t._dispatch.bind(t, "firstRendered"));
|
424
|
+
t._grid.listen("afterContentBinding", t._dispatch.bind(t, "afterContentBinding"));
|
411
425
|
|
412
426
|
t._grid.enableRowHighlighting(true);
|
413
427
|
|
@@ -815,6 +829,7 @@ Grid.prototype.initialize = function(gridOption) {
|
|
815
829
|
var t = this; // For minimizing file size
|
816
830
|
t._initializing = true;
|
817
831
|
var grid = t._grid; // core grid
|
832
|
+
grid.resetInternalState();
|
818
833
|
gridOption = grid.normalizeConfig(gridOption);
|
819
834
|
|
820
835
|
var exts = gridOption["plugins"] || gridOption["extensions"];
|
@@ -921,10 +936,10 @@ Grid.prototype.initialize = function(gridOption) {
|
|
921
936
|
t.listen("rowExpansionBinding", rowExpansionBinding);
|
922
937
|
}
|
923
938
|
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
939
|
+
this.addListener(gridOption, "dataComposed");
|
940
|
+
this.addListener(gridOption, "beforeContentBinding");
|
941
|
+
this.addListener(gridOption, "firstRendered");
|
942
|
+
this.addListener(gridOption, "afterContentBinding");
|
928
943
|
|
929
944
|
if(gridOption["autoDateConversion"]) {
|
930
945
|
t._autoDateConversion = true;
|
@@ -2580,7 +2595,6 @@ Grid.prototype.removeAllRows = function() {
|
|
2580
2595
|
|
2581
2596
|
// TODO: This logic should also be in the core grid
|
2582
2597
|
this._grid.getVScrollbar().setScrollTop(0);
|
2583
|
-
this._grid.getHScrollbar().setScrollLeft(0);
|
2584
2598
|
};
|
2585
2599
|
/** WARNING: This does not remove data stored in the data cache
|
2586
2600
|
* @private
|
@@ -3538,13 +3552,6 @@ Grid.prototype._mainSorter = function (rowDefA, rowDefB, order) {
|
|
3538
3552
|
return this._columnSorter(rowDefA, rowDefB, order);
|
3539
3553
|
};
|
3540
3554
|
|
3541
|
-
/** @private
|
3542
|
-
* @param {Object} e
|
3543
|
-
*/
|
3544
|
-
Grid.prototype._onBeforeContentBinding = function(e) {
|
3545
|
-
this._dispatch("beforeContentBinding", e);
|
3546
|
-
};
|
3547
|
-
|
3548
3555
|
/** @private
|
3549
3556
|
* @param {Object} e
|
3550
3557
|
*/
|
@@ -1405,44 +1405,24 @@ ColumnSelectionPlugin.prototype.selectByMouse = function (colIndex, mouseEvt) {
|
|
1405
1405
|
mouseEvt = {};
|
1406
1406
|
}
|
1407
1407
|
|
1408
|
-
|
1409
|
-
|
1410
|
-
|
1411
|
-
mouseEvt.target = cell ? cell.getElement() : null;
|
1412
|
-
}
|
1408
|
+
mouseEvt.sectionType = "title";
|
1409
|
+
|
1410
|
+
var eventObj = this._mockMouseEvent(colIndex, 0, mouseEvt);
|
1413
1411
|
|
1414
|
-
this._onClick(
|
1412
|
+
this._onClick(eventObj);
|
1415
1413
|
};
|
1416
1414
|
/** @public
|
1417
1415
|
* @description Select a specified column by a keyboard input. This is for testing purpose.
|
1418
1416
|
* @ignore
|
1419
|
-
* @param {number|string} keyCode Use "left" ,
|
1417
|
+
* @param {number|string} keyCode Use key code number or "left" ,"right" or "tab" string
|
1420
1418
|
* @param {Object=} keyboardEvt
|
1421
1419
|
*/
|
1422
1420
|
|
1423
1421
|
|
1424
1422
|
ColumnSelectionPlugin.prototype.selectByKey = function (keyCode, keyboardEvt) {
|
1425
|
-
|
1426
|
-
keyboardEvt = {};
|
1427
|
-
}
|
1428
|
-
|
1429
|
-
if (keyCode) {
|
1430
|
-
if (keyCode === "left") {
|
1431
|
-
keyboardEvt.keyCode = 37;
|
1432
|
-
} else if (keyCode === "right") {
|
1433
|
-
keyboardEvt.keyCode = 39;
|
1434
|
-
} else if (keyCode === "tab") {
|
1435
|
-
keyboardEvt.keyCode = 9;
|
1436
|
-
} else if (typeof keyCode === "number") {
|
1437
|
-
keyboardEvt.keyCode = keyCode;
|
1438
|
-
}
|
1439
|
-
}
|
1440
|
-
|
1441
|
-
keyboardEvt.preventDefault = function () {};
|
1442
|
-
|
1443
|
-
keyboardEvt.stopPropagation = function () {};
|
1423
|
+
var eventObj = this._mockKeyboardEvent(keyCode, keyboardEvt);
|
1444
1424
|
|
1445
|
-
this._onKeyDown(
|
1425
|
+
this._onKeyDown(eventObj);
|
1446
1426
|
};
|
1447
1427
|
|
1448
1428
|
export default ColumnSelectionPlugin;
|
@@ -677,6 +677,12 @@ ColumnStackPlugin.prototype._updateUI = function() {
|
|
677
677
|
}
|
678
678
|
this._updating = false;
|
679
679
|
};
|
680
|
+
/** @private */
|
681
|
+
ColumnStackPlugin.prototype._forceUpdateUI = function() {
|
682
|
+
this._conflator.disable();
|
683
|
+
this._updateUI();
|
684
|
+
this._conflator.enable();
|
685
|
+
};
|
680
686
|
/** @private
|
681
687
|
* @param {number} colIndex
|
682
688
|
* @param {boolean} collapsed
|
@@ -1365,7 +1371,7 @@ ColumnStackPlugin.prototype._onPreSectionRender = function (e) {
|
|
1365
1371
|
if (e["sectionType"] !== "title") {
|
1366
1372
|
return;
|
1367
1373
|
}
|
1368
|
-
this.
|
1374
|
+
this._forceUpdateUI();
|
1369
1375
|
};
|
1370
1376
|
/** @private
|
1371
1377
|
* @param {Object} e
|
@@ -564,7 +564,6 @@ FilterInputPlugin.prototype._createFilterUI = function (colOpt) {
|
|
564
564
|
case "ef-combo-box":
|
565
565
|
elem.multiple = true;
|
566
566
|
elem.data = CoralItems.create(colOpt.entries);
|
567
|
-
elem.addEventListener("opened-changed", this._onOpenedChanged, false);
|
568
567
|
|
569
568
|
if (elemTrigger != false && elemTrigger != "") {
|
570
569
|
elem.addEventListener("value-changed", this._onInputChanged, false);
|
@@ -1023,7 +1022,7 @@ FilterInputPlugin._rtCompareRow = function (filterOptions, rowData, rid) {
|
|
1023
1022
|
};
|
1024
1023
|
/** @private
|
1025
1024
|
* @function
|
1026
|
-
* @param {Array<string>} ary
|
1025
|
+
* @param {Array<string|number>} ary
|
1027
1026
|
* @return {Object}
|
1028
1027
|
*/
|
1029
1028
|
|
@@ -1035,7 +1034,14 @@ FilterInputPlugin._createMapObject = function (ary) {
|
|
1035
1034
|
var count = ary.length;
|
1036
1035
|
|
1037
1036
|
for (var i = 0; i < count; i++) {
|
1038
|
-
var
|
1037
|
+
var key = ary[i];
|
1038
|
+
|
1039
|
+
if (key == null || key === "") {
|
1040
|
+
continue;
|
1041
|
+
}
|
1042
|
+
|
1043
|
+
var str = FilterInputPlugin._transformToLowercaseString(key);
|
1044
|
+
|
1039
1045
|
textMap[str] = true;
|
1040
1046
|
}
|
1041
1047
|
}
|
@@ -18,7 +18,7 @@ declare namespace InCellEditingPlugin {
|
|
18
18
|
popupElement?: Element|null,
|
19
19
|
doubleClick?: boolean|null,
|
20
20
|
tabToMove?: boolean|null,
|
21
|
-
contentSource?:
|
21
|
+
contentSource?: string|null,
|
22
22
|
inlineStyling?: boolean|null,
|
23
23
|
disablingScroll?: boolean|null,
|
24
24
|
uiBlocking?: boolean|null,
|
@@ -30,7 +30,8 @@ declare namespace InCellEditingPlugin {
|
|
30
30
|
beforeRowCommit?: ((...params: any[]) => any)|null,
|
31
31
|
rowEditorClosed?: ((...params: any[]) => any)|null,
|
32
32
|
autoSuggest?: Element|null,
|
33
|
-
closingOnScroll?: boolean|null
|
33
|
+
closingOnScroll?: boolean|null,
|
34
|
+
autoHiding?: boolean|null
|
34
35
|
};
|
35
36
|
|
36
37
|
type Cache = {
|
@@ -17,7 +17,7 @@ import { CoralItems } from "../../tr-grid-util/es6/CoralItems.js";
|
|
17
17
|
* @property {Element=} popupElement=null Element to be attached under the editor
|
18
18
|
* @property {boolean=} doubleClick=true If disabled, double click will not trigger editor
|
19
19
|
* @property {boolean=} tabToMove=false If enabled, pressing tab key while editor is active will open editor on the next editable cell.
|
20
|
-
* @property {
|
20
|
+
* @property {string=} contentSource="textContent" By default, the text in the editor will be populated with textContent of the target cell. Use "field" to populated data from grid's data model. Use "empty" to shows empty editor.
|
21
21
|
* @property {boolean=} inlineStyling=false force inline styles regardless of elf version.
|
22
22
|
* @property {boolean=} disablingScroll=false Scrollbar will be frozen when editor opened. Deprecated in favor of uiBlocking
|
23
23
|
* @property {boolean=} uiBlocking=false append transparent overlay to block ui interaction
|
@@ -29,7 +29,8 @@ import { CoralItems } from "../../tr-grid-util/es6/CoralItems.js";
|
|
29
29
|
* @property {Function=} beforeRowCommit=null Handler before committing from all editors in the row
|
30
30
|
* @property {Function=} rowEditorClosed=null Handler after closing of all editors
|
31
31
|
* @property {Element=} autoSuggest=null Element of ef-autosuggest or atlas-autosuggest for handled with input cell
|
32
|
-
* @property {boolean=} closingOnScroll=true If disabled,
|
32
|
+
* @property {boolean=} closingOnScroll=true If disabled, the editor will not be automatically closed when scrolling grid.
|
33
|
+
* @property {boolean=} autoHiding=true If disabled, the editor will not be automatically closed when losing its focus.
|
33
34
|
*/
|
34
35
|
|
35
36
|
/** @typedef {Object} InCellEditingPlugin~Cache
|
@@ -337,6 +338,10 @@ InCellEditingPlugin.prototype._rowClosing = false;
|
|
337
338
|
* @private
|
338
339
|
*/
|
339
340
|
InCellEditingPlugin.prototype._closingOnScroll = true;
|
341
|
+
/** @type {boolean}
|
342
|
+
* @private
|
343
|
+
*/
|
344
|
+
InCellEditingPlugin.prototype._autoHiding = true;
|
340
345
|
/** @type {number}
|
341
346
|
* @private
|
342
347
|
*/
|
@@ -627,6 +632,9 @@ InCellEditingPlugin.prototype.config = function (options) {
|
|
627
632
|
if (pluginOption["closingOnScroll"] == false) {
|
628
633
|
t._closingOnScroll = false;
|
629
634
|
}
|
635
|
+
if (pluginOption["autoHiding"] == false) {
|
636
|
+
t._autoHiding = false;
|
637
|
+
}
|
630
638
|
|
631
639
|
// event callback
|
632
640
|
t.addListener(pluginOption, "preEditorOpening");
|
@@ -638,6 +646,25 @@ InCellEditingPlugin.prototype.config = function (options) {
|
|
638
646
|
t.addListener(pluginOption, "rowEditorClosed");
|
639
647
|
};
|
640
648
|
|
649
|
+
/** @private
|
650
|
+
* @param {Object} obj
|
651
|
+
* @param {string} propName
|
652
|
+
* @param {boolean} propValue
|
653
|
+
* @param {boolean} defaultValue
|
654
|
+
* @returns {number} dirty
|
655
|
+
*/
|
656
|
+
var _setBooleanOption = function _setBooleanOption(obj, propName, propValue, defaultValue) {
|
657
|
+
if (defaultValue) {
|
658
|
+
if (!propValue) {
|
659
|
+
obj[propName] = false;
|
660
|
+
return true;
|
661
|
+
}
|
662
|
+
} else if (propValue) {
|
663
|
+
obj[propName] = true;
|
664
|
+
return true;
|
665
|
+
}
|
666
|
+
return false;
|
667
|
+
};
|
641
668
|
/** Get a current state of grid and extension config
|
642
669
|
* @public
|
643
670
|
* @param {Object=} out_obj
|
@@ -680,20 +707,28 @@ InCellEditingPlugin.prototype.getConfigObject = function (out_obj) {
|
|
680
707
|
}
|
681
708
|
}
|
682
709
|
var extOptions = obj.inCellEditing;
|
710
|
+
var dirty = 0;
|
683
711
|
if (!extOptions) {
|
684
|
-
extOptions =
|
685
|
-
}
|
686
|
-
extOptions
|
687
|
-
extOptions
|
688
|
-
extOptions
|
689
|
-
extOptions
|
690
|
-
extOptions
|
691
|
-
extOptions
|
692
|
-
extOptions
|
693
|
-
extOptions
|
694
|
-
extOptions
|
695
|
-
extOptions
|
696
|
-
extOptions
|
712
|
+
extOptions = {};
|
713
|
+
}
|
714
|
+
dirty |= _setBooleanOption(extOptions, "balloonMode", this._balloonMode, false);
|
715
|
+
dirty |= _setBooleanOption(extOptions, "editableTitle", this._editableTitle, false);
|
716
|
+
dirty |= _setBooleanOption(extOptions, "tabToMove", this._tabToMove, false);
|
717
|
+
dirty |= _setBooleanOption(extOptions, "autoCommitText", this._autoCommitText, false);
|
718
|
+
dirty |= _setBooleanOption(extOptions, "dataBinding", this._dataBinding, true);
|
719
|
+
dirty |= _setBooleanOption(extOptions, "doubleClick", this._dblClick, true);
|
720
|
+
dirty |= _setBooleanOption(extOptions, "inlineStyling", this._inlineStyling, false);
|
721
|
+
dirty |= _setBooleanOption(extOptions, "disablingScroll", this._disablingScroll, false);
|
722
|
+
dirty |= _setBooleanOption(extOptions, "uiBlocking", this._uiBlocking, false);
|
723
|
+
dirty |= _setBooleanOption(extOptions, "closingOnScroll", this._closingOnScroll, true);
|
724
|
+
dirty |= _setBooleanOption(extOptions, "autoHiding", this._autoHiding, true);
|
725
|
+
if (this._contentSource !== "textContent") {
|
726
|
+
dirty = 1;
|
727
|
+
extOptions.contentSource = this._contentSource;
|
728
|
+
}
|
729
|
+
if (dirty) {
|
730
|
+
obj.inCellEditing = extOptions;
|
731
|
+
}
|
697
732
|
return obj;
|
698
733
|
};
|
699
734
|
|
@@ -1081,6 +1116,9 @@ InCellEditingPlugin.prototype._openEditor = function (e, host, arg) {
|
|
1081
1116
|
arg["segmentSeparator"] = dataSource.isSegmentSeparator(rowId);
|
1082
1117
|
arg["groupHeader"] = dataSource.getGroupByRowId(rowId);
|
1083
1118
|
arg["rowData"] = this._getRow(dataSource, rowId);
|
1119
|
+
if (dataSource["stall"]) {
|
1120
|
+
dataSource["stall"](true);
|
1121
|
+
}
|
1084
1122
|
}
|
1085
1123
|
|
1086
1124
|
// Initialize UIs
|
@@ -1142,7 +1180,7 @@ InCellEditingPlugin.prototype._openEditor = function (e, host, arg) {
|
|
1142
1180
|
}
|
1143
1181
|
balloonPopup.enableUIBlocking(t._uiBlocking);
|
1144
1182
|
balloonPopup.addEventListener("hidden", t._onPopupHide);
|
1145
|
-
balloonPopup.disableAutoHiding(
|
1183
|
+
balloonPopup.disableAutoHiding(!t._autoHiding);
|
1146
1184
|
balloonPopup.disableHideOnScroll(true);
|
1147
1185
|
balloonPopup.attachTo(cell.getElement());
|
1148
1186
|
balloonPopup.show(true, parentElement);
|
@@ -1675,8 +1713,17 @@ InCellEditingPlugin.prototype._commitText = function (committed, suggestionDetai
|
|
1675
1713
|
t._activeInCellCache.balloonPopup.hide();
|
1676
1714
|
}
|
1677
1715
|
Dom.removeParent(t._customElement);
|
1678
|
-
|
1679
|
-
|
1716
|
+
var grid = arg["grid"];
|
1717
|
+
if (grid) {
|
1718
|
+
t._freezeScrolling(grid, false);
|
1719
|
+
grid.focus();
|
1720
|
+
}
|
1721
|
+
var dataSource = arg["dataSource"];
|
1722
|
+
if (dataSource) {
|
1723
|
+
if (dataSource["stall"]) {
|
1724
|
+
dataSource["stall"](false);
|
1725
|
+
}
|
1726
|
+
}
|
1680
1727
|
t._activePos = t._activeCell = t._prevContent = t._lastActiveGrid = t._activeInCellCache = null;
|
1681
1728
|
};
|
1682
1729
|
|
@@ -8,7 +8,7 @@ declare class CellWriter extends ElementWrapper {
|
|
8
8
|
|
9
9
|
public getContent(): Node|null|null;
|
10
10
|
|
11
|
-
public setContent(content: any, opt_tooltip?: boolean): Element|null;
|
11
|
+
public setContent(content: any, opt_tooltip?: boolean|null): Element|null;
|
12
12
|
|
13
13
|
public setTooltip(str: string): void;
|
14
14
|
|
@@ -20,7 +20,7 @@ declare class CellWriter extends ElementWrapper {
|
|
20
20
|
|
21
21
|
public removeIcon(n: any): void;
|
22
22
|
|
23
|
-
public updateIcon(elem: Element): void;
|
23
|
+
public updateIcon(elem: Element|null): void;
|
24
24
|
|
25
25
|
public unlisten(): void;
|
26
26
|
|
@@ -36,13 +36,13 @@ declare class CellWriter extends ElementWrapper {
|
|
36
36
|
|
37
37
|
public enableClass(str: string, bool: boolean): void;
|
38
38
|
|
39
|
-
public insertFloatingIcon(elem: Element, order: number): void;
|
39
|
+
public insertFloatingIcon(elem: Element|null, order: number): void;
|
40
40
|
|
41
|
-
public removeFloatingIcon(elemRef: string|Element, order: number): void;
|
41
|
+
public removeFloatingIcon(elemRef: string|Element|null, order: number): void;
|
42
42
|
|
43
43
|
public getSection(): null;
|
44
44
|
|
45
|
-
public cloak(elem: Element): void;
|
45
|
+
public cloak(elem: Element|null): void;
|
46
46
|
|
47
47
|
}
|
48
48
|
|
@@ -10,16 +10,16 @@ var CellWriter = function () {
|
|
10
10
|
};
|
11
11
|
Ext.inherits(CellWriter, ElementWrapper);
|
12
12
|
|
13
|
-
/** @
|
14
|
-
* @
|
13
|
+
/** @private
|
14
|
+
* @type {Element}
|
15
15
|
*/
|
16
16
|
CellWriter.prototype._flexRow = null;
|
17
|
-
/** @
|
18
|
-
* @
|
17
|
+
/** @private
|
18
|
+
* @type {Element}
|
19
19
|
*/
|
20
20
|
CellWriter.prototype._floatingPanel = null;
|
21
|
-
/** @
|
22
|
-
* @
|
21
|
+
/** @private
|
22
|
+
* @type {Element}
|
23
23
|
*/
|
24
24
|
CellWriter.prototype._frontPanel = null;
|
25
25
|
|
@@ -7,13 +7,13 @@ import { SectionWriter } from "./SectionWriter.js";
|
|
7
7
|
|
8
8
|
declare namespace GridPrinter {
|
9
9
|
|
10
|
-
function setPrintOptions(options: GridPrinter.Options): void;
|
10
|
+
function setPrintOptions(options: GridPrinter.Options|null): void;
|
11
11
|
|
12
|
-
function observe(iFrameElement?: HTMLIFrameElement): void;
|
12
|
+
function observe(iFrameElement?: HTMLIFrameElement|null): void;
|
13
13
|
|
14
14
|
function unobserve(): void;
|
15
15
|
|
16
|
-
function enableDebugMode(bool?: boolean): void;
|
16
|
+
function enableDebugMode(bool?: boolean|null): void;
|
17
17
|
|
18
18
|
function getPreFlightInfo(grid: any, options?: any): any;
|
19
19
|
|
@@ -22,11 +22,12 @@ declare namespace GridPrinter {
|
|
22
22
|
function print(grid: any): void;
|
23
23
|
|
24
24
|
type Options = {
|
25
|
-
pageWidth?: number,
|
26
|
-
pageHeight?: number,
|
27
|
-
primaryColumn?: number
|
25
|
+
pageWidth?: number|null,
|
26
|
+
pageHeight?: number|null,
|
27
|
+
primaryColumn?: number|null
|
28
28
|
};
|
29
29
|
|
30
30
|
}
|
31
31
|
|
32
|
+
export default GridPrinter;
|
32
33
|
export { GridPrinter };
|
@@ -134,7 +134,7 @@ var _getCoreGrid = function (grid) {
|
|
134
134
|
return core;
|
135
135
|
};
|
136
136
|
|
137
|
-
/** @
|
137
|
+
/** @namespace
|
138
138
|
*/
|
139
139
|
var GridPrinter = {};
|
140
140
|
/** @private
|
@@ -647,7 +647,7 @@ GridPrinter._applyCss = function () {
|
|
647
647
|
};
|
648
648
|
|
649
649
|
/** @public
|
650
|
-
* @param {*} grid grid element, currently supports atlas-blotter, ef-grid, tr.CompositeGrid, rt.Grid and Core
|
650
|
+
* @param {*} grid grid element, currently supports efx-grid, atlas-blotter, ef-grid, tr.CompositeGrid, rt.Grid and Core
|
651
651
|
*/
|
652
652
|
GridPrinter.print = function (grid) {
|
653
653
|
var core = null;
|
@@ -771,4 +771,6 @@ GridPrinter._onAfterPrint = function (e) {
|
|
771
771
|
GridPrinter.Options;
|
772
772
|
|
773
773
|
|
774
|
+
|
775
|
+
export default GridPrinter;
|
774
776
|
export { GridPrinter };
|
@@ -29,7 +29,7 @@ declare class SectionWriter extends ElementWrapper {
|
|
29
29
|
|
30
30
|
public enableRowClass(rowIndex: number, className: string, enabled: boolean): void;
|
31
31
|
|
32
|
-
public stretchCell(colIndex: number, rowIndex: number, opt_stretching?: boolean, opt_noLeftStretching?: boolean): void;
|
32
|
+
public stretchCell(colIndex: number, rowIndex: number, opt_stretching?: boolean|null, opt_noLeftStretching?: boolean|null): void;
|
33
33
|
|
34
34
|
public hasCellSpan(): boolean;
|
35
35
|
|
@@ -465,6 +465,7 @@ RowDraggingPlugin.prototype.getConfigObject = function (out_obj) {
|
|
465
465
|
if(!extOptions) {
|
466
466
|
extOptions = obj.rowDragging = {};
|
467
467
|
}
|
468
|
+
// TODO: should not assign the config object if it's a default value
|
468
469
|
extOptions.dragBox = this._dragBoxEnabled;
|
469
470
|
extOptions.mouseInput = this._mouseInput;
|
470
471
|
extOptions.autoScroll = this._autoScroll;
|
@@ -474,6 +475,70 @@ RowDraggingPlugin.prototype.getConfigObject = function (out_obj) {
|
|
474
475
|
return obj;
|
475
476
|
};
|
476
477
|
|
478
|
+
/** Drag start to simulate "dragStart" event for testing purpose
|
479
|
+
* @ignore
|
480
|
+
* @param {number} rowIndex
|
481
|
+
* @param {*=} mouseEvt
|
482
|
+
*/
|
483
|
+
RowDraggingPlugin.prototype.dragStart = function (rowIndex, mouseEvt) {
|
484
|
+
// dragstart event
|
485
|
+
if(!mouseEvt) {
|
486
|
+
mouseEvt = {};
|
487
|
+
}
|
488
|
+
mouseEvt["type"] = "dragstart";
|
489
|
+
var core = this._hosts[0];
|
490
|
+
var cell = core ? core.getCell("content", 0, rowIndex) : null;
|
491
|
+
mouseEvt.target = cell ? cell.getElement() : null;
|
492
|
+
this._onMouseDown(mouseEvt);
|
493
|
+
this.startDrag(mouseEvt);
|
494
|
+
};
|
495
|
+
|
496
|
+
/** Move mouse to drag cell for testing purpose
|
497
|
+
* @public
|
498
|
+
* @ignore
|
499
|
+
* @param {number} rowIndex
|
500
|
+
* @param {*=} mouseEvt
|
501
|
+
*/
|
502
|
+
RowDraggingPlugin.prototype.dragMove = function (rowIndex, mouseEvt) {
|
503
|
+
// mousemove, touchmove event
|
504
|
+
if(!mouseEvt) {
|
505
|
+
mouseEvt = {};
|
506
|
+
}
|
507
|
+
mouseEvt["type"] = "mousemove";
|
508
|
+
mouseEvt["which"] = 1; // Simulation of mouse down and move
|
509
|
+
var core = this._hosts[0];
|
510
|
+
var cell = core ? core.getCell("content", 0, rowIndex) : null;
|
511
|
+
var cellRelativePosition = core.getRelativePosition(cell); // get relative position of cell only when dragging for calculate dragBox
|
512
|
+
|
513
|
+
mouseEvt.clientX = cellRelativePosition.x;
|
514
|
+
mouseEvt.pageY = cellRelativePosition.y;
|
515
|
+
mouseEvt.target = cell ? cell.getElement() : null;
|
516
|
+
mouseEvt.stopPropagation = function() {};
|
517
|
+
mouseEvt.preventDefault = function() {};
|
518
|
+
this._onMouseMove(mouseEvt);
|
519
|
+
|
520
|
+
};
|
521
|
+
|
522
|
+
/** Mouse up to end of drag for testing purpose
|
523
|
+
* @public
|
524
|
+
* @ignore
|
525
|
+
* @param {number} rowIndex
|
526
|
+
* @param {*=} mouseEvt
|
527
|
+
*/
|
528
|
+
RowDraggingPlugin.prototype.dragEnd = function (rowIndex, mouseEvt) {
|
529
|
+
// mouseup, touchend, touchcancel event
|
530
|
+
if(!mouseEvt) {
|
531
|
+
mouseEvt = {};
|
532
|
+
}
|
533
|
+
mouseEvt["type"] = "mouseup";
|
534
|
+
var core = this._hosts[0];
|
535
|
+
var cell = core ? core.getCell("content", 0, rowIndex) : null;
|
536
|
+
mouseEvt.target = cell ? cell.getElement() : null;
|
537
|
+
mouseEvt.stopPropagation = function() {};
|
538
|
+
mouseEvt.preventDefault = function() {};
|
539
|
+
this._onDragEnd(mouseEvt);
|
540
|
+
};
|
541
|
+
|
477
542
|
/** @public
|
478
543
|
* @param {*=} startRef
|
479
544
|
*/
|
@@ -113,8 +113,6 @@ declare class RowFilteringPlugin extends GridPlugin {
|
|
113
113
|
|
114
114
|
public getColumnFilterStates(): any[];
|
115
115
|
|
116
|
-
public getUniqueValues(field: string, formatter?: ((...params: any[]) => any)|null, fmtField?: string|null, rawDataAccessor?: ((...params: any[]) => any)|null, formattedDataAccessor?: ((...params: any[]) => any)|null): any;
|
117
|
-
|
118
116
|
public openDialog(colIndex: number, runtimeDialogOptions?: RowFilteringPlugin.FilterDialogOptions|null): void;
|
119
117
|
|
120
118
|
public enableEmptySegmentFiltering(enabled?: boolean|null): void;
|
@@ -123,7 +121,7 @@ declare class RowFilteringPlugin extends GridPlugin {
|
|
123
121
|
|
124
122
|
}
|
125
123
|
|
126
|
-
declare function
|
124
|
+
declare function colSettings(colIndex: number, exp: RowFilteringPlugin.Expression|null, ctx?: (any|string)|null): boolean;
|
127
125
|
|
128
126
|
declare function crf(enabled?: boolean|null): void;
|
129
127
|
|