@omegagrid/grid 0.10.0 → 0.10.2

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 (257) hide show
  1. package/package.json +7 -7
  2. package/dist/commands/editingCommands.d.ts +0 -4
  3. package/dist/commands/editingCommands.d.ts.map +0 -1
  4. package/dist/commands/editingCommands.js +0 -74
  5. package/dist/commands/editingCommands.js.map +0 -1
  6. package/dist/commands/groupCommands.d.ts +0 -8
  7. package/dist/commands/groupCommands.d.ts.map +0 -1
  8. package/dist/commands/groupCommands.js +0 -7
  9. package/dist/commands/groupCommands.js.map +0 -1
  10. package/dist/commands/index.d.ts +0 -4
  11. package/dist/commands/index.d.ts.map +0 -1
  12. package/dist/commands/index.js +0 -9
  13. package/dist/commands/index.js.map +0 -1
  14. package/dist/commands/navigationCommands.d.ts +0 -5
  15. package/dist/commands/navigationCommands.d.ts.map +0 -1
  16. package/dist/commands/navigationCommands.js +0 -117
  17. package/dist/commands/navigationCommands.js.map +0 -1
  18. package/dist/constants.d.ts +0 -65
  19. package/dist/constants.d.ts.map +0 -1
  20. package/dist/constants.js +0 -8
  21. package/dist/constants.js.map +0 -1
  22. package/dist/editors/baseEditor.d.ts +0 -31
  23. package/dist/editors/baseEditor.d.ts.map +0 -1
  24. package/dist/editors/baseEditor.js +0 -112
  25. package/dist/editors/baseEditor.js.map +0 -1
  26. package/dist/editors/calendarEditor.d.ts +0 -12
  27. package/dist/editors/calendarEditor.d.ts.map +0 -1
  28. package/dist/editors/calendarEditor.js +0 -74
  29. package/dist/editors/calendarEditor.js.map +0 -1
  30. package/dist/editors/checkboxEditor.d.ts +0 -9
  31. package/dist/editors/checkboxEditor.d.ts.map +0 -1
  32. package/dist/editors/checkboxEditor.js +0 -32
  33. package/dist/editors/checkboxEditor.js.map +0 -1
  34. package/dist/editors/dateEditor.d.ts +0 -8
  35. package/dist/editors/dateEditor.d.ts.map +0 -1
  36. package/dist/editors/dateEditor.js +0 -37
  37. package/dist/editors/dateEditor.js.map +0 -1
  38. package/dist/editors/dropdownEditor.d.ts +0 -26
  39. package/dist/editors/dropdownEditor.d.ts.map +0 -1
  40. package/dist/editors/dropdownEditor.js +0 -142
  41. package/dist/editors/dropdownEditor.js.map +0 -1
  42. package/dist/editors/formulaEditor.d.ts +0 -21
  43. package/dist/editors/formulaEditor.d.ts.map +0 -1
  44. package/dist/editors/formulaEditor.js +0 -109
  45. package/dist/editors/formulaEditor.js.map +0 -1
  46. package/dist/editors/index.d.ts +0 -8
  47. package/dist/editors/index.d.ts.map +0 -1
  48. package/dist/editors/index.js +0 -19
  49. package/dist/editors/index.js.map +0 -1
  50. package/dist/editors/numberEditor.d.ts +0 -9
  51. package/dist/editors/numberEditor.d.ts.map +0 -1
  52. package/dist/editors/numberEditor.js +0 -37
  53. package/dist/editors/numberEditor.js.map +0 -1
  54. package/dist/editors/textEditor.d.ts +0 -15
  55. package/dist/editors/textEditor.d.ts.map +0 -1
  56. package/dist/editors/textEditor.js +0 -74
  57. package/dist/editors/textEditor.js.map +0 -1
  58. package/dist/filters/NumberFilter.d.ts +0 -8
  59. package/dist/filters/NumberFilter.d.ts.map +0 -1
  60. package/dist/filters/NumberFilter.js +0 -13
  61. package/dist/filters/NumberFilter.js.map +0 -1
  62. package/dist/filters/baseFilter.d.ts +0 -20
  63. package/dist/filters/baseFilter.d.ts.map +0 -1
  64. package/dist/filters/baseFilter.js +0 -47
  65. package/dist/filters/baseFilter.js.map +0 -1
  66. package/dist/filters/checkboxFilter.d.ts +0 -12
  67. package/dist/filters/checkboxFilter.d.ts.map +0 -1
  68. package/dist/filters/checkboxFilter.js +0 -67
  69. package/dist/filters/checkboxFilter.js.map +0 -1
  70. package/dist/filters/dropdownFilter.d.ts +0 -17
  71. package/dist/filters/dropdownFilter.d.ts.map +0 -1
  72. package/dist/filters/dropdownFilter.js +0 -116
  73. package/dist/filters/dropdownFilter.js.map +0 -1
  74. package/dist/filters/filterFactory.d.ts +0 -4
  75. package/dist/filters/filterFactory.d.ts.map +0 -1
  76. package/dist/filters/filterFactory.js +0 -39
  77. package/dist/filters/filterFactory.js.map +0 -1
  78. package/dist/filters/index.d.ts +0 -5
  79. package/dist/filters/index.d.ts.map +0 -1
  80. package/dist/filters/index.js +0 -5
  81. package/dist/filters/index.js.map +0 -1
  82. package/dist/filters/textFilter.d.ts +0 -17
  83. package/dist/filters/textFilter.d.ts.map +0 -1
  84. package/dist/filters/textFilter.js +0 -89
  85. package/dist/filters/textFilter.js.map +0 -1
  86. package/dist/gridAdapter.d.ts +0 -30
  87. package/dist/gridAdapter.d.ts.map +0 -1
  88. package/dist/gridAdapter.js +0 -11
  89. package/dist/gridAdapter.js.map +0 -1
  90. package/dist/i18n/en-us.d.ts +0 -4
  91. package/dist/i18n/en-us.d.ts.map +0 -1
  92. package/dist/i18n/en-us.js +0 -5
  93. package/dist/i18n/en-us.js.map +0 -1
  94. package/dist/i18n/index.d.ts +0 -5
  95. package/dist/i18n/index.d.ts.map +0 -1
  96. package/dist/i18n/index.js +0 -8
  97. package/dist/i18n/index.js.map +0 -1
  98. package/dist/index.d.ts +0 -7
  99. package/dist/index.d.ts.map +0 -1
  100. package/dist/index.js +0 -7
  101. package/dist/index.js.map +0 -1
  102. package/dist/renderers/ActionRenderer.d.ts +0 -3
  103. package/dist/renderers/ActionRenderer.d.ts.map +0 -1
  104. package/dist/renderers/ActionRenderer.js +0 -68
  105. package/dist/renderers/ActionRenderer.js.map +0 -1
  106. package/dist/renderers/BaseRenderer.d.ts +0 -6
  107. package/dist/renderers/BaseRenderer.d.ts.map +0 -1
  108. package/dist/renderers/BaseRenderer.js +0 -56
  109. package/dist/renderers/BaseRenderer.js.map +0 -1
  110. package/dist/renderers/CheckboxRenderer.d.ts +0 -4
  111. package/dist/renderers/CheckboxRenderer.d.ts.map +0 -1
  112. package/dist/renderers/CheckboxRenderer.js +0 -22
  113. package/dist/renderers/CheckboxRenderer.js.map +0 -1
  114. package/dist/renderers/DateTimeRenderer.d.ts +0 -4
  115. package/dist/renderers/DateTimeRenderer.d.ts.map +0 -1
  116. package/dist/renderers/DateTimeRenderer.js +0 -21
  117. package/dist/renderers/DateTimeRenderer.js.map +0 -1
  118. package/dist/renderers/DropdownRenderer.d.ts +0 -4
  119. package/dist/renderers/DropdownRenderer.d.ts.map +0 -1
  120. package/dist/renderers/DropdownRenderer.js +0 -18
  121. package/dist/renderers/DropdownRenderer.js.map +0 -1
  122. package/dist/renderers/GeneralRenderer.d.ts +0 -4
  123. package/dist/renderers/GeneralRenderer.d.ts.map +0 -1
  124. package/dist/renderers/GeneralRenderer.js +0 -12
  125. package/dist/renderers/GeneralRenderer.js.map +0 -1
  126. package/dist/renderers/HtmlRenderer.d.ts +0 -4
  127. package/dist/renderers/HtmlRenderer.d.ts.map +0 -1
  128. package/dist/renderers/HtmlRenderer.js +0 -6
  129. package/dist/renderers/HtmlRenderer.js.map +0 -1
  130. package/dist/renderers/NumberRenderer.d.ts +0 -4
  131. package/dist/renderers/NumberRenderer.d.ts.map +0 -1
  132. package/dist/renderers/NumberRenderer.js +0 -14
  133. package/dist/renderers/NumberRenderer.js.map +0 -1
  134. package/dist/renderers/SparklineRenderer.d.ts +0 -3
  135. package/dist/renderers/SparklineRenderer.d.ts.map +0 -1
  136. package/dist/renderers/SparklineRenderer.js +0 -8
  137. package/dist/renderers/SparklineRenderer.js.map +0 -1
  138. package/dist/renderers/TextRenderer.d.ts +0 -4
  139. package/dist/renderers/TextRenderer.d.ts.map +0 -1
  140. package/dist/renderers/TextRenderer.js +0 -38
  141. package/dist/renderers/TextRenderer.js.map +0 -1
  142. package/dist/renderers/index.d.ts +0 -12
  143. package/dist/renderers/index.d.ts.map +0 -1
  144. package/dist/renderers/index.js +0 -32
  145. package/dist/renderers/index.js.map +0 -1
  146. package/dist/types.d.ts +0 -10
  147. package/dist/types.d.ts.map +0 -1
  148. package/dist/types.js +0 -2
  149. package/dist/types.js.map +0 -1
  150. package/dist/ui/comment.d.ts +0 -59
  151. package/dist/ui/comment.d.ts.map +0 -1
  152. package/dist/ui/comment.js +0 -284
  153. package/dist/ui/comment.js.map +0 -1
  154. package/dist/ui/comment.style.d.ts +0 -2
  155. package/dist/ui/comment.style.d.ts.map +0 -1
  156. package/dist/ui/comment.style.js +0 -108
  157. package/dist/ui/comment.style.js.map +0 -1
  158. package/dist/ui/elementCache.d.ts +0 -15
  159. package/dist/ui/elementCache.d.ts.map +0 -1
  160. package/dist/ui/elementCache.js +0 -57
  161. package/dist/ui/elementCache.js.map +0 -1
  162. package/dist/ui/filterLabel.d.ts +0 -10
  163. package/dist/ui/filterLabel.d.ts.map +0 -1
  164. package/dist/ui/filterLabel.js +0 -76
  165. package/dist/ui/filterLabel.js.map +0 -1
  166. package/dist/ui/formulaInput.d.ts +0 -56
  167. package/dist/ui/formulaInput.d.ts.map +0 -1
  168. package/dist/ui/formulaInput.js +0 -251
  169. package/dist/ui/formulaInput.js.map +0 -1
  170. package/dist/ui/formulaInput.style.d.ts +0 -2
  171. package/dist/ui/formulaInput.style.d.ts.map +0 -1
  172. package/dist/ui/formulaInput.style.js +0 -65
  173. package/dist/ui/formulaInput.style.js.map +0 -1
  174. package/dist/ui/grid.d.ts +0 -91
  175. package/dist/ui/grid.d.ts.map +0 -1
  176. package/dist/ui/grid.editing.d.ts +0 -61
  177. package/dist/ui/grid.editing.d.ts.map +0 -1
  178. package/dist/ui/grid.editing.js +0 -439
  179. package/dist/ui/grid.editing.js.map +0 -1
  180. package/dist/ui/grid.events.d.ts +0 -97
  181. package/dist/ui/grid.events.d.ts.map +0 -1
  182. package/dist/ui/grid.events.js +0 -581
  183. package/dist/ui/grid.events.js.map +0 -1
  184. package/dist/ui/grid.filtering.d.ts +0 -23
  185. package/dist/ui/grid.filtering.d.ts.map +0 -1
  186. package/dist/ui/grid.filtering.js +0 -68
  187. package/dist/ui/grid.filtering.js.map +0 -1
  188. package/dist/ui/grid.js +0 -297
  189. package/dist/ui/grid.js.map +0 -1
  190. package/dist/ui/grid.menu.d.ts +0 -43
  191. package/dist/ui/grid.menu.d.ts.map +0 -1
  192. package/dist/ui/grid.menu.js +0 -168
  193. package/dist/ui/grid.menu.js.map +0 -1
  194. package/dist/ui/grid.objects.d.ts +0 -24
  195. package/dist/ui/grid.objects.d.ts.map +0 -1
  196. package/dist/ui/grid.objects.js +0 -69
  197. package/dist/ui/grid.objects.js.map +0 -1
  198. package/dist/ui/grid.rendering.d.ts +0 -84
  199. package/dist/ui/grid.rendering.d.ts.map +0 -1
  200. package/dist/ui/grid.rendering.js +0 -471
  201. package/dist/ui/grid.rendering.js.map +0 -1
  202. package/dist/ui/grid.selecting.d.ts +0 -99
  203. package/dist/ui/grid.selecting.d.ts.map +0 -1
  204. package/dist/ui/grid.selecting.js +0 -319
  205. package/dist/ui/grid.selecting.js.map +0 -1
  206. package/dist/ui/grid.sorting.d.ts +0 -23
  207. package/dist/ui/grid.sorting.d.ts.map +0 -1
  208. package/dist/ui/grid.sorting.js +0 -47
  209. package/dist/ui/grid.sorting.js.map +0 -1
  210. package/dist/ui/grid.style.d.ts +0 -2
  211. package/dist/ui/grid.style.d.ts.map +0 -1
  212. package/dist/ui/grid.style.js +0 -39
  213. package/dist/ui/grid.style.js.map +0 -1
  214. package/dist/ui/group.d.ts +0 -71
  215. package/dist/ui/group.d.ts.map +0 -1
  216. package/dist/ui/group.js +0 -312
  217. package/dist/ui/group.js.map +0 -1
  218. package/dist/ui/index.d.ts +0 -19
  219. package/dist/ui/index.d.ts.map +0 -1
  220. package/dist/ui/index.js +0 -19
  221. package/dist/ui/index.js.map +0 -1
  222. package/dist/ui/objectHost.d.ts +0 -30
  223. package/dist/ui/objectHost.d.ts.map +0 -1
  224. package/dist/ui/objectHost.js +0 -114
  225. package/dist/ui/objectHost.js.map +0 -1
  226. package/dist/ui/objectHost.style.d.ts +0 -2
  227. package/dist/ui/objectHost.style.d.ts.map +0 -1
  228. package/dist/ui/objectHost.style.js +0 -43
  229. package/dist/ui/objectHost.style.js.map +0 -1
  230. package/dist/ui/selector.d.ts +0 -97
  231. package/dist/ui/selector.d.ts.map +0 -1
  232. package/dist/ui/selector.js +0 -489
  233. package/dist/ui/selector.js.map +0 -1
  234. package/dist/ui/selector.style.d.ts +0 -2
  235. package/dist/ui/selector.style.d.ts.map +0 -1
  236. package/dist/ui/selector.style.js +0 -106
  237. package/dist/ui/selector.style.js.map +0 -1
  238. package/dist/ui/sortingArrow.d.ts +0 -8
  239. package/dist/ui/sortingArrow.d.ts.map +0 -1
  240. package/dist/ui/sortingArrow.js +0 -42
  241. package/dist/ui/sortingArrow.js.map +0 -1
  242. package/dist/ui/sparkline.d.ts +0 -14
  243. package/dist/ui/sparkline.d.ts.map +0 -1
  244. package/dist/ui/sparkline.js +0 -111
  245. package/dist/ui/sparkline.js.map +0 -1
  246. package/dist/ui/table.d.ts +0 -122
  247. package/dist/ui/table.d.ts.map +0 -1
  248. package/dist/ui/table.js +0 -1063
  249. package/dist/ui/table.js.map +0 -1
  250. package/dist/ui/table.styles.d.ts +0 -2
  251. package/dist/ui/table.styles.d.ts.map +0 -1
  252. package/dist/ui/table.styles.js +0 -249
  253. package/dist/ui/table.styles.js.map +0 -1
  254. package/dist/ui/tooltip.d.ts +0 -9
  255. package/dist/ui/tooltip.d.ts.map +0 -1
  256. package/dist/ui/tooltip.js +0 -32
  257. package/dist/ui/tooltip.js.map +0 -1
