@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 +0,0 @@
1
- {"version":3,"file":"grid.editing.js","sourceRoot":"","sources":["../../src/ui/grid.editing.ts"],"names":[],"mappings":"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","sourcesContent":["import { csv, Matrix, utils } from \"@omegagrid/core\";\nimport { FormulaEditor, getEditorFactory } from \"../editors\";\nimport { BaseEditor } from \"../editors/baseEditor\";\nimport { CellModel, isFormula, CellRange, CellValueType, decodeColumn, decodeRow, CellSource, CellAddress } from \"@omegagrid/grid-core\";\nimport { Grid } from \"./grid\";\nimport { GridEditEvent, GridEvent } from \"./grid.events\";\nimport constants from \"../constants\";\n\nexport type DeleteOptions = {\n\tindex: number,\n\tcount: number,\n\tdispatchEvent?: boolean,\n\tfromHistory?: boolean\n};\n\nexport type InsertOptions = DeleteOptions & {\n\tafter?: boolean\n};\n\nexport type MovingOptions = DeleteOptions & {\n\ttargetIndex: number\n};\n\nexport class GridEditing {\n\n\tprivate editorMap = new Map<string, BaseEditor>();\n\tprivate editor: BaseEditor;\n\t\n\tcolumnMoving = false;\n\trowMoving = false;\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 isEditing() { return !!this.editor }\n\tget activeEditor() { return this.editor }\n\n\tprivate _formulaMode = false;\n\tget isFormulaMode() { return this._formulaMode || this.grid.group?.isFormulaMode }\n\n\tconstructor(readonly grid: Grid) { }\n\n\tcanEdit(cell: CellModel) {\n\t\treturn (cell.editable || this.grid.designMode) && cell.type !== 'a';\n\t}\n\n\tupdateCell(cell: CellModel, value: CellValueType | CellSource, dispatchEvent = true, fromHistory = false) {\n\t\tthis.updateCells([cell], [value], dispatchEvent, fromHistory);\n\t}\n\n\tupdateCells(cells: CellModel[], values: (CellValueType | CellSource)[], dispatchEvent = true, fromHistory = false) {\n\t\tlet oldValues: CellValueType[];\n\t\tlet oldPropsArr: CellValueType[];\n\t\tlet newValues: CellValueType[];\n\t\tlet newPropsArr: CellValueType[];\n\t\tlet editedCells: CellModel[];\n\t\tcells.forEach((cell, i) => {\n\t\t\tconst oldValue = cell.value;\n\t\t\tlet newValue: CellValueType;\n\t\t\tlet newProps: CellSource;\n\t\t\t\n\t\t\tif (utils.isObject(values[i])) {\n\t\t\t\tnewProps = values[i] as CellSource;\n\t\t\t\tnewValue = ('v' in newProps) ? newProps.v : undefined;\n\t\t\t} else {\n\t\t\t\tnewValue = values[i] as CellValueType;\n\t\t\t}\n\n\t\t\tlet oldProps: Partial<CellSource>;\n\t\t\tif (newProps) {\n\t\t\t\toldProps = cell.update(newProps);\n\t\t\t} else {\n\t\t\t\tcell.clearFormula();\n\t\t\t\tif (oldValue !== newValue) {\n\t\t\t\t\toldProps = {v: oldValue, dv: cell.displayValue};\n\t\t\t\t\tcell.value = newValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dispatchEvent && oldProps) {\n\t\t\t\toldValues = oldValues || [];\n\t\t\t\toldPropsArr = oldPropsArr || [];\n\t\t\t\tnewValues = newValues || [];\n\t\t\t\tnewPropsArr = newPropsArr || [];\n\t\t\t\teditedCells = editedCells || [];\n\t\t\t\toldValues.push(oldValue);\n\t\t\t\toldPropsArr.push(oldProps);\n\t\t\t\tnewValues.push(newValue);\n\t\t\t\tnewPropsArr.push(newProps);\n\t\t\t\teditedCells.push(cell);\n\t\t\t}\n\t\t});\n\n\t\tif (dispatchEvent && editedCells?.length) {\n\t\t\tthis.grid.dispatchEvent(new GridEditEvent({\n\t\t\t\tgrid: this.grid,\n\t\t\t\tfromHistory: !!fromHistory,\n\t\t\t\tcells: editedCells,\n\t\t\t\teditType: 'value',\n\t\t\t\tnewValues: newValues,\n\t\t\t\tnewProps: newPropsArr,\n\t\t\t\toldValues: oldValues,\n\t\t\t\toldProps: oldPropsArr\n\t\t\t}));\n\t\t}\n\t}\n\n\tstartFormulaMode() {\n\t\tthis._formulaMode = true;\n\t\tif (this.grid.group) this.grid.group.startFormulaMode(this.grid);\n\t}\n\n\tendFormulaMode(group = true) {\n\t\tthis._formulaMode = false;\n\t\tif (group && this.grid.group) this.grid.group.endFormulaMode();\n\t\tthis.grid.selecting.hideFormulaSelector();\n\t\tthis.grid.selecting.removeFormulaHighlight();\n\t\tthis.grid.selecting.showSelector();\n\t}\n\n\tstartEdit(initialValue: unknown = null) {\n\t\tconst cell = this.grid.selecting.activeCell;\n\t\tif (cell && this.canEdit(cell)) {\n\t\t\tthis.grid.logger.info(`start edit ${(new CellRange(cell.c, cell.r)).A1}`);\n\t\t\tlet formula = true;\n\t\t\tif (isFormula(initialValue as string)) {\n\t\t\t\tthis.editor = this.getFormulaEditor().open(this.grid, initialValue);\n\t\t\t} else {\n\t\t\t\tif (initialValue == null && cell.hasOwnFormula) {\n\t\t\t\t\tthis.editor = this.getFormulaEditor().open(this.grid, initialValue);\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\tformula = false;\n\t\t\t\t\tthis.editor = this.getEditor(cell).open(this.grid, initialValue);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.grid.dispatchEvent(new GridEvent('startEdit', {grid: this.grid}));\n\t\t\tif (formula) {\n\t\t\t\tthis.startFormulaMode();\n\t\t\t\tthis.grid.dispatchEvent(new GridEvent('startFormulaEdit', {grid: this.grid}));\n\t\t\t}\n\t\t}\n\t}\n\n\tendEdit() {\n\t\tif (!this.editor) return;\n\t\tthis.grid.logger.info('end edit');\n\t\tthis.grid.editing.endFormulaMode();\n\t\tthis.editor?.close();\n\t\tthis.editor = null;\n\t\tthis.grid.dispatchEvent(new GridEvent('endEdit', {grid: this.grid}));\n\t}\n\n\tcommitEdit() {\n\t\tif (this.editor) {\n\t\t\tthis.editor.commit();\n\t\t\tthis.endEdit();\n\t\t}\n\t}\n\n\tinsertRows(options: InsertOptions) {\n\t\tconst newRows = this.model.insertRows(options.index, options.count, options.after);\n\t\tthis.grid.rendering.renderAll(true);\n\t\tif (utils.ifNull(options.dispatchEvent, true)) this.grid.dispatchEvent(new GridEditEvent({\n\t\t\tgrid: this.grid,\n\t\t\tfromHistory: !!options.fromHistory,\n\t\t\teditType: 'insert_row',\n\t\t\tnewValues: newRows\n\t\t}));\n\t\treturn newRows;\n\t}\n\n\tinsertColumns(options: InsertOptions) {\n\t\tconst newColumns = this.model.insertColumns(options.index , options.count, options.after);\n\t\tthis.grid.rendering.renderAll(true);\n\t\tif (utils.ifNull(options.dispatchEvent, true)) this.grid.dispatchEvent(new GridEditEvent({\n\t\t\tgrid: this.grid,\n\t\t\tfromHistory: !!options.fromHistory,\n\t\t\teditType: 'insert_column',\n\t\t\tnewValues: newColumns\n\t\t}));\n\t\treturn newColumns;\n\t}\n\n\tdeleteRows(options: DeleteOptions) {\n\t\tconst deletedRows = this.model.deleteRows(options.index, options.count);\n\t\tthis.grid.rendering.renderAll(true);\n\t\tif (utils.ifNull(options.dispatchEvent, true)) this.grid.dispatchEvent(new GridEditEvent({\n\t\t\tgrid: this.grid,\n\t\t\tfromHistory: !!options.fromHistory,\n\t\t\teditType: 'delete_row',\n\t\t\toldValues: deletedRows\n\t\t}));\n\t\treturn deletedRows;\n\t}\n\n\tdeleteColumns(options: DeleteOptions) {\n\t\tconst deletedColumns = this.model.deleteColumns(options.index, options.count);\n\t\tthis.grid.rendering.renderAll(true);\n\t\tif (utils.ifNull(options.dispatchEvent, true)) this.grid.dispatchEvent(new GridEditEvent({\n\t\t\tgrid: this.grid,\n\t\t\tfromHistory: !!options.fromHistory,\n\t\t\teditType: 'delete_column',\n\t\t\toldValues: deletedColumns\n\t\t}));\n\t\treturn deletedColumns\n\t}\n\n\tmoveRows(options: MovingOptions) {\n\t\tthis.model.moveRows(options.index, options.count, options.targetIndex);\n\t\tthis.grid.rendering.renderAll(false);\n\t\tif (utils.ifNull(options.dispatchEvent, true)) this.grid.dispatchEvent(new GridEditEvent({\n\t\t\tgrid: this.grid,\n\t\t\tfromHistory: options.fromHistory,\n\t\t\teditType: 'move_row',\n\t\t\toldValues: [new CellRange(0, options.index, Infinity, options.index + options.count - 1)],\n\t\t\tnewValues: [new CellRange(0, options.targetIndex, Infinity, options.targetIndex + options.count - 1)],\n\t\t}));\n\t}\n\n\tmoveColumns(options: MovingOptions) {\n\t\tthis.model.moveColumns(options.index, options.count, options.targetIndex);\n\t\tthis.grid.rendering.renderAll(false);\n\t\tif (utils.ifNull(options.dispatchEvent, true)) this.grid.dispatchEvent(new GridEditEvent({\n\t\t\tgrid: this.grid,\n\t\t\tfromHistory: options.fromHistory,\n\t\t\teditType: 'move_column',\n\t\t\toldValues: [new CellRange(options.index, options.index + options.count - 1, Infinity)],\n\t\t\tnewValues: [new CellRange(options.targetIndex, 0, options.targetIndex + options.count - 1, Infinity)],\n\t\t}));\n\t}\n\n\tclearSelection(dispatchEvent = true) {\n\t\tconst cells = this.model.getCellArray(this.selection.range).filter(cell => this.canEdit(cell));\n\t\tthis.updateCells(cells, cells.map(() => null as CellModel), dispatchEvent);\n\t\tthis.grid.rendering.updateCells(cells, true);\n\t}\n\n\tgetEditor(cell: CellModel) {\n\t\tconst type = cell.type;\n\t\tif (!this.editorMap.has(type)) {\n\t\t\tconst editor = getEditorFactory(type).createComponent(this.model.options.editing);\n\t\t\tthis.grid.shadowRoot.appendChild(editor);\n\t\t\tthis.editorMap.set(type, editor);\n\t\t}\n\t\treturn this.editorMap.get(type);\n\t}\n\n\tgetFormulaEditor() {\n\t\tconst type = 'formula';\n\t\tif (!this.editorMap.has(type)) {\n\t\t\tconst editor = new FormulaEditor();\n\t\t\tthis.grid.shadowRoot.appendChild(editor);\n\t\t\tthis.editorMap.set(type, editor);\n\t\t}\n\t\treturn this.editorMap.get(type);\n\t}\n\n\tgetSelectionCellData() {\n\t\treturn this.model.getCellMatrix(this.selection.range).map(\n\t\t\trow => row.map(cell => cell.getSourceData({displayValue: true}))\n\t\t);\n\t}\n\n\tcopySelection() {\n\t\tconst customClipboardSupport = ClipboardItem.supports(constants.CUSTOM_CLIPBOARD_TYPE);\n\t\tconst values = this.model.getValuesInRange(this.selection.range, customClipboardSupport);\n\t\tthis.grid.selecting.hideSelector();\n\t\tthis.grid.selecting.showCopySelector();\n\n\t\tconst clipboardData: Record<string, string|Blob> = {'text/plain': new Blob([\n\t\t\tcsv.arrayToCsv(values, {decimalSeparator: this.model.options.systemDecimalSeparator})\n\t\t], {\n\t\t\ttype: \"text/plain\"\n\t\t})};\n\t\t\n\t\tif (customClipboardSupport) {\n\t\t\tclipboardData[constants.CUSTOM_CLIPBOARD_TYPE] = new Blob([JSON.stringify(this.getSelectionCellData())], {\n\t\t\t\ttype: \"application/json\"\n\t\t\t});\n\t\t} else {\n\t\t\tthis.grid.logger.warn(\"Browser does not support custom clipboard type\");\n\t\t}\n\t\t\n\t\tnavigator.clipboard.write([new ClipboardItem(clipboardData)]).then(\n\t\t\t() => this.grid.logger.info(\"selected content copied\"),\n\t\t\t() => this.grid.logger.error(\"copy rejected\")\n\t\t);\n\t}\n\n\tprivate pasteMatrix(data: Matrix<string | CellSource>) {\n\t\tconst range = this.selection.range;\n\t\tconst cells: CellModel[] = [];\n\t\tconst cellValues: CellValueType[] = [];\n\t\tconst rowPasteMode = this.model.options.clipboard?.rowPasteMode;\n\t\tconst columnPasteMode = this.model.options.clipboard?.columnPasteMode;\n\n\t\tconst pasteProps = (this.model.options.clipboard?.pasteProps ?? 'all') == 'all'\n\t\t\t? null : this.model.options.clipboard.pasteProps as (keyof CellSource)[];\n\n\t\tconst height = data.length;\n\t\tconst width = height > 0 ? data[0].length : 0;\n\n\t\t// insert rows if needed\n\t\tif (rowPasteMode == 'insert') {\n\t\t\tthis.insertRows({index: range.r1, count: height, after: false});\n\t\t} else if (rowPasteMode == 'rewrite_append' && range.r1 + height > this.model.rows.length - 1) {\n\t\t\tthis.insertRows({\n\t\t\t\tindex: this.model.rows.length - 1, \n\t\t\t\tcount: range.r1 + height - this.model.rows.length, \n\t\t\t\tafter: true\n\t\t\t});\n\t\t}\n\n\t\t// insert columns if needed\n\t\tif (columnPasteMode == 'insert') {\n\t\t\tthis.insertColumns({index: range.c1, count: width, after: false});\n\t\t} else if (columnPasteMode == 'rewrite_append' && range.c1 + width > this.model.columns.length - 1) {\n\t\t\tthis.insertColumns({\n\t\t\t\tindex: this.model.columns.length - 1, \n\t\t\t\tcount: range.c1 + width - this.model.columns.length, \n\t\t\t\tafter: true\n\t\t\t});\n\t\t}\n\n\t\t// duplicate clipboard matrix over selection range if it fits\n\t\tconst dataFitsSelection = height > 0 && width > 0 &&\n\t\t\trange.size.rows % height == 0 && range.size.columns % width == 0;\n\n\t\tlet rMax = Math.min(\n\t\t\tdataFitsSelection ? range.r2 : range.r1 + height - 1, \n\t\t\tthis.model.rows.length - 1\n\t\t);\n\n\t\tconst cMax = Math.min(\n\t\t\tdataFitsSelection ? range.c2 : range.c1 + width - 1, \n\t\t\tthis.model.columns.length - 1\n\t\t);\n\n\t\tfor (let r = range.r1; r <= rMax; r++) {\n\t\t\tconst i = (r - range.r1) % height;\n\t\t\tconst row = this.model.rows[r];\n\t\t\tif (!row) break;\n\n\t\t\tif (this.model.options.clipboard?.skipHiddenRows) {\n\t\t\t\tif (!row.visible) {\n\t\t\t\t\t// resize target range to accommodate skipped row, but only if clipboard data is larger than selection\n\t\t\t\t\tif (height > range.size.rows) rMax++;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let c = range.c1; c <= cMax; c++) {\n\t\t\t\tconst cell = row.cell(c);\n\t\t\t\tif (!cell.editable) continue;\n\n\t\t\t\tconst j = (c - range.c1) % data[i].length;\n\t\t\t\t\n\t\t\t\tif (pasteProps && utils.isObject(data[i][j])) {\n\t\t\t\t\t// filter unwanted properties\n\t\t\t\t\tconst updateProps: Partial<CellSource> = {};\n\t\t\t\t\tpasteProps.forEach(<T extends keyof Partial<CellSource>>(key: T) => {\n\t\t\t\t\t\tupdateProps[key] = (data[i][j] as CellSource)[key];\n\t\t\t\t\t});\n\n\t\t\t\t\t// copiing properties of cell with display value into cell without display value\n\t\t\t\t\tif (!cell.prefersDisplayValue) updateProps.dv = undefined;\n\n\t\t\t\t\tcellValues.push(updateProps);\n\t\t\t\t} else {\n\t\t\t\t\tcellValues.push(data[i][j]);\n\t\t\t\t}\n\n\t\t\t\tcells.push(cell);\n\t\t\t}\n\t\t}\n\n\t\tthis.updateCells(cells, cellValues, true);\n\t\tthis.grid.rendering.updateCells(cells, true);\n\t}\n\n\tprivate pasteText(text: string) {\n\t\tthis.pasteMatrix(csv.csvToArray(text));\n\t}\n\n\tasync paste() {\n\t\tthis.grid.selecting.hideCopySelector();\n\n\t\ttry\t{\n\t\t\tconst clipboardItems = await navigator.clipboard.read();\n\t\t\tif (clipboardItems.length == 0) return;\n\t\t\tconst clipboardItem = clipboardItems[0];\n\t\t\tif (clipboardItem.types.includes(constants.CUSTOM_CLIPBOARD_TYPE)) {\n\t\t\t\tconst data = await clipboardItem.getType(constants.CUSTOM_CLIPBOARD_TYPE);\n\t\t\t\tthis.pasteMatrix(JSON.parse(await data.text()));\n\t\t\t} else if (clipboardItem.types.includes('text/plain')) {\n\t\t\t\tconst data = await clipboardItem.getType('text/plain');\n\t\t\t\tthis.pasteText(await data.text());\n\t\t\t}\n\t\t} catch (_e) {\n\t\t\tthis.grid.logger.error(\"paste rejected\");\n\t\t\treturn;\n\t\t}\n\t}\n\n\topenComments(cell: CellModel) {\n\t\tsetTimeout(() => {\n\t\t\tthis.grid.comment.attachTo(this.grid.table.getCellByCellModel(cell), cell, true);\n\t\t}, 100);\n\t}\n\n\tundo() {\n\t\tlet cells: CellModel[];\n\t\tconst [item] = this.grid.history.pop();\n\t\tif (!item) return;\n\t\tswitch (item.type) {\n\t\t\tcase 'value':\n\t\t\t\tcells = item.addresses.map(addr => this.model.getCellByA1(addr));\n\t\t\t\tthis.updateCells(cells, item.oldProps, true, true);\n\t\t\t\tthis.grid.rendering.updateCells(cells, true);\n\t\t\t\tbreak;\n\t\t\tcase 'insert_column':\n\t\t\t\titem.newValues.forEach((_, i) => this.grid.editing.deleteColumns({\n\t\t\t\t\tindex: decodeColumn(item.addresses[i]),\n\t\t\t\t\tcount: 1,\n\t\t\t\t\tdispatchEvent: true,\n\t\t\t\t\tfromHistory: true\n\t\t\t\t}));\n\t\t\t\tbreak;\n\t\t\tcase 'insert_row':\n\t\t\t\titem.newValues.forEach((_, i) => this.grid.editing.deleteRows({\n\t\t\t\t\tindex: decodeRow(item.addresses[i]),\n\t\t\t\t\tcount: 1,\n\t\t\t\t\tdispatchEvent: true,\n\t\t\t\t\tfromHistory: true\n\t\t\t\t}));\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tredo() {\n\t\tlet cells: CellModel[];\n\t\tconst [item] = this.grid.history.pop2();\n\t\tif (!item) return;\n\t\tswitch (item.type) {\n\t\t\tcase 'value':\n\t\t\t\tcells = item.addresses.map(addr => this.model.getCellByA1(addr))\n\t\t\t\tthis.updateCells(cells, item.newValues, true, true);\n\t\t\t\tthis.grid.rendering.updateCells(cells, true);\n\t\t\t\tbreak;\n\t\t\tcase 'insert_column':\n\t\t\t\titem.newValues.forEach((_, i) => this.grid.editing.insertColumns({\n\t\t\t\t\tindex: decodeColumn(item.addresses[i]),\n\t\t\t\t\tcount: 1,\n\t\t\t\t\tdispatchEvent: true,\n\t\t\t\t\tfromHistory: true\n\t\t\t\t}));\n\t\t\t\tbreak;\n\t\t\tcase 'insert_row':\n\t\t\t\titem.newValues.forEach((_, i) => this.grid.editing.insertRows({\n\t\t\t\t\tindex: decodeRow(item.addresses[i]),\n\t\t\t\t\tcount: 1,\n\t\t\t\t\tdispatchEvent: true,\n\t\t\t\t\tfromHistory: true\n\t\t\t\t}));\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tstartColumnMoving(_c: number) {\n\t\tthis.columnMoving = true;\n\t}\n\n\tmerge(range?: CellAddress) {\n\t\tconst r = range ? CellRange.fromA1(range) : this.selection.range;\n\t\tconst cell = this.model.rows[r.r1]?.cell(r.c1);\n\t\tif (!cell) return;\n\t\tthis.model.merges.add({r: r.r1, c: r.c1, rs: r.size.rows, cs: r.size.columns});\n\t\tthis.grid.rendering.renderCells({vertical: true, horizontal: true});\n\t\tthis.grid.selecting.select(r);\n\t}\n\n\tunmerge(range?: CellAddress) {\n\t\tconst r = range ? CellRange.fromA1(range) : this.selection.range;\n\t\tconst cell = this.model.rows[r.r1]?.cell(r.c1);\n\t\tif (!cell) return;\n\t\tconst merge = this.model.merges.mergedCells.get(cell.address);\n\t\tif (!merge) return;\n\t\tthis.model.merges.remove(cell.address);\n\t\tthis.grid.rendering.renderCells({vertical: true, horizontal: true});\n\t\tthis.grid.selecting.select(new CellRange(merge.c, merge.r, merge.c + merge.cs - 1, merge.r + merge.rs - 1));\n\t}\n\n}"]}
@@ -1,97 +0,0 @@
1
- import { ResizeEvent, SlideEvent } from "@omegagrid/core";
2
- import { CellModel, ColumnModel, CellRange, CellValueType, EditType, RowModel, CellSource } from "@omegagrid/grid-core";
3
- import { Grid } from "./grid";
4
- import { SelectorEvent, SelectorMoveEvent } from "./selector";
5
- import { CommentEvent } from "./comment";
6
- export declare class GridErrorEvent extends Event {
7
- readonly error: Error;
8
- constructor(error: Error);
9
- }
10
- export declare class GridEvent extends Event {
11
- get selection(): import("@omegagrid/grid-core").SelectionModel;
12
- get activeCell(): CellRange;
13
- cells?: CellModel[];
14
- cell: CellModel;
15
- row: RowModel;
16
- column: ColumnModel;
17
- action: string;
18
- grid: Grid;
19
- constructor(type: string, args?: Partial<GridEvent>);
20
- }
21
- export declare class GridEditEvent extends GridEvent {
22
- fromHistory?: boolean;
23
- editType?: EditType;
24
- oldValues?: CellValueType[];
25
- oldProps?: Partial<CellSource>[];
26
- newValues?: CellValueType[];
27
- newProps?: Partial<CellSource>[];
28
- constructor(args?: Partial<GridEditEvent>);
29
- }
30
- export declare class GridResizeEvent extends ResizeEvent {
31
- readonly grid: Grid;
32
- constructor(type: string, grid: Grid, args?: Partial<ResizeEvent>);
33
- }
34
- export declare class GridColumnResizeEvent extends GridResizeEvent {
35
- readonly column: ColumnModel;
36
- constructor(type: string, grid: Grid, column: ColumnModel, args?: Partial<ResizeEvent>);
37
- }
38
- export declare class GridRowResizeEvent extends GridResizeEvent {
39
- readonly row: RowModel;
40
- constructor(type: string, grid: Grid, row: RowModel, args?: Partial<ResizeEvent>);
41
- }
42
- export declare class GridEvents {
43
- readonly grid: Grid;
44
- get model(): import("@omegagrid/grid-core").GridModel;
45
- get selection(): import("@omegagrid/grid-core").SelectionModel;
46
- get table(): import("./table").Table;
47
- clickDisabled: boolean;
48
- editDisabled: boolean;
49
- clicked: boolean;
50
- startOffset: {
51
- x: number;
52
- y: number;
53
- };
54
- constructor(grid: Grid);
55
- get isSliding(): boolean;
56
- suspendClick: () => boolean;
57
- resumeClick: (delay?: boolean) => void;
58
- _onKeyDown: (e: KeyboardEvent) => void;
59
- _onMouseMove: (e: PointerEvent) => void;
60
- _onMouseDown: (e: PointerEvent) => void;
61
- _onMouseUp: (e: PointerEvent) => void;
62
- _onClick: (e: PointerEvent) => void;
63
- _onContextMenu: (e: MouseEvent) => void;
64
- _onVerticalSlide: (e: SlideEvent) => void;
65
- _onHorizontalSlide: (e: SlideEvent) => void;
66
- _onSlideStart: () => void;
67
- _onSlideStop: () => void;
68
- _denbounceHorizontalScroll: {
69
- (this: unknown, ...args: [dx: number] & any[]): Promise<void>;
70
- cancel: (reason?: any) => void;
71
- };
72
- _onWheel: (e: WheelEvent) => void;
73
- _onTouchStart: (e: TouchEvent) => void;
74
- _onTouchEnd: (e: TouchEvent) => void;
75
- _onTouchMove: (e: TouchEvent) => void;
76
- _onHorizontalResizeStart: () => void;
77
- _onHorizontalResizeStop: (e: ResizeEvent) => void;
78
- _onHorizontalResize: (e: ResizeEvent) => void;
79
- _onVerticalResizeStart: () => void;
80
- _onVerticalResizeStop: (e: ResizeEvent) => void;
81
- _onVerticalResize: (e: ResizeEvent) => void;
82
- _onCommentCommit: (e: CommentEvent) => void;
83
- _onAutofill: (e: SelectorEvent) => void;
84
- _onEdit: (e: GridEditEvent) => void;
85
- _onSelectorMove: (e: SelectorMoveEvent) => void;
86
- _onMouseLeave: () => void;
87
- debounceHideSliders: {
88
- (this: unknown, ...args: [] & any[]): Promise<void>;
89
- cancel: (reason?: any) => void;
90
- };
91
- _onRender: () => void;
92
- _onHorizontalSizerDblClick: (e: MouseEvent) => void;
93
- _onVerticalSizerDblClick: (e: MouseEvent) => void;
94
- _onDblClick: () => void;
95
- init(): Promise<void>;
96
- }
97
- //# sourceMappingURL=grid.events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.events.d.ts","sourceRoot":"","sources":["../../src/ui/grid.events.ts"],"names":[],"mappings":"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"}