@guiexpert/table 0.0.1
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/esm2020/guiexpert-table.mjs +5 -0
- package/esm2020/index.mjs +102 -0
- package/esm2020/lib/table/action/action-id.type.mjs +20 -0
- package/esm2020/lib/table/action/on-action-triggered.if.mjs +2 -0
- package/esm2020/lib/table/action/osx-shortcut-actionId-mapping.mjs +17 -0
- package/esm2020/lib/table/action/shortcut-actionid-mapping.type.mjs +2 -0
- package/esm2020/lib/table/action/shortcut.service.mjs +105 -0
- package/esm2020/lib/table/action/windows-shortcut-actionId-mapping.mjs +15 -0
- package/esm2020/lib/table/checkbox/checkbox-model.if.mjs +2 -0
- package/esm2020/lib/table/checkbox/checkbox-model.mjs +52 -0
- package/esm2020/lib/table/checkbox/tree-checkbox-model.mjs +106 -0
- package/esm2020/lib/table/data/common/aligns.mjs +19 -0
- package/esm2020/lib/table/data/common/area-map-factory.mjs +7 -0
- package/esm2020/lib/table/data/common/area-map.mjs +8 -0
- package/esm2020/lib/table/data/common/area-map.type.mjs +2 -0
- package/esm2020/lib/table/data/common/args-adjust-columns-to-row-parent-params.mjs +2 -0
- package/esm2020/lib/table/data/common/args-render-cell-div.mjs +2 -0
- package/esm2020/lib/table/data/common/boolean-function.mjs +3 -0
- package/esm2020/lib/table/data/common/cell-range.mjs +27 -0
- package/esm2020/lib/table/data/common/checkbox-column.mjs +15 -0
- package/esm2020/lib/table/data/common/checked-type.mjs +2 -0
- package/esm2020/lib/table/data/common/event/ge-cell-indices.mjs +7 -0
- package/esm2020/lib/table/data/common/event/ge-key-event.mjs +7 -0
- package/esm2020/lib/table/data/common/event/ge-model-change-event.mjs +10 -0
- package/esm2020/lib/table/data/common/event/ge-mouse-event.mjs +19 -0
- package/esm2020/lib/table/data/common/filter-function.mjs +2 -0
- package/esm2020/lib/table/data/common/get-t.mjs +2 -0
- package/esm2020/lib/table/data/common/index-and-px.mjs +7 -0
- package/esm2020/lib/table/data/common/size.if.mjs +2 -0
- package/esm2020/lib/table/data/common/size.mjs +7 -0
- package/esm2020/lib/table/data/common/sizes.mjs +33 -0
- package/esm2020/lib/table/data/common/sort-item.mjs +7 -0
- package/esm2020/lib/table/data/common/sort-state.type.mjs +2 -0
- package/esm2020/lib/table/data/common/tree-arrow.type.mjs +2 -0
- package/esm2020/lib/table/data/common/tree-row-if.mjs +2 -0
- package/esm2020/lib/table/data/common/tree-row.mjs +12 -0
- package/esm2020/lib/table/data/common/value-label.if.mjs +2 -0
- package/esm2020/lib/table/data/common/value-label.mjs +7 -0
- package/esm2020/lib/table/data/div-scope.type.mjs +2 -0
- package/esm2020/lib/table/data/geo-data.mjs +10 -0
- package/esm2020/lib/table/data/options/auto-restore-options.if.mjs +2 -0
- package/esm2020/lib/table/data/options/auto-restore-options.mjs +42 -0
- package/esm2020/lib/table/data/options/default-row-heights.if.mjs +2 -0
- package/esm2020/lib/table/data/options/default-row-heights.mjs +8 -0
- package/esm2020/lib/table/data/options/icon.if.mjs +2 -0
- package/esm2020/lib/table/data/options/icon.mjs +8 -0
- package/esm2020/lib/table/data/options/sorted-options.if.mjs +2 -0
- package/esm2020/lib/table/data/options/sorted-options.mjs +9 -0
- package/esm2020/lib/table/data/options/table-options.if.mjs +2 -0
- package/esm2020/lib/table/data/options/table-options.mjs +38 -0
- package/esm2020/lib/table/data/options/tree-options.if.mjs +2 -0
- package/esm2020/lib/table/data/options/tree-options.mjs +10 -0
- package/esm2020/lib/table/data/side-ident.type.mjs +2 -0
- package/esm2020/lib/table/data/tablemodel/area-ident.type.mjs +10 -0
- package/esm2020/lib/table/data/tablemodel/areamodel/abstract-area-model.mjs +108 -0
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-array-array.mjs +34 -0
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-hidden.mjs +76 -0
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.mjs +11 -0
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-object-array.mjs +79 -0
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-tree.mjs +166 -0
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model.if.mjs +2 -0
- package/esm2020/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.mjs +48 -0
- package/esm2020/lib/table/data/tablemodel/column/column-def.if.mjs +2 -0
- package/esm2020/lib/table/data/tablemodel/column/column-def.mjs +32 -0
- package/esm2020/lib/table/data/tablemodel/padding.mjs +9 -0
- package/esm2020/lib/table/data/tablemodel/table-model.if.mjs +2 -0
- package/esm2020/lib/table/data/tablemodel/table-model.mjs +262 -0
- package/esm2020/lib/table/ele-scope.mjs +173 -0
- package/esm2020/lib/table/event-listener.if.mjs +2 -0
- package/esm2020/lib/table/focus/focus-model.if.mjs +2 -0
- package/esm2020/lib/table/focus/focus-model.mjs +22 -0
- package/esm2020/lib/table/focus/focus.type.mjs +2 -0
- package/esm2020/lib/table/input-handler.mjs +24 -0
- package/esm2020/lib/table/mouse-handler.mjs +197 -0
- package/esm2020/lib/table/render-scope.mjs +575 -0
- package/esm2020/lib/table/renderer/cell-render.if.mjs +2 -0
- package/esm2020/lib/table/renderer/checkbox-cell-renderer.mjs +22 -0
- package/esm2020/lib/table/renderer/date-to-int-date-cell-renderer.mjs +21 -0
- package/esm2020/lib/table/renderer/date-to-iso-cell-renderer.mjs +9 -0
- package/esm2020/lib/table/renderer/date-to-locale-date-cell-renderer.mjs +9 -0
- package/esm2020/lib/table/renderer/edit/edit-cell-renderer.type.mjs +2 -0
- package/esm2020/lib/table/renderer/edit/input-cell-renderer.mjs +23 -0
- package/esm2020/lib/table/renderer/edit/select-cell-renderer.mjs +35 -0
- package/esm2020/lib/table/renderer/male-female-to-icon-cell-renderer.mjs +12 -0
- package/esm2020/lib/table/renderer/number-cell-renderer.mjs +19 -0
- package/esm2020/lib/table/renderer/renderer-cleanup-fn.type.mjs +2 -0
- package/esm2020/lib/table/renderer/renderer.mjs +7 -0
- package/esm2020/lib/table/selection/selection-model.if.mjs +2 -0
- package/esm2020/lib/table/selection/selection-model.mjs +97 -0
- package/esm2020/lib/table/selection/selection-service.mjs +97 -0
- package/esm2020/lib/table/selection/selection.type.mjs +2 -0
- package/esm2020/lib/table/service/abstract-store-state.service.mjs +49 -0
- package/esm2020/lib/table/service/convenience-dom.service.mjs +386 -0
- package/esm2020/lib/table/service/data/collapsed-expanded.data.mjs +9 -0
- package/esm2020/lib/table/service/data/html-style.type.mjs +2 -0
- package/esm2020/lib/table/service/dom-service.if.mjs +2 -0
- package/esm2020/lib/table/service/ge-filter.service.mjs +98 -0
- package/esm2020/lib/table/service/sorter.service.mjs +27 -0
- package/esm2020/lib/table/service/store-state-collapsed-expand.service.mjs +57 -0
- package/esm2020/lib/table/service/store-state-scroll-pos.service.mjs +29 -0
- package/esm2020/lib/table/service/store-state-sorting.service.mjs +29 -0
- package/esm2020/lib/table/service/tree-row.service.mjs +23 -0
- package/esm2020/lib/table/table-api.mjs +38 -0
- package/esm2020/lib/table/table-model-factory.mjs +125 -0
- package/esm2020/lib/table/table-scope.mjs +307 -0
- package/index.d.ts +103 -0
- package/lib/table/action/action-id.type.d.ts +2 -0
- package/lib/table/action/on-action-triggered.if.d.ts +4 -0
- package/lib/table/action/osx-shortcut-actionId-mapping.d.ts +6 -0
- package/lib/table/action/shortcut-actionid-mapping.type.d.ts +4 -0
- package/lib/table/action/shortcut.service.d.ts +17 -0
- package/lib/table/action/windows-shortcut-actionId-mapping.d.ts +6 -0
- package/lib/table/checkbox/checkbox-model.d.ts +12 -0
- package/lib/table/checkbox/checkbox-model.if.d.ts +9 -0
- package/lib/table/checkbox/tree-checkbox-model.d.ts +17 -0
- package/lib/table/data/common/aligns.d.ts +24 -0
- package/lib/table/data/common/area-map-factory.d.ts +5 -0
- package/lib/table/data/common/area-map.d.ts +7 -0
- package/lib/table/data/common/area-map.type.d.ts +5 -0
- package/lib/table/data/common/args-adjust-columns-to-row-parent-params.d.ts +16 -0
- package/lib/table/data/common/args-render-cell-div.d.ts +13 -0
- package/lib/table/data/common/boolean-function.d.ts +3 -0
- package/lib/table/data/common/cell-range.d.ts +17 -0
- package/lib/table/data/common/checkbox-column.d.ts +13 -0
- package/lib/table/data/common/checked-type.d.ts +1 -0
- package/lib/table/data/common/event/ge-cell-indices.d.ts +5 -0
- package/lib/table/data/common/event/ge-key-event.d.ts +5 -0
- package/lib/table/data/common/event/ge-model-change-event.d.ts +6 -0
- package/lib/table/data/common/event/ge-mouse-event.d.ts +17 -0
- package/lib/table/data/common/filter-function.d.ts +1 -0
- package/lib/table/data/common/get-t.d.ts +1 -0
- package/lib/table/data/common/index-and-px.d.ts +5 -0
- package/lib/table/data/common/size.d.ts +6 -0
- package/lib/table/data/common/size.if.d.ts +4 -0
- package/lib/table/data/common/sizes.d.ts +32 -0
- package/lib/table/data/common/sort-item.d.ts +6 -0
- package/lib/table/data/common/sort-state.type.d.ts +1 -0
- package/lib/table/data/common/tree-arrow.type.d.ts +1 -0
- package/lib/table/data/common/tree-row-if.d.ts +10 -0
- package/lib/table/data/common/tree-row.d.ts +11 -0
- package/lib/table/data/common/value-label.d.ts +6 -0
- package/lib/table/data/common/value-label.if.d.ts +4 -0
- package/lib/table/data/div-scope.type.d.ts +7 -0
- package/lib/table/data/geo-data.d.ts +8 -0
- package/lib/table/data/options/auto-restore-options.d.ts +11 -0
- package/lib/table/data/options/auto-restore-options.if.d.ts +13 -0
- package/lib/table/data/options/default-row-heights.d.ts +7 -0
- package/lib/table/data/options/default-row-heights.if.d.ts +5 -0
- package/lib/table/data/options/icon.d.ts +7 -0
- package/lib/table/data/options/icon.if.d.ts +5 -0
- package/lib/table/data/options/sorted-options.d.ts +8 -0
- package/lib/table/data/options/sorted-options.if.d.ts +6 -0
- package/lib/table/data/options/table-options.d.ts +36 -0
- package/lib/table/data/options/table-options.if.d.ts +37 -0
- package/lib/table/data/options/tree-options.d.ts +9 -0
- package/lib/table/data/options/tree-options.if.d.ts +7 -0
- package/lib/table/data/side-ident.type.d.ts +1 -0
- package/lib/table/data/tablemodel/area-ident.type.d.ts +2 -0
- package/lib/table/data/tablemodel/areamodel/abstract-area-model.d.ts +43 -0
- package/lib/table/data/tablemodel/areamodel/area-model-array-array.d.ts +18 -0
- package/lib/table/data/tablemodel/areamodel/area-model-hidden.d.ts +32 -0
- package/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.d.ts +10 -0
- package/lib/table/data/tablemodel/areamodel/area-model-object-array.d.ts +27 -0
- package/lib/table/data/tablemodel/areamodel/area-model-tree.d.ts +39 -0
- package/lib/table/data/tablemodel/areamodel/area-model.if.d.ts +33 -0
- package/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.d.ts +12 -0
- package/lib/table/data/tablemodel/column/column-def.d.ts +46 -0
- package/lib/table/data/tablemodel/column/column-def.if.d.ts +22 -0
- package/lib/table/data/tablemodel/padding.d.ts +7 -0
- package/lib/table/data/tablemodel/table-model.d.ts +60 -0
- package/lib/table/data/tablemodel/table-model.if.d.ts +34 -0
- package/lib/table/ele-scope.d.ts +37 -0
- package/lib/table/event-listener.if.d.ts +11 -0
- package/lib/table/focus/focus-model.d.ts +12 -0
- package/lib/table/focus/focus-model.if.d.ts +6 -0
- package/lib/table/focus/focus.type.d.ts +1 -0
- package/lib/table/input-handler.d.ts +6 -0
- package/lib/table/mouse-handler.d.ts +27 -0
- package/lib/table/render-scope.d.ts +77 -0
- package/lib/table/renderer/cell-render.if.d.ts +7 -0
- package/lib/table/renderer/checkbox-cell-renderer.d.ts +8 -0
- package/lib/table/renderer/date-to-int-date-cell-renderer.d.ts +9 -0
- package/lib/table/renderer/date-to-iso-cell-renderer.d.ts +8 -0
- package/lib/table/renderer/date-to-locale-date-cell-renderer.d.ts +8 -0
- package/lib/table/renderer/edit/edit-cell-renderer.type.d.ts +2 -0
- package/lib/table/renderer/edit/input-cell-renderer.d.ts +8 -0
- package/lib/table/renderer/edit/select-cell-renderer.d.ts +12 -0
- package/lib/table/renderer/male-female-to-icon-cell-renderer.d.ts +8 -0
- package/lib/table/renderer/number-cell-renderer.d.ts +11 -0
- package/lib/table/renderer/renderer-cleanup-fn.type.d.ts +1 -0
- package/lib/table/renderer/renderer.d.ts +5 -0
- package/lib/table/selection/selection-model.d.ts +21 -0
- package/lib/table/selection/selection-model.if.d.ts +11 -0
- package/lib/table/selection/selection-service.d.ts +17 -0
- package/lib/table/selection/selection.type.d.ts +2 -0
- package/lib/table/service/abstract-store-state.service.d.ts +10 -0
- package/lib/table/service/convenience-dom.service.d.ts +44 -0
- package/lib/table/service/data/collapsed-expanded.data.d.ts +7 -0
- package/lib/table/service/data/html-style.type.d.ts +3 -0
- package/lib/table/service/dom-service.if.d.ts +9 -0
- package/lib/table/service/ge-filter.service.d.ts +5 -0
- package/lib/table/service/sorter.service.d.ts +3 -0
- package/lib/table/service/store-state-collapsed-expand.service.d.ts +15 -0
- package/lib/table/service/store-state-scroll-pos.service.d.ts +10 -0
- package/lib/table/service/store-state-sorting.service.d.ts +11 -0
- package/lib/table/service/tree-row.service.d.ts +5 -0
- package/lib/table/table-api.d.ts +16 -0
- package/lib/table/table-model-factory.d.ts +61 -0
- package/lib/table/table-scope.d.ts +55 -0
- package/package.json +25 -0
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import { GeMouseEvent } from "./data/common/event/ge-mouse-event";
|
|
2
|
+
import { ConvenienceDomService } from "./service/convenience-dom.service";
|
|
3
|
+
import { MouseHandler } from "./mouse-handler";
|
|
4
|
+
import { TableApi } from "./table-api";
|
|
5
|
+
import { AreaModelTree } from "./data/tablemodel/areamodel/area-model-tree";
|
|
6
|
+
import { StoreStateScrollPosService } from "./service/store-state-scroll-pos.service";
|
|
7
|
+
import { StoreStateCollapsedExpandService } from "./service/store-state-collapsed-expand.service";
|
|
8
|
+
import { StoreStateSortingService } from "./service/store-state-sorting.service";
|
|
9
|
+
import { RenderScope } from "./render-scope";
|
|
10
|
+
import { SortItem } from "./data/common/sort-item";
|
|
11
|
+
import { InputHandler } from "./input-handler";
|
|
12
|
+
import { GeModelChangeEvent } from "./data/common/event/ge-model-change-event";
|
|
13
|
+
import { SelectionService } from "./selection/selection-service";
|
|
14
|
+
import { ShortcutService } from "./action/shortcut.service";
|
|
15
|
+
export class TableScope extends RenderScope {
|
|
16
|
+
constructor(hostElement, tableModel, domService, tableOptions, eventListener) {
|
|
17
|
+
super(hostElement, tableModel, new ConvenienceDomService(domService), tableOptions);
|
|
18
|
+
this.eventListener = eventListener;
|
|
19
|
+
this.selectionService = new SelectionService(this);
|
|
20
|
+
this.api = new TableApi(this);
|
|
21
|
+
this.mouseStartAction = '';
|
|
22
|
+
this.mouseStartWidth = -1;
|
|
23
|
+
this.mouseStartColumnIndex = -1;
|
|
24
|
+
this.dragFrom = -1;
|
|
25
|
+
this.dragTo = -1;
|
|
26
|
+
if (this.tableOptions?.autoRestoreOptions) {
|
|
27
|
+
const autoRestoreOptions = this.tableOptions.autoRestoreOptions;
|
|
28
|
+
const keyFn = autoRestoreOptions.getStorageKeyFn;
|
|
29
|
+
if (keyFn) {
|
|
30
|
+
if (autoRestoreOptions.autoRestoreScrollPosition) {
|
|
31
|
+
this.storeScrollPosStateService = new StoreStateScrollPosService(keyFn);
|
|
32
|
+
}
|
|
33
|
+
if (autoRestoreOptions.autoRestoreCollapsedExpandedState) {
|
|
34
|
+
this.storeStateCollapsedExpandService = new StoreStateCollapsedExpandService(keyFn);
|
|
35
|
+
}
|
|
36
|
+
if (autoRestoreOptions.autoRestoreSortingState) {
|
|
37
|
+
this.storeSortingService = new StoreStateSortingService(keyFn);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
this.mouseHandler = new MouseHandler(this);
|
|
42
|
+
this.inputHandler = new InputHandler(this);
|
|
43
|
+
this.shortcutService = new ShortcutService(this);
|
|
44
|
+
this.shortcutService.addListener(this.selectionService);
|
|
45
|
+
}
|
|
46
|
+
onActionTriggered(actionId) {
|
|
47
|
+
if (actionId === 'START_EDITING') {
|
|
48
|
+
if (this.getFocusModel) {
|
|
49
|
+
const fm = this.getFocusModel();
|
|
50
|
+
if (fm) {
|
|
51
|
+
const [rowIdx, colIdx] = fm.getFocus();
|
|
52
|
+
if (this.tableModel.getBodyModel().isEditable(rowIdx, colIdx)) {
|
|
53
|
+
this.clearSelection();
|
|
54
|
+
this.initRenderEditor(rowIdx, colIdx);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
updateModelValue(areaIdent, rowIndex, columnIndex, value) {
|
|
62
|
+
if (areaIdent === 'body') {
|
|
63
|
+
const bodyAreaModel = this.tableModel.getAreaModel(areaIdent);
|
|
64
|
+
const ok = bodyAreaModel.setValue(rowIndex, columnIndex, value, this.tableModel);
|
|
65
|
+
if (ok) {
|
|
66
|
+
this.resetEditorRenderer();
|
|
67
|
+
this.repaint();
|
|
68
|
+
this.eventListener.onModelChanged(GeModelChangeEvent.createSingle(rowIndex, columnIndex));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
getApi() {
|
|
73
|
+
return this.api;
|
|
74
|
+
}
|
|
75
|
+
/*
|
|
76
|
+
* Called by the table component
|
|
77
|
+
*/
|
|
78
|
+
firstInit() {
|
|
79
|
+
this.tableModel.init();
|
|
80
|
+
this.autoRestoreCollapsedExpandedState();
|
|
81
|
+
this.autoRestoreSortingState();
|
|
82
|
+
this.resetSizeOfWrapperDiv();
|
|
83
|
+
this.adjustContainersAndRows();
|
|
84
|
+
this.autoRestoreScrollPosition();
|
|
85
|
+
}
|
|
86
|
+
createGeMouseEvent(mouseEvent) {
|
|
87
|
+
const ret = new GeMouseEvent();
|
|
88
|
+
ret.originalEvent = mouseEvent;
|
|
89
|
+
if (mouseEvent) {
|
|
90
|
+
const target = mouseEvent.target;
|
|
91
|
+
[ret.areaIdent, ret.sideIdent] = this.getAreaAndSideIdentByAttr(target);
|
|
92
|
+
ret.rowIndex = this.getNumberByAttr(target, 'data-row-index');
|
|
93
|
+
ret.columnIndex = this.getNumberByAttr(target, 'data-col-index');
|
|
94
|
+
ret.action = target.closest('[data-ge-action]')?.getAttribute('data-ge-action') ?? '';
|
|
95
|
+
if (mouseEvent.ctrlKey && mouseEvent.altKey) {
|
|
96
|
+
const bodyY = mouseEvent.clientY - this.hostElement.offsetTop - this.areaHeaderCenter.parent.clientHeight;
|
|
97
|
+
const bodyX = mouseEvent.clientX - this.hostElement.offsetLeft - this.areaBodyWestGeo.width;
|
|
98
|
+
this.debugOnce(bodyX, bodyY);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return ret;
|
|
102
|
+
}
|
|
103
|
+
onMouseDown(mouseEvent) {
|
|
104
|
+
if (mouseEvent.columnIndex > -1
|
|
105
|
+
&& mouseEvent.action
|
|
106
|
+
&& ['resize-column', 'drag-column'].includes(mouseEvent.action)) {
|
|
107
|
+
let w = this.tableModel.getColumnWidth(mouseEvent.columnIndex);
|
|
108
|
+
this.mouseStartWidth = w;
|
|
109
|
+
this.mouseStartAction = mouseEvent.action;
|
|
110
|
+
this.mouseStartColumnIndex = mouseEvent.columnIndex;
|
|
111
|
+
if (this.mouseStartAction === 'drag-column') {
|
|
112
|
+
this.dragFrom = this.mouseStartColumnIndex;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
mouseDraggingOnFrame(mouseEvent) {
|
|
117
|
+
this.eventListener.onMouseDragging(mouseEvent);
|
|
118
|
+
this.mouseEvent = mouseEvent;
|
|
119
|
+
if (this.mouseStartColumnIndex > -1 && this.mouseStartAction === 'resize-column') {
|
|
120
|
+
let w = this.tableModel.getColumnWidth(this.mouseStartColumnIndex);
|
|
121
|
+
this.tableModel.setColumnWidth(this.mouseStartColumnIndex, this.mouseStartWidth + mouseEvent.draggingX);
|
|
122
|
+
this.resetSizeOfWrapperDiv();
|
|
123
|
+
this.adjustContainersAndRows();
|
|
124
|
+
}
|
|
125
|
+
else if (this.mouseStartAction === 'drag-column' && mouseEvent.columnIndex > -1) {
|
|
126
|
+
this.draggingTargetColumnIndex = mouseEvent.columnIndex;
|
|
127
|
+
this.dragTo = this.draggingTargetColumnIndex;
|
|
128
|
+
if (this.dragFrom > -1 && this.dragTo > -1 && this.dragFrom !== this.dragTo) {
|
|
129
|
+
this.tableModel.changeColumnOrder(this.dragFrom, this.dragTo);
|
|
130
|
+
this.dragFrom = this.dragTo;
|
|
131
|
+
this.resetSizeOfWrapperDiv();
|
|
132
|
+
this.adjustContainersAndRows();
|
|
133
|
+
}
|
|
134
|
+
this.repaint();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
mouseDraggingEndOnFrame(mouseEvent) {
|
|
138
|
+
this.eventListener.onMouseDraggingEnd(mouseEvent);
|
|
139
|
+
this.draggingTargetColumnIndex = -1;
|
|
140
|
+
if (this.mouseStartAction === 'resize-column') {
|
|
141
|
+
let w = this.tableModel.getColumnWidth(this.mouseStartColumnIndex);
|
|
142
|
+
this.tableModel.setColumnWidth(this.mouseStartColumnIndex, this.mouseStartWidth + mouseEvent.draggingX);
|
|
143
|
+
this.resetSizeOfWrapperDiv();
|
|
144
|
+
this.adjustContainersAndRows();
|
|
145
|
+
}
|
|
146
|
+
else if (this.mouseStartAction === 'drag-column') {
|
|
147
|
+
// this.draggingTargetColumnIndex = mouseEvent.columnIndex;
|
|
148
|
+
// this.dragTo = this.draggingTargetColumnIndex;
|
|
149
|
+
// if (this.dragFrom !== this.dragTo) {
|
|
150
|
+
// this.tableModel.changeColumnOrder(this.dragFrom, this.dragTo);
|
|
151
|
+
// this.dragFrom = this.dragTo;
|
|
152
|
+
// this.resetSizeOfWrapperDiv();
|
|
153
|
+
// this.adjustContainersAndRows();
|
|
154
|
+
// }
|
|
155
|
+
this.repaint();
|
|
156
|
+
}
|
|
157
|
+
this.mouseStartWidth = -1;
|
|
158
|
+
this.mouseStartColumnIndex = -1;
|
|
159
|
+
this.dragFrom = -1;
|
|
160
|
+
this.dragTo = -1;
|
|
161
|
+
this.mouseStartAction = '';
|
|
162
|
+
}
|
|
163
|
+
mouseMove(mouseMoveEvent) {
|
|
164
|
+
this.eventListener.onMouseMoved(mouseMoveEvent);
|
|
165
|
+
this.adjustHoverRows(mouseMoveEvent);
|
|
166
|
+
this.adjustHoverColumns(mouseMoveEvent);
|
|
167
|
+
}
|
|
168
|
+
contextmenu(mouseMoveEvent) {
|
|
169
|
+
this.eventListener.onContextmenu(mouseMoveEvent);
|
|
170
|
+
}
|
|
171
|
+
toggleExpandCollapseAll(expand = true) {
|
|
172
|
+
const bodyAreaModel = this.tableModel.getBodyModel();
|
|
173
|
+
if (bodyAreaModel instanceof AreaModelTree) {
|
|
174
|
+
const amt = bodyAreaModel;
|
|
175
|
+
amt.toggleExpandCollapseAll(expand);
|
|
176
|
+
this.repaint();
|
|
177
|
+
this.storeStateCollapsedExpandService?.collapsedStateAll(expand);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
toggleRowCheckbox(rowIdx, colIdx, areaIdent) {
|
|
181
|
+
const areaModel = this.tableModel.getAreaModel(areaIdent);
|
|
182
|
+
const state = areaModel.isRowChecked(rowIdx);
|
|
183
|
+
const sel = (state === undefined || state === 'semi' || state === 'none');
|
|
184
|
+
areaModel.setRowChecked(rowIdx, sel);
|
|
185
|
+
this.repaint();
|
|
186
|
+
const selectedRows = areaModel.rowSelectionModel?.getCheckedRows();
|
|
187
|
+
this.eventListener.onCheckboxChanged(selectedRows ? selectedRows : []);
|
|
188
|
+
}
|
|
189
|
+
onMouseClicked(evt, previousEvt) {
|
|
190
|
+
const dirty = this.selectionService.onMouseClicked(evt, previousEvt);
|
|
191
|
+
this.eventListener.onMouseClicked(evt);
|
|
192
|
+
if (dirty) {
|
|
193
|
+
this.debounce(this.repaint.bind(this), 10);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
externalFilterChanged() {
|
|
197
|
+
const predictFn = this.tableOptions.externalFilterFunction;
|
|
198
|
+
if (predictFn) {
|
|
199
|
+
this.clearSelectionModel();
|
|
200
|
+
this.tableModel.externalFilterChanged(predictFn);
|
|
201
|
+
this.repaint();
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
onHeaderDblClicked(event, rowIdx, colIdx) {
|
|
205
|
+
const colDef = this.tableModel.getColumnDef(colIdx);
|
|
206
|
+
if (colDef?.sortable && colDef.sortable()) {
|
|
207
|
+
event.preventDefault();
|
|
208
|
+
const states = colDef.sortStatesOrder ? colDef.sortStatesOrder : this.tableOptions.sortOrder;
|
|
209
|
+
const currentState = colDef.sortState ?? '';
|
|
210
|
+
const newState = states[(states.indexOf(currentState) + 1) % states.length];
|
|
211
|
+
const sortItem = new SortItem(colIdx, newState);
|
|
212
|
+
const done = this.tableModel.doSort([sortItem]);
|
|
213
|
+
if (done) {
|
|
214
|
+
this.tableModel.getColumnDefs()?.forEach(cd => cd.sortState = '');
|
|
215
|
+
colDef.sortState = newState;
|
|
216
|
+
}
|
|
217
|
+
this.repaint();
|
|
218
|
+
this.storeSortingService?.setSortItems([sortItem]);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
onKeyEvent(evt) {
|
|
222
|
+
this.keyEvent = evt;
|
|
223
|
+
console.info(this.keyEvent); // TODO
|
|
224
|
+
if (this.keyEvent.status === 'up' && this.keyEvent.originalEvent?.code === 'F2') {
|
|
225
|
+
this.keyEvent.originalEvent.stopPropagation();
|
|
226
|
+
console.info('F2...');
|
|
227
|
+
// TODO check, if we can start to edit a cell
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
clearSelectionModel() {
|
|
231
|
+
if (this.getSelectionModel) {
|
|
232
|
+
this.getSelectionModel()?.clear();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
debugOnce(bodyX, bodyY) {
|
|
236
|
+
console.clear();
|
|
237
|
+
console.info('this.hostElement.offsetTop', this.hostElement.offsetTop); // pageY of table tag
|
|
238
|
+
console.info('this.hostElement.scrollHeight', this.hostElement.scrollHeight); // height of visible scroll area
|
|
239
|
+
console.info('this.scrollViewportTop', this.scrollTop); // amount of px scrolled to top (initial : 0)
|
|
240
|
+
console.info('this.areaHeaderCenter.parent.clientHeight', this.areaHeaderCenter.parent.clientHeight);
|
|
241
|
+
console.info('bodyY', bodyY);
|
|
242
|
+
console.info('bodyX', bodyX);
|
|
243
|
+
console.info('rows', this.firstVisibleRowIndex);
|
|
244
|
+
console.info('');
|
|
245
|
+
console.info('this.tableModel', this.tableModel);
|
|
246
|
+
console.info('');
|
|
247
|
+
console.info('this.mouseMoveEvent.clientX', this.mouseHandler.mouseEvent?.clientX);
|
|
248
|
+
console.info('this.hostElement.offsetLeft', this.hostElement.offsetLeft);
|
|
249
|
+
console.info('this.areaBodyWestGeo.width', this.areaBodyWestGeo.width);
|
|
250
|
+
}
|
|
251
|
+
autoRestoreScrollPosition() {
|
|
252
|
+
if (this.tableOptions?.autoRestoreOptions && this.storeScrollPosStateService) {
|
|
253
|
+
const autoRestoreOptions = this.tableOptions.autoRestoreOptions;
|
|
254
|
+
if (autoRestoreOptions.autoRestoreScrollPosition) {
|
|
255
|
+
const scrollOffset = this.storeScrollPosStateService.getScrollOffset();
|
|
256
|
+
if (scrollOffset) {
|
|
257
|
+
this.scrollViewport.scrollTo(...scrollOffset);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
autoRestoreSortingState() {
|
|
263
|
+
if (this.tableOptions?.autoRestoreOptions?.autoRestoreSortingState && this.storeSortingService) {
|
|
264
|
+
const sortItems = this.storeSortingService.getSortItems();
|
|
265
|
+
if (sortItems?.length) {
|
|
266
|
+
const areaModel = this.tableModel.getBodyModel();
|
|
267
|
+
areaModel.doSort(sortItems);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
autoRestoreCollapsedExpandedState() {
|
|
272
|
+
if (this.tableOptions?.autoRestoreOptions?.getRowId && this.storeStateCollapsedExpandService) {
|
|
273
|
+
const autoRestoreOptions = this.tableOptions.autoRestoreOptions;
|
|
274
|
+
const getRowId = autoRestoreOptions.getRowId;
|
|
275
|
+
if (autoRestoreOptions.autoRestoreCollapsedExpandedState && getRowId) {
|
|
276
|
+
const state = this.storeStateCollapsedExpandService.collapsedExpandedStateGet();
|
|
277
|
+
const areaModel = this.tableModel.getAreaModel('body');
|
|
278
|
+
if (areaModel instanceof AreaModelTree) {
|
|
279
|
+
const amtr = areaModel;
|
|
280
|
+
const rowCount = areaModel.getRowCount();
|
|
281
|
+
for (let i = 0; i < rowCount; i++) {
|
|
282
|
+
const row = areaModel.getRowByIndex(i);
|
|
283
|
+
if (row) {
|
|
284
|
+
if (state.allExpanded) {
|
|
285
|
+
row.expanded = true;
|
|
286
|
+
}
|
|
287
|
+
else if (state.allCollapsed) {
|
|
288
|
+
row.expanded = false;
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
const rowId = getRowId(row.data);
|
|
292
|
+
if (state.mode === 'expanded') {
|
|
293
|
+
row.expanded = (this.storeStateCollapsedExpandService.collapsedExpandedStateIncludes(rowId));
|
|
294
|
+
}
|
|
295
|
+
else if (state.mode === 'collapsed') {
|
|
296
|
+
row.expanded = (!this.storeStateCollapsedExpandService.collapsedExpandedStateIncludes(rowId));
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
amtr.recalcVisibleTreeRows();
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2NvcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvdGFibGUtc2NvcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRWhFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBR3hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRXJDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUkvRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFHMUQsTUFBTSxPQUFPLFVBQVcsU0FBUSxXQUFXO0lBb0J6QyxZQUNFLFdBQTJCLEVBQzNCLFVBQXdCLEVBQ3hCLFVBQXdCLEVBQ3hCLFlBQTRCLEVBQ1QsYUFBOEI7UUFFakQsS0FBSyxDQUNILFdBQVcsRUFDWCxVQUFVLEVBQ1YsSUFBSSxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsRUFDckMsWUFBWSxDQUNiLENBQUM7UUFQaUIsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBZnpDLHFCQUFnQixHQUFxQixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWxFLFFBQUcsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIsb0JBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyQiwwQkFBcUIsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzQixhQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDZCxXQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFlbEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFO1lBQ3pDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQztZQUNoRSxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7WUFDakQsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsSUFBSSxrQkFBa0IsQ0FBQyx5QkFBeUIsRUFBRTtvQkFDaEQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3pFO2dCQUNELElBQUksa0JBQWtCLENBQUMsaUNBQWlDLEVBQUU7b0JBQ3hELElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLGdDQUFnQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNyRjtnQkFDRCxJQUFJLGtCQUFrQixDQUFDLHVCQUF1QixFQUFFO29CQUM5QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDaEU7YUFDRjtTQUNGO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGlCQUFpQixDQUFDLFFBQWtCO1FBQ2xDLElBQUksUUFBUSxLQUFLLGVBQWUsRUFBRTtZQUNoQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxFQUFFLEVBQUU7b0JBQ04sTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3ZDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFO3dCQUM3RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7cUJBQ3ZDO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQW9CLEVBQUUsUUFBZ0IsRUFBRSxXQUFtQixFQUFFLEtBQWE7UUFDekYsSUFBSSxTQUFTLEtBQUssTUFBTSxFQUFFO1lBQ3hCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlELE1BQU0sRUFBRSxHQUFZLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzFGLElBQUksRUFBRSxFQUFFO2dCQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO2FBQzNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsVUFBc0I7UUFDdkMsTUFBTSxHQUFHLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0MsR0FBRyxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUM7UUFFL0IsSUFBSSxVQUFVLEVBQUU7WUFDZCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBcUIsQ0FBQztZQUNoRCxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4RSxHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDOUQsR0FBRyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2pFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUV0RixJQUFJLFVBQVUsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRTtnQkFDM0MsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztnQkFDMUcsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztnQkFDNUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDOUI7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVcsQ0FBQyxVQUF3QjtRQUNsQyxJQUFJLFVBQVUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO2VBQzFCLFVBQVUsQ0FBQyxNQUFNO2VBQ2pCLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQzFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1lBRXBELElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLGFBQWEsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7YUFDNUM7U0FDRjtJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxVQUF3QjtRQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssZUFBZSxFQUFFO1lBQ2hGLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV4RyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztTQUVoQzthQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLGFBQWEsSUFBSSxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBRWpGLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1lBQ3hELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1lBRTdDLElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDM0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUM1QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7YUFDaEM7WUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDaEI7SUFDSCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsVUFBd0I7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssZUFBZSxFQUFFO1lBQzdDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV4RyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztTQUNoQzthQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLGFBQWEsRUFBRTtZQUNsRCwyREFBMkQ7WUFDM0QsZ0RBQWdEO1lBQ2hELHVDQUF1QztZQUN2QyxtRUFBbUU7WUFDbkUsaUNBQWlDO1lBQ2pDLGtDQUFrQztZQUNsQyxvQ0FBb0M7WUFDcEMsSUFBSTtZQUNKLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQjtRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxTQUFTLENBQUMsY0FBNEI7UUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxjQUE0QjtRQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsU0FBa0IsSUFBSTtRQUM1QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JELElBQUksYUFBYSxZQUFZLGFBQWEsRUFBRTtZQUMxQyxNQUFNLEdBQUcsR0FBdUIsYUFBYSxDQUFDO1lBQzlDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsZ0NBQWdDLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbEU7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBYyxFQUFFLE1BQWMsRUFBRSxTQUFvQjtRQUNwRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssTUFBTSxJQUFJLEtBQUssS0FBSyxNQUFNLENBQUMsQ0FBQztRQUMxRSxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFpQixFQUFFLFdBQXFDO1FBQ3JFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQztRQUMzRCxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWlCLEVBQUUsTUFBYyxFQUFFLE1BQWM7UUFDbEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBSSxNQUFNLEVBQUUsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUN6QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsTUFBTSxNQUFNLEdBQWdCLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1lBQzFHLE1BQU0sWUFBWSxHQUFjLE1BQU0sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1lBQ3ZELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTVFLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNoRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRSxNQUFNLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQzthQUM3QjtZQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ3BEO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFlO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTztRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQy9FLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsOENBQThDO1NBQy9DO0lBQ0gsQ0FBQztJQUdPLG1CQUFtQjtRQUN6QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFTyxTQUFTLENBQ2YsS0FBYSxFQUNiLEtBQWE7UUFFYixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMscUJBQXFCO1FBQzdGLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztRQUM5RyxPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLDZDQUE2QztRQUNyRyxPQUFPLENBQUMsSUFBSSxDQUFDLDJDQUEyQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsQ0FBQztRQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxDQUFDO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbkYsT0FBTyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU8seUJBQXlCO1FBQy9CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDNUUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDO1lBQ2hFLElBQUksa0JBQWtCLENBQUMseUJBQXlCLEVBQUU7Z0JBQ2hELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDdkUsSUFBSSxZQUFZLEVBQUU7b0JBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7aUJBQy9DO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM5RixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUQsSUFBSSxTQUFTLEVBQUUsTUFBTSxFQUFFO2dCQUNyQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzdCO1NBQ0Y7SUFDSCxDQUFDO0lBRU8saUNBQWlDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLGdDQUFnQyxFQUFFO1lBQzVGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQztZQUNoRSxNQUFNLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7WUFDN0MsSUFBSSxrQkFBa0IsQ0FBQyxpQ0FBaUMsSUFBSSxRQUFRLEVBQUU7Z0JBQ3BFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO2dCQUNoRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxTQUFTLFlBQVksYUFBYSxFQUFFO29CQUN0QyxNQUFNLElBQUksR0FBdUIsU0FBUyxDQUFDO29CQUMzQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBR3pDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUU7d0JBQ2pDLE1BQU0sR0FBRyxHQUE2QixTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNqRSxJQUFJLEdBQUcsRUFBRTs0QkFDUCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7Z0NBQ3JCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDOzZCQUVyQjtpQ0FBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7Z0NBQzdCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDOzZCQUV0QjtpQ0FBTTtnQ0FDTCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dDQUNqQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO29DQUM3QixHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7aUNBRTlGO3FDQUFNLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7b0NBQ3JDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lDQUMvRjs2QkFDRjt5QkFDRjtxQkFDRjtvQkFDRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztpQkFDOUI7YUFDRjtTQUNGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUYWJsZU1vZGVsSWZ9IGZyb20gXCIuL2RhdGEvdGFibGVtb2RlbC90YWJsZS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtBcmVhSWRlbnR9IGZyb20gXCIuL2RhdGEvdGFibGVtb2RlbC9hcmVhLWlkZW50LnR5cGVcIjtcbmltcG9ydCB7R2VNb3VzZUV2ZW50fSBmcm9tIFwiLi9kYXRhL2NvbW1vbi9ldmVudC9nZS1tb3VzZS1ldmVudFwiO1xuaW1wb3J0IHtEb21TZXJ2aWNlSWZ9IGZyb20gXCIuL3NlcnZpY2UvZG9tLXNlcnZpY2UuaWZcIjtcbmltcG9ydCB7Q29udmVuaWVuY2VEb21TZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlL2NvbnZlbmllbmNlLWRvbS5zZXJ2aWNlXCI7XG5pbXBvcnQge1RhYmxlT3B0aW9uc0lmfSBmcm9tIFwiLi9kYXRhL29wdGlvbnMvdGFibGUtb3B0aW9ucy5pZlwiO1xuaW1wb3J0IHtUcmVlUm93fSBmcm9tIFwiLi9kYXRhL2NvbW1vbi90cmVlLXJvd1wiO1xuaW1wb3J0IHtNb3VzZUhhbmRsZXJ9IGZyb20gXCIuL21vdXNlLWhhbmRsZXJcIjtcbmltcG9ydCB7RXZlbnRMaXN0ZW5lcklmfSBmcm9tIFwiLi9ldmVudC1saXN0ZW5lci5pZlwiO1xuaW1wb3J0IHtUYWJsZUFwaX0gZnJvbSBcIi4vdGFibGUtYXBpXCI7XG5pbXBvcnQge1NvcnRTdGF0ZX0gZnJvbSBcIi4vZGF0YS9jb21tb24vc29ydC1zdGF0ZS50eXBlXCI7XG5pbXBvcnQge0FyZWFNb2RlbFRyZWV9IGZyb20gXCIuL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC10cmVlXCI7XG5pbXBvcnQge1N0b3JlU3RhdGVTY3JvbGxQb3NTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlL3N0b3JlLXN0YXRlLXNjcm9sbC1wb3Muc2VydmljZVwiO1xuaW1wb3J0IHtTdG9yZVN0YXRlQ29sbGFwc2VkRXhwYW5kU2VydmljZX0gZnJvbSBcIi4vc2VydmljZS9zdG9yZS1zdGF0ZS1jb2xsYXBzZWQtZXhwYW5kLnNlcnZpY2VcIjtcbmltcG9ydCB7U3RvcmVTdGF0ZVNvcnRpbmdTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlL3N0b3JlLXN0YXRlLXNvcnRpbmcuc2VydmljZVwiO1xuaW1wb3J0IHtSZW5kZXJTY29wZX0gZnJvbSBcIi4vcmVuZGVyLXNjb3BlXCI7XG5pbXBvcnQge1NvcnRJdGVtfSBmcm9tIFwiLi9kYXRhL2NvbW1vbi9zb3J0LWl0ZW1cIjtcbmltcG9ydCB7SW5wdXRIYW5kbGVyfSBmcm9tIFwiLi9pbnB1dC1oYW5kbGVyXCI7XG5pbXBvcnQge0dlTW9kZWxDaGFuZ2VFdmVudH0gZnJvbSBcIi4vZGF0YS9jb21tb24vZXZlbnQvZ2UtbW9kZWwtY2hhbmdlLWV2ZW50XCI7XG5pbXBvcnQge1NlbGVjdGlvblNlcnZpY2V9IGZyb20gXCIuL3NlbGVjdGlvbi9zZWxlY3Rpb24tc2VydmljZVwiO1xuaW1wb3J0IHtHZUtleUV2ZW50fSBmcm9tIFwiLi9kYXRhL2NvbW1vbi9ldmVudC9nZS1rZXktZXZlbnRcIjtcbmltcG9ydCB7T25BY3Rpb25UcmlnZ2VyZWRJZn0gZnJvbSBcIi4vYWN0aW9uL29uLWFjdGlvbi10cmlnZ2VyZWQuaWZcIjtcbmltcG9ydCB7QWN0aW9uSWR9IGZyb20gXCIuL2FjdGlvbi9hY3Rpb24taWQudHlwZVwiO1xuaW1wb3J0IHtTaG9ydGN1dFNlcnZpY2V9IGZyb20gXCIuL2FjdGlvbi9zaG9ydGN1dC5zZXJ2aWNlXCI7XG5cblxuZXhwb3J0IGNsYXNzIFRhYmxlU2NvcGUgZXh0ZW5kcyBSZW5kZXJTY29wZSBpbXBsZW1lbnRzIE9uQWN0aW9uVHJpZ2dlcmVkSWYge1xuXG5cbiAgcHVibGljIG1vdXNlSGFuZGxlcjogTW91c2VIYW5kbGVyO1xuICBwdWJsaWMgaW5wdXRIYW5kbGVyOiBJbnB1dEhhbmRsZXI7XG4gIHB1YmxpYyBzaG9ydGN1dFNlcnZpY2U6IFNob3J0Y3V0U2VydmljZTtcblxuICBwdWJsaWMgc3RvcmVTdGF0ZUNvbGxhcHNlZEV4cGFuZFNlcnZpY2U/OiBTdG9yZVN0YXRlQ29sbGFwc2VkRXhwYW5kU2VydmljZTtcbiAgcHVibGljIHN0b3JlU29ydGluZ1NlcnZpY2U/OiBTdG9yZVN0YXRlU29ydGluZ1NlcnZpY2U7XG5cbiAgcHJvdGVjdGVkIHNlbGVjdGlvblNlcnZpY2U6IFNlbGVjdGlvblNlcnZpY2UgPSBuZXcgU2VsZWN0aW9uU2VydmljZSh0aGlzKTtcbiAgcHJvdGVjdGVkIGtleUV2ZW50PzogR2VLZXlFdmVudDtcbiAgcHJpdmF0ZSBhcGkgPSBuZXcgVGFibGVBcGkodGhpcyk7XG5cbiAgcHJpdmF0ZSBtb3VzZVN0YXJ0QWN0aW9uID0gJyc7XG4gIHByaXZhdGUgbW91c2VTdGFydFdpZHRoID0gLTE7XG4gIHByaXZhdGUgbW91c2VTdGFydENvbHVtbkluZGV4ID0gLTE7XG4gIHByaXZhdGUgZHJhZ0Zyb20gPSAtMTtcbiAgcHJpdmF0ZSBkcmFnVG8gPSAtMTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBob3N0RWxlbWVudDogSFRNTERpdkVsZW1lbnQsXG4gICAgdGFibGVNb2RlbDogVGFibGVNb2RlbElmLFxuICAgIGRvbVNlcnZpY2U6IERvbVNlcnZpY2VJZixcbiAgICB0YWJsZU9wdGlvbnM6IFRhYmxlT3B0aW9uc0lmLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBldmVudExpc3RlbmVyOiBFdmVudExpc3RlbmVySWYsXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgaG9zdEVsZW1lbnQsXG4gICAgICB0YWJsZU1vZGVsLFxuICAgICAgbmV3IENvbnZlbmllbmNlRG9tU2VydmljZShkb21TZXJ2aWNlKSxcbiAgICAgIHRhYmxlT3B0aW9uc1xuICAgICk7XG4gICAgaWYgKHRoaXMudGFibGVPcHRpb25zPy5hdXRvUmVzdG9yZU9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IGF1dG9SZXN0b3JlT3B0aW9ucyA9IHRoaXMudGFibGVPcHRpb25zLmF1dG9SZXN0b3JlT3B0aW9ucztcbiAgICAgIGNvbnN0IGtleUZuID0gYXV0b1Jlc3RvcmVPcHRpb25zLmdldFN0b3JhZ2VLZXlGbjtcbiAgICAgIGlmIChrZXlGbikge1xuICAgICAgICBpZiAoYXV0b1Jlc3RvcmVPcHRpb25zLmF1dG9SZXN0b3JlU2Nyb2xsUG9zaXRpb24pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlU2Nyb2xsUG9zU3RhdGVTZXJ2aWNlID0gbmV3IFN0b3JlU3RhdGVTY3JvbGxQb3NTZXJ2aWNlKGtleUZuKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXV0b1Jlc3RvcmVPcHRpb25zLmF1dG9SZXN0b3JlQ29sbGFwc2VkRXhwYW5kZWRTdGF0ZSkge1xuICAgICAgICAgIHRoaXMuc3RvcmVTdGF0ZUNvbGxhcHNlZEV4cGFuZFNlcnZpY2UgPSBuZXcgU3RvcmVTdGF0ZUNvbGxhcHNlZEV4cGFuZFNlcnZpY2Uoa2V5Rm4pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhdXRvUmVzdG9yZU9wdGlvbnMuYXV0b1Jlc3RvcmVTb3J0aW5nU3RhdGUpIHtcbiAgICAgICAgICB0aGlzLnN0b3JlU29ydGluZ1NlcnZpY2UgPSBuZXcgU3RvcmVTdGF0ZVNvcnRpbmdTZXJ2aWNlKGtleUZuKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm1vdXNlSGFuZGxlciA9IG5ldyBNb3VzZUhhbmRsZXIodGhpcyk7XG4gICAgdGhpcy5pbnB1dEhhbmRsZXIgPSBuZXcgSW5wdXRIYW5kbGVyKHRoaXMpO1xuXG4gICAgdGhpcy5zaG9ydGN1dFNlcnZpY2UgPSBuZXcgU2hvcnRjdXRTZXJ2aWNlKHRoaXMpO1xuICAgIHRoaXMuc2hvcnRjdXRTZXJ2aWNlLmFkZExpc3RlbmVyKHRoaXMuc2VsZWN0aW9uU2VydmljZSk7XG4gIH1cblxuICBvbkFjdGlvblRyaWdnZXJlZChhY3Rpb25JZDogQWN0aW9uSWQpOiBib29sZWFuIHtcbiAgICBpZiAoYWN0aW9uSWQgPT09ICdTVEFSVF9FRElUSU5HJykge1xuICAgICAgaWYgKHRoaXMuZ2V0Rm9jdXNNb2RlbCkge1xuICAgICAgICBjb25zdCBmbSA9IHRoaXMuZ2V0Rm9jdXNNb2RlbCgpO1xuICAgICAgICBpZiAoZm0pIHtcbiAgICAgICAgICBjb25zdCBbcm93SWR4LCBjb2xJZHhdID0gZm0uZ2V0Rm9jdXMoKTtcbiAgICAgICAgICBpZiAodGhpcy50YWJsZU1vZGVsLmdldEJvZHlNb2RlbCgpLmlzRWRpdGFibGUocm93SWR4LCBjb2xJZHgpKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmluaXRSZW5kZXJFZGl0b3Iocm93SWR4LCBjb2xJZHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB1cGRhdGVNb2RlbFZhbHVlKGFyZWFJZGVudDogQXJlYUlkZW50LCByb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKGFyZWFJZGVudCA9PT0gJ2JvZHknKSB7XG4gICAgICBjb25zdCBib2R5QXJlYU1vZGVsID0gdGhpcy50YWJsZU1vZGVsLmdldEFyZWFNb2RlbChhcmVhSWRlbnQpO1xuICAgICAgY29uc3Qgb2s6IGJvb2xlYW4gPSBib2R5QXJlYU1vZGVsLnNldFZhbHVlKHJvd0luZGV4LCBjb2x1bW5JbmRleCwgdmFsdWUsIHRoaXMudGFibGVNb2RlbCk7XG4gICAgICBpZiAob2spIHtcbiAgICAgICAgdGhpcy5yZXNldEVkaXRvclJlbmRlcmVyKCk7XG4gICAgICAgIHRoaXMucmVwYWludCgpO1xuICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXIub25Nb2RlbENoYW5nZWQoR2VNb2RlbENoYW5nZUV2ZW50LmNyZWF0ZVNpbmdsZShyb3dJbmRleCwgY29sdW1uSW5kZXgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRBcGkoKTogVGFibGVBcGkge1xuICAgIHJldHVybiB0aGlzLmFwaTtcbiAgfVxuXG4gIC8qXG4gICAqIENhbGxlZCBieSB0aGUgdGFibGUgY29tcG9uZW50XG4gICAqL1xuICBmaXJzdEluaXQoKSB7XG4gICAgdGhpcy50YWJsZU1vZGVsLmluaXQoKTtcbiAgICB0aGlzLmF1dG9SZXN0b3JlQ29sbGFwc2VkRXhwYW5kZWRTdGF0ZSgpO1xuICAgIHRoaXMuYXV0b1Jlc3RvcmVTb3J0aW5nU3RhdGUoKTtcbiAgICB0aGlzLnJlc2V0U2l6ZU9mV3JhcHBlckRpdigpO1xuICAgIHRoaXMuYWRqdXN0Q29udGFpbmVyc0FuZFJvd3MoKTtcbiAgICB0aGlzLmF1dG9SZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTtcbiAgfVxuXG4gIGNyZWF0ZUdlTW91c2VFdmVudChtb3VzZUV2ZW50OiBNb3VzZUV2ZW50KTogR2VNb3VzZUV2ZW50IHtcbiAgICBjb25zdCByZXQ6IEdlTW91c2VFdmVudCA9IG5ldyBHZU1vdXNlRXZlbnQoKTtcbiAgICByZXQub3JpZ2luYWxFdmVudCA9IG1vdXNlRXZlbnQ7XG5cbiAgICBpZiAobW91c2VFdmVudCkge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gbW91c2VFdmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBbcmV0LmFyZWFJZGVudCwgcmV0LnNpZGVJZGVudF0gPSB0aGlzLmdldEFyZWFBbmRTaWRlSWRlbnRCeUF0dHIodGFyZ2V0KTtcbiAgICAgIHJldC5yb3dJbmRleCA9IHRoaXMuZ2V0TnVtYmVyQnlBdHRyKHRhcmdldCwgJ2RhdGEtcm93LWluZGV4Jyk7XG4gICAgICByZXQuY29sdW1uSW5kZXggPSB0aGlzLmdldE51bWJlckJ5QXR0cih0YXJnZXQsICdkYXRhLWNvbC1pbmRleCcpO1xuICAgICAgcmV0LmFjdGlvbiA9IHRhcmdldC5jbG9zZXN0KCdbZGF0YS1nZS1hY3Rpb25dJyk/LmdldEF0dHJpYnV0ZSgnZGF0YS1nZS1hY3Rpb24nKSA/PyAnJztcblxuICAgICAgaWYgKG1vdXNlRXZlbnQuY3RybEtleSAmJiBtb3VzZUV2ZW50LmFsdEtleSkge1xuICAgICAgICBjb25zdCBib2R5WSA9IG1vdXNlRXZlbnQuY2xpZW50WSAtIHRoaXMuaG9zdEVsZW1lbnQub2Zmc2V0VG9wIC0gdGhpcy5hcmVhSGVhZGVyQ2VudGVyLnBhcmVudC5jbGllbnRIZWlnaHQ7XG4gICAgICAgIGNvbnN0IGJvZHlYID0gbW91c2VFdmVudC5jbGllbnRYIC0gdGhpcy5ob3N0RWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5hcmVhQm9keVdlc3RHZW8ud2lkdGg7XG4gICAgICAgIHRoaXMuZGVidWdPbmNlKGJvZHlYLCBib2R5WSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBvbk1vdXNlRG93bihtb3VzZUV2ZW50OiBHZU1vdXNlRXZlbnQpIHtcbiAgICBpZiAobW91c2VFdmVudC5jb2x1bW5JbmRleCA+IC0xXG4gICAgICAmJiBtb3VzZUV2ZW50LmFjdGlvblxuICAgICAgJiYgWydyZXNpemUtY29sdW1uJywgJ2RyYWctY29sdW1uJ10uaW5jbHVkZXMobW91c2VFdmVudC5hY3Rpb24pKSB7XG4gICAgICBsZXQgdyA9IHRoaXMudGFibGVNb2RlbC5nZXRDb2x1bW5XaWR0aChtb3VzZUV2ZW50LmNvbHVtbkluZGV4KTtcbiAgICAgIHRoaXMubW91c2VTdGFydFdpZHRoID0gdztcbiAgICAgIHRoaXMubW91c2VTdGFydEFjdGlvbiA9IG1vdXNlRXZlbnQuYWN0aW9uO1xuICAgICAgdGhpcy5tb3VzZVN0YXJ0Q29sdW1uSW5kZXggPSBtb3VzZUV2ZW50LmNvbHVtbkluZGV4O1xuXG4gICAgICBpZiAodGhpcy5tb3VzZVN0YXJ0QWN0aW9uID09PSAnZHJhZy1jb2x1bW4nKSB7XG4gICAgICAgIHRoaXMuZHJhZ0Zyb20gPSB0aGlzLm1vdXNlU3RhcnRDb2x1bW5JbmRleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBtb3VzZURyYWdnaW5nT25GcmFtZShtb3VzZUV2ZW50OiBHZU1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmV2ZW50TGlzdGVuZXIub25Nb3VzZURyYWdnaW5nKG1vdXNlRXZlbnQpO1xuICAgIHRoaXMubW91c2VFdmVudCA9IG1vdXNlRXZlbnQ7XG5cbiAgICBpZiAodGhpcy5tb3VzZVN0YXJ0Q29sdW1uSW5kZXggPiAtMSAmJiB0aGlzLm1vdXNlU3RhcnRBY3Rpb24gPT09ICdyZXNpemUtY29sdW1uJykge1xuICAgICAgbGV0IHcgPSB0aGlzLnRhYmxlTW9kZWwuZ2V0Q29sdW1uV2lkdGgodGhpcy5tb3VzZVN0YXJ0Q29sdW1uSW5kZXgpO1xuICAgICAgdGhpcy50YWJsZU1vZGVsLnNldENvbHVtbldpZHRoKHRoaXMubW91c2VTdGFydENvbHVtbkluZGV4LCB0aGlzLm1vdXNlU3RhcnRXaWR0aCArIG1vdXNlRXZlbnQuZHJhZ2dpbmdYKTtcblxuICAgICAgdGhpcy5yZXNldFNpemVPZldyYXBwZXJEaXYoKTtcbiAgICAgIHRoaXMuYWRqdXN0Q29udGFpbmVyc0FuZFJvd3MoKTtcblxuICAgIH0gZWxzZSBpZiAodGhpcy5tb3VzZVN0YXJ0QWN0aW9uID09PSAnZHJhZy1jb2x1bW4nICYmIG1vdXNlRXZlbnQuY29sdW1uSW5kZXggPiAtMSkge1xuXG4gICAgICB0aGlzLmRyYWdnaW5nVGFyZ2V0Q29sdW1uSW5kZXggPSBtb3VzZUV2ZW50LmNvbHVtbkluZGV4O1xuICAgICAgdGhpcy5kcmFnVG8gPSB0aGlzLmRyYWdnaW5nVGFyZ2V0Q29sdW1uSW5kZXg7XG5cbiAgICAgIGlmICh0aGlzLmRyYWdGcm9tID4gLTEgJiYgdGhpcy5kcmFnVG8gPiAtMSAmJiB0aGlzLmRyYWdGcm9tICE9PSB0aGlzLmRyYWdUbykge1xuICAgICAgICB0aGlzLnRhYmxlTW9kZWwuY2hhbmdlQ29sdW1uT3JkZXIodGhpcy5kcmFnRnJvbSwgdGhpcy5kcmFnVG8pO1xuICAgICAgICB0aGlzLmRyYWdGcm9tID0gdGhpcy5kcmFnVG87XG4gICAgICAgIHRoaXMucmVzZXRTaXplT2ZXcmFwcGVyRGl2KCk7XG4gICAgICAgIHRoaXMuYWRqdXN0Q29udGFpbmVyc0FuZFJvd3MoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVwYWludCgpO1xuICAgIH1cbiAgfVxuXG4gIG1vdXNlRHJhZ2dpbmdFbmRPbkZyYW1lKG1vdXNlRXZlbnQ6IEdlTW91c2VFdmVudCkge1xuICAgIHRoaXMuZXZlbnRMaXN0ZW5lci5vbk1vdXNlRHJhZ2dpbmdFbmQobW91c2VFdmVudCk7XG5cbiAgICB0aGlzLmRyYWdnaW5nVGFyZ2V0Q29sdW1uSW5kZXggPSAtMTtcbiAgICBpZiAodGhpcy5tb3VzZVN0YXJ0QWN0aW9uID09PSAncmVzaXplLWNvbHVtbicpIHtcbiAgICAgIGxldCB3ID0gdGhpcy50YWJsZU1vZGVsLmdldENvbHVtbldpZHRoKHRoaXMubW91c2VTdGFydENvbHVtbkluZGV4KTtcbiAgICAgIHRoaXMudGFibGVNb2RlbC5zZXRDb2x1bW5XaWR0aCh0aGlzLm1vdXNlU3RhcnRDb2x1bW5JbmRleCwgdGhpcy5tb3VzZVN0YXJ0V2lkdGggKyBtb3VzZUV2ZW50LmRyYWdnaW5nWCk7XG5cbiAgICAgIHRoaXMucmVzZXRTaXplT2ZXcmFwcGVyRGl2KCk7XG4gICAgICB0aGlzLmFkanVzdENvbnRhaW5lcnNBbmRSb3dzKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1vdXNlU3RhcnRBY3Rpb24gPT09ICdkcmFnLWNvbHVtbicpIHtcbiAgICAgIC8vIHRoaXMuZHJhZ2dpbmdUYXJnZXRDb2x1bW5JbmRleCA9IG1vdXNlRXZlbnQuY29sdW1uSW5kZXg7XG4gICAgICAvLyB0aGlzLmRyYWdUbyA9IHRoaXMuZHJhZ2dpbmdUYXJnZXRDb2x1bW5JbmRleDtcbiAgICAgIC8vIGlmICh0aGlzLmRyYWdGcm9tICE9PSB0aGlzLmRyYWdUbykge1xuICAgICAgLy8gICB0aGlzLnRhYmxlTW9kZWwuY2hhbmdlQ29sdW1uT3JkZXIodGhpcy5kcmFnRnJvbSwgdGhpcy5kcmFnVG8pO1xuICAgICAgLy8gICB0aGlzLmRyYWdGcm9tID0gdGhpcy5kcmFnVG87XG4gICAgICAvLyAgIHRoaXMucmVzZXRTaXplT2ZXcmFwcGVyRGl2KCk7XG4gICAgICAvLyAgIHRoaXMuYWRqdXN0Q29udGFpbmVyc0FuZFJvd3MoKTtcbiAgICAgIC8vIH1cbiAgICAgIHRoaXMucmVwYWludCgpO1xuICAgIH1cbiAgICB0aGlzLm1vdXNlU3RhcnRXaWR0aCA9IC0xO1xuICAgIHRoaXMubW91c2VTdGFydENvbHVtbkluZGV4ID0gLTE7XG4gICAgdGhpcy5kcmFnRnJvbSA9IC0xO1xuICAgIHRoaXMuZHJhZ1RvID0gLTE7XG4gICAgdGhpcy5tb3VzZVN0YXJ0QWN0aW9uID0gJyc7XG4gIH1cblxuICBtb3VzZU1vdmUobW91c2VNb3ZlRXZlbnQ6IEdlTW91c2VFdmVudCkge1xuICAgIHRoaXMuZXZlbnRMaXN0ZW5lci5vbk1vdXNlTW92ZWQobW91c2VNb3ZlRXZlbnQpO1xuICAgIHRoaXMuYWRqdXN0SG92ZXJSb3dzKG1vdXNlTW92ZUV2ZW50KTtcbiAgICB0aGlzLmFkanVzdEhvdmVyQ29sdW1ucyhtb3VzZU1vdmVFdmVudCk7XG4gIH1cblxuICBjb250ZXh0bWVudShtb3VzZU1vdmVFdmVudDogR2VNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5ldmVudExpc3RlbmVyLm9uQ29udGV4dG1lbnUobW91c2VNb3ZlRXZlbnQpO1xuICB9XG5cbiAgdG9nZ2xlRXhwYW5kQ29sbGFwc2VBbGwoZXhwYW5kOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIGNvbnN0IGJvZHlBcmVhTW9kZWwgPSB0aGlzLnRhYmxlTW9kZWwuZ2V0Qm9keU1vZGVsKCk7XG4gICAgaWYgKGJvZHlBcmVhTW9kZWwgaW5zdGFuY2VvZiBBcmVhTW9kZWxUcmVlKSB7XG4gICAgICBjb25zdCBhbXQ6IEFyZWFNb2RlbFRyZWU8YW55PiA9IGJvZHlBcmVhTW9kZWw7XG4gICAgICBhbXQudG9nZ2xlRXhwYW5kQ29sbGFwc2VBbGwoZXhwYW5kKTtcbiAgICAgIHRoaXMucmVwYWludCgpO1xuICAgICAgdGhpcy5zdG9yZVN0YXRlQ29sbGFwc2VkRXhwYW5kU2VydmljZT8uY29sbGFwc2VkU3RhdGVBbGwoZXhwYW5kKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVSb3dDaGVja2JveChyb3dJZHg6IG51bWJlciwgY29sSWR4OiBudW1iZXIsIGFyZWFJZGVudDogQXJlYUlkZW50KSB7XG4gICAgY29uc3QgYXJlYU1vZGVsID0gdGhpcy50YWJsZU1vZGVsLmdldEFyZWFNb2RlbChhcmVhSWRlbnQpO1xuICAgIGNvbnN0IHN0YXRlID0gYXJlYU1vZGVsLmlzUm93Q2hlY2tlZChyb3dJZHgpO1xuICAgIGNvbnN0IHNlbCA9IChzdGF0ZSA9PT0gdW5kZWZpbmVkIHx8IHN0YXRlID09PSAnc2VtaScgfHwgc3RhdGUgPT09ICdub25lJyk7XG4gICAgYXJlYU1vZGVsLnNldFJvd0NoZWNrZWQocm93SWR4LCBzZWwpO1xuICAgIHRoaXMucmVwYWludCgpO1xuICAgIGNvbnN0IHNlbGVjdGVkUm93cyA9IGFyZWFNb2RlbC5yb3dTZWxlY3Rpb25Nb2RlbD8uZ2V0Q2hlY2tlZFJvd3MoKTtcbiAgICB0aGlzLmV2ZW50TGlzdGVuZXIub25DaGVja2JveENoYW5nZWQoc2VsZWN0ZWRSb3dzID8gc2VsZWN0ZWRSb3dzIDogW10pO1xuICB9XG5cbiAgb25Nb3VzZUNsaWNrZWQoZXZ0OiBHZU1vdXNlRXZlbnQsIHByZXZpb3VzRXZ0OiBHZU1vdXNlRXZlbnQgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBkaXJ0eSA9IHRoaXMuc2VsZWN0aW9uU2VydmljZS5vbk1vdXNlQ2xpY2tlZChldnQsIHByZXZpb3VzRXZ0KTtcbiAgICB0aGlzLmV2ZW50TGlzdGVuZXIub25Nb3VzZUNsaWNrZWQoZXZ0KTtcbiAgICBpZiAoZGlydHkpIHtcbiAgICAgIHRoaXMuZGVib3VuY2UodGhpcy5yZXBhaW50LmJpbmQodGhpcyksIDEwKTtcbiAgICB9XG4gIH1cblxuICBleHRlcm5hbEZpbHRlckNoYW5nZWQoKSB7XG4gICAgY29uc3QgcHJlZGljdEZuID0gdGhpcy50YWJsZU9wdGlvbnMuZXh0ZXJuYWxGaWx0ZXJGdW5jdGlvbjtcbiAgICBpZiAocHJlZGljdEZuKSB7XG4gICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uTW9kZWwoKTtcbiAgICAgIHRoaXMudGFibGVNb2RlbC5leHRlcm5hbEZpbHRlckNoYW5nZWQocHJlZGljdEZuKTtcbiAgICAgIHRoaXMucmVwYWludCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uSGVhZGVyRGJsQ2xpY2tlZChldmVudDogTW91c2VFdmVudCwgcm93SWR4OiBudW1iZXIsIGNvbElkeDogbnVtYmVyKSB7XG4gICAgY29uc3QgY29sRGVmID0gdGhpcy50YWJsZU1vZGVsLmdldENvbHVtbkRlZihjb2xJZHgpO1xuICAgIGlmIChjb2xEZWY/LnNvcnRhYmxlICYmIGNvbERlZi5zb3J0YWJsZSgpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3Qgc3RhdGVzOiBTb3J0U3RhdGVbXSA9IGNvbERlZi5zb3J0U3RhdGVzT3JkZXIgPyBjb2xEZWYuc29ydFN0YXRlc09yZGVyIDogdGhpcy50YWJsZU9wdGlvbnMuc29ydE9yZGVyO1xuICAgICAgY29uc3QgY3VycmVudFN0YXRlOiBTb3J0U3RhdGUgPSBjb2xEZWYuc29ydFN0YXRlID8/ICcnO1xuICAgICAgY29uc3QgbmV3U3RhdGUgPSBzdGF0ZXNbKHN0YXRlcy5pbmRleE9mKGN1cnJlbnRTdGF0ZSkgKyAxKSAlIHN0YXRlcy5sZW5ndGhdO1xuXG4gICAgICBjb25zdCBzb3J0SXRlbSA9IG5ldyBTb3J0SXRlbShjb2xJZHgsIG5ld1N0YXRlKTtcbiAgICAgIGNvbnN0IGRvbmUgPSB0aGlzLnRhYmxlTW9kZWwuZG9Tb3J0KFtzb3J0SXRlbV0pO1xuICAgICAgaWYgKGRvbmUpIHtcbiAgICAgICAgdGhpcy50YWJsZU1vZGVsLmdldENvbHVtbkRlZnMoKT8uZm9yRWFjaChjZCA9PiBjZC5zb3J0U3RhdGUgPSAnJyk7XG4gICAgICAgIGNvbERlZi5zb3J0U3RhdGUgPSBuZXdTdGF0ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVwYWludCgpO1xuICAgICAgdGhpcy5zdG9yZVNvcnRpbmdTZXJ2aWNlPy5zZXRTb3J0SXRlbXMoW3NvcnRJdGVtXSk7XG4gICAgfVxuICB9XG5cbiAgb25LZXlFdmVudChldnQ6IEdlS2V5RXZlbnQpIHtcbiAgICB0aGlzLmtleUV2ZW50ID0gZXZ0O1xuICAgIGNvbnNvbGUuaW5mbyh0aGlzLmtleUV2ZW50KTsgLy8gVE9ET1xuICAgIGlmICh0aGlzLmtleUV2ZW50LnN0YXR1cyA9PT0gJ3VwJyAmJiB0aGlzLmtleUV2ZW50Lm9yaWdpbmFsRXZlbnQ/LmNvZGUgPT09ICdGMicpIHtcbiAgICAgIHRoaXMua2V5RXZlbnQub3JpZ2luYWxFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGNvbnNvbGUuaW5mbygnRjIuLi4nKTtcbiAgICAgIC8vIFRPRE8gIGNoZWNrLCBpZiB3ZSBjYW4gc3RhcnQgdG8gZWRpdCBhIGNlbGxcbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgY2xlYXJTZWxlY3Rpb25Nb2RlbCgpIHtcbiAgICBpZiAodGhpcy5nZXRTZWxlY3Rpb25Nb2RlbCkge1xuICAgICAgdGhpcy5nZXRTZWxlY3Rpb25Nb2RlbCgpPy5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGVidWdPbmNlKFxuICAgIGJvZHlYOiBudW1iZXIsXG4gICAgYm9keVk6IG51bWJlcixcbiAgKSB7XG4gICAgY29uc29sZS5jbGVhcigpO1xuICAgIGNvbnNvbGUuaW5mbygndGhpcy5ob3N0RWxlbWVudC5vZmZzZXRUb3AnLCB0aGlzLmhvc3RFbGVtZW50Lm9mZnNldFRvcCk7IC8vIHBhZ2VZIG9mIHRhYmxlIHRhZ1xuICAgIGNvbnNvbGUuaW5mbygndGhpcy5ob3N0RWxlbWVudC5zY3JvbGxIZWlnaHQnLCB0aGlzLmhvc3RFbGVtZW50LnNjcm9sbEhlaWdodCk7IC8vIGhlaWdodCBvZiB2aXNpYmxlIHNjcm9sbCBhcmVhXG4gICAgY29uc29sZS5pbmZvKCd0aGlzLnNjcm9sbFZpZXdwb3J0VG9wJywgdGhpcy5zY3JvbGxUb3ApOyAvLyBhbW91bnQgb2YgcHggc2Nyb2xsZWQgdG8gdG9wIChpbml0aWFsIDogMClcbiAgICBjb25zb2xlLmluZm8oJ3RoaXMuYXJlYUhlYWRlckNlbnRlci5wYXJlbnQuY2xpZW50SGVpZ2h0JywgdGhpcy5hcmVhSGVhZGVyQ2VudGVyLnBhcmVudC5jbGllbnRIZWlnaHQpO1xuICAgIGNvbnNvbGUuaW5mbygnYm9keVknLCBib2R5WSk7XG4gICAgY29uc29sZS5pbmZvKCdib2R5WCcsIGJvZHlYKTtcbiAgICBjb25zb2xlLmluZm8oJ3Jvd3MnLCB0aGlzLmZpcnN0VmlzaWJsZVJvd0luZGV4KTtcbiAgICBjb25zb2xlLmluZm8oJycsKTtcbiAgICBjb25zb2xlLmluZm8oJ3RoaXMudGFibGVNb2RlbCcsIHRoaXMudGFibGVNb2RlbCk7XG4gICAgY29uc29sZS5pbmZvKCcnLCk7XG4gICAgY29uc29sZS5pbmZvKCd0aGlzLm1vdXNlTW92ZUV2ZW50LmNsaWVudFgnLCB0aGlzLm1vdXNlSGFuZGxlci5tb3VzZUV2ZW50Py5jbGllbnRYKTtcbiAgICBjb25zb2xlLmluZm8oJ3RoaXMuaG9zdEVsZW1lbnQub2Zmc2V0TGVmdCcsIHRoaXMuaG9zdEVsZW1lbnQub2Zmc2V0TGVmdCk7XG4gICAgY29uc29sZS5pbmZvKCd0aGlzLmFyZWFCb2R5V2VzdEdlby53aWR0aCcsIHRoaXMuYXJlYUJvZHlXZXN0R2VvLndpZHRoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXV0b1Jlc3RvcmVTY3JvbGxQb3NpdGlvbigpIHtcbiAgICBpZiAodGhpcy50YWJsZU9wdGlvbnM/LmF1dG9SZXN0b3JlT3B0aW9ucyAmJiB0aGlzLnN0b3JlU2Nyb2xsUG9zU3RhdGVTZXJ2aWNlKSB7XG4gICAgICBjb25zdCBhdXRvUmVzdG9yZU9wdGlvbnMgPSB0aGlzLnRhYmxlT3B0aW9ucy5hdXRvUmVzdG9yZU9wdGlvbnM7XG4gICAgICBpZiAoYXV0b1Jlc3RvcmVPcHRpb25zLmF1dG9SZXN0b3JlU2Nyb2xsUG9zaXRpb24pIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsT2Zmc2V0ID0gdGhpcy5zdG9yZVNjcm9sbFBvc1N0YXRlU2VydmljZS5nZXRTY3JvbGxPZmZzZXQoKTtcbiAgICAgICAgaWYgKHNjcm9sbE9mZnNldCkge1xuICAgICAgICAgIHRoaXMuc2Nyb2xsVmlld3BvcnQuc2Nyb2xsVG8oLi4uc2Nyb2xsT2Zmc2V0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXV0b1Jlc3RvcmVTb3J0aW5nU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMudGFibGVPcHRpb25zPy5hdXRvUmVzdG9yZU9wdGlvbnM/LmF1dG9SZXN0b3JlU29ydGluZ1N0YXRlICYmIHRoaXMuc3RvcmVTb3J0aW5nU2VydmljZSkge1xuICAgICAgY29uc3Qgc29ydEl0ZW1zID0gdGhpcy5zdG9yZVNvcnRpbmdTZXJ2aWNlLmdldFNvcnRJdGVtcygpO1xuICAgICAgaWYgKHNvcnRJdGVtcz8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGFyZWFNb2RlbCA9IHRoaXMudGFibGVNb2RlbC5nZXRCb2R5TW9kZWwoKTtcbiAgICAgICAgYXJlYU1vZGVsLmRvU29ydChzb3J0SXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXV0b1Jlc3RvcmVDb2xsYXBzZWRFeHBhbmRlZFN0YXRlKCkge1xuICAgIGlmICh0aGlzLnRhYmxlT3B0aW9ucz8uYXV0b1Jlc3RvcmVPcHRpb25zPy5nZXRSb3dJZCAmJiB0aGlzLnN0b3JlU3RhdGVDb2xsYXBzZWRFeHBhbmRTZXJ2aWNlKSB7XG4gICAgICBjb25zdCBhdXRvUmVzdG9yZU9wdGlvbnMgPSB0aGlzLnRhYmxlT3B0aW9ucy5hdXRvUmVzdG9yZU9wdGlvbnM7XG4gICAgICBjb25zdCBnZXRSb3dJZCA9IGF1dG9SZXN0b3JlT3B0aW9ucy5nZXRSb3dJZDtcbiAgICAgIGlmIChhdXRvUmVzdG9yZU9wdGlvbnMuYXV0b1Jlc3RvcmVDb2xsYXBzZWRFeHBhbmRlZFN0YXRlICYmIGdldFJvd0lkKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdG9yZVN0YXRlQ29sbGFwc2VkRXhwYW5kU2VydmljZS5jb2xsYXBzZWRFeHBhbmRlZFN0YXRlR2V0KCk7XG4gICAgICAgIGNvbnN0IGFyZWFNb2RlbCA9IHRoaXMudGFibGVNb2RlbC5nZXRBcmVhTW9kZWwoJ2JvZHknKTtcbiAgICAgICAgaWYgKGFyZWFNb2RlbCBpbnN0YW5jZW9mIEFyZWFNb2RlbFRyZWUpIHtcbiAgICAgICAgICBjb25zdCBhbXRyOiBBcmVhTW9kZWxUcmVlPGFueT4gPSBhcmVhTW9kZWw7XG4gICAgICAgICAgY29uc3Qgcm93Q291bnQgPSBhcmVhTW9kZWwuZ2V0Um93Q291bnQoKTtcblxuXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dDb3VudDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCByb3c6IFRyZWVSb3c8YW55PiB8IHVuZGVmaW5lZCA9IGFyZWFNb2RlbC5nZXRSb3dCeUluZGV4KGkpO1xuICAgICAgICAgICAgaWYgKHJvdykge1xuICAgICAgICAgICAgICBpZiAoc3RhdGUuYWxsRXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICByb3cuZXhwYW5kZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUuYWxsQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICAgICAgcm93LmV4cGFuZGVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCByb3dJZCA9IGdldFJvd0lkKHJvdy5kYXRhKTtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdGUubW9kZSA9PT0gJ2V4cGFuZGVkJykge1xuICAgICAgICAgICAgICAgICAgcm93LmV4cGFuZGVkID0gKHRoaXMuc3RvcmVTdGF0ZUNvbGxhcHNlZEV4cGFuZFNlcnZpY2UuY29sbGFwc2VkRXhwYW5kZWRTdGF0ZUluY2x1ZGVzKHJvd0lkKSk7XG5cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLm1vZGUgPT09ICdjb2xsYXBzZWQnKSB7XG4gICAgICAgICAgICAgICAgICByb3cuZXhwYW5kZWQgPSAoIXRoaXMuc3RvcmVTdGF0ZUNvbGxhcHNlZEV4cGFuZFNlcnZpY2UuY29sbGFwc2VkRXhwYW5kZWRTdGF0ZUluY2x1ZGVzKHJvd0lkKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGFtdHIucmVjYWxjVmlzaWJsZVRyZWVSb3dzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIl19
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
export * from './lib/table/table-scope';
|
|
2
|
+
export * from './lib/table/table-model-factory';
|
|
3
|
+
export * from './lib/table/table-api';
|
|
4
|
+
export * from './lib/table/ele-scope';
|
|
5
|
+
export * from './lib/table/render-scope';
|
|
6
|
+
export * from './lib/table/mouse-handler';
|
|
7
|
+
export * from './lib/table/input-handler';
|
|
8
|
+
export * from './lib/table/event-listener.if';
|
|
9
|
+
export * from './lib/table/action/action-id.type';
|
|
10
|
+
export * from './lib/table/action/shortcut.service';
|
|
11
|
+
export * from './lib/table/action/shortcut-actionid-mapping.type';
|
|
12
|
+
export * from './lib/table/action/windows-shortcut-actionId-mapping';
|
|
13
|
+
export * from './lib/table/action/osx-shortcut-actionId-mapping';
|
|
14
|
+
export * from './lib/table/action/on-action-triggered.if';
|
|
15
|
+
export * from './lib/table/renderer/renderer';
|
|
16
|
+
export * from './lib/table/data/side-ident.type';
|
|
17
|
+
export * from './lib/table/data/div-scope.type';
|
|
18
|
+
export * from './lib/table/data/geo-data';
|
|
19
|
+
export * from './lib/table/data/common/get-t';
|
|
20
|
+
export * from './lib/table/data/common/value-label.if';
|
|
21
|
+
export * from './lib/table/data/common/value-label';
|
|
22
|
+
export * from './lib/table/data/common/sort-item';
|
|
23
|
+
export * from './lib/table/data/common/sort-state.type';
|
|
24
|
+
export * from './lib/table/data/common/index-and-px';
|
|
25
|
+
export * from './lib/table/data/common/cell-range';
|
|
26
|
+
export * from './lib/table/data/common/checked-type';
|
|
27
|
+
export * from './lib/table/data/common/sizes';
|
|
28
|
+
export * from './lib/table/data/common/aligns';
|
|
29
|
+
export * from './lib/table/data/common/boolean-function';
|
|
30
|
+
export * from './lib/table/data/common/checkbox-column';
|
|
31
|
+
export * from './lib/table/data/common/size';
|
|
32
|
+
export * from './lib/table/data/common/size.if';
|
|
33
|
+
export * from './lib/table/data/common/area-map';
|
|
34
|
+
export * from './lib/table/data/common/area-map.type';
|
|
35
|
+
export * from './lib/table/data/common/area-map-factory';
|
|
36
|
+
export * from './lib/table/data/common/filter-function';
|
|
37
|
+
export * from './lib/table/data/common/args-render-cell-div';
|
|
38
|
+
export * from './lib/table/data/common/args-adjust-columns-to-row-parent-params';
|
|
39
|
+
export * from './lib/table/data/common/event/ge-mouse-event';
|
|
40
|
+
export * from './lib/table/data/common/event/ge-model-change-event';
|
|
41
|
+
export * from './lib/table/data/common/event/ge-cell-indices';
|
|
42
|
+
export * from './lib/table/data/common/event/ge-key-event';
|
|
43
|
+
export * from './lib/table/focus/focus-model';
|
|
44
|
+
export * from './lib/table/focus/focus-model.if';
|
|
45
|
+
export * from './lib/table/focus/focus.type';
|
|
46
|
+
export * from './lib/table/checkbox/checkbox-model';
|
|
47
|
+
export * from './lib/table/checkbox/tree-checkbox-model';
|
|
48
|
+
export * from './lib/table/checkbox/checkbox-model.if';
|
|
49
|
+
export * from './lib/table/data/options/auto-restore-options.if';
|
|
50
|
+
export * from './lib/table/data/options/auto-restore-options';
|
|
51
|
+
export * from './lib/table/data/options/table-options';
|
|
52
|
+
export * from './lib/table/data/options/table-options.if';
|
|
53
|
+
export * from './lib/table/data/options/default-row-heights.if';
|
|
54
|
+
export * from './lib/table/data/options/default-row-heights';
|
|
55
|
+
export * from './lib/table/data/options/tree-options';
|
|
56
|
+
export * from './lib/table/data/options/tree-options.if';
|
|
57
|
+
export * from './lib/table/data/options/icon';
|
|
58
|
+
export * from './lib/table/data/options/icon.if';
|
|
59
|
+
export * from './lib/table/data/options/sorted-options.if';
|
|
60
|
+
export * from './lib/table/data/options/sorted-options';
|
|
61
|
+
export * from './lib/table/data/tablemodel/padding';
|
|
62
|
+
export * from './lib/table/data/tablemodel/table-model.if';
|
|
63
|
+
export * from './lib/table/data/tablemodel/table-model';
|
|
64
|
+
export * from './lib/table/data/tablemodel/area-ident.type';
|
|
65
|
+
export * from './lib/table/data/tablemodel/column/column-def';
|
|
66
|
+
export * from './lib/table/data/tablemodel/column/column-def.if';
|
|
67
|
+
export * from './lib/table/data/tablemodel/areamodel/area-model.if';
|
|
68
|
+
export * from './lib/table/data/tablemodel/areamodel/abstract-area-model';
|
|
69
|
+
export * from './lib/table/data/tablemodel/areamodel/area-model-array-array';
|
|
70
|
+
export * from './lib/table/data/tablemodel/areamodel/area-model-hidden';
|
|
71
|
+
export * from './lib/table/data/tablemodel/areamodel/area-model-object-array';
|
|
72
|
+
export * from './lib/table/data/tablemodel/areamodel/area-model-tree';
|
|
73
|
+
export * from './lib/table/data/tablemodel/areamodel/col-and-rowspan-model';
|
|
74
|
+
export * from './lib/table/data/common/tree-row';
|
|
75
|
+
export * from './lib/table/data/common/tree-row-if';
|
|
76
|
+
export * from './lib/table/data/common/tree-arrow.type';
|
|
77
|
+
export * from './lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs';
|
|
78
|
+
export * from './lib/table/service/convenience-dom.service';
|
|
79
|
+
export * from './lib/table/service/dom-service.if';
|
|
80
|
+
export * from './lib/table/service/tree-row.service';
|
|
81
|
+
export * from './lib/table/service/store-state-scroll-pos.service';
|
|
82
|
+
export * from './lib/table/service/store-state-collapsed-expand.service';
|
|
83
|
+
export * from './lib/table/service/store-state-sorting.service';
|
|
84
|
+
export * from './lib/table/service/data/collapsed-expanded.data';
|
|
85
|
+
export * from './lib/table/service/data/html-style.type';
|
|
86
|
+
export * from './lib/table/service/ge-filter.service';
|
|
87
|
+
export * from './lib/table/renderer/cell-render.if';
|
|
88
|
+
export * from './lib/table/renderer/checkbox-cell-renderer';
|
|
89
|
+
export * from './lib/table/renderer/date-to-iso-cell-renderer';
|
|
90
|
+
export * from './lib/table/renderer/date-to-int-date-cell-renderer';
|
|
91
|
+
export * from './lib/table/renderer/date-to-locale-date-cell-renderer';
|
|
92
|
+
export * from './lib/table/renderer/male-female-to-icon-cell-renderer';
|
|
93
|
+
export * from './lib/table/renderer/renderer-cleanup-fn.type';
|
|
94
|
+
export * from './lib/table/renderer/number-cell-renderer';
|
|
95
|
+
export * from './lib/table/renderer/edit/edit-cell-renderer.type';
|
|
96
|
+
export * from './lib/table/renderer/edit/input-cell-renderer';
|
|
97
|
+
export * from './lib/table/renderer/edit/select-cell-renderer';
|
|
98
|
+
export * from './lib/table/selection/selection-model';
|
|
99
|
+
export * from './lib/table/selection/selection-model.if';
|
|
100
|
+
export * from './lib/table/selection/selection.type';
|
|
101
|
+
export * from './lib/table/selection/selection-service';
|
|
102
|
+
export { ArgsRenderCellDiv } from "./lib/table/data/common/args-render-cell-div";
|
|
103
|
+
export { ArgsAdjustColumnsToRowParentParams } from "./lib/table/data/common/args-adjust-columns-to-row-parent-params";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TableScope } from "../table-scope";
|
|
2
|
+
import { OnActionTriggeredIf } from "./on-action-triggered.if";
|
|
3
|
+
export declare class ShortcutService {
|
|
4
|
+
protected tableScope: TableScope;
|
|
5
|
+
private shortcutActionIdMapping;
|
|
6
|
+
private listener;
|
|
7
|
+
constructor(tableScope: TableScope);
|
|
8
|
+
addListener(listener: OnActionTriggeredIf): void;
|
|
9
|
+
init(): void;
|
|
10
|
+
private isMacintosh;
|
|
11
|
+
private isLocalhost;
|
|
12
|
+
private onKeyDown;
|
|
13
|
+
private emit;
|
|
14
|
+
private findEnty;
|
|
15
|
+
private areTokensEquals;
|
|
16
|
+
private getTokenByEvent;
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CheckedType } from "../data/common/checked-type";
|
|
2
|
+
import { CheckboxModelIf } from "./checkbox-model.if";
|
|
3
|
+
export declare class CheckboxModel<T> implements CheckboxModelIf<T> {
|
|
4
|
+
protected checkedRows: Array<T>;
|
|
5
|
+
getCheckedRows(): T[];
|
|
6
|
+
setCheckedRows(rows: T[]): void;
|
|
7
|
+
addCheckedRows(rows: T[]): void;
|
|
8
|
+
checkRow(row: T, sel: boolean): void;
|
|
9
|
+
isRowChecked(row: T): CheckedType;
|
|
10
|
+
checkAll(_rows: T[]): void;
|
|
11
|
+
private removeSelectedRow;
|
|
12
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CheckedType } from "../data/common/checked-type";
|
|
2
|
+
export interface CheckboxModelIf<T> {
|
|
3
|
+
getCheckedRows(): T[];
|
|
4
|
+
setCheckedRows(value: T[]): void;
|
|
5
|
+
addCheckedRows(value: T[]): void;
|
|
6
|
+
checkRow(row: T, check: boolean): void;
|
|
7
|
+
isRowChecked(row: T): CheckedType;
|
|
8
|
+
checkAll(value: T[]): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CheckedType } from "../data/common/checked-type";
|
|
2
|
+
import { CheckboxModelIf } from "./checkbox-model.if";
|
|
3
|
+
import { TreeRowIf } from "../data/common/tree-row-if";
|
|
4
|
+
export declare class TreeCheckboxModel<T extends TreeRowIf<any>> implements CheckboxModelIf<T> {
|
|
5
|
+
protected allRootNodes: T[];
|
|
6
|
+
constructor(allRootNodes?: T[]);
|
|
7
|
+
checkRow(row: T, sel: boolean): void;
|
|
8
|
+
checkAll(arr: T[]): void;
|
|
9
|
+
getCheckedRows(): T[];
|
|
10
|
+
isRowChecked(row: T): CheckedType;
|
|
11
|
+
setCheckedRows(rows: T[]): void;
|
|
12
|
+
addCheckedRows(rows: T[]): void;
|
|
13
|
+
private autoCheckParent;
|
|
14
|
+
private areAllChildrenChecked;
|
|
15
|
+
private areAllChildrenUnchecked;
|
|
16
|
+
private addSelectedRecursive;
|
|
17
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const bodyLeft: {
|
|
2
|
+
body: string[];
|
|
3
|
+
};
|
|
4
|
+
export declare const bodyCenter: {
|
|
5
|
+
body: string[];
|
|
6
|
+
};
|
|
7
|
+
export declare const bodyRight: {
|
|
8
|
+
body: string[];
|
|
9
|
+
};
|
|
10
|
+
export declare const allLeft: {
|
|
11
|
+
header: string[];
|
|
12
|
+
body: string[];
|
|
13
|
+
footer: string[];
|
|
14
|
+
};
|
|
15
|
+
export declare const allCenter: {
|
|
16
|
+
header: string[];
|
|
17
|
+
body: string[];
|
|
18
|
+
footer: string[];
|
|
19
|
+
};
|
|
20
|
+
export declare const allRight: {
|
|
21
|
+
header: string[];
|
|
22
|
+
body: string[];
|
|
23
|
+
footer: string[];
|
|
24
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AreaObjectMapType } from "./area-map.type";
|
|
2
|
+
export declare class AreaObjectMap<T> implements AreaObjectMapType<T> {
|
|
3
|
+
header?: T | undefined;
|
|
4
|
+
body?: T | undefined;
|
|
5
|
+
footer?: T | undefined;
|
|
6
|
+
constructor(header?: T | undefined, body?: T | undefined, footer?: T | undefined);
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AreaIdent } from "../tablemodel/area-ident.type";
|
|
2
|
+
import { SideIdent } from "../side-ident.type";
|
|
3
|
+
import { AreaModelIf } from "../tablemodel/areamodel/area-model.if";
|
|
4
|
+
import { GeoData } from "../geo-data";
|
|
5
|
+
export interface ArgsAdjustColumnsToRowParentParams {
|
|
6
|
+
areaIdent: AreaIdent;
|
|
7
|
+
sideIdent: SideIdent;
|
|
8
|
+
areaModel: AreaModelIf;
|
|
9
|
+
geo: GeoData;
|
|
10
|
+
parent: HTMLDivElement;
|
|
11
|
+
rowIndex: number;
|
|
12
|
+
columnIndexStart: number;
|
|
13
|
+
columnIndexEnd: number;
|
|
14
|
+
verticalFixed?: boolean;
|
|
15
|
+
firstVisibleRow?: boolean;
|
|
16
|
+
}
|