@atlaskit/editor-plugin-table 22.4.11 → 22.4.13

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 (137) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/tablePlugin.js +7 -1
  3. package/dist/cjs/ui/TableMenu/column/getColumnMenuComponents.js +46 -11
  4. package/dist/cjs/ui/TableMenu/column/items/AddColumnLeftItem.js +34 -1
  5. package/dist/cjs/ui/TableMenu/column/items/AddColumnRightItem.js +34 -1
  6. package/dist/cjs/ui/TableMenu/column/items/ColumnBackgroundSection.js +15 -2
  7. package/dist/cjs/ui/TableMenu/column/items/ColumnToggleSection.js +15 -2
  8. package/dist/cjs/ui/TableMenu/column/items/DeleteColumnItem.js +60 -3
  9. package/dist/cjs/ui/TableMenu/column/items/DistributeColumnsItem.js +43 -5
  10. package/dist/cjs/ui/TableMenu/column/items/HeaderColumnToggleItem.js +36 -5
  11. package/dist/cjs/ui/TableMenu/column/items/MoveColumnLeftItem.js +69 -0
  12. package/dist/cjs/ui/TableMenu/column/items/MoveColumnRightItem.js +42 -3
  13. package/dist/cjs/ui/TableMenu/column/items/SortDecreasingItem.js +22 -1
  14. package/dist/cjs/ui/TableMenu/column/items/SortIncreasingItem.js +22 -1
  15. package/dist/cjs/ui/TableMenu/column/keys.js +6 -2
  16. package/dist/cjs/ui/TableMenu/row/getRowMenuComponents.js +23 -8
  17. package/dist/cjs/ui/TableMenu/row/items/AddRowAboveItem.js +24 -1
  18. package/dist/cjs/ui/TableMenu/row/items/AddRowBelowItem.js +24 -1
  19. package/dist/cjs/ui/TableMenu/row/items/DeleteRowItem.js +55 -3
  20. package/dist/cjs/ui/TableMenu/row/items/HeaderRowToggleItem.js +38 -5
  21. package/dist/cjs/ui/TableMenu/row/items/MoveRowDownItem.js +38 -13
  22. package/dist/cjs/ui/TableMenu/row/items/MoveRowUpItem.js +38 -13
  23. package/dist/cjs/ui/TableMenu/row/items/NumberedRowsToggleItem.js +29 -2
  24. package/dist/cjs/ui/TableMenu/shared/consts.js +4 -2
  25. package/dist/cjs/ui/TableMenu/shared/getSharedItems.js +5 -2
  26. package/dist/cjs/ui/TableMenu/shared/getTableMenuComponents.js +2 -2
  27. package/dist/cjs/ui/TableMenu/shared/items/ClearCellsItem.js +23 -3
  28. package/dist/cjs/ui/TableMenu/shared/types.js +5 -0
  29. package/dist/es2019/tablePlugin.js +7 -1
  30. package/dist/es2019/ui/TableMenu/column/getColumnMenuComponents.js +46 -12
  31. package/dist/es2019/ui/TableMenu/column/items/AddColumnLeftItem.js +37 -1
  32. package/dist/es2019/ui/TableMenu/column/items/AddColumnRightItem.js +37 -1
  33. package/dist/es2019/ui/TableMenu/column/items/ColumnBackgroundSection.js +15 -1
  34. package/dist/es2019/ui/TableMenu/column/items/ColumnToggleSection.js +15 -1
  35. package/dist/es2019/ui/TableMenu/column/items/DeleteColumnItem.js +63 -3
  36. package/dist/es2019/ui/TableMenu/column/items/DistributeColumnsItem.js +43 -7
  37. package/dist/es2019/ui/TableMenu/column/items/HeaderColumnToggleItem.js +40 -5
  38. package/dist/es2019/ui/TableMenu/column/items/MoveColumnLeftItem.js +65 -0
  39. package/dist/es2019/ui/TableMenu/column/items/MoveColumnRightItem.js +44 -3
  40. package/dist/es2019/ui/TableMenu/column/items/SortDecreasingItem.js +24 -1
  41. package/dist/es2019/ui/TableMenu/column/items/SortIncreasingItem.js +24 -1
  42. package/dist/es2019/ui/TableMenu/column/keys.js +7 -2
  43. package/dist/es2019/ui/TableMenu/row/getRowMenuComponents.js +24 -8
  44. package/dist/es2019/ui/TableMenu/row/items/AddRowAboveItem.js +27 -1
  45. package/dist/es2019/ui/TableMenu/row/items/AddRowBelowItem.js +27 -1
  46. package/dist/es2019/ui/TableMenu/row/items/DeleteRowItem.js +59 -3
  47. package/dist/es2019/ui/TableMenu/row/items/HeaderRowToggleItem.js +42 -5
  48. package/dist/es2019/ui/TableMenu/row/items/MoveRowDownItem.js +42 -11
  49. package/dist/es2019/ui/TableMenu/row/items/MoveRowUpItem.js +42 -11
  50. package/dist/es2019/ui/TableMenu/row/items/NumberedRowsToggleItem.js +33 -2
  51. package/dist/es2019/ui/TableMenu/shared/consts.js +3 -1
  52. package/dist/es2019/ui/TableMenu/shared/getSharedItems.js +6 -2
  53. package/dist/es2019/ui/TableMenu/shared/getTableMenuComponents.js +1 -1
  54. package/dist/es2019/ui/TableMenu/shared/items/ClearCellsItem.js +26 -3
  55. package/dist/es2019/ui/TableMenu/shared/types.js +1 -0
  56. package/dist/esm/tablePlugin.js +7 -1
  57. package/dist/esm/ui/TableMenu/column/getColumnMenuComponents.js +47 -12
  58. package/dist/esm/ui/TableMenu/column/items/AddColumnLeftItem.js +34 -1
  59. package/dist/esm/ui/TableMenu/column/items/AddColumnRightItem.js +34 -1
  60. package/dist/esm/ui/TableMenu/column/items/ColumnBackgroundSection.js +15 -2
  61. package/dist/esm/ui/TableMenu/column/items/ColumnToggleSection.js +15 -2
  62. package/dist/esm/ui/TableMenu/column/items/DeleteColumnItem.js +60 -3
  63. package/dist/esm/ui/TableMenu/column/items/DistributeColumnsItem.js +43 -6
  64. package/dist/esm/ui/TableMenu/column/items/HeaderColumnToggleItem.js +36 -6
  65. package/dist/esm/ui/TableMenu/column/items/MoveColumnLeftItem.js +62 -0
  66. package/dist/esm/ui/TableMenu/column/items/MoveColumnRightItem.js +42 -3
  67. package/dist/esm/ui/TableMenu/column/items/SortDecreasingItem.js +22 -1
  68. package/dist/esm/ui/TableMenu/column/items/SortIncreasingItem.js +22 -1
  69. package/dist/esm/ui/TableMenu/column/keys.js +5 -1
  70. package/dist/esm/ui/TableMenu/row/getRowMenuComponents.js +23 -8
  71. package/dist/esm/ui/TableMenu/row/items/AddRowAboveItem.js +24 -1
  72. package/dist/esm/ui/TableMenu/row/items/AddRowBelowItem.js +24 -1
  73. package/dist/esm/ui/TableMenu/row/items/DeleteRowItem.js +55 -3
  74. package/dist/esm/ui/TableMenu/row/items/HeaderRowToggleItem.js +38 -6
  75. package/dist/esm/ui/TableMenu/row/items/MoveRowDownItem.js +39 -14
  76. package/dist/esm/ui/TableMenu/row/items/MoveRowUpItem.js +39 -14
  77. package/dist/esm/ui/TableMenu/row/items/NumberedRowsToggleItem.js +29 -2
  78. package/dist/esm/ui/TableMenu/shared/consts.js +3 -1
  79. package/dist/esm/ui/TableMenu/shared/getSharedItems.js +5 -2
  80. package/dist/esm/ui/TableMenu/shared/getTableMenuComponents.js +2 -2
  81. package/dist/esm/ui/TableMenu/shared/items/ClearCellsItem.js +23 -3
  82. package/dist/esm/ui/TableMenu/shared/types.js +1 -0
  83. package/dist/types/types/index.d.ts +2 -1
  84. package/dist/types/ui/TableMenu/column/getColumnMenuComponents.d.ts +2 -1
  85. package/dist/types/ui/TableMenu/column/items/AddColumnLeftItem.d.ts +2 -1
  86. package/dist/types/ui/TableMenu/column/items/AddColumnRightItem.d.ts +2 -1
  87. package/dist/types/ui/TableMenu/column/items/ColumnBackgroundSection.d.ts +2 -1
  88. package/dist/types/ui/TableMenu/column/items/ColumnToggleSection.d.ts +2 -1
  89. package/dist/types/ui/TableMenu/column/items/DeleteColumnItem.d.ts +2 -1
  90. package/dist/types/ui/TableMenu/column/items/DistributeColumnsItem.d.ts +2 -1
  91. package/dist/types/ui/TableMenu/column/items/HeaderColumnToggleItem.d.ts +7 -3
  92. package/dist/types/ui/TableMenu/column/items/MoveColumnLeftItem.d.ts +3 -0
  93. package/dist/types/ui/TableMenu/column/items/MoveColumnRightItem.d.ts +2 -1
  94. package/dist/types/ui/TableMenu/column/items/SortDecreasingItem.d.ts +2 -1
  95. package/dist/types/ui/TableMenu/column/items/SortIncreasingItem.d.ts +2 -1
  96. package/dist/types/ui/TableMenu/column/keys.d.ts +1 -0
  97. package/dist/types/ui/TableMenu/row/getRowMenuComponents.d.ts +2 -1
  98. package/dist/types/ui/TableMenu/row/items/AddRowAboveItem.d.ts +2 -1
  99. package/dist/types/ui/TableMenu/row/items/AddRowBelowItem.d.ts +2 -1
  100. package/dist/types/ui/TableMenu/row/items/DeleteRowItem.d.ts +2 -1
  101. package/dist/types/ui/TableMenu/row/items/HeaderRowToggleItem.d.ts +2 -1
  102. package/dist/types/ui/TableMenu/row/items/MoveRowDownItem.d.ts +2 -1
  103. package/dist/types/ui/TableMenu/row/items/MoveRowUpItem.d.ts +2 -1
  104. package/dist/types/ui/TableMenu/row/items/NumberedRowsToggleItem.d.ts +2 -1
  105. package/dist/types/ui/TableMenu/shared/consts.d.ts +2 -0
  106. package/dist/types/ui/TableMenu/shared/getSharedItems.d.ts +2 -1
  107. package/dist/types/ui/TableMenu/shared/getTableMenuComponents.d.ts +2 -1
  108. package/dist/types/ui/TableMenu/shared/items/ClearCellsItem.d.ts +2 -1
  109. package/dist/types/ui/TableMenu/shared/types.d.ts +4 -0
  110. package/dist/types-ts4.5/types/index.d.ts +2 -1
  111. package/dist/types-ts4.5/ui/TableMenu/column/getColumnMenuComponents.d.ts +2 -1
  112. package/dist/types-ts4.5/ui/TableMenu/column/items/AddColumnLeftItem.d.ts +2 -1
  113. package/dist/types-ts4.5/ui/TableMenu/column/items/AddColumnRightItem.d.ts +2 -1
  114. package/dist/types-ts4.5/ui/TableMenu/column/items/ColumnBackgroundSection.d.ts +2 -1
  115. package/dist/types-ts4.5/ui/TableMenu/column/items/ColumnToggleSection.d.ts +2 -1
  116. package/dist/types-ts4.5/ui/TableMenu/column/items/DeleteColumnItem.d.ts +2 -1
  117. package/dist/types-ts4.5/ui/TableMenu/column/items/DistributeColumnsItem.d.ts +2 -1
  118. package/dist/types-ts4.5/ui/TableMenu/column/items/HeaderColumnToggleItem.d.ts +7 -3
  119. package/dist/types-ts4.5/ui/TableMenu/column/items/MoveColumnLeftItem.d.ts +3 -0
  120. package/dist/types-ts4.5/ui/TableMenu/column/items/MoveColumnRightItem.d.ts +2 -1
  121. package/dist/types-ts4.5/ui/TableMenu/column/items/SortDecreasingItem.d.ts +2 -1
  122. package/dist/types-ts4.5/ui/TableMenu/column/items/SortIncreasingItem.d.ts +2 -1
  123. package/dist/types-ts4.5/ui/TableMenu/column/keys.d.ts +1 -0
  124. package/dist/types-ts4.5/ui/TableMenu/row/getRowMenuComponents.d.ts +2 -1
  125. package/dist/types-ts4.5/ui/TableMenu/row/items/AddRowAboveItem.d.ts +2 -1
  126. package/dist/types-ts4.5/ui/TableMenu/row/items/AddRowBelowItem.d.ts +2 -1
  127. package/dist/types-ts4.5/ui/TableMenu/row/items/DeleteRowItem.d.ts +2 -1
  128. package/dist/types-ts4.5/ui/TableMenu/row/items/HeaderRowToggleItem.d.ts +2 -1
  129. package/dist/types-ts4.5/ui/TableMenu/row/items/MoveRowDownItem.d.ts +2 -1
  130. package/dist/types-ts4.5/ui/TableMenu/row/items/MoveRowUpItem.d.ts +2 -1
  131. package/dist/types-ts4.5/ui/TableMenu/row/items/NumberedRowsToggleItem.d.ts +2 -1
  132. package/dist/types-ts4.5/ui/TableMenu/shared/consts.d.ts +2 -0
  133. package/dist/types-ts4.5/ui/TableMenu/shared/getSharedItems.d.ts +2 -1
  134. package/dist/types-ts4.5/ui/TableMenu/shared/getTableMenuComponents.d.ts +2 -1
  135. package/dist/types-ts4.5/ui/TableMenu/shared/items/ClearCellsItem.d.ts +2 -1
  136. package/dist/types-ts4.5/ui/TableMenu/shared/types.d.ts +4 -0
  137. package/package.json +4 -4
