handsontable 14.0.0-next-07c0a60-20231107 → 14.0.0-next-7ee54cb-20231108

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 (328) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +2 -2
  2. package/3rdparty/SheetClip/SheetClip.mjs +2 -2
  3. package/3rdparty/autoResize/autoResize.js +2 -2
  4. package/3rdparty/autoResize/autoResize.mjs +2 -2
  5. package/3rdparty/walkontable/src/calculator/viewportColumns.js +108 -85
  6. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +108 -85
  7. package/3rdparty/walkontable/src/calculator/viewportRows.js +60 -52
  8. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +60 -52
  9. package/3rdparty/walkontable/src/cell/coords.js +7 -5
  10. package/3rdparty/walkontable/src/cell/coords.mjs +7 -5
  11. package/3rdparty/walkontable/src/core/clone.js +6 -0
  12. package/3rdparty/walkontable/src/core/clone.mjs +6 -0
  13. package/3rdparty/walkontable/src/event.js +125 -74
  14. package/3rdparty/walkontable/src/event.mjs +125 -74
  15. package/3rdparty/walkontable/src/filter/column.js +16 -0
  16. package/3rdparty/walkontable/src/filter/column.mjs +16 -0
  17. package/3rdparty/walkontable/src/filter/row.js +16 -0
  18. package/3rdparty/walkontable/src/filter/row.mjs +16 -0
  19. package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
  21. package/3rdparty/walkontable/src/overlay/top.js +1 -1
  22. package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
  23. package/3rdparty/walkontable/src/renderer/_base.js +12 -5
  24. package/3rdparty/walkontable/src/renderer/_base.mjs +12 -5
  25. package/3rdparty/walkontable/src/renderer/cells.js +6 -2
  26. package/3rdparty/walkontable/src/renderer/cells.mjs +6 -2
  27. package/3rdparty/walkontable/src/renderer/rowHeaders.js +6 -2
  28. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +6 -2
  29. package/3rdparty/walkontable/src/renderer/rows.js +5 -0
  30. package/3rdparty/walkontable/src/renderer/rows.mjs +5 -0
  31. package/3rdparty/walkontable/src/renderer/table.js +24 -17
  32. package/3rdparty/walkontable/src/renderer/table.mjs +24 -17
  33. package/3rdparty/walkontable/src/scroll.js +2 -2
  34. package/3rdparty/walkontable/src/scroll.mjs +2 -2
  35. package/3rdparty/walkontable/src/selection/border/border.js +1 -1
  36. package/3rdparty/walkontable/src/selection/border/border.mjs +1 -1
  37. package/3rdparty/walkontable/src/settings.js +10 -10
  38. package/3rdparty/walkontable/src/settings.mjs +10 -10
  39. package/3rdparty/walkontable/src/table.js +3 -3
  40. package/3rdparty/walkontable/src/table.mjs +3 -3
  41. package/3rdparty/walkontable/src/utils/column.js +19 -4
  42. package/3rdparty/walkontable/src/utils/column.mjs +19 -4
  43. package/3rdparty/walkontable/src/utils/nodesPool.js +5 -0
  44. package/3rdparty/walkontable/src/utils/nodesPool.mjs +5 -0
  45. package/3rdparty/walkontable/src/utils/orderView/view.js +13 -6
  46. package/3rdparty/walkontable/src/utils/orderView/view.mjs +13 -6
  47. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +9 -6
  48. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +9 -6
  49. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +7 -4
  50. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +7 -4
  51. package/3rdparty/walkontable/src/utils/row.js +14 -2
  52. package/3rdparty/walkontable/src/utils/row.mjs +14 -2
  53. package/3rdparty/walkontable/src/viewport.js +9 -9
  54. package/3rdparty/walkontable/src/viewport.mjs +9 -9
  55. package/base.js +2 -2
  56. package/base.mjs +2 -2
  57. package/core.js +31 -26
  58. package/core.mjs +31 -26
  59. package/dataMap/dataMap.js +99 -90
  60. package/dataMap/dataMap.mjs +99 -90
  61. package/dataMap/dataSource.js +14 -8
  62. package/dataMap/dataSource.mjs +14 -8
  63. package/dataMap/metaManager/lazyFactoryMap.js +19 -7
  64. package/dataMap/metaManager/lazyFactoryMap.mjs +19 -7
  65. package/dataMap/metaManager/metaLayers/cellMeta.js +8 -3
  66. package/dataMap/metaManager/metaLayers/cellMeta.mjs +8 -3
  67. package/dataMap/metaManager/metaLayers/columnMeta.js +7 -1
  68. package/dataMap/metaManager/metaLayers/columnMeta.mjs +7 -1
  69. package/dataMap/metaManager/metaLayers/globalMeta.js +6 -1
  70. package/dataMap/metaManager/metaLayers/globalMeta.mjs +6 -1
  71. package/dataMap/metaManager/metaLayers/tableMeta.js +6 -2
  72. package/dataMap/metaManager/metaLayers/tableMeta.mjs +6 -2
  73. package/dataMap/metaManager/metaSchema.js +55 -55
  74. package/dataMap/metaManager/metaSchema.mjs +55 -55
  75. package/dataMap/metaManager/mods/dynamicCellMeta.js +7 -2
  76. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +7 -2
  77. package/dataMap/metaManager/mods/extendMetaProperties.js +8 -4
  78. package/dataMap/metaManager/mods/extendMetaProperties.mjs +8 -4
  79. package/dataMap/metaManager/utils.js +2 -2
  80. package/dataMap/metaManager/utils.mjs +2 -2
  81. package/dist/handsontable.css +2 -2
  82. package/dist/handsontable.full.css +2 -2
  83. package/dist/handsontable.full.js +7337 -6394
  84. package/dist/handsontable.full.min.css +2 -2
  85. package/dist/handsontable.full.min.js +154 -154
  86. package/dist/handsontable.js +7336 -6393
  87. package/dist/handsontable.min.css +2 -2
  88. package/dist/handsontable.min.js +28 -28
  89. package/editorManager.js +105 -95
  90. package/editorManager.mjs +105 -95
  91. package/editors/autocompleteEditor/autocompleteEditor.js +47 -46
  92. package/editors/autocompleteEditor/autocompleteEditor.mjs +46 -45
  93. package/editors/baseEditor/baseEditor.js +23 -26
  94. package/editors/baseEditor/baseEditor.mjs +23 -26
  95. package/editors/dateEditor/dateEditor.js +24 -15
  96. package/editors/dateEditor/dateEditor.mjs +24 -15
  97. package/editors/dropdownEditor/dropdownEditor.js +1 -1
  98. package/editors/dropdownEditor/dropdownEditor.mjs +1 -1
  99. package/editors/handsontableEditor/handsontableEditor.js +4 -4
  100. package/editors/handsontableEditor/handsontableEditor.mjs +4 -4
  101. package/editors/textEditor/textEditor.js +23 -17
  102. package/editors/textEditor/textEditor.mjs +24 -18
  103. package/eventManager.js +8 -0
  104. package/eventManager.mjs +8 -0
  105. package/helpers/array.js +2 -2
  106. package/helpers/array.mjs +2 -2
  107. package/helpers/dom/element.js +7 -7
  108. package/helpers/dom/element.mjs +7 -7
  109. package/helpers/function.js +1 -1
  110. package/helpers/function.mjs +1 -1
  111. package/helpers/mixed.js +1 -1
  112. package/helpers/mixed.mjs +1 -1
  113. package/helpers/object.js +4 -4
  114. package/helpers/object.mjs +4 -4
  115. package/helpers/string.js +1 -1
  116. package/helpers/string.mjs +1 -1
  117. package/package.json +1 -1
  118. package/pluginHooks.d.ts +0 -2
  119. package/pluginHooks.js +12 -3
  120. package/pluginHooks.mjs +12 -3
  121. package/plugins/autoColumnSize/autoColumnSize.js +141 -130
  122. package/plugins/autoColumnSize/autoColumnSize.mjs +140 -129
  123. package/plugins/autoRowSize/autoRowSize.js +112 -125
  124. package/plugins/autoRowSize/autoRowSize.mjs +110 -123
  125. package/plugins/autofill/autofill.js +98 -102
  126. package/plugins/autofill/autofill.mjs +97 -101
  127. package/plugins/base/base.js +61 -28
  128. package/plugins/base/base.mjs +60 -28
  129. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +29 -24
  130. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +28 -23
  131. package/plugins/collapsibleColumns/collapsibleColumns.js +104 -107
  132. package/plugins/collapsibleColumns/collapsibleColumns.mjs +102 -104
  133. package/plugins/columnSorting/columnSorting.js +107 -99
  134. package/plugins/columnSorting/columnSorting.mjs +106 -98
  135. package/plugins/columnSorting/columnStatesManager.js +12 -6
  136. package/plugins/columnSorting/columnStatesManager.mjs +12 -6
  137. package/plugins/columnSummary/columnSummary.js +71 -58
  138. package/plugins/columnSummary/columnSummary.mjs +70 -57
  139. package/plugins/columnSummary/endpoints.js +20 -14
  140. package/plugins/columnSummary/endpoints.mjs +20 -14
  141. package/plugins/comments/commentEditor.js +30 -2
  142. package/plugins/comments/commentEditor.mjs +30 -2
  143. package/plugins/comments/comments.js +158 -169
  144. package/plugins/comments/comments.mjs +157 -168
  145. package/plugins/comments/displaySwitch.js +7 -3
  146. package/plugins/comments/displaySwitch.mjs +7 -3
  147. package/plugins/contextMenu/commandExecutor.js +15 -2
  148. package/plugins/contextMenu/commandExecutor.mjs +15 -2
  149. package/plugins/contextMenu/contextMenu.js +96 -102
  150. package/plugins/contextMenu/contextMenu.mjs +95 -101
  151. package/plugins/contextMenu/itemsFactory.js +19 -4
  152. package/plugins/contextMenu/itemsFactory.mjs +19 -4
  153. package/plugins/contextMenu/menu/cursor.js +36 -0
  154. package/plugins/contextMenu/menu/cursor.mjs +36 -0
  155. package/plugins/contextMenu/menu/menu.js +57 -5
  156. package/plugins/contextMenu/menu/menu.mjs +57 -5
  157. package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
  158. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +1 -1
  159. package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
  160. package/plugins/contextMenu/predefinedItems/removeRow.mjs +1 -1
  161. package/plugins/copyPaste/copyPaste.js +74 -75
  162. package/plugins/copyPaste/copyPaste.mjs +74 -75
  163. package/plugins/customBorders/customBorders.js +57 -50
  164. package/plugins/customBorders/customBorders.mjs +56 -49
  165. package/plugins/dragToScroll/dragToScroll.js +50 -54
  166. package/plugins/dragToScroll/dragToScroll.mjs +49 -52
  167. package/plugins/dropdownMenu/dropdownMenu.js +136 -131
  168. package/plugins/dropdownMenu/dropdownMenu.mjs +136 -131
  169. package/plugins/exportFile/dataProvider.js +7 -2
  170. package/plugins/exportFile/dataProvider.mjs +7 -2
  171. package/plugins/exportFile/exportFile.js +1 -1
  172. package/plugins/exportFile/exportFile.mjs +1 -1
  173. package/plugins/exportFile/types/_base.js +14 -6
  174. package/plugins/exportFile/types/_base.mjs +14 -6
  175. package/plugins/filters/component/actionBar.js +9 -0
  176. package/plugins/filters/component/actionBar.mjs +9 -0
  177. package/plugins/filters/component/condition.js +13 -0
  178. package/plugins/filters/component/condition.mjs +13 -0
  179. package/plugins/filters/component/operators.js +9 -0
  180. package/plugins/filters/component/operators.mjs +9 -0
  181. package/plugins/filters/component/value.js +9 -0
  182. package/plugins/filters/component/value.mjs +9 -0
  183. package/plugins/filters/conditionCollection.js +9 -4
  184. package/plugins/filters/conditionCollection.mjs +9 -4
  185. package/plugins/filters/conditionUpdateObserver.js +53 -42
  186. package/plugins/filters/conditionUpdateObserver.mjs +53 -42
  187. package/plugins/filters/dataFilter.js +9 -3
  188. package/plugins/filters/dataFilter.mjs +9 -3
  189. package/plugins/filters/filters.js +184 -189
  190. package/plugins/filters/filters.mjs +182 -187
  191. package/plugins/filters/ui/_base.js +1 -1
  192. package/plugins/filters/ui/_base.mjs +1 -1
  193. package/plugins/filters/utils.js +1 -1
  194. package/plugins/filters/utils.mjs +1 -1
  195. package/plugins/formulas/engine/settings.js +1 -1
  196. package/plugins/formulas/engine/settings.mjs +1 -1
  197. package/plugins/formulas/formulas.js +684 -602
  198. package/plugins/formulas/formulas.mjs +682 -600
  199. package/plugins/hiddenColumns/hiddenColumns.js +174 -169
  200. package/plugins/hiddenColumns/hiddenColumns.mjs +173 -168
  201. package/plugins/hiddenRows/hiddenRows.js +170 -165
  202. package/plugins/hiddenRows/hiddenRows.mjs +169 -164
  203. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
  204. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  205. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
  206. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  207. package/plugins/manualColumnFreeze/manualColumnFreeze.js +66 -53
  208. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +64 -51
  209. package/plugins/manualColumnMove/manualColumnMove.js +287 -232
  210. package/plugins/manualColumnMove/manualColumnMove.mjs +286 -231
  211. package/plugins/manualColumnMove/ui/_base.js +9 -3
  212. package/plugins/manualColumnMove/ui/_base.mjs +9 -3
  213. package/plugins/manualColumnResize/manualColumnResize.js +291 -246
  214. package/plugins/manualColumnResize/manualColumnResize.mjs +290 -244
  215. package/plugins/manualRowMove/manualRowMove.js +223 -208
  216. package/plugins/manualRowMove/manualRowMove.mjs +222 -207
  217. package/plugins/manualRowMove/ui/_base.js +10 -5
  218. package/plugins/manualRowMove/ui/_base.mjs +10 -5
  219. package/plugins/manualRowResize/manualRowResize.js +254 -209
  220. package/plugins/manualRowResize/manualRowResize.mjs +253 -207
  221. package/plugins/mergeCells/calculations/autofill.js +9 -3
  222. package/plugins/mergeCells/calculations/autofill.mjs +9 -3
  223. package/plugins/mergeCells/calculations/selection.js +10 -4
  224. package/plugins/mergeCells/calculations/selection.mjs +10 -4
  225. package/plugins/mergeCells/cellCoords.js +16 -6
  226. package/plugins/mergeCells/cellCoords.mjs +16 -6
  227. package/plugins/mergeCells/cellsCollection.js +10 -4
  228. package/plugins/mergeCells/cellsCollection.mjs +10 -4
  229. package/plugins/mergeCells/mergeCells.js +582 -502
  230. package/plugins/mergeCells/mergeCells.mjs +580 -500
  231. package/plugins/multiColumnSorting/multiColumnSorting.js +15 -11
  232. package/plugins/multiColumnSorting/multiColumnSorting.mjs +15 -11
  233. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +16 -28
  234. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +16 -27
  235. package/plugins/nestedHeaders/nestedHeaders.js +542 -499
  236. package/plugins/nestedHeaders/nestedHeaders.mjs +554 -511
  237. package/plugins/nestedHeaders/stateManager/index.js +1 -1
  238. package/plugins/nestedHeaders/stateManager/index.mjs +1 -1
  239. package/plugins/nestedRows/data/dataManager.js +21 -15
  240. package/plugins/nestedRows/data/dataManager.mjs +21 -15
  241. package/plugins/nestedRows/nestedRows.js +328 -279
  242. package/plugins/nestedRows/nestedRows.mjs +327 -278
  243. package/plugins/nestedRows/ui/_base.js +7 -1
  244. package/plugins/nestedRows/ui/_base.mjs +7 -1
  245. package/plugins/nestedRows/ui/collapsing.js +2 -2
  246. package/plugins/nestedRows/ui/collapsing.mjs +2 -2
  247. package/plugins/nestedRows/ui/contextMenu.js +28 -18
  248. package/plugins/nestedRows/ui/contextMenu.mjs +28 -18
  249. package/plugins/nestedRows/utils/rowMoveController.js +12 -4
  250. package/plugins/nestedRows/utils/rowMoveController.mjs +12 -4
  251. package/plugins/persistentState/persistentState.js +14 -11
  252. package/plugins/persistentState/persistentState.mjs +14 -11
  253. package/plugins/persistentState/storage.js +11 -6
  254. package/plugins/persistentState/storage.mjs +11 -6
  255. package/plugins/registry.js +2 -2
  256. package/plugins/registry.mjs +2 -2
  257. package/plugins/search/search.js +57 -46
  258. package/plugins/search/search.mjs +56 -45
  259. package/plugins/touchScroll/touchScroll.js +102 -100
  260. package/plugins/touchScroll/touchScroll.mjs +100 -98
  261. package/plugins/trimRows/trimRows.js +33 -28
  262. package/plugins/trimRows/trimRows.mjs +32 -27
  263. package/plugins/undoRedo/undoRedo.js +2 -2
  264. package/plugins/undoRedo/undoRedo.mjs +2 -2
  265. package/renderers/autocompleteRenderer/autocompleteRenderer.js +11 -11
  266. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +11 -11
  267. package/renderers/baseRenderer/baseRenderer.js +2 -2
  268. package/renderers/baseRenderer/baseRenderer.mjs +2 -2
  269. package/renderers/checkboxRenderer/checkboxRenderer.js +23 -23
  270. package/renderers/checkboxRenderer/checkboxRenderer.mjs +23 -23
  271. package/renderers/dateRenderer/dateRenderer.js +4 -4
  272. package/renderers/dateRenderer/dateRenderer.mjs +4 -4
  273. package/renderers/handsontableRenderer/handsontableRenderer.js +4 -4
  274. package/renderers/handsontableRenderer/handsontableRenderer.mjs +4 -4
  275. package/renderers/htmlRenderer/htmlRenderer.js +4 -4
  276. package/renderers/htmlRenderer/htmlRenderer.mjs +4 -4
  277. package/renderers/numericRenderer/numericRenderer.js +3 -3
  278. package/renderers/numericRenderer/numericRenderer.mjs +3 -3
  279. package/renderers/passwordRenderer/passwordRenderer.js +3 -3
  280. package/renderers/passwordRenderer/passwordRenderer.mjs +3 -3
  281. package/renderers/selectRenderer/selectRenderer.js +4 -4
  282. package/renderers/selectRenderer/selectRenderer.mjs +4 -4
  283. package/renderers/textRenderer/textRenderer.js +5 -5
  284. package/renderers/textRenderer/textRenderer.mjs +5 -5
  285. package/renderers/timeRenderer/timeRenderer.js +3 -3
  286. package/renderers/timeRenderer/timeRenderer.mjs +3 -3
  287. package/selection/highlight/highlight.js +1 -4
  288. package/selection/highlight/highlight.mjs +1 -4
  289. package/selection/range.js +12 -2
  290. package/selection/range.mjs +12 -2
  291. package/selection/selection.js +28 -10
  292. package/selection/selection.mjs +28 -10
  293. package/selection/utils.js +24 -14
  294. package/selection/utils.mjs +25 -15
  295. package/shortcuts/manager.js +1 -1
  296. package/shortcuts/manager.mjs +1 -1
  297. package/tableView.js +208 -200
  298. package/tableView.mjs +208 -200
  299. package/translations/changesObservable/utils.js +2 -2
  300. package/translations/changesObservable/utils.mjs +2 -2
  301. package/translations/indexMapper.js +25 -22
  302. package/translations/indexMapper.mjs +25 -22
  303. package/translations/mapCollections/aggregatedCollection.js +8 -2
  304. package/translations/mapCollections/aggregatedCollection.mjs +8 -2
  305. package/translations/mapCollections/mapCollection.js +5 -2
  306. package/translations/mapCollections/mapCollection.mjs +5 -2
  307. package/translations/maps/indexMap.js +6 -1
  308. package/translations/maps/indexMap.mjs +6 -1
  309. package/translations/maps/utils/physicallyIndexed.js +2 -2
  310. package/translations/maps/utils/physicallyIndexed.mjs +2 -2
  311. package/utils/dataStructures/linkedList.js +10 -6
  312. package/utils/dataStructures/linkedList.mjs +10 -6
  313. package/utils/dataStructures/queue.js +1 -1
  314. package/utils/dataStructures/queue.mjs +1 -1
  315. package/utils/dataStructures/stack.js +1 -1
  316. package/utils/dataStructures/stack.mjs +1 -1
  317. package/utils/ghostTable.js +2 -2
  318. package/utils/ghostTable.mjs +2 -2
  319. package/utils/interval.js +73 -36
  320. package/utils/interval.mjs +73 -36
  321. package/utils/parseTable.js +1 -1
  322. package/utils/parseTable.mjs +1 -1
  323. package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
  324. package/validators/autocompleteValidator/autocompleteValidator.mjs +1 -1
  325. package/validators/dateValidator/dateValidator.js +1 -1
  326. package/validators/dateValidator/dateValidator.mjs +1 -1
  327. package/validators/numericValidator/numericValidator.js +1 -1
  328. package/validators/numericValidator/numericValidator.mjs +1 -1
