handsontable 0.0.0-next-ea1e0b3-20230620 → 0.0.0-next-6d7bdba-20230620

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (279) hide show
  1. package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
  2. package/3rdparty/walkontable/src/cell/coords.js +61 -12
  3. package/3rdparty/walkontable/src/cell/coords.mjs +61 -12
  4. package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
  5. package/3rdparty/walkontable/src/cell/range.js +44 -7
  6. package/3rdparty/walkontable/src/cell/range.mjs +44 -7
  7. package/3rdparty/walkontable/src/core/_base.js +9 -3
  8. package/3rdparty/walkontable/src/core/_base.mjs +9 -3
  9. package/3rdparty/walkontable/src/core/clone.js +2 -2
  10. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  11. package/3rdparty/walkontable/src/core/core.js +3 -2
  12. package/3rdparty/walkontable/src/core/core.mjs +3 -2
  13. package/3rdparty/walkontable/src/event.js +7 -7
  14. package/3rdparty/walkontable/src/event.mjs +7 -7
  15. package/3rdparty/walkontable/src/facade/core.js +2 -2
  16. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  17. package/3rdparty/walkontable/src/index.js +10 -2
  18. package/3rdparty/walkontable/src/index.mjs +2 -2
  19. package/3rdparty/walkontable/src/overlay/_base.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
  21. package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -4
  22. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -4
  23. package/3rdparty/walkontable/src/overlay/top.js +2 -4
  24. package/3rdparty/walkontable/src/overlay/top.mjs +2 -4
  25. package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +7 -12
  26. package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
  27. package/3rdparty/walkontable/src/selection/border/constants.js +18 -0
  28. package/3rdparty/walkontable/src/selection/border/constants.mjs +13 -0
  29. package/3rdparty/walkontable/src/selection/constants.js +63 -0
  30. package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
  31. package/3rdparty/walkontable/src/selection/index.js +30 -0
  32. package/3rdparty/walkontable/src/selection/index.mjs +5 -0
  33. package/3rdparty/walkontable/src/selection/manager.js +329 -0
  34. package/3rdparty/walkontable/src/selection/manager.mjs +323 -0
  35. package/3rdparty/walkontable/src/selection/scanner.js +364 -0
  36. package/3rdparty/walkontable/src/selection/scanner.mjs +360 -0
  37. package/3rdparty/walkontable/src/selection/selection.js +133 -0
  38. package/3rdparty/walkontable/src/selection/selection.mjs +127 -0
  39. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +9 -0
  40. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
  41. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +9 -0
  42. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
  43. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +9 -0
  44. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
  45. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +9 -0
  46. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
  47. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -0
  48. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
  49. package/3rdparty/walkontable/src/table.js +7 -79
  50. package/3rdparty/walkontable/src/table.mjs +8 -80
  51. package/base.js +2 -2
  52. package/base.mjs +2 -2
  53. package/core.d.ts +5 -3
  54. package/core.js +127 -309
  55. package/core.mjs +127 -309
  56. package/dataMap/metaManager/metaSchema.js +19 -0
  57. package/dataMap/metaManager/metaSchema.mjs +19 -0
  58. package/dist/handsontable.css +8 -3
  59. package/dist/handsontable.full.css +8 -3
  60. package/dist/handsontable.full.js +13599 -10676
  61. package/dist/handsontable.full.min.css +3 -3
  62. package/dist/handsontable.full.min.js +112 -112
  63. package/dist/handsontable.js +16302 -13379
  64. package/dist/handsontable.min.css +3 -3
  65. package/dist/handsontable.min.js +4 -4
  66. package/editorManager.js +21 -94
  67. package/editorManager.mjs +26 -98
  68. package/editors/textEditor/textEditor.js +3 -11
  69. package/editors/textEditor/textEditor.mjs +4 -12
  70. package/helpers/mixed.js +1 -1
  71. package/helpers/mixed.mjs +1 -1
  72. package/helpers/number.d.ts +1 -0
  73. package/helpers/number.js +18 -0
  74. package/helpers/number.mjs +17 -0
  75. package/package.json +1 -1
  76. package/pluginHooks.d.ts +5 -1
  77. package/pluginHooks.js +89 -1
  78. package/pluginHooks.mjs +89 -1
  79. package/plugins/collapsibleColumns/collapsibleColumns.js +81 -24
  80. package/plugins/collapsibleColumns/collapsibleColumns.mjs +81 -24
  81. package/plugins/columnSorting/columnSorting.js +50 -8
  82. package/plugins/columnSorting/columnSorting.mjs +49 -9
  83. package/plugins/columnSorting/index.js +4 -2
  84. package/plugins/columnSorting/index.mjs +1 -1
  85. package/plugins/comments/comments.js +11 -4
  86. package/plugins/comments/comments.mjs +11 -4
  87. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  88. package/plugins/contextMenu/contextMenu.js +80 -29
  89. package/plugins/contextMenu/contextMenu.mjs +81 -30
  90. package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
  91. package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
  92. package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
  93. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
  94. package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
  95. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
  96. package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
  97. package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
  98. package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
  99. package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
  100. package/plugins/contextMenu/predefinedItems/removeColumn.js +7 -5
  101. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
  102. package/plugins/contextMenu/predefinedItems/removeRow.js +7 -5
  103. package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -3
  104. package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
  105. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
  106. package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
  107. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
  108. package/plugins/contextMenu/utils.js +25 -16
  109. package/plugins/contextMenu/utils.mjs +24 -15
  110. package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
  111. package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
  112. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
  113. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
  114. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
  115. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
  116. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
  117. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
  118. package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
  119. package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
  120. package/plugins/copyPaste/copyPaste.js +5 -1
  121. package/plugins/copyPaste/copyPaste.mjs +5 -1
  122. package/plugins/customBorders/customBorders.js +25 -53
  123. package/plugins/customBorders/customBorders.mjs +26 -54
  124. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  125. package/plugins/dropdownMenu/dropdownMenu.js +94 -30
  126. package/plugins/dropdownMenu/dropdownMenu.mjs +94 -30
  127. package/plugins/manualColumnResize/manualColumnResize.js +5 -36
  128. package/plugins/manualColumnResize/manualColumnResize.mjs +5 -36
  129. package/plugins/manualRowResize/manualRowResize.js +9 -40
  130. package/plugins/manualRowResize/manualRowResize.mjs +9 -40
  131. package/plugins/mergeCells/mergeCells.js +5 -18
  132. package/plugins/mergeCells/mergeCells.mjs +5 -18
  133. package/plugins/multiColumnSorting/multiColumnSorting.js +42 -3
  134. package/plugins/multiColumnSorting/multiColumnSorting.mjs +42 -3
  135. package/plugins/nestedHeaders/nestedHeaders.js +132 -10
  136. package/plugins/nestedHeaders/nestedHeaders.mjs +132 -10
  137. package/plugins/nestedHeaders/stateManager/index.js +37 -0
  138. package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
  139. package/plugins/nestedRows/nestedRows.js +52 -7
  140. package/plugins/nestedRows/nestedRows.mjs +52 -7
  141. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  142. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  143. package/selection/highlight/highlight.js +312 -89
  144. package/selection/highlight/highlight.mjs +302 -85
  145. package/selection/highlight/types/activeHeader.js +10 -9
  146. package/selection/highlight/types/activeHeader.mjs +10 -8
  147. package/selection/highlight/types/area.js +12 -27
  148. package/selection/highlight/types/area.mjs +16 -30
  149. package/selection/highlight/types/areaLayered.js +54 -0
  150. package/selection/highlight/types/areaLayered.mjs +49 -0
  151. package/selection/highlight/types/column.js +50 -0
  152. package/selection/highlight/types/column.mjs +45 -0
  153. package/selection/highlight/types/customSelection.js +7 -10
  154. package/selection/highlight/types/customSelection.mjs +7 -9
  155. package/selection/highlight/types/fill.js +5 -8
  156. package/selection/highlight/types/fill.mjs +5 -7
  157. package/selection/highlight/types/{cell.js → focus.js} +5 -8
  158. package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
  159. package/selection/highlight/types/header.js +10 -20
  160. package/selection/highlight/types/header.mjs +10 -19
  161. package/selection/highlight/types/{index.js → row.js} +27 -31
  162. package/selection/highlight/types/{index.mjs → row.mjs} +24 -29
  163. package/selection/highlight/visualSelection.js +31 -27
  164. package/selection/highlight/visualSelection.mjs +31 -27
  165. package/selection/index.js +4 -7
  166. package/selection/index.mjs +2 -3
  167. package/selection/mouseEventHandler.js +1 -1
  168. package/selection/mouseEventHandler.mjs +1 -1
  169. package/selection/range.js +8 -8
  170. package/selection/range.mjs +8 -8
  171. package/selection/selection.js +315 -181
  172. package/selection/selection.mjs +310 -180
  173. package/selection/transformation.js +233 -96
  174. package/selection/transformation.mjs +230 -93
  175. package/selection/utils.js +12 -36
  176. package/selection/utils.mjs +13 -36
  177. package/settings.d.ts +1 -0
  178. package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
  179. package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
  180. package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
  181. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  182. package/shortcutContexts/commands/editor/fastOpen.js +16 -0
  183. package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
  184. package/shortcutContexts/commands/editor/index.js +16 -0
  185. package/shortcutContexts/commands/editor/index.mjs +12 -0
  186. package/shortcutContexts/commands/editor/open.js +29 -0
  187. package/shortcutContexts/commands/editor/open.mjs +24 -0
  188. package/shortcutContexts/commands/emptySelectedCells.js +12 -0
  189. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  190. package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
  191. package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
  192. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
  193. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
  194. package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
  195. package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
  196. package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
  197. package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
  198. package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
  199. package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
  200. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
  201. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +14 -0
  202. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
  203. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
  204. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
  205. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
  206. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
  207. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
  208. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +40 -0
  209. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +35 -0
  210. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +40 -0
  211. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +35 -0
  212. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
  213. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
  214. package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
  215. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +14 -0
  216. package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
  217. package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
  218. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
  219. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
  220. package/shortcutContexts/commands/index.js +52 -0
  221. package/shortcutContexts/commands/index.mjs +48 -0
  222. package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
  223. package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
  224. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +29 -0
  225. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +24 -0
  226. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  227. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  228. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
  229. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  230. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
  231. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  232. package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
  233. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  234. package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
  235. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  236. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
  237. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
  238. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
  239. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
  240. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
  241. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
  242. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
  243. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
  244. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +36 -0
  245. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +31 -0
  246. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +36 -0
  247. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +31 -0
  248. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
  249. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
  250. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
  251. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
  252. package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
  253. package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
  254. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +29 -0
  255. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +24 -0
  256. package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
  257. package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
  258. package/shortcutContexts/commands/selectAll.js +11 -0
  259. package/shortcutContexts/commands/selectAll.mjs +6 -0
  260. package/shortcutContexts/constants.js +19 -0
  261. package/shortcutContexts/constants.mjs +12 -0
  262. package/shortcutContexts/editor.js +29 -0
  263. package/shortcutContexts/editor.mjs +25 -0
  264. package/shortcutContexts/grid.js +244 -0
  265. package/shortcutContexts/grid.mjs +240 -0
  266. package/shortcutContexts/index.js +29 -0
  267. package/shortcutContexts/index.mjs +15 -0
  268. package/shortcuts/manager.js +2 -0
  269. package/shortcuts/manager.mjs +2 -0
  270. package/shortcuts/recorder.js +2 -2
  271. package/shortcuts/recorder.mjs +2 -2
  272. package/shortcuts/utils.js +21 -5
  273. package/shortcuts/utils.mjs +20 -4
  274. package/tableView.js +58 -9
  275. package/tableView.mjs +58 -9
  276. package/3rdparty/walkontable/src/selection.js +0 -355
  277. package/3rdparty/walkontable/src/selection.mjs +0 -349
  278. package/selection/highlight/constants.js +0 -16
  279. package/selection/highlight/constants.mjs +0 -6