@@ -7,14 +7,53 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.MoveColumnRightItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
11
+ var _hooks = require("@atlaskit/editor-common/hooks");
10
12
  var _keymaps = require("@atlaskit/editor-common/keymaps");
11
13
  var _messages = require("@atlaskit/editor-common/messages");
14
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
15
+ var _utils = require("@atlaskit/editor-tables/utils");
12
16
  var _editorToolbar = require("@atlaskit/editor-toolbar");
13
- var MoveColumnRightItem = exports.MoveColumnRightItem = function MoveColumnRightItem() {
14
- var _tooltip;
17
+ var _commandsWithAnalytics = require("../../../../pm-plugins/drag-and-drop/commands-with-analytics");
18
+ var _pluginFactory = require("../../../../pm-plugins/plugin-factory");
19
+ var _selection = require("../../../../pm-plugins/utils/selection");
20
+ var _consts = require("../../shared/consts");
21
+ var _TableMenuContext = require("../../shared/TableMenuContext");
22
+ var shouldShowMoveColumnRight = function shouldShowMoveColumnRight(isLastColumn) {
23
+ return !isLastColumn;
24
+ };
25
+ var MoveColumnRightItem = exports.MoveColumnRightItem = function MoveColumnRightItem(props) {
26
+ var _tableMenuContext$sel, _tooltip;
27
+ var api = props.api;
28
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
29
+ editorView = _useEditorToolbar.editorView;
30
+ var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
31
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
32
+ var _states$tableState;
33
+ return {
34
+ tableNode: (_states$tableState = states.tableState) === null || _states$tableState === void 0 ? void 0 : _states$tableState.tableNode
35
+ };
36
+ }),
37
+ tableNode = _useSharedPluginState.tableNode;
38
+ var selectedColumnCount = (_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedColumnCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 1;
15
39
  var _useIntl = (0, _reactIntl.useIntl)(),
16
40
  formatMessage = _useIntl.formatMessage;
41
+ var handleClick = function handleClick() {
42
+ var _api$analytics, _api$accessibilityUti;
43
+ if (!editorView) {
44
+ return;
45
+ }
46
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
47
+ if (!selectionRect) {
48
+ return;
49
+ }
50
+ (0, _commandsWithAnalytics.moveSourceWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api === null || api === void 0 || (_api$accessibilityUti = api.accessibilityUtils) === null || _api$accessibilityUti === void 0 ? void 0 : _api$accessibilityUti.actions.ariaNotify, (0, _pluginFactory.getPluginState)(editorView.state).getIntl)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, _consts.TABLE_COLUMN, (0, _selection.getSelectedColumnIndexes)(selectionRect), selectionRect.right)(editorView.state, editorView.dispatch);
51
+ };
52
+ if (!tableNode || !shouldShowMoveColumnRight(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isLastColumn)) {
53
+ return null;
54
+ }
17
55
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
56
+ onClick: handleClick,
18
57
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.TableColumnMoveRightIcon, {
19
58
  color: "currentColor",
20
59
  label: "",
@@ -24,6 +63,6 @@ var MoveColumnRightItem = exports.MoveColumnRightItem = function MoveColumnRight
24
63
  shortcut: (_tooltip = (0, _keymaps.tooltip)(_keymaps.moveColumnRight)) !== null && _tooltip !== void 0 ? _tooltip : ''
25
64
  })