@@ -27,7 +27,6 @@ import cutItem from "./contextMenuItem/cut.mjs";
27
27
  import PasteEvent from "./pasteEvent.mjs";
28
28
  import { CopyableRangesFactory, normalizeRanges } from "./copyableRanges.mjs";
29
29
  import { _dataToHTML, htmlToGridSettings } from "../../utils/parseTable.mjs";
30
- import EventManager from "../../eventManager.mjs";
31
30
  Hooks.getSingleton().register('afterCopyLimit');
32
31
  Hooks.getSingleton().register('modifyCopyableRange');
33
32
  Hooks.getSingleton().register('beforeCut');
@@ -87,9 +86,38 @@ var _ensureClipboardEventsGetTriggered = /*#__PURE__*/new WeakSet();
87
86
  var _countCopiedHeaders = /*#__PURE__*/new WeakSet();
88
87
  var _addContentEditableToHighlightedCell = /*#__PURE__*/new WeakSet();
89
88
  var _removeContentEditableFromHighlightedCell = /*#__PURE__*/new WeakSet();
89
+ var _onAfterContextMenuDefaultOptions = /*#__PURE__*/new WeakSet();
90
+ var _onAfterSelectionEnd = /*#__PURE__*/new WeakSet();
91
+ var _onSafariMouseEnter = /*#__PURE__*/new WeakSet();
92
+ var _onSafariMouseLeave = /*#__PURE__*/new WeakSet();
93
+ var _onSafariAfterSelection = /*#__PURE__*/new WeakSet();
90
94
  export class CopyPaste extends BasePlugin {
91
95
  constructor() {
92
96
  super(...arguments);
97
+ /**
98
+ * `afterSelection` hook callback triggered only on Safari.
99
+ */
100
+ _classPrivateMethodInitSpec(this, _onSafariAfterSelection);
101
+ /**
102
+ * `document.body` `mouseleave` callback used to work around a Safari's problem with copying/cutting from the
103
+ * browser's menu.
104
+ */
105
+ _classPrivateMethodInitSpec(this, _onSafariMouseLeave);
106
+ /**
107
+ * `document.body` `mouseenter` callback used to work around a Safari's problem with copying/cutting from the
108
+ * browser's menu.
109
+ */
110
+ _classPrivateMethodInitSpec(this, _onSafariMouseEnter);
111
+ /**
112
+ * Force focus on focusableElement after end of the selection.
113
+ */
114
+ _classPrivateMethodInitSpec(this, _onAfterSelectionEnd);
115
+ /**
116
+ * Add copy and cut options to the Context Menu.
117
+ *
118
+ * @param {object} options Contains default added options of the Context Menu.
119
+ */
120
+ _classPrivateMethodInitSpec(this, _onAfterContextMenuDefaultOptions);
93
121
  /**
94
122
  * Remove the `contenteditable` attribute from the highlighted cell and deselect its content.
95
123
  */
@@ -273,9 +301,8 @@ export class CopyPaste extends BasePlugin {
273
301
  _classPrivateFieldSet(this, _enableCopyColumnHeadersOnly, !!settings.copyColumnHeadersOnly);
274
302
  this.uiContainer = (_settings$uiContainer = settings.uiContainer) !== null && _settings$uiContainer !== void 0 ? _settings$uiContainer : this.uiContainer;
275
303
  }
276
- this.addHook('afterContextMenuDefaultOptions', options => this.onAfterContextMenuDefaultOptions(options));
277
- this.addHook('afterSelectionEnd', () => this.onAfterSelectionEnd());
278
- this.eventManager = new EventManager(this);
304
+ this.addHook('afterContextMenuDefaultOptions', options => _classPrivateMethodGet(this, _onAfterContextMenuDefaultOptions, _onAfterContextMenuDefaultOptions2).call(this, options));
305
+ this.addHook('afterSelectionEnd', () => _classPrivateMethodGet(this, _onAfterSelectionEnd, _onAfterSelectionEnd2).call(this));
279
306
  this.eventManager.addEventListener(this.hot.rootDocument, 'copy', function () {
280
307
  return _this.onCopy(...arguments);
281
308
  });
@@ -289,12 +316,18 @@ export class CopyPaste extends BasePlugin {
289
316
  // Without this workaround Safari (tested on Safari@16.5.2) does allow copying/cutting from the browser menu.
290
317
  if (isSafari()) {
291
318
  this.eventManager.addEventListener(this.hot.rootDocument.body, 'mouseenter', function () {
292
- return _this.onSafariMouseEnter(...arguments);
319
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
320
+ args[_key] = arguments[_key];
321
+ }
322
+ return _classPrivateMethodGet(_this, _onSafariMouseEnter, _onSafariMouseEnter2).call(_this, ...args);
293
323
  });
294
324
  this.eventManager.addEventListener(this.hot.rootDocument.body, 'mouseleave', function () {
295
- return _this.onSafariMouseLeave(...arguments);
325
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
326
+ args[_key2] = arguments[_key2];
327
+ }
328
+ return _classPrivateMethodGet(_this, _onSafariMouseLeave, _onSafariMouseLeave2).call(_this, ...args);
296
329
  });
297
- this.addHook('afterSelection', () => this.onSafariAfterSelection());
330
+ this.addHook('afterSelection', () => _classPrivateMethodGet(this, _onSafariAfterSelection, _onSafariAfterSelection2).call(this));
298
331
  }
299
332
  super.enablePlugin();
300
333
  }