@@ -22,7 +22,9 @@ require("core-js/modules/es.object.set-prototype-of.js");
22
22
  require("core-js/modules/es.object.get-prototype-of.js");
23
23
  var _base = require("../base");
24
24
  var _array = require("../../helpers/array");
25
+ var _object = require("../../helpers/object");
25
26
  var _commandExecutor = _interopRequireDefault(require("../contextMenu/commandExecutor"));
27
+ var _utils = require("../contextMenu/utils");
26
28
  var _eventManager = _interopRequireDefault(require("../../eventManager"));
27
29
  var _element = require("../../helpers/dom/element");
28
30
  var _itemsFactory = _interopRequireDefault(require("../contextMenu/itemsFactory"));
@@ -54,6 +56,7 @@ exports.PLUGIN_KEY = PLUGIN_KEY;
54
56
  var PLUGIN_PRIORITY = 230;
55
57
  exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
56
58
  var BUTTON_CLASS_NAME = 'changeType';
59
+ var SHORTCUTS_GROUP = PLUGIN_KEY;
57
60
 
58
61
  /* eslint-disable jsdoc/require-description-complete-sentence */
59
62
  /**
@@ -182,6 +185,7 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
182
185
  if (typeof settings.callback === 'function') {
183
186
  this.commandExecutor.setCommonCallback(settings.callback);
184
187
  }
188
+ this.registerShortcuts();
185
189
  _get(_getPrototypeOf(DropdownMenu.prototype), "enablePlugin", this).call(this);
186
190
  this.callOnPluginsReady(function () {
187
191
  _this2.hot.runHooks('afterDropdownMenuDefaultOptions', predefinedItems);
@@ -245,9 +249,71 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
245
249
  if (this.menu) {
246
250
  this.menu.destroy();
247
251
  }
252
+ this.unregisterShortcuts();
248
253
  _get(_getPrototypeOf(DropdownMenu.prototype), "disablePlugin", this).call(this);
249
254
  }
250
255
 
256
+ /**
257
+ * Register shortcuts responsible for toggling dropdown menu.
258
+ *
259
+ * @private
260
+ */
261
+ }, {
262
+ key: "registerShortcuts",
263
+ value: function registerShortcuts() {
264
+ var _this3 = this;
265
+ var context = this.hot.getShortcutManager().getContext('grid');
266
+ var callback = function callback() {
267
+ var _this3$hot$getSelecte = _this3.hot.getSelectedRangeLast(),
268
+ highlight = _this3$hot$getSelecte.highlight;
269
+ if ((highlight.isHeader() && highlight.row === -1 || highlight.isCell()) && highlight.col >= 0) {
270
+ _this3.hot.selectColumns(highlight.col, highlight.col, -1);
271
+ var _this3$hot$getSelecte2 = _this3.hot.getSelectedRangeLast(),
272
+ from = _this3$hot$getSelecte2.from;
273
+ var offset = (0, _utils.getDocumentOffsetByElement)(_this3.menu.container, _this3.hot.rootDocument);
274
+ var target = _this3.hot.getCell(-1, from.col, true);
275
+ var rect = target.getBoundingClientRect();
276
+ _this3.open({
277
+ left: rect.left + offset.left,
278
+ top: rect.top + target.offsetHeight + offset.top
279
+ }, {
280
+ left: rect.width
281
+ });
282
+ _this3.hot._registerTimeout(function () {
283
+ _this3.menu.selectFirstCell();
284
+ });
285
+ }
286
+ };
287
+ context.addShortcuts([{
288
+ keys: [['Shift', 'Alt', 'ArrowDown'], ['Shift', 'Enter']],
289
+ callback: callback,
290
+ runOnlyIf: function runOnlyIf() {
291
+ var _this3$hot$getSelecte3;
292
+ return ((_this3$hot$getSelecte3 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte3 === void 0 ? void 0 : _this3$hot$getSelecte3.highlight.isHeader()) && !_this3.menu.isOpened();
293
+ },
294
+ group: SHORTCUTS_GROUP
295
+ }, {
296
+ keys: [['Shift', 'Alt', 'ArrowDown']],
297
+ callback: callback,
298
+ runOnlyIf: function runOnlyIf() {
299
+ var _this3$hot$getSelecte4;
300
+ return ((_this3$hot$getSelecte4 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte4 === void 0 ? void 0 : _this3$hot$getSelecte4.highlight.isCell()) && !_this3.menu.isOpened();
301
+ },
302
+ group: SHORTCUTS_GROUP
303
+ }]);
304
+ }
305
+
306
+ /**
307
+ * Unregister shortcuts responsible for toggling dropdown menu.
308
+ *
309
+ * @private
310
+ */
311
+ }, {
312
+ key: "unregisterShortcuts",
313
+ value: function unregisterShortcuts() {
314
+ this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
315
+ }
316
+
251
317
  /**
252
318
  * Registers the DOM listeners.
253
319
  *
@@ -256,33 +322,42 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
256
322
  }, {
257
323
  key: "registerEvents",
258
324
  value: function registerEvents() {
259
- var _this3 = this;
325
+ var _this4 = this;
260
326
  this.eventManager.addEventListener(this.hot.rootElement, 'click', function (event) {
261
- return _this3.onTableClick(event);
327
+ return _this4.onTableClick(event);
262
328
  });
263
329
  }
264
330
 
265
331
  /**
266
332
  * Opens menu and re-position it based on the passed coordinates.
267
333
  *
268
- * @param {object|Event} position An object with `pageX` and `pageY` properties which contains values relative to
269
- * the top left of the fully rendered content area in the browser or with `clientX`
270
- * and `clientY` properties which contains values relative to the upper left edge
271
- * of the content area (the viewport) of the browser window. This object is structurally
272
- * compatible with native mouse event so it can be used either.
334
+ * @param {{ top: number, left: number }|Event} position An object with `top` and `left` properties
335
+ * which contains coordinates relative to the browsers viewport (without included scroll offsets).
336
+ * Or if the native event is passed the menu will be positioned based on the `pageX` and `pageY`
337
+ * coordinates.
338
+ * @param {{ above?: number, below?: number, left?: number, right?: number }} offset An object allows applying
339
+ * the offset to the menu position.
273
340
  * @fires Hooks#beforeDropdownMenuShow
274
341
  * @fires Hooks#afterDropdownMenuShow
275
342
  */
276
343
  }, {
277
344
  key: "open",
278
345
  value: function open(position) {
279
- if (!this.menu) {
346
+ var _this$menu,
347
+ _this5 = this;
348
+ var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
349
+ above: 0,
350
+ below: 0,
351
+ left: 0,
352
+ right: 0
353
+ };
354
+ if ((_this$menu = this.menu) !== null && _this$menu !== void 0 && _this$menu.isOpened()) {
280
355
  return;
281
356
  }
282
357
  this.menu.open();
283
- if (position.width) {
284
- this.menu.setOffset('left', position.width);
285
- }
358
+ (0, _object.objectEach)(offset, function (value, key) {
359
+ _this5.menu.setOffset(key, value);
360
+ });
286
361
  this.menu.setPosition(position);
287
362
  }
288
363
 
@@ -292,10 +367,8 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
292
367
  }, {
293
368
  key: "close",
294
369
  value: function close() {
295
- if (!this.menu) {
296
- return;
297
- }
298
- this.menu.close();
370
+ var _this$menu2;
371
+ (_this$menu2 = this.menu) === null || _this$menu2 === void 0 ? void 0 : _this$menu2.close();
299
372
  }
300
373
 
301
374
  /**
@@ -367,23 +440,14 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
367
440
  key: "onTableClick",
368
441
  value: function onTableClick(event) {
369
442
  event.stopPropagation();
370
- if ((0, _element.hasClass)(event.target, BUTTON_CLASS_NAME) && !this.menu.isOpened()) {
371
- var offsetTop = 0;
372
- var offsetLeft = 0;
373
- if (this.hot.rootDocument !== this.menu.container.ownerDocument) {
374
- var frameElement = this.hot.rootWindow.frameElement;
375
- var _frameElement$getBoun = frameElement.getBoundingClientRect(),
376
- top = _frameElement$getBoun.top,
377
- left = _frameElement$getBoun.left;
378
- offsetTop = top;
379
- offsetLeft = left;
380
- }
443
+ if ((0, _element.hasClass)(event.target, BUTTON_CLASS_NAME)) {
444
+ var offset = (0, _utils.getDocumentOffsetByElement)(this.menu.container, this.hot.rootDocument);
381
445
  var rect = event.target.getBoundingClientRect();
382
446
  this.open({
383
- left: rect.left + offsetLeft,
384
- top: rect.top + event.target.offsetHeight + 3 + offsetTop,
385
- width: rect.width,
386
- height: rect.height
447
+ left: rect.left + offset.left,
448
+ top: rect.top + event.target.offsetHeight + 3 + offset.top
449
+ }, {
450
+ left: rect.width
387
451
  });
388
452
  }
389
453
  }
@@ -32,7 +32,9 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
32
32
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
33
33
  import { BasePlugin } from "../base/index.mjs";
34
34
  import { arrayEach } from "../../helpers/array.mjs";
35
+ import { objectEach } from "../../helpers/object.mjs";
35
36
  import CommandExecutor from "../contextMenu/commandExecutor.mjs";
37
+ import { getDocumentOffsetByElement } from "../contextMenu/utils.mjs";
36
38
  import EventManager from "../../eventManager.mjs";
37
39
  import { hasClass } from "../../helpers/dom/element.mjs";
38
40
  import ItemsFactory from "../contextMenu/itemsFactory.mjs";
@@ -47,6 +49,7 @@ Hooks.getSingleton().register('afterDropdownMenuExecute');
47
49
  export var PLUGIN_KEY = 'dropdownMenu';
48
50
  export var PLUGIN_PRIORITY = 230;
49
51
  var BUTTON_CLASS_NAME = 'changeType';
52
+ var SHORTCUTS_GROUP = PLUGIN_KEY;
50
53
 
51
54
  /* eslint-disable jsdoc/require-description-complete-sentence */
52
55
  /**
@@ -176,6 +179,7 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
176
179
  if (typeof settings.callback === 'function') {
177
180
  this.commandExecutor.setCommonCallback(settings.callback);
178
181
  }
182
+ this.registerShortcuts();
179
183
  _get(_getPrototypeOf(DropdownMenu.prototype), "enablePlugin", this).call(this);
180
184
  this.callOnPluginsReady(function () {
181
185
  _this2.hot.runHooks('afterDropdownMenuDefaultOptions', predefinedItems);
@@ -239,9 +243,71 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
239
243
  if (this.menu) {
240
244
  this.menu.destroy();
241
245
  }
246
+ this.unregisterShortcuts();
242
247
  _get(_getPrototypeOf(DropdownMenu.prototype), "disablePlugin", this).call(this);
243
248
  }
244
249
 
250
+ /**
251
+ * Register shortcuts responsible for toggling dropdown menu.
252
+ *
253
+ * @private
254
+ */
255
+ }, {
256
+ key: "registerShortcuts",
257
+ value: function registerShortcuts() {
258
+ var _this3 = this;
259
+ var context = this.hot.getShortcutManager().getContext('grid');
260
+ var callback = function callback() {
261
+ var _this3$hot$getSelecte = _this3.hot.getSelectedRangeLast(),
262
+ highlight = _this3$hot$getSelecte.highlight;
263
+ if ((highlight.isHeader() && highlight.row === -1 || highlight.isCell()) && highlight.col >= 0) {
264
+ _this3.hot.selectColumns(highlight.col, highlight.col, -1);
265
+ var _this3$hot$getSelecte2 = _this3.hot.getSelectedRangeLast(),
266
+ from = _this3$hot$getSelecte2.from;
267
+ var offset = getDocumentOffsetByElement(_this3.menu.container, _this3.hot.rootDocument);
268
+ var target = _this3.hot.getCell(-1, from.col, true);
269
+ var rect = target.getBoundingClientRect();
270
+ _this3.open({
271
+ left: rect.left + offset.left,
272
+ top: rect.top + target.offsetHeight + offset.top
273
+ }, {
274
+ left: rect.width
275
+ });
276
+ _this3.hot._registerTimeout(function () {
277
+ _this3.menu.selectFirstCell();
278
+ });
279
+ }
280
+ };
281
+ context.addShortcuts([{
282
+ keys: [['Shift', 'Alt', 'ArrowDown'], ['Shift', 'Enter']],
283
+ callback: callback,
284
+ runOnlyIf: function runOnlyIf() {
285
+ var _this3$hot$getSelecte3;
286
+ return ((_this3$hot$getSelecte3 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte3 === void 0 ? void 0 : _this3$hot$getSelecte3.highlight.isHeader()) && !_this3.menu.isOpened();
287
+ },
288
+ group: SHORTCUTS_GROUP
289
+ }, {
290
+ keys: [['Shift', 'Alt', 'ArrowDown']],
291
+ callback: callback,
292
+ runOnlyIf: function runOnlyIf() {
293
+ var _this3$hot$getSelecte4;
294
+ return ((_this3$hot$getSelecte4 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte4 === void 0 ? void 0 : _this3$hot$getSelecte4.highlight.isCell()) && !_this3.menu.isOpened();
295
+ },
296
+ group: SHORTCUTS_GROUP
297
+ }]);
298
+ }
299
+
300
+ /**
301
+ * Unregister shortcuts responsible for toggling dropdown menu.
302
+ *
303
+ * @private
304
+ */
305
+ }, {
306
+ key: "unregisterShortcuts",
307
+ value: function unregisterShortcuts() {
308
+ this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
309
+ }
310
+
245
311
  /**
246
312
  * Registers the DOM listeners.
247
313
  *
@@ -250,33 +316,42 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
250
316
  }, {
251
317
  key: "registerEvents",
252
318
  value: function registerEvents() {
253
- var _this3 = this;
319
+ var _this4 = this;
254
320
  this.eventManager.addEventListener(this.hot.rootElement, 'click', function (event) {
255
- return _this3.onTableClick(event);
321
+ return _this4.onTableClick(event);
256
322
  });
257
323
  }
258
324
 
259
325
  /**
260
326
  * Opens menu and re-position it based on the passed coordinates.
261
327
  *
262
- * @param {object|Event} position An object with `pageX` and `pageY` properties which contains values relative to
263
- * the top left of the fully rendered content area in the browser or with `clientX`
264
- * and `clientY` properties which contains values relative to the upper left edge
265
- * of the content area (the viewport) of the browser window. This object is structurally
266
- * compatible with native mouse event so it can be used either.
328
+ * @param {{ top: number, left: number }|Event} position An object with `top` and `left` properties
329
+ * which contains coordinates relative to the browsers viewport (without included scroll offsets).
330
+ * Or if the native event is passed the menu will be positioned based on the `pageX` and `pageY`
331
+ * coordinates.
332
+ * @param {{ above?: number, below?: number, left?: number, right?: number }} offset An object allows applying
333
+ * the offset to the menu position.
267
334
  * @fires Hooks#beforeDropdownMenuShow
268
335
  * @fires Hooks#afterDropdownMenuShow
269
336
  */
270
337
  }, {
271
338
  key: "open",
272
339
  value: function open(position) {
273
- if (!this.menu) {
340
+ var _this$menu,
341
+ _this5 = this;
342
+ var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
343
+ above: 0,
344
+ below: 0,
345
+ left: 0,
346
+ right: 0
347
+ };
348
+ if ((_this$menu = this.menu) !== null && _this$menu !== void 0 && _this$menu.isOpened()) {
274
349
  return;
275
350
  }
276
351
  this.menu.open();
277
- if (position.width) {
278
- this.menu.setOffset('left', position.width);
279
- }
352
+ objectEach(offset, function (value, key) {
353
+ _this5.menu.setOffset(key, value);
354
+ });
280
355
  this.menu.setPosition(position);
281
356
  }
282
357
 
@@ -286,10 +361,8 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
286
361
  }, {
287
362
  key: "close",
288
363
  value: function close() {
289
- if (!this.menu) {
290
- return;
291
- }
292
- this.menu.close();
364
+ var _this$menu2;
365
+ (_this$menu2 = this.menu) === null || _this$menu2 === void 0 ? void 0 : _this$menu2.close();
293
366
  }
294
367
 
295
368
  /**
@@ -361,23 +434,14 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
361
434
  key: "onTableClick",
362
435
  value: function onTableClick(event) {
363
436
  event.stopPropagation();
364
- if (hasClass(event.target, BUTTON_CLASS_NAME) && !this.menu.isOpened()) {
365
- var offsetTop = 0;
366
- var offsetLeft = 0;
367
- if (this.hot.rootDocument !== this.menu.container.ownerDocument) {
368
- var frameElement = this.hot.rootWindow.frameElement;
369
- var _frameElement$getBoun = frameElement.getBoundingClientRect(),
370
- top = _frameElement$getBoun.top,
371
- left = _frameElement$getBoun.left;
372
- offsetTop = top;
373
- offsetLeft = left;
374
- }
437
+ if (hasClass(event.target, BUTTON_CLASS_NAME)) {
438
+ var offset = getDocumentOffsetByElement(this.menu.container, this.hot.rootDocument);
375
439
  var rect = event.target.getBoundingClientRect();
376
440
  this.open({
377
- left: rect.left + offsetLeft,
378
- top: rect.top + event.target.offsetHeight + 3 + offsetTop,
379
- width: rect.width,
380
- height: rect.height
441
+ left: rect.left + offset.left,
442
+ top: rect.top + event.target.offsetHeight + 3 + offset.top
443
+ }, {
444
+ left: rect.width
381
445
  });
382
446
  }
383
447
  }
@@ -87,7 +87,6 @@ var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
87
87
  _this.guide = rootDocument.createElement('DIV');
88
88
  _this.eventManager = new _eventManager.default(_assertThisInitialized(_this));
89
89
  _this.pressed = null;
90
- _this.isTriggeredByRMB = false;
91
90
  _this.dblclick = 0;
92
91
  _this.autoresizeTimeout = null;
93
92
 
@@ -438,11 +437,6 @@ var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
438
437
  if ((0, _element.isDetached)(event.target)) {
439
438
  return;
440
439
  }
441
-
442
- // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
443
- if (this.isTriggeredByRMB === true) {
444
- return;
445
- }
446
440
  if (this.checkIfColumnHeader(event.target)) {
447
441
  var th = this.getClosestTHParent(event.target);
448
442
  if (!th) {
@@ -599,28 +593,6 @@ var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
599
593
  }
600
594
  }
601
595
 
602
- /**
603
- * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
604
- *
605
- * @private
606
- */
607
- }, {
608
- key: "onContextMenu",
609
- value: function onContextMenu() {
610
- var _this9 = this;
611
- this.hideHandleAndGuide();
612
- this.hot.rootElement.removeChild(this.handle);
613
- this.hot.rootElement.removeChild(this.guide);
614
- this.pressed = false;
615
- this.isTriggeredByRMB = true;
616
-
617
- // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
618
- // shouldn't be drawn just after removing it.
619
- this.hot._registerImmediate(function () {
620
- _this9.isTriggeredByRMB = false;
621
- });
622
- }
623
-
624
596
  /**
625
597
  * Binds the mouse events.
626
598
  *
@@ -629,24 +601,21 @@ var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
629
601
  }, {
630
602
  key: "bindEvents",
631
603
  value: function bindEvents() {
632
- var _this10 = this;
604
+ var _this9 = this;
633
605
  var _this$hot = this.hot,
634
606
  rootWindow = _this$hot.rootWindow,
635
607
  rootElement = _this$hot.rootElement;
636
608
  this.eventManager.addEventListener(rootElement, 'mouseover', function (e) {
637
- return _this10.onMouseOver(e);
609
+ return _this9.onMouseOver(e);
638
610
  });
639
611
  this.eventManager.addEventListener(rootElement, 'mousedown', function (e) {
640
- return _this10.onMouseDown(e);
612
+ return _this9.onMouseDown(e);
641
613
  });
642
614
  this.eventManager.addEventListener(rootWindow, 'mousemove', function (e) {
643
- return _this10.onMouseMove(e);
615
+ return _this9.onMouseMove(e);
644
616
  });
645
617
  this.eventManager.addEventListener(rootWindow, 'mouseup', function () {
646
- return _this10.onMouseUp();
647
- });
648
- this.eventManager.addEventListener(this.handle, 'contextmenu', function () {
649
- return _this10.onContextMenu();
618
+ return _this9.onMouseUp();
650
619
  });
651
620
  }
652
621
 
@@ -78,7 +78,6 @@ export var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
78
78
  _this.guide = rootDocument.createElement('DIV');
79
79
  _this.eventManager = new EventManager(_assertThisInitialized(_this));
80
80
  _this.pressed = null;
81
- _this.isTriggeredByRMB = false;
82
81
  _this.dblclick = 0;
83
82
  _this.autoresizeTimeout = null;
84
83
 
@@ -429,11 +428,6 @@ export var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
429
428
  if (isDetached(event.target)) {
430
429
  return;
431
430
  }
432
-
433
- // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
434
- if (this.isTriggeredByRMB === true) {
435
- return;
436
- }
437
431
  if (this.checkIfColumnHeader(event.target)) {
438
432
  var th = this.getClosestTHParent(event.target);
439
433
  if (!th) {
@@ -590,28 +584,6 @@ export var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
590
584
  }
591
585
  }
592
586
 
593
- /**
594
- * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
595
- *
596
- * @private
597
- */
598
- }, {
599
- key: "onContextMenu",
600
- value: function onContextMenu() {
601
- var _this9 = this;
602
- this.hideHandleAndGuide();
603
- this.hot.rootElement.removeChild(this.handle);
604
- this.hot.rootElement.removeChild(this.guide);
605
- this.pressed = false;
606
- this.isTriggeredByRMB = true;
607
-
608
- // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
609
- // shouldn't be drawn just after removing it.
610
- this.hot._registerImmediate(function () {
611
- _this9.isTriggeredByRMB = false;
612
- });
613
- }
614
-
615
587
  /**
616
588
  * Binds the mouse events.
617
589
  *
@@ -620,24 +592,21 @@ export var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
620
592
  }, {
621
593
  key: "bindEvents",
622
594
  value: function bindEvents() {
623
- var _this10 = this;
595
+ var _this9 = this;
624
596
  var _this$hot = this.hot,
625
597
  rootWindow = _this$hot.rootWindow,
626
598
  rootElement = _this$hot.rootElement;
627
599
  this.eventManager.addEventListener(rootElement, 'mouseover', function (e) {
628
- return _this10.onMouseOver(e);
600
+ return _this9.onMouseOver(e);
629
601
  });
630
602
  this.eventManager.addEventListener(rootElement, 'mousedown', function (e) {
631
- return _this10.onMouseDown(e);
603
+ return _this9.onMouseDown(e);
632
604
  });
633
605
  this.eventManager.addEventListener(rootWindow, 'mousemove', function (e) {
634
- return _this10.onMouseMove(e);
606
+ return _this9.onMouseMove(e);
635
607
  });
636
608
  this.eventManager.addEventListener(rootWindow, 'mouseup', function () {
637
- return _this10.onMouseUp();
638
- });
639
- this.eventManager.addEventListener(this.handle, 'contextmenu', function () {
640
- return _this10.onContextMenu();
609
+ return _this9.onMouseUp();
641
610
  });
642
611
  }
643
612
 
@@ -88,7 +88,6 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
88
88
  _this.guide = rootDocument.createElement('DIV');
89
89
  _this.eventManager = new _eventManager.default(_assertThisInitialized(_this));
90
90
  _this.pressed = null;
91
- _this.isTriggeredByRMB = false;
92
91
  _this.dblclick = 0;
93
92
  _this.autoresizeTimeout = null;
94
93
 
@@ -410,11 +409,6 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
410
409
  if ((0, _element.isDetached)(event.target)) {
411
410
  return;
412
411
  }
413
-
414
- // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
415
- if (this.isTriggeredByRMB === true) {
416
- return;
417
- }
418
412
  if (this.checkIfRowHeader(event.target)) {
419
413
  var th = this.getClosestTHParent(event.target);
420
414
  if (th) {
@@ -561,28 +555,6 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
561
555
  }
562
556
  }
563
557
 
564
- /**
565
- * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
566
- *
567
- * @private
568
- */
569
- }, {
570
- key: "onContextMenu",
571
- value: function onContextMenu() {
572
- var _this8 = this;
573
- this.hideHandleAndGuide();
574
- this.hot.rootElement.removeChild(this.handle);
575
- this.hot.rootElement.removeChild(this.guide);
576
- this.pressed = false;
577
- this.isTriggeredByRMB = true;
578
-
579
- // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
580
- // shouldn't be drawn just after removing it.
581
- this.hot._registerImmediate(function () {
582
- _this8.isTriggeredByRMB = false;
583
- });
584
- }
585
-
586
558
  /**
587
559
  * Binds the mouse events.
588
560
  *
@@ -591,24 +563,21 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
591
563
  }, {
592
564
  key: "bindEvents",
593
565
  value: function bindEvents() {
594
- var _this9 = this;
566
+ var _this8 = this;
595
567
  var _this$hot = this.hot,
596
568
  rootElement = _this$hot.rootElement,
597
569
  rootWindow = _this$hot.rootWindow;
598
570
  this.eventManager.addEventListener(rootElement, 'mouseover', function (e) {
599
- return _this9.onMouseOver(e);
571
+ return _this8.onMouseOver(e);
600
572
  });
601
573
  this.eventManager.addEventListener(rootElement, 'mousedown', function (e) {
602
- return _this9.onMouseDown(e);
574
+ return _this8.onMouseDown(e);
603
575
  });
604
576
  this.eventManager.addEventListener(rootWindow, 'mousemove', function (e) {
605
- return _this9.onMouseMove(e);
577
+ return _this8.onMouseMove(e);
606
578
  });
607
579
  this.eventManager.addEventListener(rootWindow, 'mouseup', function () {
608
- return _this9.onMouseUp();
609
- });
610
- this.eventManager.addEventListener(this.handle, 'contextmenu', function () {
611
- return _this9.onContextMenu();
580
+ return _this8.onMouseUp();
612
581
  });
613
582
  }
614
583
 
@@ -642,23 +611,23 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
642
611
  }, {
643
612
  key: "onMapInit",
644
613
  value: function onMapInit() {
645
- var _this10 = this;
614
+ var _this9 = this;
646
615
  var priv = privatePool.get(this);
647
616
  var initialSetting = this.hot.getSettings()[PLUGIN_KEY];
648
617
  var loadedManualRowHeights = this.loadManualRowHeights();
649
618
  this.hot.batchExecution(function () {
650
619
  if (typeof loadedManualRowHeights !== 'undefined') {
651
620
  loadedManualRowHeights.forEach(function (height, index) {
652
- _this10.rowHeightsMap.setValueAtIndex(index, height);
621
+ _this9.rowHeightsMap.setValueAtIndex(index, height);
653
622
  });
654
623
  } else if (Array.isArray(initialSetting)) {
655
624
  initialSetting.forEach(function (height, index) {
656
- _this10.rowHeightsMap.setValueAtIndex(index, height);
625
+ _this9.rowHeightsMap.setValueAtIndex(index, height);
657
626
  });
658
627
  priv.config = initialSetting;
659
628
  } else if (initialSetting === true && Array.isArray(priv.config)) {
660
629
  priv.config.forEach(function (height, index) {
661
- _this10.rowHeightsMap.setValueAtIndex(index, height);
630
+ _this9.rowHeightsMap.setValueAtIndex(index, height);
662
631
  });
663
632
  }
664
633
  }, true);