26
65
  }, formatMessage(_messages.tableMessages.moveColumnRight, {
27
- 0: 1
66
+ 0: selectedColumnCount
28
67
  }));
29
68
  };
@@ -7,14 +7,35 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.SortDecreasingItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _customSteps = require("@atlaskit/custom-steps");
11
+ var _analytics = require("@atlaskit/editor-common/analytics");
10
12
  var _messages = require("@atlaskit/editor-common/messages");
13
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
14
+ var _utils = require("@atlaskit/editor-tables/utils");
11
15
  var _editorToolbar = require("@atlaskit/editor-toolbar");
16
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
12
17
  var _TableMenuContext = require("../../shared/TableMenuContext");
13
- var SortDecreasingItem = exports.SortDecreasingItem = function SortDecreasingItem() {
18
+ var SortDecreasingItem = exports.SortDecreasingItem = function SortDecreasingItem(_ref) {
19
+ var api = _ref.api;
20
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
21
+ editorView = _useEditorToolbar.editorView;
14
22
  var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
15
23
  var _useIntl = (0, _reactIntl.useIntl)(),
16
24
  formatMessage = _useIntl.formatMessage;
25
+ var handleClick = function handleClick() {
26
+ var _api$analytics;
27
+ if (!editorView) {
28
+ return;
29
+ }
30
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
31
+ var columnIndex = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.left;
32
+ if (columnIndex === undefined) {
33
+ return;
34
+ }
35
+ (0, _commandsWithAnalytics.sortColumnWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, columnIndex, _customSteps.TableSortOrder.DESC)(editorView.state, editorView.dispatch);
36
+ };
17
37
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
38
+ onClick: handleClick,
18
39
  isDisabled: Boolean(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.hasMergedCellsInTable),
19
40
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.ArrowDownIcon, {
20
41
  color: "currentColor",
@@ -7,14 +7,35 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.SortIncreasingItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _customSteps = require("@atlaskit/custom-steps");
11
+ var _analytics = require("@atlaskit/editor-common/analytics");
10
12
  var _messages = require("@atlaskit/editor-common/messages");
13
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
14
+ var _utils = require("@atlaskit/editor-tables/utils");
11
15
  var _editorToolbar = require("@atlaskit/editor-toolbar");
16
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
12
17
  var _TableMenuContext = require("../../shared/TableMenuContext");
13
- var SortIncreasingItem = exports.SortIncreasingItem = function SortIncreasingItem() {
18
+ var SortIncreasingItem = exports.SortIncreasingItem = function SortIncreasingItem(_ref) {
19
+ var api = _ref.api;
20
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
21
+ editorView = _useEditorToolbar.editorView;
14
22
  var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
15
23
  var _useIntl = (0, _reactIntl.useIntl)(),
16
24
  formatMessage = _useIntl.formatMessage;
25
+ var handleClick = function handleClick() {
26
+ var _api$analytics;
27
+ if (!editorView) {
28
+ return;
29
+ }
30
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
31
+ var columnIndex = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.left;
32
+ if (columnIndex === undefined) {
33
+ return;
34
+ }
35
+ (0, _commandsWithAnalytics.sortColumnWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, columnIndex, _customSteps.TableSortOrder.ASC)(editorView.state, editorView.dispatch);
36
+ };
17
37
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
38
+ onClick: handleClick,
18
39
  isDisabled: Boolean(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.hasMergedCellsInTable),
19
40
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.ArrowUpIcon, {
20
41
  color: "currentColor",
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.SORT_INCREASING_ITEM = exports.SORT_DECREASING_ITEM = exports.MOVE_COLUMN_RIGHT_ITEM = exports.HEADER_COLUMN_TOGGLE_ITEM = exports.DISTRIBUTE_COLUMNS_ITEM = exports.DELETE_COLUMN_ITEM = exports.COLUMN_TOGGLE_SECTION_RANK = exports.COLUMN_TOGGLE_SECTION = exports.COLUMN_SORT_SECTION_RANK = exports.COLUMN_SORT_SECTION = exports.COLUMN_SECTION_RANK = exports.COLUMN_MENU = exports.COLUMN_DANGER_SECTION_RANK = exports.COLUMN_DANGER_SECTION = exports.COLUMN_BACKGROUND_SECTION_RANK = exports.COLUMN_BACKGROUND_SECTION = exports.COLUMN_ADD_SECTION_RANK = exports.COLUMN_ADD_SECTION = exports.ADD_COLUMN_RIGHT_ITEM = exports.ADD_COLUMN_LEFT_ITEM = void 0;
7
+ exports.SORT_INCREASING_ITEM = exports.SORT_DECREASING_ITEM = exports.MOVE_COLUMN_RIGHT_ITEM = exports.MOVE_COLUMN_LEFT_ITEM = exports.HEADER_COLUMN_TOGGLE_ITEM = exports.DISTRIBUTE_COLUMNS_ITEM = exports.DELETE_COLUMN_ITEM = exports.COLUMN_TOGGLE_SECTION_RANK = exports.COLUMN_TOGGLE_SECTION = exports.COLUMN_SORT_SECTION_RANK = exports.COLUMN_SORT_SECTION = exports.COLUMN_SECTION_RANK = exports.COLUMN_MENU = exports.COLUMN_DANGER_SECTION_RANK = exports.COLUMN_DANGER_SECTION = exports.COLUMN_BACKGROUND_SECTION_RANK = exports.COLUMN_BACKGROUND_SECTION = exports.COLUMN_ADD_SECTION_RANK = exports.COLUMN_ADD_SECTION = exports.ADD_COLUMN_RIGHT_ITEM = exports.ADD_COLUMN_LEFT_ITEM = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _keys = require("../shared/keys");
10
10
  // --- Menu surface ---
@@ -57,6 +57,10 @@ var ADD_COLUMN_RIGHT_ITEM = exports.ADD_COLUMN_RIGHT_ITEM = {
57
57
  type: 'menu-item',
58
58
  key: 'add-column-right'
59
59
  };
60
+ var MOVE_COLUMN_LEFT_ITEM = exports.MOVE_COLUMN_LEFT_ITEM = {
61
+ type: 'menu-item',
62
+ key: 'move-column-left'
63
+ };
60
64
  var MOVE_COLUMN_RIGHT_ITEM = exports.MOVE_COLUMN_RIGHT_ITEM = {
61
65
  type: 'menu-item',
62
66
  key: 'move-column-right'
@@ -75,5 +79,5 @@ var DELETE_COLUMN_ITEM = exports.DELETE_COLUMN_ITEM = {
75
79
  var COLUMN_TOGGLE_SECTION_RANK = exports.COLUMN_TOGGLE_SECTION_RANK = (0, _defineProperty2.default)({}, HEADER_COLUMN_TOGGLE_ITEM.key, 100);
76
80
  var COLUMN_BACKGROUND_SECTION_RANK = exports.COLUMN_BACKGROUND_SECTION_RANK = (0, _defineProperty2.default)({}, _keys.BACKGROUND_COLOR_ITEM.key, 100);
77
81
  var COLUMN_SORT_SECTION_RANK = exports.COLUMN_SORT_SECTION_RANK = (0, _defineProperty2.default)((0, _defineProperty2.default)({}, SORT_INCREASING_ITEM.key, 100), SORT_DECREASING_ITEM.key, 200);
78
- var COLUMN_ADD_SECTION_RANK = exports.COLUMN_ADD_SECTION_RANK = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, ADD_COLUMN_LEFT_ITEM.key, 100), ADD_COLUMN_RIGHT_ITEM.key, 200), MOVE_COLUMN_RIGHT_ITEM.key, 300), DISTRIBUTE_COLUMNS_ITEM.key, 400);
82
+ var COLUMN_ADD_SECTION_RANK = exports.COLUMN_ADD_SECTION_RANK = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, ADD_COLUMN_LEFT_ITEM.key, 100), ADD_COLUMN_RIGHT_ITEM.key, 200), MOVE_COLUMN_LEFT_ITEM.key, 300), MOVE_COLUMN_RIGHT_ITEM.key, 400), DISTRIBUTE_COLUMNS_ITEM.key, 500);
79
83
  var COLUMN_DANGER_SECTION_RANK = exports.COLUMN_DANGER_SECTION_RANK = (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _keys.CLEAR_CELLS_ITEM.key, 100), DELETE_COLUMN_ITEM.key, 200);