@@ -560,7 +593,7 @@ export class CopyPaste extends BasePlugin {
560
593
  }
561
594
  newRows.push(newRow);
562
595
  }
563
- this.hot.populateFromArray(startRow, startColumn, newRows, void 0, void 0, 'CopyPaste.paste', this.pasteMode);
596
+ this.hot.populateFromArray(startRow, startColumn, newRows, undefined, undefined, 'CopyPaste.paste', this.pasteMode);
564
597
  return [startRow, startColumn, lastVisualRow, lastVisualColumn];
565
598
  }
566
599
  /**
@@ -664,73 +697,6 @@ export class CopyPaste extends BasePlugin {
664
697
  this.hot.selectCell(startRow, startColumn, Math.min(this.hot.countRows() - 1, endRow), Math.min(this.hot.countCols() - 1, endColumn));
665
698
  this.hot.runHooks('afterPaste', pastedData, this.copyableRanges);
666
699
  }
667
-
668
- /**
669
- * Add copy and cut options to the Context Menu.
670
- *
671
- * @private
672
- * @param {object} options Contains default added options of the Context Menu.
673
- */
674
- onAfterContextMenuDefaultOptions(options) {
675
- options.items.push({
676
- name: '---------'
677
- }, copyItem(this));
678
- if (_classPrivateFieldGet(this, _enableCopyColumnHeaders)) {
679
- options.items.push(copyWithColumnHeadersItem(this));
680
- }
681
- if (_classPrivateFieldGet(this, _enableCopyColumnGroupHeaders)) {
682
- options.items.push(copyWithColumnGroupHeadersItem(this));
683
- }
684
- if (_classPrivateFieldGet(this, _enableCopyColumnHeadersOnly)) {
685
- options.items.push(copyColumnHeadersOnlyItem(this));
686
- }
687
- options.items.push(cutItem(this));
688
- }
689
-
690
- /**
691
- * Force focus on focusableElement after end of the selection.
692
- *
693
- * @private
694
- */
695
- onAfterSelectionEnd() {
696
- if (this.isEditorOpened()) {
697
- return;
698
- }
699
- if (this.hot.getSettings().fragmentSelection) {
700
- return;
701
- }
702
- this.setCopyableText();
703
- }
704
-
705
- /**
706
- * `document.body` `mouseenter` callback used to work around a Safari's problem with copying/cutting from the
707
- * browser's menu.
708
- *
709
- * @private
710
- */
711
- onSafariMouseEnter() {
712
- _classPrivateMethodGet(this, _removeContentEditableFromHighlightedCell, _removeContentEditableFromHighlightedCell2).call(this);
713
- }
714
-
715
- /**
716
- * `document.body` `mouseleave` callback used to work around a Safari's problem with copying/cutting from the
717
- * browser's menu.
718
- *
719
- * @private
720
- */
721
- onSafariMouseLeave() {
722
- _classPrivateMethodGet(this, _addContentEditableToHighlightedCell, _addContentEditableToHighlightedCell2).call(this);
723
- }
724
-
725
- /**
726
- * `afterSelection` hook callback triggered only on Safari.
727
- *
728
- * @private
729
- */
730
- onSafariAfterSelection() {
731
- _classPrivateMethodGet(this, _removeContentEditableFromHighlightedCell, _removeContentEditableFromHighlightedCell2).call(this);
732
- }
733
-
734
700
  /**
735
701
  * Destroys the `CopyPaste` plugin instance.
736
702
  */
