@revolist/revogrid 3.2.0 → 3.2.4

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.
Files changed (210) hide show
  1. package/dist/revo-grid/_baseIteratee-af30b221.js +2070 -0
  2. package/dist/{collection/global/global.js → revo-grid/app-globals-7e6866ba.js} +11 -2
  3. package/dist/{collection/components/data/columnService.js → revo-grid/columnService-91e552ba.js} +11 -6
  4. package/dist/revo-grid/consts-ef824e6f.js +46 -0
  5. package/dist/revo-grid/css-shim-5387c708.js +7 -0
  6. package/dist/revo-grid/data.store-3263fff9.js +557 -0
  7. package/dist/revo-grid/debounce-aaa4b4da.js +217 -0
  8. package/dist/revo-grid/dimension.helpers-a7944fc4.js +340 -0
  9. package/dist/{collection/plugins/dispatcher.js → revo-grid/dispatcher-891af82e.js} +7 -2
  10. package/dist/{cjs/dom-c8b6d1a7.js → revo-grid/dom-21bd1807.js} +4 -3
  11. package/dist/revo-grid/each-0378e5a3.js +180 -0
  12. package/dist/{collection/plugins/filter/filter.button.js → revo-grid/filter.button-74c1cd9c.js} +16 -10
  13. package/dist/revo-grid/identity-c8c7d3d8.js +26 -0
  14. package/dist/revo-grid/index-8a604c17.js +3067 -0
  15. package/dist/revo-grid/index.esm.js +3 -0
  16. package/dist/revo-grid/isString-a51066b5.js +34 -0
  17. package/dist/revo-grid/isSymbol-e4b5dafe.js +247 -0
  18. package/dist/revo-grid/keyCodes.utils-bd06e3ba.js +299 -0
  19. package/dist/revo-grid/keys-70b7c240.js +561 -0
  20. package/dist/{collection/services/localScrollService.js → revo-grid/localScrollService-e9b73323.js} +8 -2
  21. package/dist/{esm/revo-grid_11.entry.js → revo-grid/lodash-a0ab4cdd.js} +13773 -24835
  22. package/dist/{cjs/resize-observer-8dc80084.js → revo-grid/resize-observer-00c48d78.js} +25 -14
  23. package/dist/revo-grid/revo-grid.entry.js +3484 -0
  24. package/dist/revo-grid/revo-grid.esm.js +133 -1
  25. package/dist/revo-grid/revogr-clipboard.entry.js +52 -1
  26. package/dist/revo-grid/revogr-data.entry.js +152 -0
  27. package/dist/revo-grid/revogr-edit.entry.js +105 -0
  28. package/dist/revo-grid/revogr-filter-panel.entry.js +277 -1
  29. package/dist/revo-grid/revogr-focus.entry.js +41 -0
  30. package/dist/revo-grid/revogr-header.entry.js +560 -0
  31. package/dist/revo-grid/revogr-order-editor.entry.js +175 -0
  32. package/dist/revo-grid/revogr-overlay-selection.entry.js +711 -0
  33. package/dist/revo-grid/revogr-row-headers.entry.js +73 -0
  34. package/dist/revo-grid/revogr-scroll-virtual.entry.js +114 -0
  35. package/dist/revo-grid/revogr-temp-range.entry.js +73 -0
  36. package/dist/revo-grid/revogr-viewport-scroll.entry.js +340 -0
  37. package/dist/revo-grid/selection.store.connector-2b613fd0.js +503 -0
  38. package/dist/{collection/components/overlay/selection.utils.js → revo-grid/selection.utils-a9932db6.js} +15 -9
  39. package/dist/revo-grid/shadow-css-602a09db.js +390 -0
  40. package/dist/{collection/themeManager/themeService.js → revo-grid/themeService-ddaaa364.js} +26 -6
  41. package/dist/revo-grid/toInteger-9e6cbfd2.js +107 -0
  42. package/dist/revo-grid/toNumber-913b0b72.js +105 -0
  43. package/dist/{collection/utils/utils.js → revo-grid/utils-2c3b3857.js} +13 -8
  44. package/dist/revo-grid/viewport.helpers-49d3f031.js +16 -0
  45. package/dist/{collection/store/viewPort/viewport.helpers.js → revo-grid/viewport.store-ffaaab6d.js} +135 -9
  46. package/dist/types/components.d.ts +100 -56
  47. package/dist/types/stencil-public-runtime.d.ts +189 -186
  48. package/package.json +22 -20
  49. package/custom-element/index.js +0 -29210
  50. package/custom-element/resize-observer.js +0 -489
  51. package/dist/cjs/css-shim-e33df79c.js +0 -6
  52. package/dist/cjs/debounce-e9b040d9.js +0 -575
  53. package/dist/cjs/index-d3f67f2e.js +0 -1729
  54. package/dist/cjs/index.cjs.js +0 -2
  55. package/dist/cjs/loader.cjs.js +0 -35
  56. package/dist/cjs/revo-grid.cjs.js +0 -73
  57. package/dist/cjs/revo-grid_11.cjs.entry.js +0 -28294
  58. package/dist/cjs/revogr-clipboard.cjs.entry.js +0 -53
  59. package/dist/cjs/revogr-filter-panel.cjs.entry.js +0 -275
  60. package/dist/collection/collection-manifest.json +0 -25
  61. package/dist/collection/components/button/button.js +0 -4
  62. package/dist/collection/components/clipboard/revogr-clipboard.js +0 -121
  63. package/dist/collection/components/data/cellRenderer.js +0 -24
  64. package/dist/collection/components/data/revogr-data-style.css +0 -135
  65. package/dist/collection/components/data/revogr-data.js +0 -322
  66. package/dist/collection/components/data/rowRenderer.js +0 -6
  67. package/dist/collection/components/header/headerCellRenderer.js +0 -26
  68. package/dist/collection/components/header/headerRenderer.js +0 -45
  69. package/dist/collection/components/header/revogr-header-style.css +0 -198
  70. package/dist/collection/components/header/revogr-header.js +0 -297
  71. package/dist/collection/components/order/orderRenderer.js +0 -50
  72. package/dist/collection/components/order/revogr-order-editor.js +0 -358
  73. package/dist/collection/components/order/rowOrderService.js +0 -68
  74. package/dist/collection/components/overlay/autofill.service.js +0 -182
  75. package/dist/collection/components/overlay/clipboard.service.js +0 -39
  76. package/dist/collection/components/overlay/editors/edit.utils.js +0 -5
  77. package/dist/collection/components/overlay/editors/text.js +0 -35
  78. package/dist/collection/components/overlay/keyboard.service.js +0 -128
  79. package/dist/collection/components/overlay/revogr-edit-style.css +0 -86
  80. package/dist/collection/components/overlay/revogr-edit.js +0 -159
  81. package/dist/collection/components/overlay/revogr-overlay-selection.js +0 -726
  82. package/dist/collection/components/overlay/revogr-overlay-style.css +0 -98
  83. package/dist/collection/components/revo-grid/revo-grid-style.css +0 -544
  84. package/dist/collection/components/revo-grid/revo-grid.js +0 -2224
  85. package/dist/collection/components/revo-grid/viewport.helpers.js +0 -11
  86. package/dist/collection/components/revo-grid/viewport.interfaces.js +0 -1
  87. package/dist/collection/components/revo-grid/viewport.js +0 -18
  88. package/dist/collection/components/revo-grid/viewport.resize.service.js +0 -21
  89. package/dist/collection/components/revo-grid/viewport.scrolling.service.js +0 -60
  90. package/dist/collection/components/revo-grid/viewport.section.js +0 -28
  91. package/dist/collection/components/revo-grid/viewport.service.js +0 -209
  92. package/dist/collection/components/rowHeaders/revogr-row-headers.js +0 -210
  93. package/dist/collection/components/rowHeaders/row-header-render.js +0 -1
  94. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +0 -137
  95. package/dist/collection/components/scroll/revogr-viewport-scroll.js +0 -399
  96. package/dist/collection/components/scrollable/revogr-scroll-style.css +0 -104
  97. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +0 -253
  98. package/dist/collection/components/selection-focus/revogr-focus-style.css +0 -77
  99. package/dist/collection/components/selection-focus/revogr-focus.js +0 -103
  100. package/dist/collection/components/selection-temp-range/revogr-temp-range-style.css +0 -98
  101. package/dist/collection/components/selection-temp-range/revogr-temp-range.js +0 -138
  102. package/dist/collection/index.js +0 -1
  103. package/dist/collection/plugins/autoSizeColumn.js +0 -230
  104. package/dist/collection/plugins/basePlugin.js +0 -27
  105. package/dist/collection/plugins/export/csv.js +0 -68
  106. package/dist/collection/plugins/export/export.plugin.js +0 -165
  107. package/dist/collection/plugins/export/types.js +0 -1
  108. package/dist/collection/plugins/filter/conditions/equal.js +0 -17
  109. package/dist/collection/plugins/filter/conditions/number/greaterThan.js +0 -10
  110. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +0 -7
  111. package/dist/collection/plugins/filter/conditions/number/lessThan.js +0 -12
  112. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +0 -7
  113. package/dist/collection/plugins/filter/conditions/set.js +0 -3
  114. package/dist/collection/plugins/filter/conditions/string/beginswith.js +0 -17
  115. package/dist/collection/plugins/filter/conditions/string/contains.js +0 -18
  116. package/dist/collection/plugins/filter/filter.plugin.js +0 -256
  117. package/dist/collection/plugins/filter/filter.pop.js +0 -485
  118. package/dist/collection/plugins/filter/filter.service.js +0 -44
  119. package/dist/collection/plugins/filter/filter.style.css +0 -239
  120. package/dist/collection/plugins/filter/filter.types.js +0 -1
  121. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +0 -30
  122. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js +0 -36
  123. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +0 -21
  124. package/dist/collection/plugins/groupingRow/grouping.const.js +0 -10
  125. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +0 -76
  126. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +0 -258
  127. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +0 -29
  128. package/dist/collection/plugins/groupingRow/grouping.row.types.js +0 -1
  129. package/dist/collection/plugins/groupingRow/grouping.service.js +0 -155
  130. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +0 -57
  131. package/dist/collection/plugins/moveColumn/columnDragPlugin.js +0 -145
  132. package/dist/collection/plugins/moveColumn/columnOrderHandler.js +0 -60
  133. package/dist/collection/plugins/sorting/sorting.plugin.js +0 -181
  134. package/dist/collection/plugins/sorting/sorting.sign.js +0 -6
  135. package/dist/collection/plugins/stretchPlugin.js +0 -68
  136. package/dist/collection/plugins/trimmed/trimmed.plugin.js +0 -32
  137. package/dist/collection/services/cell.helpers.js +0 -7
  138. package/dist/collection/services/column.data.provider.js +0 -188
  139. package/dist/collection/services/data.provider.js +0 -47
  140. package/dist/collection/services/dimension.provider.js +0 -78
  141. package/dist/collection/services/resizable.directive.js +0 -250
  142. package/dist/collection/services/selection.store.connector.js +0 -213
  143. package/dist/collection/services/viewport.provider.js +0 -14
  144. package/dist/collection/store/dataSource/data.proxy.js +0 -34
  145. package/dist/collection/store/dataSource/data.store.js +0 -127
  146. package/dist/collection/store/dimension/dimension.helpers.js +0 -107
  147. package/dist/collection/store/dimension/dimension.store.js +0 -59
  148. package/dist/collection/store/selection/selection.helpers.js +0 -53
  149. package/dist/collection/store/selection/selection.store.js +0 -68
  150. package/dist/collection/store/selection/selection.store.service.js +0 -35
  151. package/dist/collection/store/storeTypes.js +0 -5
  152. package/dist/collection/store/viewPort/viewport.store.js +0 -121
  153. package/dist/collection/themeManager/theme.compact.js +0 -5
  154. package/dist/collection/themeManager/theme.default.js +0 -5
  155. package/dist/collection/themeManager/theme.material.js +0 -5
  156. package/dist/collection/utils/closestPolifill.js +0 -18
  157. package/dist/collection/utils/consts.js +0 -19
  158. package/dist/collection/utils/generateAlphabetHeader.js +0 -20
  159. package/dist/collection/utils/keyCodes.js +0 -70
  160. package/dist/collection/utils/keyCodes.utils.js +0 -64
  161. package/dist/collection/utils/platform.js +0 -5
  162. package/dist/collection/utils/resizeObserver.js +0 -6
  163. package/dist/collection/utils/store.utils.js +0 -7
  164. package/dist/collection/utilsExternal/generate-data.js +0 -132
  165. package/dist/esm/css-shim-8d75038b.js +0 -4
  166. package/dist/esm/debounce-45985ae0.js +0 -558
  167. package/dist/esm/dom-1b195079.js +0 -73
  168. package/dist/esm/index-42c84e7c.js +0 -1694
  169. package/dist/esm/index.js +0 -1
  170. package/dist/esm/loader.js +0 -31
  171. package/dist/esm/polyfills/core-js.js +0 -11
  172. package/dist/esm/polyfills/css-shim.js +0 -1
  173. package/dist/esm/polyfills/dom.js +0 -79
  174. package/dist/esm/polyfills/es5-html-element.js +0 -1
  175. package/dist/esm/polyfills/index.js +0 -34
  176. package/dist/esm/polyfills/system.js +0 -6
  177. package/dist/esm/resize-observer-56b7b34f.js +0 -489
  178. package/dist/esm/revo-grid.js +0 -71
  179. package/dist/esm/revogr-clipboard.entry.js +0 -49
  180. package/dist/esm/revogr-filter-panel.entry.js +0 -271
  181. package/dist/esm-es5/css-shim-8d75038b.js +0 -1
  182. package/dist/esm-es5/debounce-45985ae0.js +0 -1
  183. package/dist/esm-es5/dom-1b195079.js +0 -21
  184. package/dist/esm-es5/index-42c84e7c.js +0 -1
  185. package/dist/esm-es5/index.js +0 -0
  186. package/dist/esm-es5/loader.js +0 -1
  187. package/dist/esm-es5/resize-observer-56b7b34f.js +0 -1
  188. package/dist/esm-es5/revo-grid.js +0 -1
  189. package/dist/esm-es5/revo-grid_11.entry.js +0 -1
  190. package/dist/esm-es5/revogr-clipboard.entry.js +0 -1
  191. package/dist/esm-es5/revogr-filter-panel.entry.js +0 -1
  192. package/dist/index.cjs.js +0 -1
  193. package/dist/index.js +0 -1
  194. package/dist/revo-grid/css-shim-88bfb262.system.js +0 -1
  195. package/dist/revo-grid/css-shim-8d75038b.js +0 -1
  196. package/dist/revo-grid/debounce-6c911037.js +0 -1
  197. package/dist/revo-grid/debounce-a345f98e.system.js +0 -1
  198. package/dist/revo-grid/dom-1b195079.js +0 -19
  199. package/dist/revo-grid/dom-ee2dd1b3.system.js +0 -21
  200. package/dist/revo-grid/index-a15e7527.system.js +0 -1
  201. package/dist/revo-grid/index-a7f99799.js +0 -1
  202. package/dist/revo-grid/index.system.js +0 -1
  203. package/dist/revo-grid/resize-observer-56b7b34f.js +0 -1
  204. package/dist/revo-grid/resize-observer-7a7b9757.system.js +0 -1
  205. package/dist/revo-grid/revo-grid.js +0 -132
  206. package/dist/revo-grid/revo-grid.system.js +0 -1
  207. package/dist/revo-grid/revo-grid_11.entry.js +0 -1
  208. package/dist/revo-grid/revo-grid_11.system.entry.js +0 -1
  209. package/dist/revo-grid/revogr-clipboard.system.entry.js +0 -1
  210. package/dist/revo-grid/revogr-filter-panel.system.entry.js +0 -1