@@ -15,7 +15,8 @@ var _MoveRowDownItem = require("./items/MoveRowDownItem");
15
15
  var _MoveRowUpItem = require("./items/MoveRowUpItem");
16
16
  var _NumberedRowsToggleItem = require("./items/NumberedRowsToggleItem");
17
17
  var _keys = require("./keys");
18
- var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuComponents() {
18
+ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuComponents(_ref) {
19
+ var api = _ref.api;
19
20
  return [
20
21
  // --- Menu surface ---
21
22
  {
@@ -43,7 +44,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
43
44
  rank: _keys.ROW_TOGGLE_SECTION_RANK[_keys.HEADER_ROW_TOGGLE_ITEM.key]
44
45
  }],
45
46
  component: function component() {
46
- return /*#__PURE__*/_react.default.createElement(_HeaderRowToggleItem.HeaderRowToggleItem, null);
47
+ return /*#__PURE__*/_react.default.createElement(_HeaderRowToggleItem.HeaderRowToggleItem, {
48
+ api: api
49
+ });
47
50
  }
48
51
  }, {
49
52
  type: _keys.NUMBERED_ROWS_TOGGLE_ITEM.type,
@@ -54,7 +57,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
54
57
  rank: _keys.ROW_TOGGLE_SECTION_RANK[_keys.NUMBERED_ROWS_TOGGLE_ITEM.key]
55
58
  }],