@@ -803,4 +769,37 @@ function _removeContentEditableFromHighlightedCell2() {
803
769
  }
804
770
  }
805
771
  }
772
+ }
773
+ function _onAfterContextMenuDefaultOptions2(options) {
774
+ options.items.push({
775
+ name: '---------'
776
+ }, copyItem(this));
777
+ if (_classPrivateFieldGet(this, _enableCopyColumnHeaders)) {
778
+ options.items.push(copyWithColumnHeadersItem(this));
779
+ }
780
+ if (_classPrivateFieldGet(this, _enableCopyColumnGroupHeaders)) {
781
+ options.items.push(copyWithColumnGroupHeadersItem(this));
782
+ }
783
+ if (_classPrivateFieldGet(this, _enableCopyColumnHeadersOnly)) {
784
+ options.items.push(copyColumnHeadersOnlyItem(this));
785
+ }
786
+ options.items.push(cutItem(this));
787
+ }
788
+ function _onAfterSelectionEnd2() {
789
+ if (this.isEditorOpened()) {
790
+ return;
791
+ }
792
+ if (this.hot.getSettings().fragmentSelection) {
793
+ return;
794
+ }
795
+ this.setCopyableText();
796
+ }
797
+ function _onSafariMouseEnter2() {
798
+ _classPrivateMethodGet(this, _removeContentEditableFromHighlightedCell, _removeContentEditableFromHighlightedCell2).call(this);
799
+ }
800
+ function _onSafariMouseLeave2() {
801
+ _classPrivateMethodGet(this, _addContentEditableToHighlightedCell, _addContentEditableToHighlightedCell2).call(this);
802
+ }
803
+ function _onSafariAfterSelection2() {
804
+ _classPrivateMethodGet(this, _removeContentEditableFromHighlightedCell, _removeContentEditableFromHighlightedCell2).call(this);
806
805
  }