@@ -1,726 +0,0 @@
1
- import { Component, Event, h, Host, Listen, Prop, Element, Watch } from '@stencil/core';
2
- import ColumnService from '../data/columnService';
3
- import SelectionStoreService from '../../store/selection/selection.store.service';
4
- import { codesLetter } from '../../utils/keyCodes';
5
- import { SELECTION_BORDER_CLASS } from '../../utils/consts';
6
- import { isRangeSingleCell } from '../../store/selection/selection.helpers';
7
- import { getCurrentCell, getElStyle } from './selection.utils';
8
- import { isEditInput } from './editors/edit.utils';
9
- import { KeyboardService } from './keyboard.service';
10
- import { AutoFillService } from './autofill.service';
11
- import { ClipboardService } from './clipboard.service';
12
- export class OverlaySelection {
13
- constructor() {
14
- this.keyboardService = null;
15
- this.autoFillService = null;
16
- this.clipboardService = null;
17
- }
18
- // --------------------------------------------------------------------------
19
- //
20
- // Listeners
21
- //
22
- // --------------------------------------------------------------------------
23
- onMouseMove(e) {
24
- if (this.selectionStoreService.focused) {
25
- this.autoFillService.selectionMouseMove(e);
26
- }
27
- }
28
- /** Pointer left document, clear any active operation */
29
- onMouseOut() {
30
- this.autoFillService.clearAutoFillSelection();
31
- }
32
- /** Action finished inside of the document */
33
- onMouseUp() {
34
- this.autoFillService.clearAutoFillSelection();
35
- }
36
- /** Row drag started */
37
- onCellDrag(e) {
38
- var _a;
39
- (_a = this.orderEditor) === null || _a === void 0 ? void 0 : _a.dragStart(e.detail);
40
- }
41
- /** Recived keyboard down from element */
42
- onKeyUp(e) {
43
- var _a;
44
- (_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.keyUp(e);
45
- }
46
- /** Recived keyboard down from element */
47
- onKeyDown(e) {
48
- var _a;
49
- if (e.defaultPrevented) {
50
- return;
51
- }
52
- (_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.keyDown(e, this.range);
53
- }
54
- /** Create selection store */
55
- selectionServiceSet(s) {
56
- this.selectionStoreService = new SelectionStoreService(s, {
57
- changeRange: range => { var _a; return !((_a = this.setRange.emit(range)) === null || _a === void 0 ? void 0 : _a.defaultPrevented); },
58
- focus: (focus, end) => {
59
- var _a;
60
- const focused = { focus, end };
61
- const { defaultPrevented } = this.internalFocusCell.emit(this.columnService.getSaveData(focus.y, focus.x));
62
- if (defaultPrevented) {
63
- return false;
64
- }
65
- return !((_a = this.focusCell.emit(focused)) === null || _a === void 0 ? void 0 : _a.defaultPrevented);
66
- },
67
- });
68
- this.keyboardService = new KeyboardService({
69
- selectionStoreService: this.selectionStoreService,
70
- selectionStore: s,
71
- doEdit: (v, c) => this.doEdit(v, c),
72
- clearCell: () => this.clearCell(),
73
- getData: () => this.getData(),
74
- internalPaste: () => this.internalPaste.emit()
75
- });
76
- this.createAutoFillService();
77
- this.createClipboardService();
78
- }
79
- createAutoFillService() {
80
- this.autoFillService = new AutoFillService({
81
- selectionStoreService: this.selectionStoreService,
82
- dimensionRow: this.dimensionRow,
83
- dimensionCol: this.dimensionCol,
84
- columnService: this.columnService,
85
- dataStore: this.dataStore,
86
- setTempRange: (e) => this.setTempRange.emit(e),
87
- internalSelectionChanged: (e) => this.internalSelectionChanged.emit(e),
88
- internalRangeDataApply: (e) => this.internalRangeDataApply.emit(e),
89
- setRange: (e) => this.setRange.emit(e),
90
- getData: () => this.getData(),
91
- });
92
- }
93
- columnServiceSet() {
94
- var _a;
95
- (_a = this.columnService) === null || _a === void 0 ? void 0 : _a.destroy();
96
- this.columnService = new ColumnService(this.dataStore, this.colData);
97
- this.createAutoFillService();
98
- this.createClipboardService();
99
- }
100
- createClipboardService() {
101
- this.clipboardService = new ClipboardService({
102
- selectionStoreService: this.selectionStoreService,
103
- columnService: this.columnService,
104
- dataStore: this.dataStore,
105
- onRangeApply: (d, r) => this.autoFillService.onRangeApply(d, r),
106
- internalCopy: () => this.internalCopy.emit()
107
- });
108
- }
109
- connectedCallback() {
110
- this.columnServiceSet();
111
- this.selectionServiceSet(this.selectionStore);
112
- }
113
- disconnectedCallback() {
114
- var _a;
115
- (_a = this.columnService) === null || _a === void 0 ? void 0 : _a.destroy();
116
- }
117
- renderRange(range) {
118
- const style = getElStyle(range, this.dimensionRow.state, this.dimensionCol.state);
119
- return [h("div", { class: SELECTION_BORDER_CLASS, style: style })];
120
- }
121
- renderEditCell() {
122
- // if can edit
123
- const editCell = this.selectionStore.get('edit');
124
- if (this.readonly || !editCell) {
125
- return;
126
- }
127
- const val = editCell.val || this.columnService.getCellData(editCell.y, editCell.x);
128
- const editable = Object.assign(Object.assign({}, editCell), this.columnService.getSaveData(editCell.y, editCell.x, val));
129
- const style = getElStyle(Object.assign(Object.assign({}, editCell), { x1: editCell.x, y1: editCell.y }), this.dimensionRow.state, this.dimensionCol.state);
130
- return (h("revogr-edit", { onCellEdit: e => this.onCellEdit(e.detail), onCloseEdit: e => this.closeEdit(e), editCell: editable, column: this.columnService.columns[editCell.x], editor: this.columnService.getCellEditor(editCell.y, editCell.x, this.editors), style: style }));
131
- }
132
- render() {
133
- const range = this.selectionStoreService.ranged;
134
- const selectionFocus = this.selectionStoreService.focused;
135
- const els = [];
136
- if ((range || selectionFocus) && this.useClipboard) {
137
- els.push(this.clipboardService.renderClipboard());
138
- }
139
- if (range) {
140
- els.push(...this.renderRange(range));
141
- }
142
- const editCell = this.renderEditCell();
143
- if (editCell) {
144
- els.push(editCell);
145
- }
146
- if (selectionFocus && !this.readonly && !editCell && this.range) {
147
- els.push(this.autoFillService.renderAutofill(range, selectionFocus));
148
- }
149
- if (this.canDrag) {
150
- els.push(h("revogr-order-editor", { ref: e => (this.orderEditor = e), dataStore: this.dataStore, dimensionRow: this.dimensionRow, dimensionCol: this.dimensionCol, parent: this.element, onInternalRowDragStart: e => this.onRowDragStart(e) }));
151
- }
152
- return (h(Host, { onDblClick: () => this.doEdit(), onMouseDown: (e) => this.onElementMouseDown(e) },
153
- els,
154
- h("slot", { name: "data" })));
155
- }
156
- onElementMouseDown(e) {
157
- // Ignore focus if clicked input
158
- if (isEditInput(e.target)) {
159
- return;
160
- }
161
- const data = this.getData();
162
- if (e.defaultPrevented) {
163
- return;
164
- }
165
- // Regular cell click
166
- const focusCell = getCurrentCell({ x: e.x, y: e.y }, data);
167
- this.selectionStoreService.focus(focusCell, this.range && e.shiftKey);
168
- // Initiate autofill selection
169
- if (this.range) {
170
- this.autoFillService.selectionStart(e, data);
171
- }
172
- }
173
- doEdit(val = '', isCancel = false) {
174
- var _a;
175
- if (this.canEdit()) {
176
- const editCell = this.selectionStore.get('focus');
177
- const data = this.columnService.getSaveData(editCell.y, editCell.x);
178
- (_a = this.setEdit) === null || _a === void 0 ? void 0 : _a.emit(Object.assign(Object.assign({}, data), { isCancel,
179
- val }));
180
- }
181
- }
182
- closeEdit(e) {
183
- this.doEdit(undefined, true);
184
- if (e === null || e === void 0 ? void 0 : e.detail) {
185
- this.focusNext();
186
- }
187
- }
188
- async focusNext() {
189
- const canFocus = await this.keyboardService.keyChangeSelection(new KeyboardEvent('keydown', {
190
- code: codesLetter.ARROW_DOWN,
191
- }), this.range);
192
- if (!canFocus) {
193
- this.closeEdit();
194
- }
195
- }
196
- clearCell() {
197
- if (this.selectionStoreService.ranged && !isRangeSingleCell(this.selectionStoreService.ranged)) {
198
- const data = this.columnService.getRangeStaticData(this.selectionStoreService.ranged, '');
199
- this.autoFillService.onRangeApply(data, this.selectionStoreService.ranged);
200
- }
201
- else if (this.canEdit()) {
202
- const focused = this.selectionStoreService.focused;
203
- this.onCellEdit({ rgRow: focused.y, rgCol: focused.x, val: '' }, true);
204
- }
205
- }
206
- /** Edit finished, close cell and save */
207
- onCellEdit(e, clear = false) {
208
- const dataToSave = this.columnService.getSaveData(e.rgRow, e.rgCol, e.val);
209
- this.internalCellEdit.emit(dataToSave);
210
- // if not clear navigate to next cell after edit
211
- if (!clear && !e.preventFocus) {
212
- this.focusNext();
213
- }
214
- }
215
- onRowDragStart({ detail }) {
216
- detail.text = this.columnService.getCellData(detail.cell.y, detail.cell.x);
217
- }
218
- /** Check if edit possible */
219
- canEdit() {
220
- var _a;
221
- if (this.readonly) {
222
- return false;
223
- }
224
- const editCell = this.selectionStoreService.focused;
225
- return editCell && !((_a = this.columnService) === null || _a === void 0 ? void 0 : _a.isReadOnly(editCell.y, editCell.x));
226
- }
227
- /** Collect data from element */
228
- getData() {
229
- return {
230
- el: this.element,
231
- rows: this.dimensionRow.state,
232
- cols: this.dimensionCol.state,
233
- lastCell: this.lastCell,
234
- };
235
- }
236
- static get is() { return "revogr-overlay-selection"; }
237
- static get originalStyleUrls() { return {
238
- "$": ["revogr-overlay-style.scss"]
239
- }; }
240
- static get styleUrls() { return {
241
- "$": ["revogr-overlay-style.css"]
242
- }; }
243
- static get properties() { return {
244
- "readonly": {
245
- "type": "boolean",
246
- "mutable": false,
247
- "complexType": {
248
- "original": "boolean",
249
- "resolved": "boolean",
250
- "references": {}
251
- },
252
- "required": false,
253
- "optional": false,
254
- "docs": {
255
- "tags": [],
256
- "text": ""
257
- },
258
- "attribute": "readonly",
259
- "reflect": false
260
- },
261
- "range": {
262
- "type": "boolean",
263
- "mutable": false,
264
- "complexType": {
265
- "original": "boolean",
266
- "resolved": "boolean",
267
- "references": {}
268
- },
269
- "required": false,
270
- "optional": false,
271
- "docs": {
272
- "tags": [],
273
- "text": ""
274
- },
275
- "attribute": "range",
276
- "reflect": false
277
- },
278
- "canDrag": {
279
- "type": "boolean",
280
- "mutable": false,
281
- "complexType": {
282
- "original": "boolean",
283
- "resolved": "boolean",
284
- "references": {}
285
- },
286
- "required": false,
287
- "optional": false,
288
- "docs": {
289
- "tags": [],
290
- "text": ""
291
- },
292
- "attribute": "can-drag",
293
- "reflect": false
294
- },
295
- "useClipboard": {
296
- "type": "boolean",
297
- "mutable": false,
298
- "complexType": {
299
- "original": "boolean",
300
- "resolved": "boolean",
301
- "references": {}
302
- },
303
- "required": false,
304
- "optional": false,
305
- "docs": {
306
- "tags": [],
307
- "text": ""
308
- },
309
- "attribute": "use-clipboard",
310
- "reflect": false
311
- },
312
- "selectionStore": {
313
- "type": "unknown",
314
- "mutable": false,
315
- "complexType": {
316
- "original": "Observable<Selection.SelectionStoreState>",
317
- "resolved": "ObservableMap<SelectionStoreState>",
318
- "references": {
319
- "Observable": {
320
- "location": "import",
321
- "path": "../../interfaces"
322
- },
323
- "Selection": {
324
- "location": "import",
325
- "path": "../../interfaces"
326
- }
327
- }
328
- },
329
- "required": false,
330
- "optional": false,
331
- "docs": {
332
- "tags": [],
333
- "text": "Dynamic stores"
334
- }
335
- },
336
- "dimensionRow": {
337
- "type": "unknown",
338
- "mutable": false,
339
- "complexType": {
340
- "original": "Observable<RevoGrid.DimensionSettingsState>",
341
- "resolved": "ObservableMap<DimensionSettingsState>",
342
- "references": {
343
- "Observable": {
344
- "location": "import",
345
- "path": "../../interfaces"
346
- },
347
- "RevoGrid": {
348
- "location": "import",
349
- "path": "../../interfaces"
350
- }
351
- }
352
- },
353
- "required": false,
354
- "optional": false,
355
- "docs": {
356
- "tags": [],
357
- "text": ""
358
- }
359
- },
360
- "dimensionCol": {
361
- "type": "unknown",
362
- "mutable": false,
363
- "complexType": {
364
- "original": "Observable<RevoGrid.DimensionSettingsState>",
365
- "resolved": "ObservableMap<DimensionSettingsState>",
366
- "references": {
367
- "Observable": {
368
- "location": "import",
369
- "path": "../../interfaces"
370
- },
371
- "RevoGrid": {
372
- "location": "import",
373
- "path": "../../interfaces"
374
- }
375
- }
376
- },
377
- "required": false,
378
- "optional": false,
379
- "docs": {
380
- "tags": [],
381
- "text": ""
382
- }
383
- },
384
- "dataStore": {
385
- "type": "unknown",
386
- "mutable": false,
387
- "complexType": {
388
- "original": "Observable<DataSourceState<RevoGrid.DataType, RevoGrid.DimensionRows>>",
389
- "resolved": "ObservableMap<DataSourceState<DataType, DimensionRows>>",
390
- "references": {
391
- "Observable": {
392
- "location": "import",
393
- "path": "../../interfaces"
394
- },
395
- "DataSourceState": {
396
- "location": "import",
397
- "path": "../../store/dataSource/data.store"
398
- },
399
- "RevoGrid": {
400
- "location": "import",
401
- "path": "../../interfaces"
402
- }
403
- }
404
- },
405
- "required": false,
406
- "optional": false,
407
- "docs": {
408
- "tags": [],
409
- "text": "Static stores, not expected to change during component lifetime"
410
- }
411
- },
412
- "colData": {
413
- "type": "unknown",
414
- "mutable": false,
415
- "complexType": {
416
- "original": "Observable<DataSourceState<RevoGrid.ColumnRegular, RevoGrid.DimensionCols>>",
417
- "resolved": "ObservableMap<DataSourceState<ColumnRegular, DimensionCols>>",
418
- "references": {
419
- "Observable": {
420
- "location": "import",
421
- "path": "../../interfaces"
422
- },
423
- "DataSourceState": {
424
- "location": "import",
425
- "path": "../../store/dataSource/data.store"
426
- },
427
- "RevoGrid": {
428
- "location": "import",
429
- "path": "../../interfaces"
430
- }
431
- }
432
- },
433
- "required": false,
434
- "optional": false,
435
- "docs": {
436
- "tags": [],
437
- "text": ""
438
- }
439
- },
440
- "lastCell": {
441
- "type": "unknown",
442
- "mutable": false,
443
- "complexType": {
444
- "original": "Selection.Cell",
445
- "resolved": "Cell",
446
- "references": {
447
- "Selection": {
448
- "location": "import",
449
- "path": "../../interfaces"
450
- }
451
- }
452
- },
453
- "required": false,
454
- "optional": false,
455
- "docs": {
456
- "tags": [],
457
- "text": "Last cell position"
458
- }
459
- },
460
- "editors": {
461
- "type": "unknown",
462
- "mutable": false,
463
- "complexType": {
464
- "original": "Edition.Editors",
465
- "resolved": "{ [name: string]: EditorCtr; }",
466
- "references": {
467
- "Edition": {
468
- "location": "import",
469
- "path": "../../interfaces"
470
- }
471
- }
472
- },
473
- "required": false,
474
- "optional": false,
475
- "docs": {
476
- "tags": [],
477
- "text": "Custom editors register"
478
- }
479
- }
480
- }; }
481
- static get events() { return [{
482
- "method": "internalCopy",
483
- "name": "internalCopy",
484
- "bubbles": true,
485
- "cancelable": true,
486
- "composed": true,
487
- "docs": {
488
- "tags": [],
489
- "text": ""
490
- },
491
- "complexType": {
492
- "original": "any",
493
- "resolved": "any",
494
- "references": {}
495
- }
496
- }, {
497
- "method": "internalPaste",
498
- "name": "internalPaste",
499
- "bubbles": true,
500
- "cancelable": true,
501
- "composed": true,
502
- "docs": {
503
- "tags": [],
504
- "text": ""
505
- },
506
- "complexType": {
507
- "original": "any",
508
- "resolved": "any",
509
- "references": {}
510
- }
511
- }, {
512
- "method": "internalCellEdit",
513
- "name": "internalCellEdit",
514
- "bubbles": true,
515
- "cancelable": true,
516
- "composed": true,
517
- "docs": {
518
- "tags": [],
519
- "text": ""
520
- },
521
- "complexType": {
522
- "original": "Edition.BeforeSaveDataDetails",
523
- "resolved": "{ prop: ColumnProp; model: DataType; val?: string; rowIndex: number; type: DimensionRows; }",
524
- "references": {
525
- "Edition": {
526
- "location": "import",
527
- "path": "../../interfaces"
528
- }
529
- }
530
- }
531
- }, {
532
- "method": "internalFocusCell",
533
- "name": "internalFocusCell",
534
- "bubbles": true,
535
- "cancelable": true,
536
- "composed": true,
537
- "docs": {
538
- "tags": [],
539
- "text": ""
540
- },
541
- "complexType": {
542
- "original": "Edition.BeforeSaveDataDetails",
543
- "resolved": "{ prop: ColumnProp; model: DataType; val?: string; rowIndex: number; type: DimensionRows; }",
544
- "references": {
545
- "Edition": {
546
- "location": "import",
547
- "path": "../../interfaces"
548
- }
549
- }
550
- }
551
- }, {
552
- "method": "setEdit",
553
- "name": "setEdit",
554
- "bubbles": false,
555
- "cancelable": true,
556
- "composed": true,
557
- "docs": {
558
- "tags": [],
559
- "text": ""
560
- },
561
- "complexType": {
562
- "original": "Edition.BeforeEdit",
563
- "resolved": "{ isCancel: boolean; } & BeforeSaveDataDetails",
564
- "references": {
565
- "Edition": {
566
- "location": "import",
567
- "path": "../../interfaces"
568
- }
569
- }
570
- }
571
- }, {
572
- "method": "setRange",
573
- "name": "setRange",
574
- "bubbles": true,
575
- "cancelable": true,
576
- "composed": true,
577
- "docs": {
578
- "tags": [],
579
- "text": ""
580
- },
581
- "complexType": {
582
- "original": "Selection.RangeArea",
583
- "resolved": "{ x: number; y: number; x1: number; y1: number; }",
584
- "references": {
585
- "Selection": {
586
- "location": "import",
587
- "path": "../../interfaces"
588
- }
589
- }
590
- }
591
- }, {
592
- "method": "setTempRange",
593
- "name": "setTempRange",
594
- "bubbles": true,
595
- "cancelable": true,
596
- "composed": true,
597
- "docs": {
598
- "tags": [],
599
- "text": ""
600
- },
601
- "complexType": {
602
- "original": "Selection.TempRange | null",
603
- "resolved": "{ type: string; area: RangeArea; }",
604
- "references": {
605
- "Selection": {
606
- "location": "import",
607
- "path": "../../interfaces"
608
- }
609
- }
610
- }
611
- }, {
612
- "method": "focusCell",
613
- "name": "focusCell",
614
- "bubbles": false,
615
- "cancelable": true,
616
- "composed": true,
617
- "docs": {
618
- "tags": [],
619
- "text": ""
620
- },
621
- "complexType": {
622
- "original": "Selection.FocusedCells",
623
- "resolved": "{ focus: Cell; end: Cell; }",
624
- "references": {
625
- "Selection": {
626
- "location": "import",
627
- "path": "../../interfaces"
628
- }
629
- }
630
- }
631
- }, {
632
- "method": "internalSelectionChanged",
633
- "name": "internalSelectionChanged",
634
- "bubbles": true,
635
- "cancelable": true,
636
- "composed": true,
637
- "docs": {
638
- "tags": [],
639
- "text": "Selection range changed"
640
- },
641
- "complexType": {
642
- "original": "Selection.ChangedRange",
643
- "resolved": "{ type: DimensionRows; newRange: RangeArea; oldRange: RangeArea; newProps: ColumnProp[]; oldProps: ColumnProp[]; newData: { [key: number]: DataType; }; }",
644
- "references": {
645
- "Selection": {
646
- "location": "import",
647
- "path": "../../interfaces"
648
- }
649
- }
650
- }
651
- }, {
652
- "method": "internalRangeDataApply",
653
- "name": "internalRangeDataApply",
654
- "bubbles": true,
655
- "cancelable": true,
656
- "composed": true,
657
- "docs": {
658
- "tags": [],
659
- "text": "Range data apply"
660
- },
661
- "complexType": {
662
- "original": "Edition.BeforeRangeSaveDataDetails",
663
- "resolved": "{ data: DataLookup; models: { [rowIndex: number]: DataType; }; type: DimensionRows; }",
664
- "references": {
665
- "Edition": {
666
- "location": "import",
667
- "path": "../../interfaces"
668
- }
669
- }
670
- }
671
- }]; }
672
- static get elementRef() { return "element"; }
673
- static get watchers() { return [{
674
- "propName": "selectionStore",
675
- "methodName": "selectionServiceSet"
676
- }, {
677
- "propName": "dimensionRow",
678
- "methodName": "createAutoFillService"
679
- }, {
680
- "propName": "dimensionCol",
681
- "methodName": "createAutoFillService"
682
- }, {
683
- "propName": "dataStore",
684
- "methodName": "columnServiceSet"
685
- }, {
686
- "propName": "colData",
687
- "methodName": "columnServiceSet"
688
- }]; }
689
- static get listeners() { return [{
690
- "name": "mousemove",
691
- "method": "onMouseMove",
692
- "target": "document",
693
- "capture": false,
694
- "passive": true
695
- }, {
696
- "name": "mouseleave",
697
- "method": "onMouseOut",
698
- "target": "document",
699
- "capture": false,
700
- "passive": true
701
- }, {
702
- "name": "mouseup",
703
- "method": "onMouseUp",
704
- "target": "document",
705
- "capture": false,
706
- "passive": true
707
- }, {
708
- "name": "dragStartCell",
709
- "method": "onCellDrag",
710
- "target": undefined,
711
- "capture": false,
712
- "passive": false
713
- }, {
714
- "name": "keyup",
715
- "method": "onKeyUp",
716
- "target": "document",
717
- "capture": false,
718
- "passive": false
719
- }, {
720
- "name": "keydown",
721
- "method": "onKeyDown",
722
- "target": "document",
723
- "capture": false,
724
- "passive": false
725
- }]; }
726
- }