56
59
  component: function component() {
57
- return /*#__PURE__*/_react.default.createElement(_NumberedRowsToggleItem.NumberedRowsToggleItem, null);
60
+ return /*#__PURE__*/_react.default.createElement(_NumberedRowsToggleItem.NumberedRowsToggleItem, {
61
+ api: api
62
+ });
58
63
  }
59
64
  },
60
65
  // --- Background color section ---
@@ -95,7 +100,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
95
100
  rank: _keys.ROW_ADD_SECTION_RANK[_keys.ADD_ROW_ABOVE_ITEM.key]
96
101
  }],
97
102
  component: function component() {
98
- return /*#__PURE__*/_react.default.createElement(_AddRowAboveItem.AddRowAboveItem, null);
103
+ return /*#__PURE__*/_react.default.createElement(_AddRowAboveItem.AddRowAboveItem, {
104
+ api: api
105
+ });
99
106
  }
100
107
  }, {
101
108
  type: _keys.ADD_ROW_BELOW_ITEM.type,
@@ -106,7 +113,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
106
113
  rank: _keys.ROW_ADD_SECTION_RANK[_keys.ADD_ROW_BELOW_ITEM.key]
107
114
  }],
108
115
  component: function component() {
109
- return /*#__PURE__*/_react.default.createElement(_AddRowBelowItem.AddRowBelowItem, null);
116
+ return /*#__PURE__*/_react.default.createElement(_AddRowBelowItem.AddRowBelowItem, {
117
+ api: api
118
+ });
110
119
  }
111
120
  }, {
112
121
  type: _keys.MOVE_ROW_UP_ITEM.type,
@@ -117,7 +126,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
117
126
  rank: _keys.ROW_ADD_SECTION_RANK[_keys.MOVE_ROW_UP_ITEM.key]
118
127
  }],
119
128
  component: function component() {
120
- return /*#__PURE__*/_react.default.createElement(_MoveRowUpItem.MoveRowUpItem, null);
129
+ return /*#__PURE__*/_react.default.createElement(_MoveRowUpItem.MoveRowUpItem, {
130
+ api: api
131
+ });
121
132
  }
122
133
  }, {
123
134
  type: _keys.MOVE_ROW_DOWN_ITEM.type,
@@ -128,7 +139,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
128
139
  rank: _keys.ROW_ADD_SECTION_RANK[_keys.MOVE_ROW_DOWN_ITEM.key]
129
140
  }],
130
141
  component: function component() {
131
- return /*#__PURE__*/_react.default.createElement(_MoveRowDownItem.MoveRowDownItem, null);
142
+ return /*#__PURE__*/_react.default.createElement(_MoveRowDownItem.MoveRowDownItem, {
143
+ api: api
144
+ });
132
145
  }
133
146
  },
134
147
  // --- Danger section (Clear cells, Delete row) ---
@@ -154,7 +167,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
154
167
  rank: _keys.ROW_DANGER_SECTION_RANK[_keys.DELETE_ROW_ITEM.key]
155
168
  }],
156
169
  component: function component() {
157
- return /*#__PURE__*/_react.default.createElement(_DeleteRowItem.DeleteRowItem, null);
170
+ return /*#__PURE__*/_react.default.createElement(_DeleteRowItem.DeleteRowItem, {
171
+ api: api
172
+ });
158
173
  }
159
174
  }];
160
175
  };
@@ -7,14 +7,37 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.AddRowAboveItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
10
11
  var _keymaps = require("@atlaskit/editor-common/keymaps");
11
12
  var _messages = require("@atlaskit/editor-common/messages");
13
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
14
+ var _utils = require("@atlaskit/editor-tables/utils");
12
15
  var _editorToolbar = require("@atlaskit/editor-toolbar");