@@ -1,168 +0,0 @@
1
- import { RowModel } from "@omegagrid/grid-core";
2
- import { msg } from "@omegagrid/localize";
3
- import { GridEvent } from "./grid.events";
4
- import { html } from "lit";
5
- export class GridMenuEvent extends GridEvent {
6
- constructor(type, args) {
7
- super(`menu.${type}`, args);
8
- }
9
- }
10
- export class GridMenus {
11
- get model() { return this.grid.model; }
12
- get selection() { return this.grid.selection; }
13
- get selector() { return this.grid.selector; }
14
- get events() { return this.grid.events; }
15
- get table() { return this.grid.table; }
16
- get contextMenu() { return this.grid.contextMenu; }
17
- constructor(grid) {
18
- this.grid = grid;
19
- this._onContextMenuClick = (e) => {
20
- const grid = this.grid;
21
- switch (this.currentMenuItems[e.index].key) {
22
- case 'insertColumn':
23
- grid.editing.insertColumns({ index: this.currentColumn.index, count: 1 });
24
- break;
25
- case 'insertColumnAfter':
26
- grid.editing.insertColumns({ index: this.currentColumn.index, count: 1, after: true });
27
- break;
28
- case 'deleteColumn':
29
- grid.editing.deleteColumns({ index: this.currentColumn.index, count: 1 });
30
- break;
31
- case 'insertRow':
32
- grid.editing.insertRows({ index: this.currentRow.index, count: 1 });
33
- break;
34
- case 'insertRowAfter':
35
- grid.editing.insertRows({ index: this.currentRow.index, count: 1, after: true });
36
- break;
37
- case 'deleteRow':
38
- grid.editing.deleteRows({ index: this.currentRow.index, count: 1 });
39
- break;
40
- case 'comment':
41
- this.grid.editing.openComments(this.currentCell);
42
- break;
43
- }
44
- this.grid.dispatchEvent(new GridMenuEvent('click', {
45
- grid: this.grid,
46
- cell: this.currentCell,
47
- row: this.currentRow,
48
- column: this.currentColumn,
49
- item: this.currentMenuItems[e.index]
50
- }));
51
- };
52
- this._onOutlineLevelChange = (e, element) => {
53
- const level = e.target.value;
54
- if (element instanceof RowModel) {
55
- this.model.getRowIterator(this.grid.selection.range).forEach(row => row.level = level);
56
- this.model.rebuildRowTree();
57
- }
58
- else {
59
- this.model.getColumnIterator(this.grid.selection.range).forEach(col => col.level = level);
60
- this.model.rebuildColumnTree();
61
- }
62
- this.grid.rendering.render(true);
63
- };
64
- this.renderOutlineMenuItem = (element) => {
65
- return html `
66
- <div
67
- style="display: flex; flex-direction: row; align-items: center;"
68
- @mousedown="${(e) => e.stopPropagation()}"
69
- @mouseup="${(e) => e.stopPropagation()}">
70
- <og-numericinput buttons
71
- min="0"
72
- max="9"
73
- value="${element.level}"
74
- style="margin-right: 2px; text-align: center"
75
- @change="${(e) => this._onOutlineLevelChange(e, element)}">
76
- </og-numericinput>
77
- </div>
78
- `;
79
- };
80
- }
81
- init() {
82
- this.contextMenu.addEventListener('select', this._onContextMenuClick);
83
- }
84
- openMenu(position) {
85
- if (this.currentMenuItems.length > 0) {
86
- this.contextMenu.items = this.currentMenuItems;
87
- this.contextMenu.openAt(position.x, position.y);
88
- }
89
- }
90
- openColumnMenu(column, position) {
91
- const opts = this.grid.options;
92
- const customMenu = opts.menus?.column;
93
- let items = [];
94
- this.currentColumn = column;
95
- if (!customMenu?.replace) {
96
- if (opts.editable && opts.editing.colInsertion) {
97
- items.push({ key: 'insertColumn', value: 'Insert column', icon: 'plus' });
98
- items.push({ key: 'insertColumnAfter', value: 'Insert column (after)', icon: 'plus' });
99
- }
100
- if (opts.editable && opts.editing.colDeletion) {
101
- items.push({ key: 'deleteColumn', value: 'Delete column', icon: 'minus' });
102
- }
103
- if (opts.editable && opts.editing.colOutline) {
104
- items.push({ key: 'colLevel', icon: 'list-tree', renderer: () => this.renderOutlineMenuItem(column) });
105
- }
106
- }
107
- if (customMenu) {
108
- if (items.length > 0)
109
- items[items.length - 1].divider = true;
110
- items = [
111
- ...items,
112
- ...customMenu.items.filter(item => !item.hidden || !item.hidden(column))
113
- ];
114
- }
115
- this.currentMenuItems = items;
116
- this.openMenu(position);
117
- }
118
- openRowMenu(row, position) {
119
- const opts = this.grid.options;
120
- const customMenu = opts.menus?.row;
121
- let items = [];
122
- this.currentRow = row;
123
- if (!customMenu?.replace) {
124
- if (opts.editable && opts.editing.rowInsertion) {
125
- items.push({ key: 'insertRow', value: 'Insert row', icon: 'plus' });
126
- items.push({ key: 'insertRowAfter', value: 'Insert row (after)', icon: 'plus' });
127
- }
128
- if (opts.editable && opts.editing.rowDeletion) {
129
- items.push({ key: 'deleteRow', value: 'Delete row', icon: 'minus' });
130
- }
131
- if (opts.editable && opts.editing.rowOutline) {
132
- items.push({ key: 'rowLevel', icon: 'list-tree', renderer: () => this.renderOutlineMenuItem(row) });
133
- }
134
- }
135
- if (customMenu) {
136
- if (items.length > 0)
137
- items[items.length - 1].divider = true;
138
- items = [
139
- ...items,
140
- ...customMenu.items.filter(item => !item.hidden || !item.hidden(row))
141
- ];
142
- }
143
- this.currentMenuItems = items;
144
- this.openMenu(position);
145
- }
146
- openCellMenu(cell, position) {
147
- const opts = this.grid.options;
148
- const customMenu = opts.menus?.cell;
149
- let items = [];
150
- this.currentCell = cell;
151
- if (!customMenu?.replace) {
152
- if (cell.commentable) {
153
- items.push({ key: 'comment', value: msg('Comment'), icon: 'comment' });
154
- }
155
- }
156
- if (customMenu) {
157
- if (items.length > 0)
158
- items[items.length - 1].divider = true;
159
- items = [
160
- ...items,
161
- ...customMenu.items.filter(item => !item.hidden || !item.hidden(cell))
162
- ];
163
- }
164
- this.currentMenuItems = items;
165
- this.openMenu(position);
166
- }
167
- }
168
- //# sourceMappingURL=grid.menu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.menu.js","sourceRoot":"","sources":["../../src/ui/grid.menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { ListSelectEvent, MenuItem, NumericInput } from \"@omegagrid/core\";\nimport { CellModel, ColumnModel, RowModel } from \"@omegagrid/grid-core\";\nimport { Grid } from \"./grid\";\nimport { msg } from \"@omegagrid/localize\";\nimport { GridEvent } from \"./grid.events\";\nimport { html } from \"lit\";\n\nexport class GridMenuEvent extends GridEvent {\n\n\treadonly item: MenuItem;\n\n\tconstructor(type: string, args?: Partial<GridMenuEvent>) {\n\t\tsuper(`menu.${type}`, args);\n\t}\n\n}\n\nexport class GridMenus {\n\n\tget model() { return this.grid.model }\n\tget selection() { return this.grid.selection }\n\tget selector() { return this.grid.selector }\n\tget events() { return this.grid.events }\n\tget table() { return this.grid.table }\n\tget contextMenu() { return this.grid.contextMenu }\n\n\tprivate currentMenuItems: MenuItem[];\n\tprivate currentColumn: ColumnModel;\n\tprivate currentRow: RowModel;\n\tprivate currentCell: CellModel;\n\n\tconstructor(readonly grid: Grid) { }\n\n\t_onContextMenuClick = (e: ListSelectEvent) => {\n\t\tconst grid = this.grid;\n\t\tswitch (this.currentMenuItems[e.index].key) {\n\t\t\tcase 'insertColumn':\n\t\t\t\tgrid.editing.insertColumns({index: this.currentColumn.index, count: 1});\n\t\t\t\tbreak;\n\t\t\tcase 'insertColumnAfter':\n\t\t\t\tgrid.editing.insertColumns({index: this.currentColumn.index, count: 1, after: true});\n\t\t\t\tbreak;\n\t\t\tcase 'deleteColumn':\n\t\t\t\tgrid.editing.deleteColumns({index: this.currentColumn.index, count: 1});\n\t\t\t\tbreak;\n\t\t\tcase 'insertRow':\n\t\t\t\tgrid.editing.insertRows({index: this.currentRow.index, count: 1});\n\t\t\t\tbreak;\n\t\t\tcase 'insertRowAfter':\n\t\t\t\tgrid.editing.insertRows({index: this.currentRow.index, count: 1, after: true});\n\t\t\t\tbreak;\n\t\t\tcase 'deleteRow':\n\t\t\t\tgrid.editing.deleteRows({index: this.currentRow.index, count: 1});\n\t\t\t\tbreak;\n\t\t\tcase 'comment':\n\t\t\t\tthis.grid.editing.openComments(this.currentCell);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.grid.dispatchEvent(new GridMenuEvent('click', {\n\t\t\tgrid: this.grid,\n\t\t\tcell: this.currentCell,\n\t\t\trow: this.currentRow,\n\t\t\tcolumn: this.currentColumn,\n\t\t\titem: this.currentMenuItems[e.index]\n\t\t}));\n\t}\n\n\tinit() {\n\t\tthis.contextMenu.addEventListener('select', this._onContextMenuClick);\n\t}\n\n\t_onOutlineLevelChange = (e: Event, element: RowModel|ColumnModel) => {\n\t\tconst level = (e.target as NumericInput).value;\n\n\t\tif (element instanceof RowModel) {\n\t\t\tthis.model.getRowIterator(this.grid.selection.range).forEach(row => row.level = level);\n\t\t\tthis.model.rebuildRowTree();\n\t\t} else {\n\t\t\tthis.model.getColumnIterator(this.grid.selection.range).forEach(col => col.level = level);\n\t\t\tthis.model.rebuildColumnTree();\n\t\t}\n\t\t\n\t\tthis.grid.rendering.render(true);\n\t}\n\n\trenderOutlineMenuItem = (element: RowModel|ColumnModel) => {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tstyle=\"display: flex; flex-direction: row; align-items: center;\"\n\t\t\t\t@mousedown=\"${(e: Event) => e.stopPropagation()}\"\n\t\t\t\t@mouseup=\"${(e: Event) => e.stopPropagation()}\">\n\t\t\t\t<og-numericinput buttons\n\t\t\t\t\tmin=\"0\"\n\t\t\t\t\tmax=\"9\"\n\t\t\t\t\tvalue=\"${element.level}\"\n\t\t\t\t\tstyle=\"margin-right: 2px; text-align: center\"\n\t\t\t\t\t@change=\"${(e: Event) => this._onOutlineLevelChange(e, element)}\">\n\t\t\t\t</og-numericinput>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\topenMenu(position: {x: number, y: number}) {\n\t\tif (this.currentMenuItems.length > 0) {\n\t\t\tthis.contextMenu.items = this.currentMenuItems;\n\t\t\tthis.contextMenu.openAt(position.x, position.y);\n\t\t}\n\t}\n\n\topenColumnMenu(column: ColumnModel, position: {x: number, y: number}) {\n\t\tconst opts = this.grid.options;\n\t\tconst customMenu = opts.menus?.column;\n\t\tlet items: MenuItem[] = [];\n\n\t\tthis.currentColumn = column;\n\n\t\tif (!customMenu?.replace) {\n\t\t\tif (opts.editable && opts.editing.colInsertion) {\n\t\t\t\titems.push({key: 'insertColumn', value: 'Insert column', icon: 'plus'});\n\t\t\t\titems.push({key: 'insertColumnAfter', value: 'Insert column (after)', icon: 'plus'});\n\t\t\t}\n\t\t\t\n\t\t\tif (opts.editable && opts.editing.colDeletion) {\n\t\t\t\titems.push({key: 'deleteColumn', value: 'Delete column', icon: 'minus'});\n\t\t\t}\n\n\t\t\tif (opts.editable && opts.editing.colOutline) {\n\t\t\t\titems.push({key: 'colLevel', icon: 'list-tree', renderer: () => this.renderOutlineMenuItem(column)});\n\t\t\t}\n\t\t}\n\n\t\tif (customMenu) {\n\t\t\tif (items.length > 0) items[items.length - 1].divider = true;\n\t\t\titems = [\n\t\t\t\t...items,\n\t\t\t\t...customMenu.items.filter(item => !item.hidden || !item.hidden(column))\n\t\t\t];\n\t\t}\n\n\t\tthis.currentMenuItems = items;\n\t\tthis.openMenu(position);\n\t}\n\n\topenRowMenu(row: RowModel, position: {x: number, y: number}) {\n\t\tconst opts = this.grid.options;\n\t\tconst customMenu = opts.menus?.row;\n\t\tlet items: MenuItem[] = [];\n\n\t\tthis.currentRow = row;\n\t\t\n\t\tif (!customMenu?.replace) {\n\t\t\tif (opts.editable && opts.editing.rowInsertion) {\n\t\t\t\titems.push({key: 'insertRow', value: 'Insert row', icon: 'plus'});\n\t\t\t\titems.push({key: 'insertRowAfter', value: 'Insert row (after)', icon: 'plus'});\n\t\t\t}\n\t\t\t\n\t\t\tif (opts.editable && opts.editing.rowDeletion) {\n\t\t\t\titems.push({key: 'deleteRow', value: 'Delete row', icon: 'minus'});\n\t\t\t}\n\n\t\t\tif (opts.editable && opts.editing.rowOutline) {\n\t\t\t\titems.push({key: 'rowLevel', icon: 'list-tree', renderer: () => this.renderOutlineMenuItem(row)});\n\t\t\t}\n\t\t}\n\n\t\tif (customMenu) {\n\t\t\tif (items.length > 0) items[items.length - 1].divider = true;\n\t\t\titems = [\n\t\t\t\t...items,\n\t\t\t\t...customMenu.items.filter(item => !item.hidden || !item.hidden(row))\n\t\t\t];\n\t\t}\n\n\t\tthis.currentMenuItems = items;\n\t\tthis.openMenu(position);\n\t}\n\n\topenCellMenu(cell: CellModel, position: {x: number, y: number}) {\n\t\tconst opts = this.grid.options;\n\t\tconst customMenu = opts.menus?.cell;\n\t\tlet items: MenuItem[] = [];\n\n\t\tthis.currentCell = cell;\n\n\t\tif (!customMenu?.replace) {\n\t\t\tif (cell.commentable) {\n\t\t\t\titems.push({key: 'comment', value: msg('Comment'), icon: 'comment'});\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (customMenu) {\n\t\t\tif (items.length > 0) items[items.length - 1].divider = true;\n\t\t\titems = [\n\t\t\t\t...items,\n\t\t\t\t...customMenu.items.filter(item => !item.hidden || !item.hidden(cell))\n\t\t\t];\n\t\t}\n\n\t\tthis.currentMenuItems = items;\n\t\tthis.openMenu(position);\n\t}\n\n}"]}
@@ -1,24 +0,0 @@
1
- import { ComponentFactory } from "@omegagrid/core";
2
- import { Grid } from "./grid";
3
- import { ObjectHost } from "./objectHost";
4
- import { ObjectModel } from "@omegagrid/grid-core";
5
- export type CreateObjectOptions = {
6
- model: ObjectModel;
7
- createComponent: ComponentFactory;
8
- };
9
- export declare class GridObjects {
10
- readonly grid: Grid;
11
- get model(): import("@omegagrid/grid-core").GridModel;
12
- private _maxZIndex;
13
- private _hosts;
14
- get hosts(): Set<ObjectHost>;
15
- private _activeObject;
16
- get activeObject(): ObjectHost;
17
- constructor(grid: Grid);
18
- bringToFront(host: ObjectHost): void;
19
- _onHostMouseDown: (host: ObjectHost, e: MouseEvent) => void;
20
- add(options: CreateObjectOptions): ObjectHost;
21
- delete(_host?: ObjectHost): void;
22
- updatePostions(): void;
23
- }
24
- //# sourceMappingURL=grid.objects.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.objects.d.ts","sourceRoot":"","sources":["../../src/ui/grid.objects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAO,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAe,UAAU,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,WAAW,CAAC;IACnB,eAAe,EAAE,gBAAgB,CAAC;CAClC,CAAA;AAID,qBAAa,WAAW;IAUX,QAAQ,CAAC,IAAI,EAAE,IAAI;IAR/B,IAAI,KAAK,6CAA6B;IAEtC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,MAAM,CAAyB;IACvC,IAAI,KAAK,oBAAyB;IAClC,OAAO,CAAC,aAAa,CAAa;IAClC,IAAI,YAAY,eAAgC;gBAE3B,IAAI,EAAE,IAAI;IAM/B,YAAY,CAAC,IAAI,EAAE,UAAU;IAQ7B,gBAAgB,GAAI,MAAM,UAAU,EAAE,GAAG,UAAU,UAkBlD;IAED,GAAG,CAAC,OAAO,EAAE,mBAAmB;IAehC,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU;IAKzB,cAAc;CAId"}
@@ -1,69 +0,0 @@
1
- import { dom } from "@omegagrid/core";
2
- import { ObjectEvent } from "./objectHost";
3
- const MIN_Z_INDEX = 1000;
4
- export class GridObjects {
5
- get model() { return this.grid.model; }
6
- get hosts() { return this._hosts; }
7
- get activeObject() { return this._activeObject; }
8
- constructor(grid) {
9
- this.grid = grid;
10
- this._maxZIndex = MIN_Z_INDEX - 1;
11
- this._hosts = new Set();
12
- this._onHostMouseDown = (host, e) => {
13
- if (host.active)
14
- return e.stopImmediatePropagation();
15
- this.hosts.forEach((_, h) => {
16
- if (h == host) {
17
- h.active = true;
18
- this._activeObject = h;
19
- this.bringToFront(h);
20
- setTimeout(() => document.addEventListener('mousedown', () => {
21
- if (!host.active)
22
- return;
23
- host.active = false;
24
- host.dispatchEvent(new ObjectEvent('deactivate', { host: host, object: host.model, grid: this.grid }));
25
- }, { once: true }), 100);
26
- }
27
- else if (h.active) {
28
- h.active = false;
29
- h.dispatchEvent(new ObjectEvent('deactivate', { host: h, object: h.model, grid: this.grid }));
30
- }
31
- });
32
- host.dispatchEvent(new ObjectEvent('activate', { host: host, object: host.model, grid: this.grid }));
33
- };
34
- grid.addEventListener('grid.object.deactivate', (e) => {
35
- if (e.host == this._activeObject)
36
- this._activeObject = null;
37
- });
38
- }
39
- bringToFront(host) {
40
- const zIndex = host.model.zIndex;
41
- if (zIndex == this._maxZIndex)
42
- return;
43
- this._maxZIndex++;
44
- this.hosts.add(host);
45
- dom.setZIndex(host, this._maxZIndex);
46
- }
47
- add(options) {
48
- const host = dom.createElement('og-object-host');
49
- host.grid = this.grid;
50
- host.model = options.model;
51
- host.createComponent = options.createComponent;
52
- host.addEventListener('mousedown', (e) => this._onHostMouseDown(host, e));
53
- const zIndex = options.model.zIndex || (this._maxZIndex + 1);
54
- this._maxZIndex = Math.max(this._maxZIndex, zIndex);
55
- dom.setZIndex(host, zIndex);
56
- this.hosts.add(host);
57
- host.updatePosition();
58
- this.grid.shadowRoot.appendChild(host);
59
- return host;
60
- }
61
- delete(_host) {
62
- // host = host || this.activeObject;
63
- // console.log('delete', host);
64
- }
65
- updatePostions() {
66
- this.hosts.forEach((_, host) => host.updatePosition());
67
- }
68
- }
69
- //# sourceMappingURL=grid.objects.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.objects.js","sourceRoot":"","sources":["../../src/ui/grid.objects.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentFactory, dom } from \"@omegagrid/core\";\nimport { Grid } from \"./grid\";\nimport { ObjectEvent, ObjectHost } from \"./objectHost\";\nimport { ObjectModel } from \"@omegagrid/grid-core\";\n\nexport type CreateObjectOptions = {\n\tmodel: ObjectModel;\n\tcreateComponent: ComponentFactory;\n}\n\nconst MIN_Z_INDEX = 1000;\n\nexport class GridObjects {\n\n\tget model() { return this.grid.model }\n\n\tprivate _maxZIndex = MIN_Z_INDEX - 1;\n\tprivate _hosts = new Set<ObjectHost>();\n\tget hosts() { return this._hosts }\n\tprivate _activeObject: ObjectHost;\n\tget activeObject() { return this._activeObject }\n\n\tconstructor(readonly grid: Grid) {\n\t\tgrid.addEventListener('grid.object.deactivate', (e: ObjectEvent) => {\n\t\t\tif (e.host == this._activeObject) this._activeObject = null;\n\t\t});\n\t}\n\n\tbringToFront(host: ObjectHost) {\n\t\tconst zIndex = host.model.zIndex;\n\t\tif (zIndex == this._maxZIndex) return;\n\t\tthis._maxZIndex++;\n\t\tthis.hosts.add(host);\n\t\tdom.setZIndex(host, this._maxZIndex);\n\t}\n\n\t_onHostMouseDown = (host: ObjectHost, e: MouseEvent) => {\n\t\tif (host.active) return e.stopImmediatePropagation();\n\t\tthis.hosts.forEach((_, h) => {\n\t\t\tif (h == host) {\n\t\t\t\th.active = true;\n\t\t\t\tthis._activeObject = h;\n\t\t\t\tthis.bringToFront(h);\n\t\t\t\tsetTimeout(() => document.addEventListener('mousedown', () => {\n\t\t\t\t\tif (!host.active) return;\n\t\t\t\t\thost.active = false;\n\t\t\t\t\thost.dispatchEvent(new ObjectEvent('deactivate', {host: host, object: host.model, grid: this.grid}));\n\t\t\t\t}, {once: true}), 100);\n\t\t\t} else if (h.active) {\n\t\t\t\th.active = false;\n\t\t\t\th.dispatchEvent(new ObjectEvent('deactivate', {host: h, object: h.model, grid: this.grid}));\n\t\t\t}\n\t\t});\n\t\thost.dispatchEvent(new ObjectEvent('activate', {host: host, object: host.model, grid: this.grid}));\n\t}\n\n\tadd(options: CreateObjectOptions) {\n\t\tconst host = dom.createElement<ObjectHost>('og-object-host');\n\t\thost.grid = this.grid;\n\t\thost.model = options.model;\n\t\thost.createComponent = options.createComponent;\n\t\thost.addEventListener('mousedown', (e: MouseEvent) => this._onHostMouseDown(host, e));\n\t\tconst zIndex = options.model.zIndex || (this._maxZIndex + 1);\n\t\tthis._maxZIndex = Math.max(this._maxZIndex, zIndex);\n\t\tdom.setZIndex(host, zIndex);\n\t\tthis.hosts.add(host);\n\t\thost.updatePosition();\n\t\tthis.grid.shadowRoot.appendChild(host);\n\t\treturn host;\n\t}\n\n\tdelete(_host?: ObjectHost) {\n\t\t// host = host || this.activeObject;\n\t\t// console.log('delete', host);\n\t}\n\n\tupdatePostions() {\n\t\tthis.hosts.forEach((_, host) => host.updatePosition());\n\t}\n\n}"]}
@@ -1,84 +0,0 @@
1
- import { Direction } from "@omegagrid/core";
2
- import { CellModel, ColumnModel, RowModel, CellRange, RangeAddress } from "@omegagrid/grid-core";
3
- import { Grid } from "./grid";
4
- import { Table, TableRenderOptions } from "./table";
5
- import { RequestFilters } from "../gridAdapter";
6
- export type RefreshOptions = {
7
- vertical?: boolean;
8
- horizontal?: boolean;
9
- rerenderTable?: boolean;
10
- };
11
- export declare class GridRendering {
12
- readonly grid: Grid;
13
- requireVerticalUpdate: boolean;
14
- requireHorizontalUpdate: boolean;
15
- touchStartX: Touch;
16
- touchStartY: Touch;
17
- resizing: boolean;
18
- currentResizedColumn: ColumnModel;
19
- currentResizedColumnWidth: number;
20
- currentResizedRow: RowModel;
21
- currentResizedRowHeight: number;
22
- private _vScrolling;
23
- get vScrolling(): boolean;
24
- private _hScrolling;
25
- get hScrolling(): boolean;
26
- get model(): import("@omegagrid/grid-core").GridModel;
27
- get selection(): import("@omegagrid/grid-core").SelectionModel;
28
- get table(): Table;
29
- constructor(grid: Grid);
30
- readonly debounceRenderCells: {
31
- (this: unknown, ...args: [update?: TableRenderOptions] & any[]): Promise<void>;
32
- cancel: (reason?: any) => void;
33
- };
34
- readonly debounceCalculateViewport: {
35
- (this: unknown, ...args: [recalculate?: boolean] & any[]): Promise<void>;
36
- cancel: (reason?: any) => void;
37
- };
38
- isLastRowInViewport(): boolean;
39
- renderCells(update?: TableRenderOptions): void;
40
- renderAll(rerenderTable?: boolean): void;
41
- render(rerenderTable?: boolean): Promise<void>;
42
- updateRange(range: CellRange, recalculate?: boolean): void;
43
- updateCell(cell: CellModel, recalculate?: boolean): void;
44
- updateSpilledCells(cell: CellModel): void;
45
- updateCells(cells: Iterable<CellModel>, recalculate?: boolean): void;
46
- updateHeaders(): void;
47
- calculateViewport(recalculate?: boolean): void;
48
- updateSliders(): void;
49
- isVerticalScrollingEnabled(): boolean;
50
- isHorizontalScrollingEnabled(): boolean;
51
- updateSliderVisibility(): void;
52
- hideSliders(): void;
53
- scrollVerticalByPixels(pixels: number): void;
54
- scrollHorizontalByPixels(pixels: number): void;
55
- updateCellSelectionRange(): void;
56
- getAdapterRequestFilters(): RequestFilters;
57
- toggleRow(index: number, dispatchEvent?: boolean): Promise<void>;
58
- toggleColumn(index: number, dispatchEvent?: boolean): void;
59
- setRowExpandLevel(level: number): void;
60
- setColumnExpandLevel(level: number): void;
61
- exportHTML(): Promise<string>;
62
- autoscrollDirection: Direction;
63
- autoscrollTimer: number;
64
- autoscrollValue: number;
65
- stopAutoscroll(): void;
66
- startAutoscroll(): void;
67
- autoscroll(moousePosition: {
68
- x: number;
69
- y: number;
70
- }): void;
71
- load(requestFilters?: RequestFilters): Promise<void>;
72
- loadNextPage(parentIndex?: number, forceLoad?: boolean): Promise<void>;
73
- get totalSize(): {
74
- width: number;
75
- height: number;
76
- };
77
- private autofitDiv;
78
- autofitColumn(c: number | ColumnModel, visibleValuesOnly?: boolean, rerender?: boolean): void;
79
- autofitColumns(visibleValuesOnly?: boolean): void;
80
- autofitRow(r: number | RowModel, visibleValuesOnly?: boolean, rerender?: boolean): void;
81
- autofitRows(visibleValuesOnly?: boolean): void;
82
- scrollTo(r: number | RangeAddress, c?: number): void;
83
- }
84
- //# sourceMappingURL=grid.rendering.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.rendering.d.ts","sourceRoot":"","sources":["../../src/ui/grid.rendering.ts"],"names":[],"mappings":"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"}