@@ -13,9 +13,12 @@ var _utils = require("./utils");
13
13
  var _selection = require("../../selection");
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
17
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
16
18
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
19
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
18
20
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
21
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
19
22
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'customBorders';
20
23
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 90;
21
24
 
@@ -74,9 +77,21 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 90;
74
77
  * ],
75
78
  * ```
76
79
  */
80
+ var _onAfterContextMenuDefaultOptions = /*#__PURE__*/new WeakSet();
81
+ var _onAfterInit = /*#__PURE__*/new WeakSet();
77
82
  class CustomBorders extends _base.BasePlugin {
78
83
  constructor() {
79
84
  super(...arguments);
85
+ /**
86
+ * `afterInit` hook callback.
87
+ */
88
+ _classPrivateMethodInitSpec(this, _onAfterInit);
89
+ /**
90
+ * Add border options to context menu.
91
+ *
92
+ * @param {object} defaultOptions Context menu items.
93
+ */
94
+ _classPrivateMethodInitSpec(this, _onAfterContextMenuDefaultOptions);
80
95
  /**
81
96
  * Saved borders.
82
97
  *
@@ -108,8 +123,8 @@ class CustomBorders extends _base.BasePlugin {
108
123
  if (this.enabled) {
109
124
  return;
110
125
  }
111
- this.addHook('afterContextMenuDefaultOptions', options => this.onAfterContextMenuDefaultOptions(options));
112
- this.addHook('init', () => this.onAfterInit());
126
+ this.addHook('afterContextMenuDefaultOptions', options => _classPrivateMethodGet(this, _onAfterContextMenuDefaultOptions, _onAfterContextMenuDefaultOptions2).call(this, options));
127
+ this.addHook('init', () => _classPrivateMethodGet(this, _onAfterInit, _onAfterInit2).call(this));
113
128
  super.enablePlugin();
114
129
  }
115
130
 
@@ -163,7 +178,10 @@ class CustomBorders extends _base.BasePlugin {
163
178
  normBorder = (0, _utils.normalizeBorder)(borderObject);
164
179
  }
165
180
  const selectionType = (0, _selection.detectSelectionType)(selectionRanges);
166
- const selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType);
181
+ const selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType, {
182
+ createCellCoords: this.hot._createCellCoords.bind(this.hot),
183
+ createCellRange: this.hot._createCellRange.bind(this.hot)
184
+ });
167
185
  (0, _array.arrayEach)(selectionRanges, selection => {
168
186
  selectionSchemaNormalizer(selection).forAll((row, col) => {
169
187
  (0, _array.arrayEach)(borderKeys, borderKey => {
@@ -206,7 +224,10 @@ class CustomBorders extends _base.BasePlugin {
206
224
  return this.savedBorders;
207
225
  }
208
226
  const selectionType = (0, _selection.detectSelectionType)(selectionRanges);
209
- const selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType);
227
+ const selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType, {
228
+ createCellCoords: this.hot._createCellCoords.bind(this.hot),
229
+ createCellRange: this.hot._createCellRange.bind(this.hot)
230
+ });
210
231
  const selectedBorders = [];
211
232
  (0, _array.arrayEach)(selectionRanges, selection => {
212
233
  selectionSchemaNormalizer(selection).forAll((row, col) => {
@@ -385,7 +406,7 @@ class CustomBorders extends _base.BasePlugin {
385
406
  */
386
407
  setBorder(row, column, place, remove) {
387
408
  let bordersMeta = this.hot.getCellMeta(row, column).borders;
388
- if (!bordersMeta || bordersMeta.border === void 0) {
409
+ if (!bordersMeta || bordersMeta.border === undefined) {
389
410
  bordersMeta = (0, _utils.createEmptyBorders)(row, column);
390
411
  } else {
391
412
  bordersMeta = (0, _utils.normalizeBorder)(bordersMeta);
@@ -669,7 +690,7 @@ class CustomBorders extends _base.BasePlugin {
669
690
  this.savedBorders = bordersClone;
670
691
  }
671
692
  this.createCustomBorders(bordersClone);
672
- } else if (customBorders !== void 0) {
693
+ } else if (customBorders !== undefined) {
673
694
  this.createCustomBorders(this.savedBorders);
674
695
  }
675
696
  }
@@ -691,49 +712,6 @@ class CustomBorders extends _base.BasePlugin {
691
712
  throw new Error('The "left"/"right" properties are not supported for RTL. Please use option "start"/"end".');
692
713
  }
693
714
  }
694
-
695
- /**
696
- * Add border options to context menu.
697
- *
698
- * @private
699
- * @param {object} defaultOptions Context menu items.
700
- */
701
- onAfterContextMenuDefaultOptions(defaultOptions) {
702
- if (!this.hot.getSettings()[PLUGIN_KEY]) {
703
- return;
704
- }
705
- defaultOptions.items.push({
706
- name: '---------'
707
- }, {
708
- key: 'borders',
709
- name() {
710
- return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_BORDERS);
711
- },
712
- disabled() {
713
- const range = this.getSelectedRangeLast();
714
- if (!range) {
715
- return true;
716
- }
717
- if (range.isSingleHeader()) {
718
- return true;
719
- }
720
- return this.selection.isSelectedByCorner();
721
- },
722
- submenu: {
723
- items: [(0, _contextMenuItem.top)(this), (0, _contextMenuItem.right)(this), (0, _contextMenuItem.bottom)(this), (0, _contextMenuItem.left)(this), (0, _contextMenuItem.noBorders)(this)]
724
- }
725
- });
726
- }
727
-
728
- /**
729
- * `afterInit` hook callback.
730
- *
731
- * @private
732
- */
733
- onAfterInit() {
734
- this.changeBorderSettings();
735
- }
736
-
737
715
  /**
738
716
  * Destroys the plugin instance.
739
717
  */
@@ -741,4 +719,33 @@ class CustomBorders extends _base.BasePlugin {
741
719
  super.destroy();
742
720
  }
743
721
  }
744
- exports.CustomBorders = CustomBorders;
722
+ exports.CustomBorders = CustomBorders;
723
+ function _onAfterContextMenuDefaultOptions2(defaultOptions) {
724
+ if (!this.hot.getSettings()[PLUGIN_KEY]) {
725
+ return;
726
+ }
727
+ defaultOptions.items.push({
728
+ name: '---------'
729
+ }, {
730
+ key: 'borders',
731
+ name() {
732
+ return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_BORDERS);
733
+ },
734
+ disabled() {
735
+ const range = this.getSelectedRangeLast();
736
+ if (!range) {
737
+ return true;
738
+ }
739
+ if (range.isSingleHeader()) {
740
+ return true;
741
+ }
742
+ return this.selection.isSelectedByCorner();
743
+ },
744
+ submenu: {
745
+ items: [(0, _contextMenuItem.top)(this), (0, _contextMenuItem.right)(this), (0, _contextMenuItem.bottom)(this), (0, _contextMenuItem.left)(this), (0, _contextMenuItem.noBorders)(this)]
746
+ }
747
+ });
748
+ }
749
+ function _onAfterInit2() {
750
+ this.changeBorderSettings();
751
+ }
@@ -1,8 +1,11 @@
1
1
  import "core-js/modules/es.array.push.js";
2
2
  import "core-js/modules/es.error.cause.js";
3
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
4
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
3
5
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
6
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
7
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
6
9
  import { BasePlugin } from "../base/index.mjs";
7
10
  import { hasOwnProperty, deepClone } from "../../helpers/object.mjs";
8
11
  import { rangeEach } from "../../helpers/number.mjs";
@@ -69,9 +72,21 @@ export const PLUGIN_PRIORITY = 90;
69
72
  * ],
70
73
  * ```