13
- var AddRowAboveItem = exports.AddRowAboveItem = function AddRowAboveItem() {
16
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
17
+ var AddRowAboveItem = exports.AddRowAboveItem = function AddRowAboveItem(props) {
14
18
  var _tooltip;
19
+ var api = props.api;
20
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
21
+ editorView = _useEditorToolbar.editorView;
15
22
  var _useIntl = (0, _reactIntl.useIntl)(),
16
23
  formatMessage = _useIntl.formatMessage;
24
+ var handleClick = function handleClick() {
25
+ var _api$analytics;
26
+ if (!editorView) {
27
+ return;
28
+ }
29
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
30
+ var index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.top;
31
+ if (index === undefined) {
32
+ return;
33
+ }
34
+ (0, _commandsWithAnalytics.insertRowWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, {
35
+ index: index,
36
+ moveCursorToInsertedRow: true
37
+ })(editorView.state, editorView.dispatch);
38
+ };
17
39
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
40
+ onClick: handleClick,
18
41
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.TableRowAddAboveIcon, {
19
42
  color: "currentColor",
20
43
  label: "",
@@ -7,14 +7,37 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.AddRowBelowItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
10
11
  var _keymaps = require("@atlaskit/editor-common/keymaps");
11
12
  var _messages = require("@atlaskit/editor-common/messages");
13
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
14
+ var _utils = require("@atlaskit/editor-tables/utils");
12
15
  var _editorToolbar = require("@atlaskit/editor-toolbar");
13
- var AddRowBelowItem = exports.AddRowBelowItem = function AddRowBelowItem() {
16
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
17
+ var AddRowBelowItem = exports.AddRowBelowItem = function AddRowBelowItem(props) {
14
18
  var _tooltip;
19
+ var api = props.api;
20
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
21
+ editorView = _useEditorToolbar.editorView;
15
22
  var _useIntl = (0, _reactIntl.useIntl)(),
16
23
  formatMessage = _useIntl.formatMessage;
24
+ var handleClick = function handleClick() {
25
+ var _api$analytics;
26
+ if (!editorView) {
27
+ return;
28
+ }
29
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
30
+ var index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.bottom;
31
+ if (index === undefined) {
32
+ return;
33
+ }
34
+ (0, _commandsWithAnalytics.insertRowWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, {
35
+ index: index,
36
+ moveCursorToInsertedRow: true
37
+ })(editorView.state, editorView.dispatch);
38
+ };
17
39
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
40
+ onClick: handleClick,
18
41
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.TableRowAddBelowIcon, {
19
42
  color: "currentColor",
20
43
  label: "",
@@ -7,14 +7,66 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.DeleteRowItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
11
+ var _hooks = require("@atlaskit/editor-common/hooks");
10
12
  var _keymaps = require("@atlaskit/editor-common/keymaps");
11
13
  var _messages = require("@atlaskit/editor-common/messages");
14
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
15
+ var _utils = require("@atlaskit/editor-tables/utils");
12
16
  var _editorToolbar = require("@atlaskit/editor-toolbar");
13
- var DeleteRowItem = exports.DeleteRowItem = function DeleteRowItem() {
14
- var _tooltip;
17
+ var _commands = require("../../../../pm-plugins/commands");
18
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
19
+ var _selection = require("../../../../pm-plugins/utils/selection");
20
+ var _TableMenuContext = require("../../shared/TableMenuContext");
21
+ var DeleteRowItem = exports.DeleteRowItem = function DeleteRowItem(props) {
22
+ var _tableMenuContext$sel, _tooltip;
23
+ var api = props.api;
24
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
25
+ editorView = _useEditorToolbar.editorView;
26
+ var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
27
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
28
+ var _states$tableState;
29
+ return {
30
+ isHeaderRowRequired: (_states$tableState = states.tableState) === null || _states$tableState === void 0 || (_states$tableState = _states$tableState.pluginConfig) === null || _states$tableState === void 0 ? void 0 : _states$tableState.isHeaderRowRequired
31
+ };
32
+ }),
33
+ isHeaderRowRequired = _useSharedPluginState.isHeaderRowRequired;
34
+ var selectedRowCount = (_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedRowCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 1;
15
35
  var _useIntl = (0, _reactIntl.useIntl)(),
16
36
  formatMessage = _useIntl.formatMessage;
37
+ var handleMouseEnter = function handleMouseEnter() {
38
+ if (!editorView) {
39
+ return;
40
+ }
41
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
42
+ if (!selectionRect) {
43
+ return;
44
+ }
45
+ (0, _commands.hoverRows)((0, _selection.getSelectedRowIndexes)(selectionRect), true)(editorView.state, editorView.dispatch);
46
+ };
47
+ var handleMouseLeave = function handleMouseLeave() {
48
+ if (!editorView) {
49
+ return;
50
+ }
51
+ (0, _commands.clearHoverSelection)()(editorView.state, editorView.dispatch);
52
+ };
53
+ var handleClick = function handleClick() {
54
+ var _api$analytics;
55
+ if (!editorView) {
56
+ return;
57
+ }
58
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
59
+ if (!selectionRect) {
60
+ return;
61
+ }
62
+ (0, _commandsWithAnalytics.deleteRowsWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect, !!isHeaderRowRequired)(editorView.state, editorView.dispatch);
63
+ };
17
64
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
65
+ onClick: handleClick,
66
+ onFocus: handleMouseEnter,
67
+ onMouseEnter: handleMouseEnter,
68
+ onBlur: handleMouseLeave,
69
+ onMouseLeave: handleMouseLeave,
18
70
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.DeleteIcon, {
19
71
  color: "currentColor",
20
72
  label: "",
@@ -24,6 +76,6 @@ var DeleteRowItem = exports.DeleteRowItem = function DeleteRowItem() {
24
76
  shortcut: (_tooltip = (0, _keymaps.tooltip)(_keymaps.deleteRow)) !== null && _tooltip !== void 0 ? _tooltip : ''
25
77
  })
26
78
  }, formatMessage(_messages.tableMessages.removeRows, {
27
- 0: 1
79
+ 0: selectedRowCount
28
80
  }));
29
81
  };
@@ -7,26 +7,59 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.HeaderRowToggleItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _hooks = require("@atlaskit/editor-common/hooks");
10
11
  var _messages = require("@atlaskit/editor-common/messages");
12
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
11
13
  var _editorToolbar = require("@atlaskit/editor-toolbar");
12
14
  var _toggle = _interopRequireDefault(require("@atlaskit/toggle"));
15
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
13
16
  var _TableMenuContext = require("../../shared/TableMenuContext");
14
17
  /** Header row toggle is only visible when the first row is the entire selection. */
15
- var shouldShowHeaderRowToggle = function shouldShowHeaderRowToggle(tableMenuContext) {
16
- return (tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstRow) === true && tableMenuContext.selectedRowCount === 1;
18
+ var shouldShowHeaderRowToggle = function shouldShowHeaderRowToggle(_ref) {
19
+ var isFirstRow = _ref.isFirstRow,
20
+ isHeaderRowAllowed = _ref.isHeaderRowAllowed,
21
+ selectedRowCount = _ref.selectedRowCount;
22
+ return isHeaderRowAllowed === true && isFirstRow && selectedRowCount === 1;
17
23
  };
18
- var HeaderRowToggleItem = exports.HeaderRowToggleItem = function HeaderRowToggleItem() {
24
+ var HeaderRowToggleItem = exports.HeaderRowToggleItem = function HeaderRowToggleItem(props) {
25
+ var _tableMenuContext$sel;
26
+ var api = props.api;
27
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
28
+ editorView = _useEditorToolbar.editorView;
19
29
  var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
30
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
31
+ var _states$tableState, _states$tableState2;
32
+ return {
33
+ isHeaderRowAllowed: (_states$tableState = states.tableState) === null || _states$tableState === void 0 || (_states$tableState = _states$tableState.pluginConfig) === null || _states$tableState === void 0 ? void 0 : _states$tableState.allowHeaderRow,
34
+ isHeaderRowEnabled: (_states$tableState2 = states.tableState) === null || _states$tableState2 === void 0 ? void 0 : _states$tableState2.isHeaderRowEnabled
35
+ };
36
+ }),
37
+ isHeaderRowAllowed = _useSharedPluginState.isHeaderRowAllowed,
38
+ isHeaderRowEnabled = _useSharedPluginState.isHeaderRowEnabled;
39
+ var selectedRowCount = (_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedRowCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 0;
20
40
  var _useIntl = (0, _reactIntl.useIntl)(),
21
41
  formatMessage = _useIntl.formatMessage;
22
42
  var label = formatMessage(_messages.tableMessages.headerRow);
23
- if (!shouldShowHeaderRowToggle(tableMenuContext)) {
43
+ var handleClick = function handleClick() {
44
+ var _api$analytics;
45
+ if (!editorView) {
46
+ return;
47
+ }
48
+ (0, _commandsWithAnalytics.toggleHeaderRowWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(editorView.state, editorView.dispatch);
49
+ };
50
+ if (!shouldShowHeaderRowToggle({
51
+ isFirstRow: (tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstRow) === true,
52
+ isHeaderRowAllowed: isHeaderRowAllowed,
53
+ selectedRowCount: selectedRowCount
54
+ })) {
24
55
  return null;
25
56
  }
26
57
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
58
+ onClick: handleClick,
27
59
  elemAfter: /*#__PURE__*/_react.default.createElement(_toggle.default, {
28
60
  label: label,
29
- isChecked: false
61
+ isChecked: !!isHeaderRowEnabled,
62
+ onChange: handleClick
30
63
  })
31
64
  }, label);
32
65
  };
@@ -7,37 +7,62 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.MoveRowDownItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
11
+ var _hooks = require("@atlaskit/editor-common/hooks");
10
12
  var _keymaps = require("@atlaskit/editor-common/keymaps");
11
13
  var _messages = require("@atlaskit/editor-common/messages");
14
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
15
+ var _utils = require("@atlaskit/editor-tables/utils");
12
16
  var _editorToolbar = require("@atlaskit/editor-toolbar");
13
- var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
17
+ var _commandsWithAnalytics = require("../../../../pm-plugins/drag-and-drop/commands-with-analytics");
18
+ var _pluginFactory = require("../../../../pm-plugins/plugin-factory");
19
+ var _selection = require("../../../../pm-plugins/utils/selection");
20
+ var _consts = require("../../shared/consts");
14
21
  var _TableMenuContext = require("../../shared/TableMenuContext");
15
- var getMoveRowDownShortcut = function getMoveRowDownShortcut() {
16
- return (0, _keymaps.tooltip)((0, _expValEquals.expValEquals)('editor-a11y-fy26-keyboard-move-row-column', 'isEnabled', true) ? _keymaps.moveRowDown : _keymaps.moveRowDownOld);
22
+ var shouldShowMoveRowDown = function shouldShowMoveRowDown(isLastRow) {
23
+ return !isLastRow;
17
24
  };
18
-
19
- /** Move row down is hidden when the selection includes the last row (cannot move further down). */
20
- var shouldShowMoveRowDown = function shouldShowMoveRowDown(tableMenuContext) {
21
- return !(tableMenuContext !== null && tableMenuContext !== void 0 && tableMenuContext.isLastRow);
22
- };
23
- var MoveRowDownItem = exports.MoveRowDownItem = function MoveRowDownItem() {
24
- var _getMoveRowDownShortc;
25
+ var MoveRowDownItem = exports.MoveRowDownItem = function MoveRowDownItem(props) {
26
+ var _tableMenuContext$sel, _tooltip;
27
+ var api = props.api;
28
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
29
+ editorView = _useEditorToolbar.editorView;
25
30
  var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
31
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
32
+ var _states$tableState;
33
+ return {
34
+ tableNode: (_states$tableState = states.tableState) === null || _states$tableState === void 0 ? void 0 : _states$tableState.tableNode
35
+ };
36
+ }),
37
+ tableNode = _useSharedPluginState.tableNode;
38
+ var selectedRowCount = (_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedRowCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 1;
26
39
  var _useIntl = (0, _reactIntl.useIntl)(),
27
40
  formatMessage = _useIntl.formatMessage;
28
- if (!shouldShowMoveRowDown(tableMenuContext)) {
41
+ var handleClick = function handleClick() {
42
+ var _api$analytics, _api$accessibilityUti;
43
+ if (!editorView) {
44
+ return;
45
+ }
46
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
47
+ if (!selectionRect) {
48
+ return;
49
+ }
50
+ (0, _commandsWithAnalytics.moveSourceWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api === null || api === void 0 || (_api$accessibilityUti = api.accessibilityUtils) === null || _api$accessibilityUti === void 0 ? void 0 : _api$accessibilityUti.actions.ariaNotify, (0, _pluginFactory.getPluginState)(editorView.state).getIntl)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, _consts.TABLE_ROW, (0, _selection.getSelectedRowIndexes)(selectionRect), selectionRect.bottom)(editorView.state, editorView.dispatch);
51
+ };
52
+ if (!tableNode || !shouldShowMoveRowDown(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isLastRow)) {
29
53
  return null;
30
54
  }
31
55
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
56
+ onClick: handleClick,
32
57
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.TableRowMoveDownIcon, {
33
58
  color: "currentColor",
34
59
  label: "",
35
60
  size: "small"
36
61
  }),
37
62
  elemAfter: /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarKeyboardShortcutHint, {
38
- shortcut: (_getMoveRowDownShortc = getMoveRowDownShortcut()) !== null && _getMoveRowDownShortc !== void 0 ? _getMoveRowDownShortc : ''
63
+ shortcut: (_tooltip = (0, _keymaps.tooltip)(_keymaps.moveRowDown)) !== null && _tooltip !== void 0 ? _tooltip : ''
39
64
  })
40
65
  }, formatMessage(_messages.tableMessages.moveRowDown, {
41
- 0: 1
66
+ 0: selectedRowCount
42
67
  }));
43
68
  };
@@ -7,37 +7,62 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.MoveRowUpItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
11
+ var _hooks = require("@atlaskit/editor-common/hooks");
10
12
  var _keymaps = require("@atlaskit/editor-common/keymaps");
11
13
  var _messages = require("@atlaskit/editor-common/messages");
14
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
15
+ var _utils = require("@atlaskit/editor-tables/utils");
12
16
  var _editorToolbar = require("@atlaskit/editor-toolbar");
13
- var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
17
+ var _commandsWithAnalytics = require("../../../../pm-plugins/drag-and-drop/commands-with-analytics");
18
+ var _pluginFactory = require("../../../../pm-plugins/plugin-factory");
19
+ var _selection = require("../../../../pm-plugins/utils/selection");
20
+ var _consts = require("../../shared/consts");
14
21
  var _TableMenuContext = require("../../shared/TableMenuContext");
15
- var getMoveRowUpShortcut = function getMoveRowUpShortcut() {
16
- return (0, _keymaps.tooltip)((0, _expValEquals.expValEquals)('editor-a11y-fy26-keyboard-move-row-column', 'isEnabled', true) ? _keymaps.moveRowUp : _keymaps.moveRowUpOld);
22
+ var shouldShowMoveRowUp = function shouldShowMoveRowUp(isFirstRow) {
23
+ return !isFirstRow;
17
24
  };
18
-
19
- /** Move row up is hidden when the selection includes row 0 (cannot move further up). */
20
- var shouldShowMoveRowUp = function shouldShowMoveRowUp(tableMenuContext) {
21
- return !(tableMenuContext !== null && tableMenuContext !== void 0 && tableMenuContext.isFirstRow);
22
- };
23
- var MoveRowUpItem = exports.MoveRowUpItem = function MoveRowUpItem() {
24
- var _getMoveRowUpShortcut;
25
+ var MoveRowUpItem = exports.MoveRowUpItem = function MoveRowUpItem(props) {
26
+ var _tableMenuContext$sel, _tooltip;
27
+ var api = props.api;
28
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
29
+ editorView = _useEditorToolbar.editorView;
25
30
  var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
31
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
32
+ var _states$tableState;
33
+ return {
34
+ tableNode: (_states$tableState = states.tableState) === null || _states$tableState === void 0 ? void 0 : _states$tableState.tableNode
35
+ };
36
+ }),
37
+ tableNode = _useSharedPluginState.tableNode;
38
+ var selectedRowCount = (_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedRowCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 1;
26
39
  var _useIntl = (0, _reactIntl.useIntl)(),
27
40
  formatMessage = _useIntl.formatMessage;
28
- if (!shouldShowMoveRowUp(tableMenuContext)) {
41
+ var handleClick = function handleClick() {
42
+ var _api$analytics, _api$accessibilityUti;
43
+ if (!editorView) {
44
+ return;
45
+ }
46
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
47
+ if (!selectionRect) {
48
+ return;
49
+ }
50
+ (0, _commandsWithAnalytics.moveSourceWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api === null || api === void 0 || (_api$accessibilityUti = api.accessibilityUtils) === null || _api$accessibilityUti === void 0 ? void 0 : _api$accessibilityUti.actions.ariaNotify, (0, _pluginFactory.getPluginState)(editorView.state).getIntl)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, _consts.TABLE_ROW, (0, _selection.getSelectedRowIndexes)(selectionRect), selectionRect.top - 1)(editorView.state, editorView.dispatch);
51
+ };
52
+ if (!tableNode || !shouldShowMoveRowUp(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstRow)) {
29
53
  return null;
30
54
  }
31
55
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
56
+ onClick: handleClick,
32
57
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.TableRowMoveUpIcon, {
33
58
  color: "currentColor",
34
59
  label: "",
35
60
  size: "small"
36
61
  }),
37
62
  elemAfter: /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarKeyboardShortcutHint, {
38
- shortcut: (_getMoveRowUpShortcut = getMoveRowUpShortcut()) !== null && _getMoveRowUpShortcut !== void 0 ? _getMoveRowUpShortcut : ''
63
+ shortcut: (_tooltip = (0, _keymaps.tooltip)(_keymaps.moveRowUp)) !== null && _tooltip !== void 0 ? _tooltip : ''
39
64
  })
40
65
  }, formatMessage(_messages.tableMessages.moveRowUp, {
41
- 0: 1
66
+ 0: selectedRowCount
42
67
  }));
43
68
  };