@revolist/revogrid 3.2.4 → 3.2.7

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 (213) hide show
  1. package/custom-element/index.js +29217 -0
  2. package/custom-element/resize-observer.js +503 -0
  3. package/dist/cjs/css-shim-9f5bc84d.js +9 -0
  4. package/dist/cjs/debounce-6cea2774.js +578 -0
  5. package/dist/cjs/dom-fcb646f0.js +78 -0
  6. package/dist/{revo-grid/index-8a604c17.js → cjs/index-cb904e00.js} +230 -1445
  7. package/dist/cjs/index.cjs.js +5 -0
  8. package/dist/cjs/loader.cjs.js +38 -0
  9. package/dist/cjs/resize-observer-bf327d6a.js +507 -0
  10. package/dist/cjs/revo-grid.cjs.js +79 -0
  11. package/dist/cjs/revo-grid_11.cjs.entry.js +28301 -0
  12. package/dist/cjs/revogr-clipboard.cjs.entry.js +56 -0
  13. package/dist/cjs/revogr-filter-panel.cjs.entry.js +278 -0
  14. package/dist/collection/collection-manifest.json +25 -0
  15. package/dist/collection/components/button/button.js +7 -0
  16. package/dist/collection/components/clipboard/revogr-clipboard.js +124 -0
  17. package/dist/collection/components/data/cellRenderer.js +27 -0
  18. package/dist/{revo-grid/columnService-91e552ba.js → collection/components/data/columnService.js} +6 -8
  19. package/dist/collection/components/data/revogr-data-style.css +135 -0
  20. package/dist/collection/components/data/revogr-data.js +325 -0
  21. package/dist/collection/components/data/rowRenderer.js +9 -0
  22. package/dist/collection/components/header/headerCellRenderer.js +29 -0
  23. package/dist/collection/components/header/headerRenderer.js +48 -0
  24. package/dist/collection/components/header/revogr-header-style.css +198 -0
  25. package/dist/collection/components/header/revogr-header.js +300 -0
  26. package/dist/collection/components/order/orderRenderer.js +53 -0
  27. package/dist/collection/components/order/revogr-order-editor.js +361 -0
  28. package/dist/collection/components/order/rowOrderService.js +71 -0
  29. package/dist/collection/components/overlay/autofill.service.js +185 -0
  30. package/dist/collection/components/overlay/clipboard.service.js +42 -0
  31. package/dist/collection/components/overlay/editors/edit.utils.js +8 -0
  32. package/dist/collection/components/overlay/editors/text.js +38 -0
  33. package/dist/collection/components/overlay/keyboard.service.js +131 -0
  34. package/dist/collection/components/overlay/revogr-edit-style.css +86 -0
  35. package/dist/collection/components/overlay/revogr-edit.js +162 -0
  36. package/dist/collection/components/overlay/revogr-overlay-selection.js +729 -0
  37. package/dist/collection/components/overlay/revogr-overlay-style.css +98 -0
  38. package/dist/{revo-grid/selection.utils-a9932db6.js → collection/components/overlay/selection.utils.js} +9 -12
  39. package/dist/collection/components/revo-grid/revo-grid-style.css +544 -0
  40. package/dist/collection/components/revo-grid/revo-grid.js +2226 -0
  41. package/dist/collection/components/revo-grid/viewport.helpers.js +14 -0
  42. package/dist/collection/components/revo-grid/viewport.interfaces.js +4 -0
  43. package/dist/collection/components/revo-grid/viewport.js +21 -0
  44. package/dist/collection/components/revo-grid/viewport.resize.service.js +24 -0
  45. package/dist/collection/components/revo-grid/viewport.scrolling.service.js +63 -0
  46. package/dist/collection/components/revo-grid/viewport.section.js +31 -0
  47. package/dist/collection/components/revo-grid/viewport.service.js +212 -0
  48. package/dist/collection/components/rowHeaders/revogr-row-headers.js +213 -0
  49. package/dist/collection/components/rowHeaders/row-header-render.js +4 -0
  50. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +137 -0
  51. package/dist/collection/components/scroll/revogr-viewport-scroll.js +402 -0
  52. package/dist/collection/components/scrollable/revogr-scroll-style.css +104 -0
  53. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +256 -0
  54. package/dist/collection/components/selection-focus/revogr-focus-style.css +77 -0
  55. package/dist/collection/components/selection-focus/revogr-focus.js +106 -0
  56. package/dist/collection/components/selection-temp-range/revogr-temp-range-style.css +98 -0
  57. package/dist/collection/components/selection-temp-range/revogr-temp-range.js +141 -0
  58. package/dist/{revo-grid/app-globals-7e6866ba.js → collection/global/global.js} +2 -8
  59. package/dist/collection/index.js +4 -0
  60. package/dist/collection/plugins/autoSizeColumn.js +233 -0
  61. package/dist/collection/plugins/basePlugin.js +30 -0
  62. package/dist/{revo-grid/dispatcher-891af82e.js → collection/plugins/dispatcher.js} +2 -4
  63. package/dist/collection/plugins/export/csv.js +71 -0
  64. package/dist/collection/plugins/export/export.plugin.js +168 -0
  65. package/dist/collection/plugins/export/types.js +4 -0
  66. package/dist/collection/plugins/filter/conditions/equal.js +20 -0
  67. package/dist/collection/plugins/filter/conditions/number/greaterThan.js +13 -0
  68. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +10 -0
  69. package/dist/collection/plugins/filter/conditions/number/lessThan.js +15 -0
  70. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +10 -0
  71. package/dist/collection/plugins/filter/conditions/set.js +6 -0
  72. package/dist/collection/plugins/filter/conditions/string/beginswith.js +20 -0
  73. package/dist/collection/plugins/filter/conditions/string/contains.js +21 -0
  74. package/dist/{revo-grid/filter.button-74c1cd9c.js → collection/plugins/filter/filter.button.js} +10 -13
  75. package/dist/collection/plugins/filter/filter.plugin.js +259 -0
  76. package/dist/collection/plugins/filter/filter.pop.js +488 -0
  77. package/dist/collection/plugins/filter/filter.service.js +47 -0
  78. package/dist/collection/plugins/filter/filter.style.css +239 -0
  79. package/dist/collection/plugins/filter/filter.types.js +4 -0
  80. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +33 -0
  81. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js +39 -0
  82. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +24 -0
  83. package/dist/collection/plugins/groupingRow/grouping.const.js +13 -0
  84. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +79 -0
  85. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +261 -0
  86. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +32 -0
  87. package/dist/collection/plugins/groupingRow/grouping.row.types.js +4 -0
  88. package/dist/collection/plugins/groupingRow/grouping.service.js +158 -0
  89. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +60 -0
  90. package/dist/collection/plugins/moveColumn/columnDragPlugin.js +151 -0
  91. package/dist/collection/plugins/moveColumn/columnOrderHandler.js +63 -0
  92. package/dist/collection/plugins/sorting/sorting.plugin.js +184 -0
  93. package/dist/collection/plugins/sorting/sorting.sign.js +9 -0
  94. package/dist/collection/plugins/stretchPlugin.js +71 -0
  95. package/dist/collection/plugins/trimmed/trimmed.plugin.js +35 -0
  96. package/dist/collection/services/cell.helpers.js +10 -0
  97. package/dist/collection/services/column.data.provider.js +191 -0
  98. package/dist/collection/services/data.provider.js +50 -0
  99. package/dist/collection/services/dimension.provider.js +81 -0
  100. package/dist/{revo-grid/localScrollService-e9b73323.js → collection/services/localScrollService.js} +2 -5
  101. package/dist/collection/services/resizable.directive.js +255 -0
  102. package/dist/collection/services/selection.store.connector.js +216 -0
  103. package/dist/collection/services/viewport.provider.js +17 -0
  104. package/dist/collection/store/dataSource/data.proxy.js +37 -0
  105. package/dist/collection/store/dataSource/data.store.js +130 -0
  106. package/dist/collection/store/dimension/dimension.helpers.js +110 -0
  107. package/dist/collection/store/dimension/dimension.store.js +62 -0
  108. package/dist/collection/store/selection/selection.helpers.js +56 -0
  109. package/dist/collection/store/selection/selection.store.js +71 -0
  110. package/dist/collection/store/selection/selection.store.service.js +38 -0
  111. package/dist/collection/store/storeTypes.js +8 -0
  112. package/dist/{revo-grid/viewport.store-ffaaab6d.js → collection/store/viewPort/viewport.helpers.js} +9 -132
  113. package/dist/collection/store/viewPort/viewport.store.js +124 -0
  114. package/dist/collection/themeManager/theme.compact.js +8 -0
  115. package/dist/collection/themeManager/theme.default.js +8 -0
  116. package/dist/collection/themeManager/theme.material.js +8 -0
  117. package/dist/{revo-grid/themeService-ddaaa364.js → collection/themeManager/themeService.js} +6 -23
  118. package/dist/collection/utils/closestPolifill.js +21 -0
  119. package/dist/collection/utils/consts.js +22 -0
  120. package/dist/collection/utils/generateAlphabetHeader.js +23 -0
  121. package/dist/collection/utils/keyCodes.js +73 -0
  122. package/dist/collection/utils/keyCodes.utils.js +67 -0
  123. package/dist/collection/utils/platform.js +8 -0
  124. package/dist/collection/utils/resizeObserver.js +9 -0
  125. package/dist/collection/utils/store.utils.js +10 -0
  126. package/dist/{revo-grid/utils-2c3b3857.js → collection/utils/utils.js} +8 -10
  127. package/dist/collection/utilsExternal/generate-data.js +132 -0
  128. package/dist/esm/css-shim-e1e1ea5e.js +7 -0
  129. package/dist/esm/debounce-e4e6dd45.js +561 -0
  130. package/dist/esm/dom-21bd1807.js +76 -0
  131. package/dist/esm/index-6f753b3c.js +1817 -0
  132. package/dist/esm/index.js +3 -0
  133. package/dist/esm/loader.js +34 -0
  134. package/dist/esm/polyfills/core-js.js +11 -0
  135. package/dist/esm/polyfills/css-shim.js +1 -0
  136. package/dist/esm/polyfills/dom.js +79 -0
  137. package/dist/esm/polyfills/es5-html-element.js +1 -0
  138. package/dist/esm/polyfills/index.js +34 -0
  139. package/dist/esm/polyfills/system.js +6 -0
  140. package/dist/esm/resize-observer-00c48d78.js +503 -0
  141. package/dist/esm/revo-grid.js +77 -0
  142. package/dist/{revo-grid/lodash-a0ab4cdd.js → esm/revo-grid_11.entry.js} +25351 -14282
  143. package/dist/esm/revogr-clipboard.entry.js +52 -0
  144. package/dist/esm/revogr-filter-panel.entry.js +274 -0
  145. package/dist/esm-es5/css-shim-e1e1ea5e.js +4 -0
  146. package/dist/esm-es5/debounce-e4e6dd45.js +4 -0
  147. package/dist/esm-es5/dom-21bd1807.js +24 -0
  148. package/dist/esm-es5/index-6f753b3c.js +4 -0
  149. package/dist/esm-es5/index.js +3 -0
  150. package/dist/esm-es5/loader.js +4 -0
  151. package/dist/esm-es5/resize-observer-00c48d78.js +4 -0
  152. package/dist/esm-es5/revo-grid.js +4 -0
  153. package/dist/esm-es5/revo-grid_11.entry.js +4 -0
  154. package/dist/esm-es5/revogr-clipboard.entry.js +4 -0
  155. package/dist/esm-es5/revogr-filter-panel.entry.js +4 -0
  156. package/dist/index.cjs.js +1 -0
  157. package/dist/index.js +1 -0
  158. package/dist/revo-grid/css-shim-bcf89cc0.system.js +4 -0
  159. package/dist/revo-grid/css-shim-e1e1ea5e.js +4 -0
  160. package/dist/revo-grid/debounce-5a33c710.system.js +4 -0
  161. package/dist/revo-grid/debounce-726bdadb.js +4 -0
  162. package/dist/revo-grid/dom-21bd1807.js +5 -59
  163. package/dist/revo-grid/dom-726246e2.system.js +24 -0
  164. package/dist/revo-grid/index-f14b41a0.system.js +5 -0
  165. package/dist/revo-grid/index-f30d1de1.js +5 -0
  166. package/dist/revo-grid/index.system.js +4 -0
  167. package/dist/revo-grid/resize-observer-00c48d78.js +1 -500
  168. package/dist/revo-grid/resize-observer-8af0bc0e.system.js +4 -0
  169. package/dist/revo-grid/revo-grid.esm.js +1 -130
  170. package/dist/revo-grid/revo-grid.js +133 -0
  171. package/dist/revo-grid/revo-grid.system.js +4 -0
  172. package/dist/revo-grid/revo-grid_11.entry.js +4 -0
  173. package/dist/revo-grid/revo-grid_11.system.entry.js +4 -0
  174. package/dist/revo-grid/revogr-clipboard.entry.js +1 -49
  175. package/dist/revo-grid/revogr-clipboard.system.entry.js +4 -0
  176. package/dist/revo-grid/revogr-filter-panel.entry.js +1 -274
  177. package/dist/revo-grid/revogr-filter-panel.system.entry.js +4 -0
  178. package/dist/types/components/revo-grid/revo-grid.d.ts +0 -1
  179. package/dist/types/components.d.ts +2 -2
  180. package/loader/cdn.js +3 -1
  181. package/loader/index.cjs.js +3 -1
  182. package/loader/index.d.ts +0 -1
  183. package/loader/index.es2017.js +3 -1
  184. package/loader/index.js +3 -1
  185. package/package.json +1 -1
  186. package/dist/revo-grid/_baseIteratee-af30b221.js +0 -2070
  187. package/dist/revo-grid/consts-ef824e6f.js +0 -46
  188. package/dist/revo-grid/css-shim-5387c708.js +0 -7
  189. package/dist/revo-grid/data.store-3263fff9.js +0 -557
  190. package/dist/revo-grid/debounce-aaa4b4da.js +0 -217
  191. package/dist/revo-grid/dimension.helpers-a7944fc4.js +0 -340
  192. package/dist/revo-grid/each-0378e5a3.js +0 -180
  193. package/dist/revo-grid/identity-c8c7d3d8.js +0 -26
  194. package/dist/revo-grid/isString-a51066b5.js +0 -34
  195. package/dist/revo-grid/isSymbol-e4b5dafe.js +0 -247
  196. package/dist/revo-grid/keyCodes.utils-bd06e3ba.js +0 -299
  197. package/dist/revo-grid/keys-70b7c240.js +0 -561
  198. package/dist/revo-grid/revo-grid.entry.js +0 -3484
  199. package/dist/revo-grid/revogr-data.entry.js +0 -152
  200. package/dist/revo-grid/revogr-edit.entry.js +0 -105
  201. package/dist/revo-grid/revogr-focus.entry.js +0 -41
  202. package/dist/revo-grid/revogr-header.entry.js +0 -560
  203. package/dist/revo-grid/revogr-order-editor.entry.js +0 -175
  204. package/dist/revo-grid/revogr-overlay-selection.entry.js +0 -711
  205. package/dist/revo-grid/revogr-row-headers.entry.js +0 -73
  206. package/dist/revo-grid/revogr-scroll-virtual.entry.js +0 -114
  207. package/dist/revo-grid/revogr-temp-range.entry.js +0 -73
  208. package/dist/revo-grid/revogr-viewport-scroll.entry.js +0 -340
  209. package/dist/revo-grid/selection.store.connector-2b613fd0.js +0 -503
  210. package/dist/revo-grid/shadow-css-602a09db.js +0 -390
  211. package/dist/revo-grid/toInteger-9e6cbfd2.js +0 -107
  212. package/dist/revo-grid/toNumber-913b0b72.js +0 -105
  213. package/dist/revo-grid/viewport.helpers-49d3f031.js +0 -16