71
74
  */
75
+ var _onAfterContextMenuDefaultOptions = /*#__PURE__*/new WeakSet();
76
+ var _onAfterInit = /*#__PURE__*/new WeakSet();
72
77
  export class CustomBorders extends BasePlugin {
73
78
  constructor() {
74
79
  super(...arguments);
80
+ /**
81
+ * `afterInit` hook callback.
82
+ */
83
+ _classPrivateMethodInitSpec(this, _onAfterInit);
84
+ /**
85
+ * Add border options to context menu.
86
+ *
87
+ * @param {object} defaultOptions Context menu items.
88
+ */
89
+ _classPrivateMethodInitSpec(this, _onAfterContextMenuDefaultOptions);
75
90
  /**
76
91
  * Saved borders.
77
92
  *
@@ -103,8 +118,8 @@ export class CustomBorders extends BasePlugin {
103
118
  if (this.enabled) {
104
119
  return;
105
120
  }
106
- this.addHook('afterContextMenuDefaultOptions', options => this.onAfterContextMenuDefaultOptions(options));
107
- this.addHook('init', () => this.onAfterInit());
121
+ this.addHook('afterContextMenuDefaultOptions', options => _classPrivateMethodGet(this, _onAfterContextMenuDefaultOptions, _onAfterContextMenuDefaultOptions2).call(this, options));
122
+ this.addHook('init', () => _classPrivateMethodGet(this, _onAfterInit, _onAfterInit2).call(this));
108
123
  super.enablePlugin();
109
124
  }
110
125
 
@@ -158,7 +173,10 @@ export class CustomBorders extends BasePlugin {
158
173
  normBorder = normalizeBorder(borderObject);
159
174
  }
160
175
  const selectionType = detectSelectionType(selectionRanges);
161
- const selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
176
+ const selectionSchemaNormalizer = normalizeSelectionFactory(selectionType, {
177
+ createCellCoords: this.hot._createCellCoords.bind(this.hot),
178
+ createCellRange: this.hot._createCellRange.bind(this.hot)
179
+ });
162
180
  arrayEach(selectionRanges, selection => {
163
181
  selectionSchemaNormalizer(selection).forAll((row, col) => {
164
182
  arrayEach(borderKeys, borderKey => {
@@ -201,7 +219,10 @@ export class CustomBorders extends BasePlugin {
201
219
  return this.savedBorders;
202
220
  }
203
221
  const selectionType = detectSelectionType(selectionRanges);
204
- const selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
222
+ const selectionSchemaNormalizer = normalizeSelectionFactory(selectionType, {
223
+ createCellCoords: this.hot._createCellCoords.bind(this.hot),
224
+ createCellRange: this.hot._createCellRange.bind(this.hot)
225
+ });
205
226
  const selectedBorders = [];
206
227
  arrayEach(selectionRanges, selection => {
207
228
  selectionSchemaNormalizer(selection).forAll((row, col) => {
@@ -380,7 +401,7 @@ export class CustomBorders extends BasePlugin {
380
401
  */
381
402
  setBorder(row, column, place, remove) {
382
403
  let bordersMeta = this.hot.getCellMeta(row, column).borders;
383
- if (!bordersMeta || bordersMeta.border === void 0) {
404
+ if (!bordersMeta || bordersMeta.border === undefined) {
384
405
  bordersMeta = createEmptyBorders(row, column);
385
406
  } else {
386
407
  bordersMeta = normalizeBorder(bordersMeta);
@@ -664,7 +685,7 @@ export class CustomBorders extends BasePlugin {
664
685
  this.savedBorders = bordersClone;
665
686
  }
666
687
  this.createCustomBorders(bordersClone);
667
- } else if (customBorders !== void 0) {
688
+ } else if (customBorders !== undefined) {
668
689
  this.createCustomBorders(this.savedBorders);
669
690
  }
670
691
  }
@@ -686,53 +707,39 @@ export class CustomBorders extends BasePlugin {
686
707
  throw new Error('The "left"/"right" properties are not supported for RTL. Please use option "start"/"end".');
687
708
  }
688
709
  }
689
-
690
- /**
691
- * Add border options to context menu.
692
- *
693
- * @private
694
- * @param {object} defaultOptions Context menu items.
695
- */
696
- onAfterContextMenuDefaultOptions(defaultOptions) {
697
- if (!this.hot.getSettings()[PLUGIN_KEY]) {
698
- return;
699
- }
700
- defaultOptions.items.push({
701
- name: '---------'
702
- }, {
703
- key: 'borders',
704
- name() {
705
- return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_BORDERS);
706
- },
707
- disabled() {
708
- const range = this.getSelectedRangeLast();
709
- if (!range) {
710
- return true;
711
- }
712
- if (range.isSingleHeader()) {
713
- return true;
714
- }
715
- return this.selection.isSelectedByCorner();
716
- },
717
- submenu: {
718
- items: [menuItemTop(this), menuItemRight(this), menuItemBottom(this), menuItemLeft(this), menuItemNoBorders(this)]
719
- }
720
- });
721
- }
722
-
723
- /**
724
- * `afterInit` hook callback.
725
- *
726
- * @private
727
- */
728
- onAfterInit() {
729
- this.changeBorderSettings();
730
- }
731
-
732
710
  /**
733
711
  * Destroys the plugin instance.
734
712
  */
735
713
  destroy() {
736
714
  super.destroy();
737
715
  }
716
+ }
717
+ function _onAfterContextMenuDefaultOptions2(defaultOptions) {
718
+ if (!this.hot.getSettings()[PLUGIN_KEY]) {
719
+ return;
720
+ }
721
+ defaultOptions.items.push({
722
+ name: '---------'
723
+ }, {
724
+ key: 'borders',
725
+ name() {
726
+ return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_BORDERS);
727
+ },
728
+ disabled() {
729
+ const range = this.getSelectedRangeLast();
730
+ if (!range) {
731
+ return true;
732
+ }
733
+ if (range.isSingleHeader()) {
734
+ return true;
735
+ }
736
+ return this.selection.isSelectedByCorner();
737
+ },
738
+ submenu: {
739
+ items: [menuItemTop(this), menuItemRight(this), menuItemBottom(this), menuItemLeft(this), menuItemNoBorders(this)]
740
+ }
741
+ });
742
+ }
743
+ function _onAfterInit2() {
744
+ this.changeBorderSettings();
738
745
  }