@@ -0,0 +1,2226 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
4
+ import { Component, Prop, h, Watch, Element, Listen, Event, Method, State, Host } from '@stencil/core';
5
+ import reduce from 'lodash/reduce';
6
+ import each from 'lodash/each';
7
+ import ColumnDataProvider from '../../services/column.data.provider';
8
+ import { DataProvider } from '../../services/data.provider';
9
+ import { getVisibleSourceItem } from '../../store/dataSource/data.store';
10
+ import DimensionProvider from '../../services/dimension.provider';
11
+ import ViewportProvider from '../../services/viewport.provider';
12
+ import ThemeService from '../../themeManager/themeService';
13
+ import { timeout } from '../../utils/utils';
14
+ import AutoSize from '../../plugins/autoSizeColumn';
15
+ import { columnTypes } from '../../store/storeTypes';
16
+ import FilterPlugin from '../../plugins/filter/filter.plugin';
17
+ import SortingPlugin from '../../plugins/sorting/sorting.plugin';
18
+ import ExportFilePlugin from '../../plugins/export/export.plugin';
19
+ import GroupingRowPlugin from '../../plugins/groupingRow/grouping.row.plugin';
20
+ import { RevoViewPort } from './viewport';
21
+ import ViewportService from './viewport.service';
22
+ import { ViewPortSections } from './viewport.section';
23
+ import GridScrollingService from './viewport.scrolling.service';
24
+ import { UUID } from '../../utils/consts';
25
+ import SelectionStoreConnector from '../../services/selection.store.connector';
26
+ import StretchColumn, { isStretchPlugin } from '../../plugins/stretchPlugin';
27
+ import ColumnPlugin from '../../plugins/moveColumn/columnDragPlugin';
28
+ export class RevoGridComponent {
29
+ constructor() {
30
+ /**
31
+ * Defines how many rows/columns should be rendered outside visible area.
32
+ */
33
+ this.frameSize = 1;
34
+ /**
35
+ * Indicates default rgRow size.
36
+ * By default 0, means theme package size will be applied
37
+ */
38
+ this.rowSize = 0;
39
+ /** Indicates default column size. */
40
+ this.colSize = 100;
41
+ /** When true, user can range selection. */
42
+ this.range = false;
43
+ /** When true, grid in read only mode. */
44
+ this.readonly = false;
45
+ /** When true, columns are resizable. */
46
+ this.resize = false;
47
+ /** When true cell focus appear. */
48
+ this.canFocus = true;
49
+ /** When true enable clipboard. */
50
+ this.useClipboard = true;
51
+ /**
52
+ * Columns - defines an array of grid columns.
53
+ * Can be column or grouped column.
54
+ */
55
+ this.columns = [];
56
+ /**
57
+ * Source - defines main data source.
58
+ * Can be an Object or 2 dimensional array([][]);
59
+ * Keys/indexes referenced from columns Prop
60
+ */
61
+ this.source = [];
62
+ /** Pinned top Source: {[T in ColumnProp]: any} - defines pinned top rows data source. */
63
+ this.pinnedTopSource = [];
64
+ /** Pinned bottom Source: {[T in ColumnProp]: any} - defines pinned bottom rows data source. */
65
+ this.pinnedBottomSource = [];
66
+ /** Row properies applied */
67
+ this.rowDefinitions = [];
68
+ /** Custom editors register */
69
+ this.editors = {};
70
+ /** Types
71
+ * Every type represent multiple column properties
72
+ * Types will be merged but can be replaced with column properties
73
+ */
74
+ this.columnTypes = {};
75
+ /** Theme name */
76
+ this.theme = 'default';
77
+ /**
78
+ * Row class property
79
+ * Define this property in rgRow object and this will be mapped as rgRow class
80
+ */
81
+ this.rowClass = '';
82
+ /**
83
+ * Autosize config
84
+ * Enable columns autoSize, for more details check @autoSizeColumn plugin
85
+ * By default disabled, hence operation is not resource efficient
86
+ * true to enable with default params (double header separator click for autosize)
87
+ * or provide config
88
+ */
89
+ this.autoSizeColumn = false;
90
+ /**
91
+ * Enables filter plugin
92
+ * Can be boolean
93
+ * Can be filter collection
94
+ */
95
+ this.filter = false;
96
+ /**
97
+ * Enables column move plugin
98
+ * Can be boolean
99
+ */
100
+ this.canMoveColumns = false;
101
+ /**
102
+ * Trimmed rows
103
+ * Functionality which allows to hide rows from main data set
104
+ * @trimmedRows are physical rgRow indexes to hide
105
+ */
106
+ this.trimmedRows = {};
107
+ /**
108
+ * Enables export plugin
109
+ * Can be boolean
110
+ * Can be export options
111
+ */
112
+ this.exporting = false;
113
+ /**
114
+ * Defines stretch strategy for columns with @StretchColumn plugin
115
+ * if there are more space on the right last column size would be increased
116
+ */
117
+ this.stretch = true;
118
+ // --------------------------------------------------------------------------
119
+ //
120
+ // Private Properties
121
+ //
122
+ // --------------------------------------------------------------------------
123
+ // for internal plugin usage
124
+ this.extraElements = [];
125
+ this.uuid = null;
126
+ this.viewport = null;
127
+ /**
128
+ * Plugins
129
+ * Define plugins collection
130
+ */
131
+ this.internalPlugins = [];
132
+ this.subscribers = {};
133
+ }
134
+ // --------------------------------------------------------------------------
135
+ //
136
+ // Methods
137
+ //
138
+ // --------------------------------------------------------------------------
139
+ /**
140
+ * Refreshes data viewport.
141
+ * Can be specific part as rgRow or pinned rgRow or 'all' by default.
142
+ */
143
+ async refresh(type = 'all') {
144
+ this.dataProvider.refresh(type);
145
+ }
146
+ /** Scrolls view port to specified rgRow index */
147
+ async scrollToRow(coordinate = 0) {
148
+ const y = this.dimensionProvider.getViewPortPos({
149
+ coordinate,
150
+ dimension: 'rgRow',
151
+ });
152
+ await this.scrollToCoordinate({ y });
153
+ }
154
+ /** Scrolls view port to specified column index */
155
+ async scrollToColumnIndex(coordinate = 0) {
156
+ const x = this.dimensionProvider.getViewPortPos({
157
+ coordinate,
158
+ dimension: 'rgCol',
159
+ });
160
+ await this.scrollToCoordinate({ x });
161
+ }
162
+ /** Scrolls view port to specified column prop */
163
+ async scrollToColumnProp(prop) {
164
+ const coordinate = this.columnProvider.getColumnIndexByProp(prop, 'rgCol');
165
+ if (coordinate < 0) {
166
+ // already on the screen
167
+ return;
168
+ }
169
+ const x = this.dimensionProvider.getViewPortPos({
170
+ coordinate,
171
+ dimension: 'rgCol',
172
+ });
173
+ await this.scrollToCoordinate({ x });
174
+ }
175
+ /** Update columns */
176
+ async updateColumns(cols) {
177
+ this.columnProvider.updateColumns(cols);
178
+ }
179
+ /** Add trimmed by type */
180
+ async addTrimmed(trimmed, trimmedType = 'external', type = 'rgRow') {
181
+ const event = this.beforetrimmed.emit({
182
+ trimmed,
183
+ trimmedType,
184
+ type,
185
+ });
186
+ if (event.defaultPrevented) {
187
+ return event;
188
+ }
189
+ this.dataProvider.setTrimmed({ [trimmedType]: event.detail.trimmed }, type);
190
+ this.aftertrimmed.emit();
191
+ return event;
192
+ }
193
+ /** Scrolls view port to coordinate */
194
+ async scrollToCoordinate(cell) {
195
+ var _a;
196
+ (_a = this.viewport) === null || _a === void 0 ? void 0 : _a.scrollToCell(cell);
197
+ }
198
+ /** Bring cell to edit mode */
199
+ async setCellEdit(rgRow, prop, rowSource = 'rgRow') {
200
+ var _a;
201
+ const rgCol = ColumnDataProvider.getColumnByProp(this.columns, prop);
202
+ if (!rgCol) {
203
+ return;
204
+ }
205
+ await timeout();
206
+ (_a = this.viewport) === null || _a === void 0 ? void 0 : _a.setEdit(rgRow, this.columnProvider.getColumnIndexByProp(prop, 'rgCol'), rgCol.pin || 'rgCol', rowSource);
207
+ }
208
+ /**
209
+ * Register new virtual node inside of grid
210
+ * Used for additional items creation such as plugin elements
211
+ */
212
+ async registerVNode(elements) {
213
+ this.extraElements.push(...elements);
214
+ this.extraElements = [...this.extraElements];
215
+ }
216
+ /** Get data from source */
217
+ async getSource(type = 'rgRow') {
218
+ return this.dataProvider.stores[type].store.get('source');
219
+ }
220
+ /**
221
+ * Get data from visible part of source
222
+ * Trimmed/filtered rows will be excluded
223
+ * @param type - type of source
224
+ */
225
+ async getVisibleSource(type = 'rgRow') {
226
+ return getVisibleSourceItem(this.dataProvider.stores[type].store);
227
+ }
228
+ /**
229
+ * Provides access to rows internal store observer
230
+ * Can be used for plugin support
231
+ * @param type - type of source
232
+ */
233
+ async getSourceStore(type = 'rgRow') {
234
+ return this.dataProvider.stores[type].store;
235
+ }
236
+ /**
237
+ * Provides access to column internal store observer
238
+ * Can be used for plugin support
239
+ * @param type - type of column
240
+ */
241
+ async getColumnStore(type = 'rgCol') {
242
+ return this.columnProvider.stores[type].store;
243
+ }
244
+ /**
245
+ * Update column sorting
246
+ * @param column - full column details to update
247
+ * @param index - virtual column index
248
+ * @param order - order to apply
249
+ */
250
+ async updateColumnSorting(column, index, order, additive) {
251
+ return this.columnProvider.updateColumnSorting(column, index, order, additive);
252
+ }
253
+ /**
254
+ * Clears column sorting
255
+ */
256
+ async clearSorting() {
257
+ this.columnProvider.clearSorting();
258
+ }
259
+ /**
260
+ * Receive all columns in data source
261
+ */
262
+ async getColumns() {
263
+ return this.columnProvider.getColumns();
264
+ }
265
+ /**
266
+ * Clear current grid focus
267
+ */
268
+ async clearFocus() {
269
+ var _a;
270
+ const focused = await this.getFocused();
271
+ const event = this.beforefocuslost.emit(focused);
272
+ if (event.defaultPrevented) {
273
+ return;
274
+ }
275
+ this.selectionStoreConnector.clearAll();
276
+ (_a = this.viewport) === null || _a === void 0 ? void 0 : _a.clearFocused();
277
+ }
278
+ /**
279
+ * Get all active plugins instances
280
+ */
281
+ async getPlugins() {
282
+ return [...this.internalPlugins];
283
+ }
284
+ /**
285
+ * Get the currently focused cell.
286
+ */
287
+ async getFocused() {
288
+ var _a;
289
+ return (_a = this.viewport) === null || _a === void 0 ? void 0 : _a.getFocused();
290
+ }
291
+ /**
292
+ * Get the currently selected Range.
293
+ */
294
+ async getSelectedRange() {
295
+ var _a;
296
+ return (_a = this.viewport) === null || _a === void 0 ? void 0 : _a.getSelectedRange();
297
+ }
298
+ // --------------------------------------------------------------------------
299
+ //
300
+ // Listeners outside scope
301
+ //
302
+ // --------------------------------------------------------------------------
303
+ /** Clear data which is outside of grid container */
304
+ handleOutsideClick({ target }) {
305
+ if (!(target === null || target === void 0 ? void 0 : target.closest(`[${UUID}="${this.uuid}"]`))) {
306
+ this.clearFocus();
307
+ }
308
+ }
309
+ // --------------------------------------------------------------------------
310
+ //
311
+ // Listeners
312
+ //
313
+ // --------------------------------------------------------------------------
314
+ /** DRAG AND DROP */
315
+ onRowDragStarted(e) {
316
+ var _a;
317
+ e.cancelBubble = true;
318
+ const dragStart = this.rowdragstart.emit(e.detail);
319
+ if (dragStart.defaultPrevented) {
320
+ e.preventDefault();
321
+ return;
322
+ }
323
+ (_a = this.orderService) === null || _a === void 0 ? void 0 : _a.start(this.element, Object.assign(Object.assign({}, e.detail), dragStart.detail));
324
+ }
325
+ onRowDragEnd() {
326
+ var _a;
327
+ (_a = this.orderService) === null || _a === void 0 ? void 0 : _a.end();
328
+ }
329
+ onRowDrag({ detail }) {
330
+ var _a;
331
+ (_a = this.orderService) === null || _a === void 0 ? void 0 : _a.move(detail);
332
+ }
333
+ onRowMouseMove(e) {
334
+ var _a;
335
+ e.cancelBubble = true;
336
+ (_a = this.orderService) === null || _a === void 0 ? void 0 : _a.moveTip(e.detail);
337
+ }
338
+ async onBeforeEdit(e) {
339
+ e.cancelBubble = true;
340
+ const { defaultPrevented, detail } = this.beforeedit.emit(e.detail);
341
+ await timeout();
342
+ // apply data
343
+ if (!defaultPrevented) {
344
+ this.dataProvider.setCellData(detail);
345
+ this.afteredit.emit(detail);
346
+ }
347
+ }
348
+ onBeforeRangeEdit(e) {
349
+ e.cancelBubble = true;
350
+ const { defaultPrevented } = this.beforerangeedit.emit(e.detail);
351
+ if (defaultPrevented) {
352
+ e.preventDefault();
353
+ return;
354
+ }
355
+ this.afteredit.emit(e.detail);
356
+ }
357
+ onRangeChanged(e) {
358
+ e.cancelBubble = true;
359
+ const beforeaange = this.beforeaange.emit(e.detail);
360
+ if (beforeaange.defaultPrevented) {
361
+ e.preventDefault();
362
+ }
363
+ const beforeFill = this.beforeautofill.emit(e.detail);
364
+ if (beforeFill.defaultPrevented) {
365
+ return;
366
+ }
367
+ }
368
+ onRowDropped(e) {
369
+ e.cancelBubble = true;
370
+ const { defaultPrevented } = this.roworderchanged.emit(e.detail);
371
+ if (defaultPrevented) {
372
+ e.preventDefault();
373
+ }
374
+ }
375
+ onHeaderClick(e) {
376
+ const { defaultPrevented } = this.headerclick.emit(Object.assign(Object.assign({}, e.detail.column), { originalEvent: e.detail.originalEvent }));
377
+ if (defaultPrevented) {
378
+ e.preventDefault();
379
+ }
380
+ }
381
+ onCellFocus(e) {
382
+ e.cancelBubble = true;
383
+ const { defaultPrevented } = this.beforecellfocus.emit(e.detail);
384
+ if (!this.canFocus || defaultPrevented) {
385
+ e.preventDefault();
386
+ }
387
+ }
388
+ columnChanged(newVal = []) {
389
+ this.dimensionProvider.drop();
390
+ const columnGather = ColumnDataProvider.getColumns(newVal, 0, this.columnTypes);
391
+ this.beforecolumnsset.emit(columnGather);
392
+ for (let type of columnTypes) {
393
+ const items = columnGather.columns[type];
394
+ this.dimensionProvider.setRealSize(items.length, type);
395
+ this.dimensionProvider.setColumns(type, ColumnDataProvider.getSizes(items), type !== 'rgCol');
396
+ }
397
+ this.beforecolumnapplied.emit(columnGather);
398
+ const columns = this.columnProvider.setColumns(columnGather);
399
+ this.aftercolumnsset.emit({
400
+ columns,
401
+ order: this.columnProvider.order,
402
+ });
403
+ }
404
+ themeChanged(t) {
405
+ this.themeService.register(t);
406
+ this.dimensionProvider.setSettings({ originItemSize: this.themeService.rowSize, frameOffset: this.frameSize || 0 }, 'rgRow');
407
+ this.dimensionProvider.setSettings({ originItemSize: this.colSize, frameOffset: this.frameSize || 0 }, 'rgCol');
408
+ }
409
+ dataChanged(source = []) {
410
+ let newSource = [...source];
411
+ const beforesourceset = this.beforesourceset.emit({
412
+ type: 'rgRow',
413
+ source: newSource,
414
+ });
415
+ newSource = beforesourceset.detail.source;
416
+ newSource = this.dataProvider.setData(newSource, 'rgRow');
417
+ this.aftersourceset.emit({
418
+ type: 'rgRow',
419
+ source: newSource,
420
+ });
421
+ }
422
+ dataBottomChanged(newVal = []) {
423
+ this.dataProvider.setData(newVal, 'rowPinEnd');
424
+ }
425
+ dataTopChanged(newVal = []) {
426
+ this.dataProvider.setData(newVal, 'rowPinStart');
427
+ }
428
+ rowDefChanged(newVal = []) {
429
+ if (!newVal.length) {
430
+ return;
431
+ }
432
+ const rows = reduce(newVal, (r, v) => {
433
+ if (!r[v.type]) {
434
+ r[v.type] = {};
435
+ }
436
+ if (v.size) {
437
+ if (!r[v.type].sizes) {
438
+ r[v.type].sizes = {};
439
+ }
440
+ r[v.type].sizes[v.index] = v.size;
441
+ }
442
+ return r;
443
+ }, {});
444
+ each(rows, (r, k) => {
445
+ if (r.sizes) {
446
+ this.dimensionProvider.setDimensionSize(k, r.sizes);
447
+ }
448
+ });
449
+ }
450
+ trimmedRowsChanged(newVal = {}) {
451
+ this.addTrimmed(newVal);
452
+ }
453
+ groupingChanged(newVal = {}) {
454
+ let grPlugin;
455
+ for (let p of this.internalPlugins) {
456
+ const isGrouping = p;
457
+ if (isGrouping.setGrouping) {
458
+ grPlugin = isGrouping;
459
+ break;
460
+ }
461
+ }
462
+ if (!grPlugin) {
463
+ return;
464
+ }
465
+ grPlugin.setGrouping(newVal || {});
466
+ }
467
+ applyStretch(isStretch) {
468
+ if (isStretch === 'false') {
469
+ isStretch = false;
470
+ }
471
+ let stretch = this.internalPlugins.filter(p => isStretchPlugin(p))[0];
472
+ if (isStretch) {
473
+ if (!stretch) {
474
+ this.internalPlugins.push(new StretchColumn(this.element, this.dimensionProvider));
475
+ }
476
+ else {
477
+ stretch.applyStretch(this.columnProvider.getRawColumns());
478
+ }
479
+ }
480
+ else if (stretch) {
481
+ const index = this.internalPlugins.indexOf(stretch);
482
+ this.internalPlugins.splice(index, 1);
483
+ }
484
+ }
485
+ connectedCallback() {
486
+ this.viewportProvider = new ViewportProvider();
487
+ this.themeService = new ThemeService({
488
+ rowSize: this.rowSize,
489
+ });
490
+ this.dimensionProvider = new DimensionProvider(this.viewportProvider);
491
+ this.columnProvider = new ColumnDataProvider();
492
+ this.dataProvider = new DataProvider(this.dimensionProvider);
493
+ this.uuid = `${new Date().getTime()}-rvgrid`;
494
+ const pluginData = {
495
+ data: this.dataProvider,
496
+ column: this.columnProvider,
497
+ dimension: this.dimensionProvider,
498
+ viewport: this.viewportProvider,
499
+ selection: this.selectionStoreConnector,
500
+ };
501
+ if (this.autoSizeColumn) {
502
+ this.internalPlugins.push(new AutoSize(this.element, {
503
+ dataProvider: this.dataProvider,
504
+ columnProvider: this.columnProvider,
505
+ dimensionProvider: this.dimensionProvider,
506
+ }, typeof this.autoSizeColumn === 'object' ? this.autoSizeColumn : undefined));
507
+ }
508
+ if (this.filter) {
509
+ this.internalPlugins.push(new FilterPlugin(this.element, this.uuid, typeof this.filter === 'object' ? this.filter : undefined));
510
+ }
511
+ if (this.exporting) {
512
+ this.internalPlugins.push(new ExportFilePlugin(this.element));
513
+ }
514
+ this.internalPlugins.push(new SortingPlugin(this.element));
515
+ if (this.plugins) {
516
+ this.plugins.forEach(p => {
517
+ this.internalPlugins.push(new p(this.element, pluginData));
518
+ });
519
+ }
520
+ if (this.canMoveColumns) {
521
+ this.internalPlugins.push(new ColumnPlugin(this.element, pluginData));
522
+ }
523
+ this.internalPlugins.push(new GroupingRowPlugin(this.element, {
524
+ dataProvider: this.dataProvider,
525
+ columnProvider: this.columnProvider,
526
+ }));
527
+ this.applyStretch(this.stretch);
528
+ this.themeChanged(this.theme);
529
+ this.columnChanged(this.columns);
530
+ this.dataChanged(this.source);
531
+ this.dataTopChanged(this.pinnedTopSource);
532
+ this.dataBottomChanged(this.pinnedBottomSource);
533
+ this.trimmedRowsChanged(this.trimmedRows);
534
+ this.rowDefChanged(this.rowDefinitions);
535
+ this.groupingChanged(this.grouping);
536
+ this.selectionStoreConnector = new SelectionStoreConnector();
537
+ this.scrollingService = new GridScrollingService((e) => {
538
+ this.dimensionProvider.setViewPortCoordinate({
539
+ coordinate: e.coordinate,
540
+ type: e.dimension,
541
+ });
542
+ this.viewportscroll.emit(e);
543
+ });
544
+ this.subscribers = { 'click': this.handleOutsideClick.bind(this) };
545
+ for (let type in this.subscribers) {
546
+ document.addEventListener(type, this.subscribers[type]);
547
+ }
548
+ }
549
+ disconnectedCallback() {
550
+ // destroy plugins on element disconnect
551
+ each(this.internalPlugins, p => p.destroy());
552
+ this.internalPlugins = [];
553
+ // clear events
554
+ for (let type in this.subscribers) {
555
+ document.removeEventListener(type, this.subscribers[type]);
556
+ delete this.subscribers[type];
557
+ }
558
+ }
559
+ render() {
560
+ const contentHeight = this.dimensionProvider.stores['rgRow'].store.get('realSize');
561
+ this.viewport = new ViewportService({
562
+ columnProvider: this.columnProvider,
563
+ dataProvider: this.dataProvider,
564
+ dimensionProvider: this.dimensionProvider,
565
+ viewportProvider: this.viewportProvider,
566
+ uuid: this.uuid,
567
+ scrollingService: this.scrollingService,
568
+ orderService: this.orderService,
569
+ selectionStoreConnector: this.selectionStoreConnector,
570
+ resize: c => this.aftercolumnresize.emit(c)
571
+ }, contentHeight);
572
+ const views = [];
573
+ if (this.rowHeaders) {
574
+ const anyView = this.viewport.columns[0];
575
+ views.push(h("revogr-row-headers", { height: contentHeight, resize: this.resize, dataPorts: anyView.dataPorts, headerProp: anyView.headerProp, uiid: anyView.prop[UUID], rowHeaderColumn: typeof this.rowHeaders === 'object' ? this.rowHeaders : undefined, onScrollViewport: ({ detail: e }) => this.scrollingService.onScroll(e, 'headerRow'), onElementToScroll: ({ detail: e }) => this.scrollingService.registerElement(e, 'headerRow') }));
576
+ }
577
+ views.push(h(ViewPortSections, { columnFilter: !!this.filter, resize: this.resize, readonly: this.readonly, range: this.range, rowClass: this.rowClass, editors: this.editors, useClipboard: this.useClipboard, columns: this.viewport.columns, onEdit: detail => {
578
+ const event = this.beforeeditstart.emit(detail);
579
+ if (!event.defaultPrevented) {
580
+ this.selectionStoreConnector.setEdit(detail.isCancel ? false : detail.val);
581
+ }
582
+ }, registerElement: (e, k) => this.scrollingService.registerElement(e, k), onScroll: details => this.scrollingService.onScroll(details) }));
583
+ return (h(Host, Object.assign({}, { [`${UUID}`]: this.uuid }),
584
+ h(RevoViewPort, { viewports: this.viewportProvider.stores, dimensions: this.dimensionProvider.stores, orderRef: e => (this.orderService = e), registerElement: (e, k) => this.scrollingService.registerElement(e, k), nakedClick: () => this.viewport.clearEdit(), onScroll: details => this.scrollingService.onScroll(details) }, views),
585
+ this.extraElements));
586
+ }
587
+ static get is() { return "revo-grid"; }
588
+ static get originalStyleUrls() { return {
589
+ "$": ["revo-grid-style.scss"]
590
+ }; }
591
+ static get styleUrls() { return {
592
+ "$": ["revo-grid-style.css"]
593
+ }; }
594
+ static get properties() { return {
595
+ "rowHeaders": {
596
+ "type": "boolean",
597
+ "mutable": false,
598
+ "complexType": {
599
+ "original": "RevoGrid.RowHeaders | boolean",
600
+ "resolved": "RowHeaders | boolean",
601
+ "references": {
602
+ "RevoGrid": {
603
+ "location": "import",
604
+ "path": "../../interfaces"
605
+ }
606
+ }
607
+ },
608
+ "required": false,
609
+ "optional": false,
610
+ "docs": {
611
+ "tags": [],
612
+ "text": "Excel like show rgRow indexe per rgRow"
613
+ },
614
+ "attribute": "row-headers",
615
+ "reflect": false
616
+ },
617
+ "frameSize": {
618
+ "type": "number",
619
+ "mutable": false,
620
+ "complexType": {
621
+ "original": "number",
622
+ "resolved": "number",
623
+ "references": {}
624
+ },
625
+ "required": false,
626
+ "optional": false,
627
+ "docs": {
628
+ "tags": [],
629
+ "text": "Defines how many rows/columns should be rendered outside visible area."
630
+ },
631
+ "attribute": "frame-size",
632
+ "reflect": false,
633
+ "defaultValue": "1"
634
+ },
635
+ "rowSize": {
636
+ "type": "number",
637
+ "mutable": false,
638
+ "complexType": {
639
+ "original": "number",
640
+ "resolved": "number",
641
+ "references": {}
642
+ },
643
+ "required": false,
644
+ "optional": false,
645
+ "docs": {
646
+ "tags": [],
647
+ "text": "Indicates default rgRow size.\nBy default 0, means theme package size will be applied"
648
+ },
649
+ "attribute": "row-size",
650
+ "reflect": false,
651
+ "defaultValue": "0"
652
+ },
653
+ "colSize": {
654
+ "type": "number",
655
+ "mutable": false,
656
+ "complexType": {
657
+ "original": "number",
658
+ "resolved": "number",
659
+ "references": {}
660
+ },
661
+ "required": false,
662
+ "optional": false,
663
+ "docs": {
664
+ "tags": [],
665
+ "text": "Indicates default column size."
666
+ },
667
+ "attribute": "col-size",
668
+ "reflect": false,
669
+ "defaultValue": "100"
670
+ },
671
+ "range": {
672
+ "type": "boolean",
673
+ "mutable": false,
674
+ "complexType": {
675
+ "original": "boolean",
676
+ "resolved": "boolean",
677
+ "references": {}
678
+ },
679
+ "required": false,
680
+ "optional": false,
681
+ "docs": {
682
+ "tags": [],
683
+ "text": "When true, user can range selection."
684
+ },
685
+ "attribute": "range",
686
+ "reflect": false,
687
+ "defaultValue": "false"
688
+ },
689
+ "readonly": {
690
+ "type": "boolean",
691
+ "mutable": false,
692
+ "complexType": {
693
+ "original": "boolean",
694
+ "resolved": "boolean",
695
+ "references": {}
696
+ },
697
+ "required": false,
698
+ "optional": false,
699
+ "docs": {
700
+ "tags": [],
701
+ "text": "When true, grid in read only mode."
702
+ },
703
+ "attribute": "readonly",
704
+ "reflect": false,
705
+ "defaultValue": "false"
706
+ },
707
+ "resize": {
708
+ "type": "boolean",
709
+ "mutable": false,
710
+ "complexType": {
711
+ "original": "boolean",
712
+ "resolved": "boolean",
713
+ "references": {}
714
+ },
715
+ "required": false,
716
+ "optional": false,
717
+ "docs": {
718
+ "tags": [],
719
+ "text": "When true, columns are resizable."
720
+ },
721
+ "attribute": "resize",
722
+ "reflect": false,
723
+ "defaultValue": "false"
724
+ },
725
+ "canFocus": {
726
+ "type": "boolean",
727
+ "mutable": false,
728
+ "complexType": {
729
+ "original": "boolean",
730
+ "resolved": "boolean",
731
+ "references": {}
732
+ },
733
+ "required": false,
734
+ "optional": false,
735
+ "docs": {
736
+ "tags": [],
737
+ "text": "When true cell focus appear."
738
+ },
739
+ "attribute": "can-focus",
740
+ "reflect": false,
741
+ "defaultValue": "true"
742
+ },
743
+ "useClipboard": {
744
+ "type": "boolean",
745
+ "mutable": false,
746
+ "complexType": {
747
+ "original": "boolean",
748
+ "resolved": "boolean",
749
+ "references": {}
750
+ },
751
+ "required": false,
752
+ "optional": false,
753
+ "docs": {
754
+ "tags": [],
755
+ "text": "When true enable clipboard."
756
+ },
757
+ "attribute": "use-clipboard",
758
+ "reflect": false,
759
+ "defaultValue": "true"
760
+ },
761
+ "columns": {
762
+ "type": "unknown",
763
+ "mutable": false,
764
+ "complexType": {
765
+ "original": "(RevoGrid.ColumnRegular | RevoGrid.ColumnGrouping)[]",
766
+ "resolved": "(ColumnRegular | ColumnGrouping)[]",
767
+ "references": {
768
+ "RevoGrid": {
769
+ "location": "import",
770
+ "path": "../../interfaces"
771
+ }
772
+ }
773
+ },
774
+ "required": false,
775
+ "optional": false,
776
+ "docs": {
777
+ "tags": [],
778
+ "text": "Columns - defines an array of grid columns.\nCan be column or grouped column."
779
+ },
780
+ "defaultValue": "[]"
781
+ },
782
+ "source": {
783
+ "type": "unknown",
784
+ "mutable": false,
785
+ "complexType": {
786
+ "original": "RevoGrid.DataType[]",
787
+ "resolved": "DataType[]",
788
+ "references": {
789
+ "RevoGrid": {
790
+ "location": "import",
791
+ "path": "../../interfaces"
792
+ }
793
+ }
794
+ },
795
+ "required": false,
796
+ "optional": false,
797
+ "docs": {
798
+ "tags": [],
799
+ "text": "Source - defines main data source.\nCan be an Object or 2 dimensional array([][]);\nKeys/indexes referenced from columns Prop"
800
+ },
801
+ "defaultValue": "[]"
802
+ },
803
+ "pinnedTopSource": {
804
+ "type": "unknown",
805
+ "mutable": false,
806
+ "complexType": {
807
+ "original": "RevoGrid.DataType[]",
808
+ "resolved": "DataType[]",
809
+ "references": {
810
+ "RevoGrid": {
811
+ "location": "import",
812
+ "path": "../../interfaces"
813
+ }
814
+ }
815
+ },
816
+ "required": false,
817
+ "optional": false,
818
+ "docs": {
819
+ "tags": [],
820
+ "text": "Pinned top Source: {[T in ColumnProp]: any} - defines pinned top rows data source."
821
+ },
822
+ "defaultValue": "[]"
823
+ },
824
+ "pinnedBottomSource": {
825
+ "type": "unknown",
826
+ "mutable": false,
827
+ "complexType": {
828
+ "original": "RevoGrid.DataType[]",
829
+ "resolved": "DataType[]",
830
+ "references": {
831
+ "RevoGrid": {
832
+ "location": "import",
833
+ "path": "../../interfaces"
834
+ }
835
+ }
836
+ },
837
+ "required": false,
838
+ "optional": false,
839
+ "docs": {
840
+ "tags": [],
841
+ "text": "Pinned bottom Source: {[T in ColumnProp]: any} - defines pinned bottom rows data source."
842
+ },
843
+ "defaultValue": "[]"
844
+ },
845
+ "rowDefinitions": {
846
+ "type": "unknown",
847
+ "mutable": false,
848
+ "complexType": {
849
+ "original": "RevoGrid.RowDefinition[]",
850
+ "resolved": "RowDefinition[]",
851
+ "references": {
852
+ "RevoGrid": {
853
+ "location": "import",
854
+ "path": "../../interfaces"
855
+ }
856
+ }
857
+ },
858
+ "required": false,
859
+ "optional": false,
860
+ "docs": {
861
+ "tags": [],
862
+ "text": "Row properies applied"
863
+ },
864
+ "defaultValue": "[]"
865
+ },
866
+ "editors": {
867
+ "type": "unknown",
868
+ "mutable": false,
869
+ "complexType": {
870
+ "original": "Edition.Editors",
871
+ "resolved": "{ [name: string]: EditorCtr; }",
872
+ "references": {
873
+ "Edition": {
874
+ "location": "import",
875
+ "path": "../../interfaces"
876
+ }
877
+ }
878
+ },
879
+ "required": false,
880
+ "optional": false,
881
+ "docs": {
882
+ "tags": [],
883
+ "text": "Custom editors register"
884
+ },
885
+ "defaultValue": "{}"
886
+ },
887
+ "plugins": {
888
+ "type": "unknown",
889
+ "mutable": false,
890
+ "complexType": {
891
+ "original": "RevoPlugin.PluginClass[]",
892
+ "resolved": "(typeof Plugin)[]",
893
+ "references": {
894
+ "RevoPlugin": {
895
+ "location": "import",
896
+ "path": "../../interfaces"
897
+ }
898
+ }
899
+ },
900
+ "required": false,
901
+ "optional": false,
902
+ "docs": {
903
+ "tags": [],
904
+ "text": "Custom grid plugins\nHas to be predefined during first grid init\nEvery plugin should be inherited from BasePlugin"
905
+ }
906
+ },
907
+ "columnTypes": {
908
+ "type": "unknown",
909
+ "mutable": false,
910
+ "complexType": {
911
+ "original": "{ [name: string]: RevoGrid.ColumnType }",
912
+ "resolved": "{ [name: string]: ColumnType; }",
913
+ "references": {
914
+ "RevoGrid": {
915
+ "location": "import",
916
+ "path": "../../interfaces"
917
+ }
918
+ }
919
+ },
920
+ "required": false,
921
+ "optional": false,
922
+ "docs": {
923
+ "tags": [],
924
+ "text": "Types\nEvery type represent multiple column properties\nTypes will be merged but can be replaced with column properties"
925
+ },
926
+ "defaultValue": "{}"
927
+ },
928
+ "theme": {
929
+ "type": "string",
930
+ "mutable": true,
931
+ "complexType": {
932
+ "original": "ThemeSpace.Theme",
933
+ "resolved": "\"compact\" | \"darkCompact\" | \"darkMaterial\" | \"default\" | \"material\"",
934
+ "references": {
935
+ "ThemeSpace": {
936
+ "location": "import",
937
+ "path": "../../interfaces"
938
+ }
939
+ }
940
+ },
941
+ "required": false,
942
+ "optional": false,
943
+ "docs": {
944
+ "tags": [],
945
+ "text": "Theme name"
946
+ },
947
+ "attribute": "theme",
948
+ "reflect": true,
949
+ "defaultValue": "'default'"
950
+ },
951
+ "rowClass": {
952
+ "type": "string",
953
+ "mutable": false,
954
+ "complexType": {
955
+ "original": "string",
956
+ "resolved": "string",
957
+ "references": {}
958
+ },
959
+ "required": false,
960
+ "optional": false,
961
+ "docs": {
962
+ "tags": [],
963
+ "text": "Row class property\nDefine this property in rgRow object and this will be mapped as rgRow class"
964
+ },
965
+ "attribute": "row-class",
966
+ "reflect": true,
967
+ "defaultValue": "''"
968
+ },
969
+ "autoSizeColumn": {
970
+ "type": "boolean",
971
+ "mutable": false,
972
+ "complexType": {
973
+ "original": "boolean | AutoSizeColumnConfig",
974
+ "resolved": "boolean | { mode?: ColumnAutoSizeMode; allColumns?: boolean; letterBlockSize?: number; preciseSize?: boolean; }",
975
+ "references": {
976
+ "AutoSizeColumnConfig": {
977
+ "location": "import",
978
+ "path": "../../plugins/autoSizeColumn"
979
+ }
980
+ }
981
+ },
982
+ "required": false,
983
+ "optional": false,
984
+ "docs": {
985
+ "tags": [],
986
+ "text": "Autosize config\nEnable columns autoSize, for more details check @autoSizeColumn plugin\nBy default disabled, hence operation is not resource efficient\ntrue to enable with default params (double header separator click for autosize)\nor provide config"
987
+ },
988
+ "attribute": "auto-size-column",
989
+ "reflect": false,
990
+ "defaultValue": "false"
991
+ },
992
+ "filter": {
993
+ "type": "boolean",
994
+ "mutable": false,
995
+ "complexType": {
996
+ "original": "boolean | ColumnFilterConfig",
997
+ "resolved": "boolean | { collection?: FilterCollection; include?: string[]; customFilters?: Record<string, CustomFilter>; localization?: FilterLocalization; multiFilterItems?: MultiFilterItem; disableDynamicFiltering?: boolean; }",
998
+ "references": {
999
+ "ColumnFilterConfig": {
1000
+ "location": "import",
1001
+ "path": "../../plugins/filter/filter.plugin"
1002
+ }
1003
+ }
1004
+ },
1005
+ "required": false,
1006
+ "optional": false,
1007
+ "docs": {
1008
+ "tags": [],
1009
+ "text": "Enables filter plugin\nCan be boolean\nCan be filter collection"
1010
+ },
1011
+ "attribute": "filter",
1012
+ "reflect": false,
1013
+ "defaultValue": "false"
1014
+ },
1015
+ "canMoveColumns": {
1016
+ "type": "boolean",
1017
+ "mutable": false,
1018
+ "complexType": {
1019
+ "original": "boolean",
1020
+ "resolved": "boolean",
1021
+ "references": {}
1022
+ },
1023
+ "required": false,
1024
+ "optional": false,
1025
+ "docs": {
1026
+ "tags": [],
1027
+ "text": "Enables column move plugin\nCan be boolean"
1028
+ },
1029
+ "attribute": "can-move-columns",
1030
+ "reflect": false,
1031
+ "defaultValue": "false"
1032
+ },
1033
+ "trimmedRows": {
1034
+ "type": "unknown",
1035
+ "mutable": false,
1036
+ "complexType": {
1037
+ "original": "Record<number, boolean>",
1038
+ "resolved": "{ [x: number]: boolean; }",
1039
+ "references": {
1040
+ "Record": {
1041
+ "location": "global"
1042
+ }
1043
+ }
1044
+ },
1045
+ "required": false,
1046
+ "optional": false,
1047
+ "docs": {
1048
+ "tags": [{
1049
+ "name": "trimmedRows",
1050
+ "text": "are physical rgRow indexes to hide"
1051
+ }],
1052
+ "text": "Trimmed rows\nFunctionality which allows to hide rows from main data set"
1053
+ },
1054
+ "defaultValue": "{}"
1055
+ },
1056
+ "exporting": {
1057
+ "type": "boolean",
1058
+ "mutable": false,
1059
+ "complexType": {
1060
+ "original": "boolean",
1061
+ "resolved": "boolean",
1062
+ "references": {}
1063
+ },
1064
+ "required": false,
1065
+ "optional": false,
1066
+ "docs": {
1067
+ "tags": [],
1068
+ "text": "Enables export plugin\nCan be boolean\nCan be export options"
1069
+ },
1070
+ "attribute": "exporting",
1071
+ "reflect": false,
1072
+ "defaultValue": "false"
1073
+ },
1074
+ "grouping": {
1075
+ "type": "unknown",
1076
+ "mutable": false,
1077
+ "complexType": {
1078
+ "original": "GroupingOptions",
1079
+ "resolved": "{ props?: ColumnProp[]; expandedAll?: boolean; }",
1080
+ "references": {
1081
+ "GroupingOptions": {
1082
+ "location": "import",
1083
+ "path": "../../plugins/groupingRow/grouping.row.types"
1084
+ }
1085
+ }
1086
+ },
1087
+ "required": false,
1088
+ "optional": false,
1089
+ "docs": {
1090
+ "tags": [],
1091
+ "text": "Group models by provided properties\nDefine properties to be groped by"
1092
+ }
1093
+ },
1094
+ "stretch": {
1095
+ "type": "any",
1096
+ "mutable": false,
1097
+ "complexType": {
1098
+ "original": "boolean | string",
1099
+ "resolved": "boolean | string",
1100
+ "references": {}
1101
+ },
1102
+ "required": false,
1103
+ "optional": false,
1104
+ "docs": {
1105
+ "tags": [],
1106
+ "text": "Defines stretch strategy for columns with @StretchColumn plugin\nif there are more space on the right last column size would be increased"
1107
+ },
1108
+ "attribute": "stretch",
1109
+ "reflect": false,
1110
+ "defaultValue": "true"
1111
+ }
1112
+ }; }
1113
+ static get states() { return {
1114
+ "extraElements": {}
1115
+ }; }
1116
+ static get events() { return [{
1117
+ "method": "beforeedit",
1118
+ "name": "beforeedit",
1119
+ "bubbles": true,
1120
+ "cancelable": true,
1121
+ "composed": true,
1122
+ "docs": {
1123
+ "tags": [],
1124
+ "text": "Before edit event.\nTriggered before edit data applied.\nUse e.preventDefault() to prevent edit data set and use you own.\nUse e.val = {your value} to replace edit result with your own."
1125
+ },
1126
+ "complexType": {
1127
+ "original": "Edition.BeforeSaveDataDetails",
1128
+ "resolved": "{ prop: ColumnProp; model: DataType; val?: string; rowIndex: number; type: DimensionRows; }",
1129
+ "references": {
1130
+ "Edition": {
1131
+ "location": "import",
1132
+ "path": "../../interfaces"
1133
+ }
1134
+ }
1135
+ }
1136
+ }, {
1137
+ "method": "beforerangeedit",
1138
+ "name": "beforerangeedit",
1139
+ "bubbles": true,
1140
+ "cancelable": true,
1141
+ "composed": true,
1142
+ "docs": {
1143
+ "tags": [],
1144
+ "text": "Before range edit event.\nTriggered before range data applied, when range selection happened.\nUse e.preventDefault() to prevent edit data set and use you own."
1145
+ },
1146
+ "complexType": {
1147
+ "original": "Edition.BeforeRangeSaveDataDetails",
1148
+ "resolved": "{ data: DataLookup; models: { [rowIndex: number]: DataType; }; type: DimensionRows; }",
1149
+ "references": {
1150
+ "Edition": {
1151
+ "location": "import",
1152
+ "path": "../../interfaces"
1153
+ }
1154
+ }
1155
+ }
1156
+ }, {
1157
+ "method": "afteredit",
1158
+ "name": "afteredit",
1159
+ "bubbles": true,
1160
+ "cancelable": true,
1161
+ "composed": true,
1162
+ "docs": {
1163
+ "tags": [],
1164
+ "text": "After edit.\nTriggered when after data applied or Range changeged."
1165
+ },
1166
+ "complexType": {
1167
+ "original": "Edition.BeforeSaveDataDetails | Edition.BeforeRangeSaveDataDetails",
1168
+ "resolved": "{ data: DataLookup; models: { [rowIndex: number]: DataType; }; type: DimensionRows; } | { prop: ColumnProp; model: DataType; val?: string; rowIndex: number; type: DimensionRows; }",
1169
+ "references": {
1170
+ "Edition": {
1171
+ "location": "import",
1172
+ "path": "../../interfaces"
1173
+ }
1174
+ }
1175
+ }
1176
+ }, {
1177
+ "method": "beforeautofill",
1178
+ "name": "beforeautofill",
1179
+ "bubbles": true,
1180
+ "cancelable": true,
1181
+ "composed": true,
1182
+ "docs": {
1183
+ "tags": [],
1184
+ "text": "Before autofill.\nTriggered before autofill applied.\nUse e.preventDefault() to prevent edit data apply."
1185
+ },
1186
+ "complexType": {
1187
+ "original": "Selection.ChangedRange",
1188
+ "resolved": "{ type: DimensionRows; newRange: RangeArea; oldRange: RangeArea; newProps: ColumnProp[]; oldProps: ColumnProp[]; newData: { [key: number]: DataType; }; }",
1189
+ "references": {
1190
+ "Selection": {
1191
+ "location": "import",
1192
+ "path": "../../interfaces"
1193
+ }
1194
+ }
1195
+ }
1196
+ }, {
1197
+ "method": "beforeaange",
1198
+ "name": "beforeaange",
1199
+ "bubbles": true,
1200
+ "cancelable": true,
1201
+ "composed": true,
1202
+ "docs": {
1203
+ "tags": [],
1204
+ "text": "Before range apply.\nTriggered before range applied.\nUse e.preventDefault() to prevent range."
1205
+ },
1206
+ "complexType": {
1207
+ "original": "Selection.ChangedRange",
1208
+ "resolved": "{ type: DimensionRows; newRange: RangeArea; oldRange: RangeArea; newProps: ColumnProp[]; oldProps: ColumnProp[]; newData: { [key: number]: DataType; }; }",
1209
+ "references": {
1210
+ "Selection": {
1211
+ "location": "import",
1212
+ "path": "../../interfaces"
1213
+ }
1214
+ }
1215
+ }
1216
+ }, {
1217
+ "method": "roworderchanged",
1218
+ "name": "roworderchanged",
1219
+ "bubbles": true,
1220
+ "cancelable": true,
1221
+ "composed": true,
1222
+ "docs": {
1223
+ "tags": [],
1224
+ "text": "Before rgRow order apply.\nUse e.preventDefault() to prevent rgRow order change."
1225
+ },
1226
+ "complexType": {
1227
+ "original": "{ from: number; to: number }",
1228
+ "resolved": "{ from: number; to: number; }",
1229
+ "references": {}
1230
+ }
1231
+ }, {
1232
+ "method": "beforesourcesortingapply",
1233
+ "name": "beforesourcesortingapply",
1234
+ "bubbles": true,
1235
+ "cancelable": true,
1236
+ "composed": true,
1237
+ "docs": {
1238
+ "tags": [],
1239
+ "text": "Before source update sorting apply.\nUse this event if you intended to prevent sorting on data update.\nUse e.preventDefault() to prevent sorting data change during rows source update."
1240
+ },
1241
+ "complexType": {
1242
+ "original": "any",
1243
+ "resolved": "any",
1244
+ "references": {}
1245
+ }
1246
+ }, {
1247
+ "method": "beforesortingapply",
1248
+ "name": "beforesortingapply",
1249
+ "bubbles": true,
1250
+ "cancelable": true,
1251
+ "composed": true,
1252
+ "docs": {
1253
+ "tags": [],
1254
+ "text": "Before sorting apply.\nUse e.preventDefault() to prevent sorting data change."
1255
+ },
1256
+ "complexType": {
1257
+ "original": "{\n column: RevoGrid.ColumnRegular;\n order: 'desc' | 'asc';\n additive: boolean;\n }",
1258
+ "resolved": "{ column: ColumnRegular; order: \"desc\" | \"asc\"; additive: boolean; }",
1259
+ "references": {
1260
+ "RevoGrid": {
1261
+ "location": "import",
1262
+ "path": "../../interfaces"
1263
+ }
1264
+ }
1265
+ }
1266
+ }, {
1267
+ "method": "beforesorting",
1268
+ "name": "beforesorting",
1269
+ "bubbles": true,
1270
+ "cancelable": true,
1271
+ "composed": true,
1272
+ "docs": {
1273
+ "tags": [],
1274
+ "text": "Before sorting event.\nInitial sorting triggered, if this event stops no other event called.\nUse e.preventDefault() to prevent sorting."
1275
+ },
1276
+ "complexType": {
1277
+ "original": "{\n column: RevoGrid.ColumnRegular;\n order: 'desc' | 'asc';\n additive: boolean;\n }",
1278
+ "resolved": "{ column: ColumnRegular; order: \"desc\" | \"asc\"; additive: boolean; }",
1279
+ "references": {
1280
+ "RevoGrid": {
1281
+ "location": "import",
1282
+ "path": "../../interfaces"
1283
+ }
1284
+ }
1285
+ }
1286
+ }, {
1287
+ "method": "rowdragstart",
1288
+ "name": "rowdragstart",
1289
+ "bubbles": true,
1290
+ "cancelable": true,
1291
+ "composed": true,
1292
+ "docs": {
1293
+ "tags": [],
1294
+ "text": "Row order change started.\nUse e.preventDefault() to prevent rgRow order change.\nUse e.text = 'new name' to change item name on start."
1295
+ },
1296
+ "complexType": {
1297
+ "original": "{ pos: RevoGrid.PositionItem; text: string }",
1298
+ "resolved": "{ pos: PositionItem; text: string; }",
1299
+ "references": {
1300
+ "RevoGrid": {
1301
+ "location": "import",
1302
+ "path": "../../interfaces"
1303
+ }
1304
+ }
1305
+ }
1306
+ }, {
1307
+ "method": "headerclick",
1308
+ "name": "headerclick",
1309
+ "bubbles": true,
1310
+ "cancelable": true,
1311
+ "composed": true,
1312
+ "docs": {
1313
+ "tags": [],
1314
+ "text": "On header click."
1315
+ },
1316
+ "complexType": {
1317
+ "original": "RevoGrid.ColumnRegular",
1318
+ "resolved": "ColumnRegular",
1319
+ "references": {
1320
+ "RevoGrid": {
1321
+ "location": "import",
1322
+ "path": "../../interfaces"
1323
+ }
1324
+ }
1325
+ }
1326
+ }, {
1327
+ "method": "beforecellfocus",
1328
+ "name": "beforecellfocus",
1329
+ "bubbles": true,
1330
+ "cancelable": true,
1331
+ "composed": true,
1332
+ "docs": {
1333
+ "tags": [],
1334
+ "text": "Before cell focus changed.\nUse e.preventDefault() to prevent cell focus change."
1335
+ },
1336
+ "complexType": {
1337
+ "original": "Edition.BeforeSaveDataDetails",
1338
+ "resolved": "{ prop: ColumnProp; model: DataType; val?: string; rowIndex: number; type: DimensionRows; }",
1339
+ "references": {
1340
+ "Edition": {
1341
+ "location": "import",
1342
+ "path": "../../interfaces"
1343
+ }
1344
+ }
1345
+ }
1346
+ }, {
1347
+ "method": "beforefocuslost",
1348
+ "name": "beforefocuslost",
1349
+ "bubbles": true,
1350
+ "cancelable": true,
1351
+ "composed": true,
1352
+ "docs": {
1353
+ "tags": [],
1354
+ "text": "Before grid focus lost happened.\nUse e.preventDefault() to prevent cell focus change."
1355
+ },
1356
+ "complexType": {
1357
+ "original": "FocusedData|null",
1358
+ "resolved": "{ model: any; cell: Cell; colType: DimensionCols; rowType: DimensionRows; column?: ColumnRegular; }",
1359
+ "references": {
1360
+ "FocusedData": {
1361
+ "location": "import",
1362
+ "path": "./viewport.service"
1363
+ }
1364
+ }
1365
+ }
1366
+ }, {
1367
+ "method": "beforesourceset",
1368
+ "name": "beforesourceset",
1369
+ "bubbles": true,
1370
+ "cancelable": true,
1371
+ "composed": true,
1372
+ "docs": {
1373
+ "tags": [],
1374
+ "text": "Before data apply.\nYou can override data source here"
1375
+ },
1376
+ "complexType": {
1377
+ "original": "{\n type: RevoGrid.DimensionRows;\n source: RevoGrid.DataType[];\n }",
1378
+ "resolved": "{ type: DimensionRows; source: DataType[]; }",
1379
+ "references": {
1380
+ "RevoGrid": {
1381
+ "location": "import",
1382
+ "path": "../../interfaces"
1383
+ }
1384
+ }
1385
+ }
1386
+ }, {
1387
+ "method": "aftersourceset",
1388
+ "name": "aftersourceset",
1389
+ "bubbles": true,
1390
+ "cancelable": true,
1391
+ "composed": true,
1392
+ "docs": {
1393
+ "tags": [],
1394
+ "text": "After rows updated"
1395
+ },
1396
+ "complexType": {
1397
+ "original": "{\n type: RevoGrid.DimensionRows;\n source: RevoGrid.DataType[];\n }",
1398
+ "resolved": "{ type: DimensionRows; source: DataType[]; }",
1399
+ "references": {
1400
+ "RevoGrid": {
1401
+ "location": "import",
1402
+ "path": "../../interfaces"
1403
+ }
1404
+ }
1405
+ }
1406
+ }, {
1407
+ "method": "beforecolumnsset",
1408
+ "name": "beforecolumnsset",
1409
+ "bubbles": true,
1410
+ "cancelable": true,
1411
+ "composed": true,
1412
+ "docs": {
1413
+ "tags": [],
1414
+ "text": "Before column update"
1415
+ },
1416
+ "complexType": {
1417
+ "original": "ColumnCollection",
1418
+ "resolved": "{ columns: ColumnItems; columnGrouping: ColumnGrouping; maxLevel: number; sort: Record<ColumnProp, ColumnRegular>; }",
1419
+ "references": {
1420
+ "ColumnCollection": {
1421
+ "location": "import",
1422
+ "path": "../../services/column.data.provider"
1423
+ }
1424
+ }
1425
+ }
1426
+ }, {
1427
+ "method": "beforecolumnapplied",
1428
+ "name": "beforecolumnapplied",
1429
+ "bubbles": true,
1430
+ "cancelable": true,
1431
+ "composed": true,
1432
+ "docs": {
1433
+ "tags": [],
1434
+ "text": "Before column applied but after column set gathered and viewport updated"
1435
+ },
1436
+ "complexType": {
1437
+ "original": "ColumnCollection",
1438
+ "resolved": "{ columns: ColumnItems; columnGrouping: ColumnGrouping; maxLevel: number; sort: Record<ColumnProp, ColumnRegular>; }",
1439
+ "references": {
1440
+ "ColumnCollection": {
1441
+ "location": "import",
1442
+ "path": "../../services/column.data.provider"
1443
+ }
1444
+ }
1445
+ }
1446
+ }, {
1447
+ "method": "aftercolumnsset",
1448
+ "name": "aftercolumnsset",
1449
+ "bubbles": true,
1450
+ "cancelable": true,
1451
+ "composed": true,
1452
+ "docs": {
1453
+ "tags": [],
1454
+ "text": "Column updated"
1455
+ },
1456
+ "complexType": {
1457
+ "original": "{\n columns: ColumnCollection;\n order: Record<RevoGrid.ColumnProp, 'asc' | 'desc'>;\n }",
1458
+ "resolved": "{ columns: ColumnCollection; order: Record<ColumnProp, \"desc\" | \"asc\">; }",
1459
+ "references": {
1460
+ "ColumnCollection": {
1461
+ "location": "import",
1462
+ "path": "../../services/column.data.provider"
1463
+ },
1464
+ "Record": {
1465
+ "location": "global"
1466
+ },
1467
+ "RevoGrid": {
1468
+ "location": "import",
1469
+ "path": "../../interfaces"
1470
+ }
1471
+ }
1472
+ }
1473
+ }, {
1474
+ "method": "beforefilterapply",
1475
+ "name": "beforefilterapply",
1476
+ "bubbles": true,
1477
+ "cancelable": true,
1478
+ "composed": true,
1479
+ "docs": {
1480
+ "tags": [],
1481
+ "text": "Before filter applied to data source\nUse e.preventDefault() to prevent cell focus change\nUpdate @collection if you wish to change filters"
1482
+ },
1483
+ "complexType": {
1484
+ "original": "{ collection: FilterCollection }",
1485
+ "resolved": "{ collection: FilterCollection; }",
1486
+ "references": {
1487
+ "FilterCollection": {
1488
+ "location": "import",
1489
+ "path": "../../plugins/filter/filter.plugin"
1490
+ }
1491
+ }
1492
+ }
1493
+ }, {
1494
+ "method": "beforefiltertrimmed",
1495
+ "name": "beforefiltertrimmed",
1496
+ "bubbles": true,
1497
+ "cancelable": true,
1498
+ "composed": true,
1499
+ "docs": {
1500
+ "tags": [],
1501
+ "text": "Before filter trimmed values\nUse e.preventDefault() to prevent value trimming and filter apply\nUpdate @collection if you wish to change filters\nUpdate @itemsToFilter if you wish to filter indexes of trimming"
1502
+ },
1503
+ "complexType": {
1504
+ "original": "{ collection: FilterCollection; itemsToFilter: Record<number, boolean> }",
1505
+ "resolved": "{ collection: FilterCollection; itemsToFilter: Record<number, boolean>; }",
1506
+ "references": {
1507
+ "FilterCollection": {
1508
+ "location": "import",
1509
+ "path": "../../plugins/filter/filter.plugin"
1510
+ },
1511
+ "Record": {
1512
+ "location": "global"
1513
+ }
1514
+ }
1515
+ }
1516
+ }, {
1517
+ "method": "beforetrimmed",
1518
+ "name": "beforetrimmed",
1519
+ "bubbles": true,
1520
+ "cancelable": true,
1521
+ "composed": true,
1522
+ "docs": {
1523
+ "tags": [],
1524
+ "text": "Before trimmed values\nUse e.preventDefault() to prevent value trimming\nUpdate @trimmed if you wish to filter indexes of trimming"
1525
+ },
1526
+ "complexType": {
1527
+ "original": "{ trimmed: Record<number, boolean>; trimmedType: string; type: string }",
1528
+ "resolved": "{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }",
1529
+ "references": {
1530
+ "Record": {
1531
+ "location": "global"
1532
+ }
1533
+ }
1534
+ }
1535
+ }, {
1536
+ "method": "aftertrimmed",
1537
+ "name": "aftertrimmed",
1538
+ "bubbles": true,
1539
+ "cancelable": true,
1540
+ "composed": true,
1541
+ "docs": {
1542
+ "tags": [],
1543
+ "text": "Notify trimmed applied"
1544
+ },
1545
+ "complexType": {
1546
+ "original": "any",
1547
+ "resolved": "any",
1548
+ "references": {}
1549
+ }
1550
+ }, {
1551
+ "method": "viewportscroll",
1552
+ "name": "viewportscroll",
1553
+ "bubbles": true,
1554
+ "cancelable": true,
1555
+ "composed": true,
1556
+ "docs": {
1557
+ "tags": [],
1558
+ "text": "Triggered when view port scrolled"
1559
+ },
1560
+ "complexType": {
1561
+ "original": "RevoGrid.ViewPortScrollEvent",
1562
+ "resolved": "{ dimension: DimensionType; coordinate: number; delta?: number; }",
1563
+ "references": {
1564
+ "RevoGrid": {
1565
+ "location": "import",
1566
+ "path": "../../interfaces"
1567
+ }
1568
+ }
1569
+ }
1570
+ }, {
1571
+ "method": "beforeexport",
1572
+ "name": "beforeexport",
1573
+ "bubbles": true,
1574
+ "cancelable": true,
1575
+ "composed": true,
1576
+ "docs": {
1577
+ "tags": [],
1578
+ "text": "Before export\nUse e.preventDefault() to prevent export\nReplace data in Event in case you want to modify it in export"
1579
+ },
1580
+ "complexType": {
1581
+ "original": "DataInput",
1582
+ "resolved": "{ data: DataType[]; } & ColSource",
1583
+ "references": {
1584
+ "DataInput": {
1585
+ "location": "import",
1586
+ "path": "../../plugins/export/types"
1587
+ }
1588
+ }
1589
+ }
1590
+ }, {
1591
+ "method": "beforeeditstart",
1592
+ "name": "beforeeditstart",
1593
+ "bubbles": true,
1594
+ "cancelable": true,
1595
+ "composed": true,
1596
+ "docs": {
1597
+ "tags": [],
1598
+ "text": "Before edit started\nUse e.preventDefault() to prevent edit"
1599
+ },
1600
+ "complexType": {
1601
+ "original": "Edition.BeforeSaveDataDetails",
1602
+ "resolved": "{ prop: ColumnProp; model: DataType; val?: string; rowIndex: number; type: DimensionRows; }",
1603
+ "references": {
1604
+ "Edition": {
1605
+ "location": "import",
1606
+ "path": "../../interfaces"
1607
+ }
1608
+ }
1609
+ }
1610
+ }, {
1611
+ "method": "aftercolumnresize",
1612
+ "name": "aftercolumnresize",
1613
+ "bubbles": true,
1614
+ "cancelable": true,
1615
+ "composed": true,
1616
+ "docs": {
1617
+ "tags": [],
1618
+ "text": "After column resize\nGet resized columns"
1619
+ },
1620
+ "complexType": {
1621
+ "original": "Record<RevoGrid.ColumnProp, RevoGrid.ColumnRegular>",
1622
+ "resolved": "{ [x: string]: ColumnRegular; [x: number]: ColumnRegular; }",
1623
+ "references": {
1624
+ "Record": {
1625
+ "location": "global"
1626
+ },
1627
+ "RevoGrid": {
1628
+ "location": "import",
1629
+ "path": "../../interfaces"
1630
+ }
1631
+ }
1632
+ }
1633
+ }]; }
1634
+ static get methods() { return {
1635
+ "refresh": {
1636
+ "complexType": {
1637
+ "signature": "(type?: RevoGrid.DimensionRows | 'all') => Promise<void>",
1638
+ "parameters": [{
1639
+ "tags": [],
1640
+ "text": ""
1641
+ }],
1642
+ "references": {
1643
+ "Promise": {
1644
+ "location": "global"
1645
+ },
1646
+ "RevoGrid": {
1647
+ "location": "import",
1648
+ "path": "../../interfaces"
1649
+ }
1650
+ },
1651
+ "return": "Promise<void>"
1652
+ },
1653
+ "docs": {
1654
+ "text": "Refreshes data viewport.\nCan be specific part as rgRow or pinned rgRow or 'all' by default.",
1655
+ "tags": []
1656
+ }
1657
+ },
1658
+ "scrollToRow": {
1659
+ "complexType": {
1660
+ "signature": "(coordinate?: number) => Promise<void>",
1661
+ "parameters": [{
1662
+ "tags": [],
1663
+ "text": ""
1664
+ }],
1665
+ "references": {
1666
+ "Promise": {
1667
+ "location": "global"
1668
+ }
1669
+ },
1670
+ "return": "Promise<void>"
1671
+ },
1672
+ "docs": {
1673
+ "text": "Scrolls view port to specified rgRow index",
1674
+ "tags": []
1675
+ }
1676
+ },
1677
+ "scrollToColumnIndex": {
1678
+ "complexType": {
1679
+ "signature": "(coordinate?: number) => Promise<void>",
1680
+ "parameters": [{
1681
+ "tags": [],
1682
+ "text": ""
1683
+ }],
1684
+ "references": {
1685
+ "Promise": {
1686
+ "location": "global"
1687
+ }
1688
+ },
1689
+ "return": "Promise<void>"
1690
+ },
1691
+ "docs": {
1692
+ "text": "Scrolls view port to specified column index",
1693
+ "tags": []
1694
+ }
1695
+ },
1696
+ "scrollToColumnProp": {
1697
+ "complexType": {
1698
+ "signature": "(prop: RevoGrid.ColumnProp) => Promise<void>",
1699
+ "parameters": [{
1700
+ "tags": [],
1701
+ "text": ""
1702
+ }],
1703
+ "references": {
1704
+ "Promise": {
1705
+ "location": "global"
1706
+ },
1707
+ "RevoGrid": {
1708
+ "location": "import",
1709
+ "path": "../../interfaces"
1710
+ }
1711
+ },
1712
+ "return": "Promise<void>"
1713
+ },
1714
+ "docs": {
1715
+ "text": "Scrolls view port to specified column prop",
1716
+ "tags": []
1717
+ }
1718
+ },
1719
+ "updateColumns": {
1720
+ "complexType": {
1721
+ "signature": "(cols: RevoGrid.ColumnRegular[]) => Promise<void>",
1722
+ "parameters": [{
1723
+ "tags": [],
1724
+ "text": ""
1725
+ }],
1726
+ "references": {
1727
+ "Promise": {
1728
+ "location": "global"
1729
+ },
1730
+ "RevoGrid": {
1731
+ "location": "import",
1732
+ "path": "../../interfaces"
1733
+ }
1734
+ },
1735
+ "return": "Promise<void>"
1736
+ },
1737
+ "docs": {
1738
+ "text": "Update columns",
1739
+ "tags": []
1740
+ }
1741
+ },
1742
+ "addTrimmed": {
1743
+ "complexType": {
1744
+ "signature": "(trimmed: Record<number, boolean>, trimmedType?: string, type?: RevoGrid.DimensionRows) => Promise<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }>>",
1745
+ "parameters": [{
1746
+ "tags": [],
1747
+ "text": ""
1748
+ }, {
1749
+ "tags": [],
1750
+ "text": ""
1751
+ }, {
1752
+ "tags": [],
1753
+ "text": ""
1754
+ }],
1755
+ "references": {
1756
+ "Promise": {
1757
+ "location": "global"
1758
+ },
1759
+ "CustomEvent": {
1760
+ "location": "global"
1761
+ },
1762
+ "Record": {
1763
+ "location": "global"
1764
+ },
1765
+ "RevoGrid": {
1766
+ "location": "import",
1767
+ "path": "../../interfaces"
1768
+ }
1769
+ },
1770
+ "return": "Promise<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }>>"
1771
+ },
1772
+ "docs": {
1773
+ "text": "Add trimmed by type",
1774
+ "tags": []
1775
+ }
1776
+ },
1777
+ "scrollToCoordinate": {
1778
+ "complexType": {
1779
+ "signature": "(cell: Partial<Selection.Cell>) => Promise<void>",
1780
+ "parameters": [{
1781
+ "tags": [],
1782
+ "text": ""
1783
+ }],
1784
+ "references": {
1785
+ "Promise": {
1786
+ "location": "global"
1787
+ },
1788
+ "Partial": {
1789
+ "location": "global"
1790
+ },
1791
+ "Selection": {
1792
+ "location": "import",
1793
+ "path": "../../interfaces"
1794
+ }
1795
+ },
1796
+ "return": "Promise<void>"
1797
+ },
1798
+ "docs": {
1799
+ "text": "Scrolls view port to coordinate",
1800
+ "tags": []
1801
+ }
1802
+ },
1803
+ "setCellEdit": {
1804
+ "complexType": {
1805
+ "signature": "(rgRow: number, prop: RevoGrid.ColumnProp, rowSource?: RevoGrid.DimensionRows) => Promise<void>",
1806
+ "parameters": [{
1807
+ "tags": [],
1808
+ "text": ""
1809
+ }, {
1810
+ "tags": [],
1811
+ "text": ""
1812
+ }, {
1813
+ "tags": [],
1814
+ "text": ""
1815
+ }],
1816
+ "references": {
1817
+ "Promise": {
1818
+ "location": "global"
1819
+ },
1820
+ "RevoGrid": {
1821
+ "location": "import",
1822
+ "path": "../../interfaces"
1823
+ }
1824
+ },
1825
+ "return": "Promise<void>"
1826
+ },
1827
+ "docs": {
1828
+ "text": "Bring cell to edit mode",
1829
+ "tags": []
1830
+ }
1831
+ },
1832
+ "registerVNode": {
1833
+ "complexType": {
1834
+ "signature": "(elements: VNode[]) => Promise<void>",
1835
+ "parameters": [{
1836
+ "tags": [],
1837
+ "text": ""
1838
+ }],
1839
+ "references": {
1840
+ "Promise": {
1841
+ "location": "global"
1842
+ },
1843
+ "VNode": {
1844
+ "location": "import",
1845
+ "path": "@stencil/core"
1846
+ }
1847
+ },
1848
+ "return": "Promise<void>"
1849
+ },
1850
+ "docs": {
1851
+ "text": "Register new virtual node inside of grid\nUsed for additional items creation such as plugin elements",
1852
+ "tags": []
1853
+ }
1854
+ },
1855
+ "getSource": {
1856
+ "complexType": {
1857
+ "signature": "(type?: RevoGrid.DimensionRows) => Promise<RevoGrid.DataType[]>",
1858
+ "parameters": [{
1859
+ "tags": [],
1860
+ "text": ""
1861
+ }],
1862
+ "references": {
1863
+ "Promise": {
1864
+ "location": "global"
1865
+ },
1866
+ "RevoGrid": {
1867
+ "location": "import",
1868
+ "path": "../../interfaces"
1869
+ }
1870
+ },
1871
+ "return": "Promise<DataType[]>"
1872
+ },
1873
+ "docs": {
1874
+ "text": "Get data from source",
1875
+ "tags": []
1876
+ }
1877
+ },
1878
+ "getVisibleSource": {
1879
+ "complexType": {
1880
+ "signature": "(type?: RevoGrid.DimensionRows) => Promise<any[]>",
1881
+ "parameters": [{
1882
+ "tags": [{
1883
+ "name": "param",
1884
+ "text": "type - type of source"
1885
+ }],
1886
+ "text": "- type of source"
1887
+ }],
1888
+ "references": {
1889
+ "Promise": {
1890
+ "location": "global"
1891
+ },
1892
+ "RevoGrid": {
1893
+ "location": "import",
1894
+ "path": "../../interfaces"
1895
+ }
1896
+ },
1897
+ "return": "Promise<any[]>"
1898
+ },
1899
+ "docs": {
1900
+ "text": "Get data from visible part of source\nTrimmed/filtered rows will be excluded",
1901
+ "tags": [{
1902
+ "name": "param",
1903
+ "text": "type - type of source"
1904
+ }]
1905
+ }
1906
+ },
1907
+ "getSourceStore": {
1908
+ "complexType": {
1909
+ "signature": "(type?: RevoGrid.DimensionRows) => Promise<RowSource>",
1910
+ "parameters": [{
1911
+ "tags": [{
1912
+ "name": "param",
1913
+ "text": "type - type of source"
1914
+ }],
1915
+ "text": "- type of source"
1916
+ }],
1917
+ "references": {
1918
+ "Promise": {
1919
+ "location": "global"
1920
+ },
1921
+ "RowSource": {
1922
+ "location": "import",
1923
+ "path": "../data/columnService"
1924
+ },
1925
+ "RevoGrid": {
1926
+ "location": "import",
1927
+ "path": "../../interfaces"
1928
+ }
1929
+ },
1930
+ "return": "Promise<RowSource>"
1931
+ },
1932
+ "docs": {
1933
+ "text": "Provides access to rows internal store observer\nCan be used for plugin support",
1934
+ "tags": [{
1935
+ "name": "param",
1936
+ "text": "type - type of source"
1937
+ }]
1938
+ }
1939
+ },
1940
+ "getColumnStore": {
1941
+ "complexType": {
1942
+ "signature": "(type?: RevoGrid.DimensionCols) => Promise<ColumnSource>",
1943
+ "parameters": [{
1944
+ "tags": [{
1945
+ "name": "param",
1946
+ "text": "type - type of column"
1947
+ }],
1948
+ "text": "- type of column"
1949
+ }],
1950
+ "references": {
1951
+ "Promise": {
1952
+ "location": "global"
1953
+ },
1954
+ "ColumnSource": {
1955
+ "location": "import",
1956
+ "path": "../data/columnService"
1957
+ },
1958
+ "RevoGrid": {
1959
+ "location": "import",
1960
+ "path": "../../interfaces"
1961
+ }
1962
+ },
1963
+ "return": "Promise<ColumnSource>"
1964
+ },
1965
+ "docs": {
1966
+ "text": "Provides access to column internal store observer\nCan be used for plugin support",
1967
+ "tags": [{
1968
+ "name": "param",
1969
+ "text": "type - type of column"
1970
+ }]
1971
+ }
1972
+ },
1973
+ "updateColumnSorting": {
1974
+ "complexType": {
1975
+ "signature": "(column: RevoGrid.ColumnRegular, index: number, order: 'asc' | 'desc', additive: boolean) => Promise<RevoGrid.ColumnRegular>",
1976
+ "parameters": [{
1977
+ "tags": [{
1978
+ "name": "param",
1979
+ "text": "column - full column details to update"
1980
+ }],
1981
+ "text": "- full column details to update"
1982
+ }, {
1983
+ "tags": [{
1984
+ "name": "param",
1985
+ "text": "index - virtual column index"
1986
+ }],
1987
+ "text": "- virtual column index"
1988
+ }, {
1989
+ "tags": [{
1990
+ "name": "param",
1991
+ "text": "order - order to apply"
1992
+ }],
1993
+ "text": "- order to apply"
1994
+ }, {
1995
+ "tags": [],
1996
+ "text": ""
1997
+ }],
1998
+ "references": {
1999
+ "Promise": {
2000
+ "location": "global"
2001
+ },
2002
+ "RevoGrid": {
2003
+ "location": "import",
2004
+ "path": "../../interfaces"
2005
+ }
2006
+ },
2007
+ "return": "Promise<ColumnRegular>"
2008
+ },
2009
+ "docs": {
2010
+ "text": "Update column sorting",
2011
+ "tags": [{
2012
+ "name": "param",
2013
+ "text": "column - full column details to update"
2014
+ }, {
2015
+ "name": "param",
2016
+ "text": "index - virtual column index"
2017
+ }, {
2018
+ "name": "param",
2019
+ "text": "order - order to apply"
2020
+ }]
2021
+ }
2022
+ },
2023
+ "clearSorting": {
2024
+ "complexType": {
2025
+ "signature": "() => Promise<void>",
2026
+ "parameters": [],
2027
+ "references": {
2028
+ "Promise": {
2029
+ "location": "global"
2030
+ }
2031
+ },
2032
+ "return": "Promise<void>"
2033
+ },
2034
+ "docs": {
2035
+ "text": "Clears column sorting",
2036
+ "tags": []
2037
+ }
2038
+ },
2039
+ "getColumns": {
2040
+ "complexType": {
2041
+ "signature": "() => Promise<RevoGrid.ColumnRegular[]>",
2042
+ "parameters": [],
2043
+ "references": {
2044
+ "Promise": {
2045
+ "location": "global"
2046
+ },
2047
+ "RevoGrid": {
2048
+ "location": "import",
2049
+ "path": "../../interfaces"
2050
+ }
2051
+ },
2052
+ "return": "Promise<ColumnRegular[]>"
2053
+ },
2054
+ "docs": {
2055
+ "text": "Receive all columns in data source",
2056
+ "tags": []
2057
+ }
2058
+ },
2059
+ "clearFocus": {
2060
+ "complexType": {
2061
+ "signature": "() => Promise<void>",
2062
+ "parameters": [],
2063
+ "references": {
2064
+ "Promise": {
2065
+ "location": "global"
2066
+ }
2067
+ },
2068
+ "return": "Promise<void>"
2069
+ },
2070
+ "docs": {
2071
+ "text": "Clear current grid focus",
2072
+ "tags": []
2073
+ }
2074
+ },
2075
+ "getPlugins": {
2076
+ "complexType": {
2077
+ "signature": "() => Promise<RevoPlugin.Plugin[]>",
2078
+ "parameters": [],
2079
+ "references": {
2080
+ "Promise": {
2081
+ "location": "global"
2082
+ },
2083
+ "RevoPlugin": {
2084
+ "location": "import",
2085
+ "path": "../../interfaces"
2086
+ }
2087
+ },
2088
+ "return": "Promise<Plugin[]>"
2089
+ },
2090
+ "docs": {
2091
+ "text": "Get all active plugins instances",
2092
+ "tags": []
2093
+ }
2094
+ },
2095
+ "getFocused": {
2096
+ "complexType": {
2097
+ "signature": "() => Promise<FocusedData | null>",
2098
+ "parameters": [],
2099
+ "references": {
2100
+ "Promise": {
2101
+ "location": "global"
2102
+ },
2103
+ "FocusedData": {
2104
+ "location": "import",
2105
+ "path": "./viewport.service"
2106
+ }
2107
+ },
2108
+ "return": "Promise<FocusedData>"
2109
+ },
2110
+ "docs": {
2111
+ "text": "Get the currently focused cell.",
2112
+ "tags": []
2113
+ }
2114
+ },
2115
+ "getSelectedRange": {
2116
+ "complexType": {
2117
+ "signature": "() => Promise<Selection.RangeArea | null>",
2118
+ "parameters": [],
2119
+ "references": {
2120
+ "Promise": {
2121
+ "location": "global"
2122
+ },
2123
+ "Selection": {
2124
+ "location": "import",
2125
+ "path": "../../interfaces"
2126
+ }
2127
+ },
2128
+ "return": "Promise<RangeArea>"
2129
+ },
2130
+ "docs": {
2131
+ "text": "Get the currently selected Range.",
2132
+ "tags": []
2133
+ }
2134
+ }
2135
+ }; }
2136
+ static get elementRef() { return "element"; }
2137
+ static get watchers() { return [{
2138
+ "propName": "columns",
2139
+ "methodName": "columnChanged"
2140
+ }, {
2141
+ "propName": "theme",
2142
+ "methodName": "themeChanged"
2143
+ }, {
2144
+ "propName": "source",
2145
+ "methodName": "dataChanged"
2146
+ }, {
2147
+ "propName": "pinnedBottomSource",
2148
+ "methodName": "dataBottomChanged"
2149
+ }, {
2150
+ "propName": "pinnedTopSource",
2151
+ "methodName": "dataTopChanged"
2152
+ }, {
2153
+ "propName": "rowDefinitions",
2154
+ "methodName": "rowDefChanged"
2155
+ }, {
2156
+ "propName": "trimmedRows",
2157
+ "methodName": "trimmedRowsChanged"
2158
+ }, {
2159
+ "propName": "grouping",
2160
+ "methodName": "groupingChanged"
2161
+ }, {
2162
+ "propName": "stretch",
2163
+ "methodName": "applyStretch"
2164
+ }]; }
2165
+ static get listeners() { return [{
2166
+ "name": "internalRowDragStart",
2167
+ "method": "onRowDragStarted",
2168
+ "target": undefined,
2169
+ "capture": false,
2170
+ "passive": false
2171
+ }, {
2172
+ "name": "internalRowDragEnd",
2173
+ "method": "onRowDragEnd",
2174
+ "target": undefined,
2175
+ "capture": false,
2176
+ "passive": false
2177
+ }, {
2178
+ "name": "internalRowDrag",
2179
+ "method": "onRowDrag",
2180
+ "target": undefined,
2181
+ "capture": false,
2182
+ "passive": false
2183
+ }, {
2184
+ "name": "internalRowMouseMove",
2185
+ "method": "onRowMouseMove",
2186
+ "target": undefined,
2187
+ "capture": false,
2188
+ "passive": false
2189
+ }, {
2190
+ "name": "internalCellEdit",
2191
+ "method": "onBeforeEdit",
2192
+ "target": undefined,
2193
+ "capture": false,
2194
+ "passive": false
2195
+ }, {
2196
+ "name": "internalRangeDataApply",
2197
+ "method": "onBeforeRangeEdit",
2198
+ "target": undefined,
2199
+ "capture": false,
2200
+ "passive": false
2201
+ }, {
2202
+ "name": "internalSelectionChanged",
2203
+ "method": "onRangeChanged",
2204
+ "target": undefined,
2205
+ "capture": false,
2206
+ "passive": false
2207
+ }, {
2208
+ "name": "initialRowDropped",
2209
+ "method": "onRowDropped",
2210
+ "target": undefined,
2211
+ "capture": false,
2212
+ "passive": false
2213
+ }, {
2214
+ "name": "initialHeaderClick",
2215
+ "method": "onHeaderClick",
2216
+ "target": undefined,
2217
+ "capture": false,
2218
+ "passive": false
2219
+ }, {
2220
+ "name": "internalFocusCell",
2221
+ "method": "onCellFocus",
2222
+ "target": undefined,
2223
+ "capture": false,
2224
+ "passive": false
2225
+ }]; }
2226
+ }