@atlaskit/editor-plugin-table 7.6.2 → 7.6.3
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.
- package/CHANGELOG.md +6 -0
- package/dist/cjs/nodeviews/TableComponent.js +25 -11
- package/dist/cjs/nodeviews/TableComponentWithSharedState.js +87 -0
- package/dist/cjs/nodeviews/TableContainer.js +8 -4
- package/dist/cjs/nodeviews/TableResizer.js +4 -5
- package/dist/cjs/nodeviews/table.js +21 -1
- package/dist/cjs/plugin.js +24 -2
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/ui/TableFloatingColumnControls/ColumnControls/index.js +6 -2
- package/dist/cjs/ui/TableFloatingColumnControls/index.js +5 -2
- package/dist/cjs/ui/TableFloatingControls/CornerControls/DragCornerControls.js +48 -1
- package/dist/cjs/ui/TableFloatingControls/CornerControls/index.js +6 -0
- package/dist/cjs/ui/TableFloatingControls/FloatingControlsWithSelection.js +47 -0
- package/dist/cjs/ui/TableFloatingControls/RowControls/ClassicControls.js +3 -2
- package/dist/cjs/ui/TableFloatingControls/index.js +25 -3
- package/dist/cjs/ui/common-styles.js +11 -6
- package/dist/es2019/nodeviews/TableComponent.js +27 -12
- package/dist/es2019/nodeviews/TableComponentWithSharedState.js +83 -0
- package/dist/es2019/nodeviews/TableContainer.js +8 -4
- package/dist/es2019/nodeviews/TableResizer.js +2 -4
- package/dist/es2019/nodeviews/table.js +21 -1
- package/dist/es2019/plugin.js +25 -3
- package/dist/es2019/types.js +3 -0
- package/dist/es2019/ui/TableFloatingColumnControls/ColumnControls/index.js +7 -2
- package/dist/es2019/ui/TableFloatingColumnControls/index.js +5 -2
- package/dist/es2019/ui/TableFloatingControls/CornerControls/DragCornerControls.js +55 -0
- package/dist/es2019/ui/TableFloatingControls/CornerControls/index.js +1 -1
- package/dist/es2019/ui/TableFloatingControls/FloatingControlsWithSelection.js +42 -0
- package/dist/es2019/ui/TableFloatingControls/RowControls/ClassicControls.js +3 -2
- package/dist/es2019/ui/TableFloatingControls/index.js +26 -4
- package/dist/es2019/ui/common-styles.js +589 -588
- package/dist/esm/nodeviews/TableComponent.js +25 -11
- package/dist/esm/nodeviews/TableComponentWithSharedState.js +80 -0
- package/dist/esm/nodeviews/TableContainer.js +8 -4
- package/dist/esm/nodeviews/TableResizer.js +4 -5
- package/dist/esm/nodeviews/table.js +21 -1
- package/dist/esm/plugin.js +25 -3
- package/dist/esm/types.js +3 -0
- package/dist/esm/ui/TableFloatingColumnControls/ColumnControls/index.js +6 -2
- package/dist/esm/ui/TableFloatingColumnControls/index.js +5 -2
- package/dist/esm/ui/TableFloatingControls/CornerControls/DragCornerControls.js +47 -0
- package/dist/esm/ui/TableFloatingControls/CornerControls/index.js +1 -1
- package/dist/esm/ui/TableFloatingControls/FloatingControlsWithSelection.js +40 -0
- package/dist/esm/ui/TableFloatingControls/RowControls/ClassicControls.js +3 -2
- package/dist/esm/ui/TableFloatingControls/index.js +26 -4
- package/dist/esm/ui/common-styles.js +10 -5
- package/dist/types/nodeviews/TableComponent.d.ts +7 -2
- package/dist/types/nodeviews/TableComponentWithSharedState.d.ts +27 -0
- package/dist/types/nodeviews/TableContainer.d.ts +4 -2
- package/dist/types/nodeviews/TableResizer.d.ts +2 -1
- package/dist/types/nodeviews/types.d.ts +1 -0
- package/dist/types/plugin.d.ts +11 -7
- package/dist/types/types.d.ts +8 -2
- package/dist/types/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +113 -1
- package/dist/types/ui/TableFloatingColumnControls/index.d.ts +3 -2
- package/dist/types/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +223 -0
- package/dist/types/ui/TableFloatingControls/CornerControls/index.d.ts +1 -1
- package/dist/types/ui/TableFloatingControls/FloatingControlsWithSelection.d.ts +20 -0
- package/dist/types/ui/TableFloatingControls/RowControls/ClassicControls.d.ts +2 -0
- package/dist/types/ui/TableFloatingControls/index.d.ts +113 -1
- package/dist/types/ui/common-styles.d.ts +3 -0
- package/dist/types-ts4.5/nodeviews/TableComponent.d.ts +7 -2
- package/dist/types-ts4.5/nodeviews/TableComponentWithSharedState.d.ts +27 -0
- package/dist/types-ts4.5/nodeviews/TableContainer.d.ts +4 -2
- package/dist/types-ts4.5/nodeviews/TableResizer.d.ts +2 -1
- package/dist/types-ts4.5/nodeviews/types.d.ts +1 -0
- package/dist/types-ts4.5/plugin.d.ts +11 -7
- package/dist/types-ts4.5/types.d.ts +8 -2
- package/dist/types-ts4.5/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +144 -1
- package/dist/types-ts4.5/ui/TableFloatingColumnControls/index.d.ts +3 -2
- package/dist/types-ts4.5/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +285 -0
- package/dist/types-ts4.5/ui/TableFloatingControls/CornerControls/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/TableFloatingControls/FloatingControlsWithSelection.d.ts +20 -0
- package/dist/types-ts4.5/ui/TableFloatingControls/RowControls/ClassicControls.d.ts +2 -0
- package/dist/types-ts4.5/ui/TableFloatingControls/index.d.ts +144 -1
- package/dist/types-ts4.5/ui/common-styles.d.ts +3 -0
- package/package.json +6 -3
- package/src/nodeviews/TableComponent.tsx +36 -7
- package/src/nodeviews/TableComponentWithSharedState.tsx +125 -0
- package/src/nodeviews/TableContainer.tsx +6 -0
- package/src/nodeviews/TableResizer.tsx +2 -1
- package/src/nodeviews/table.tsx +22 -1
- package/src/nodeviews/types.ts +1 -0
- package/src/plugin.tsx +46 -6
- package/src/types.ts +27 -2
- package/src/ui/TableFloatingColumnControls/ColumnControls/index.tsx +10 -2
- package/src/ui/TableFloatingColumnControls/index.tsx +13 -1
- package/src/ui/TableFloatingControls/CornerControls/DragCornerControls.tsx +58 -0
- package/src/ui/TableFloatingControls/CornerControls/index.tsx +4 -1
- package/src/ui/TableFloatingControls/FloatingControlsWithSelection.tsx +68 -0
- package/src/ui/TableFloatingControls/RowControls/ClassicControls.tsx +4 -1
- package/src/ui/TableFloatingControls/index.tsx +42 -8
- package/src/ui/common-styles.ts +611 -610
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-table
|
|
2
2
|
|
|
3
|
+
## 7.6.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#82198](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/82198) [`fb41831c5371`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/fb41831c5371) - Remove WithPluginState behind a feature flag and introduce basic gemini tests
|
|
8
|
+
|
|
3
9
|
## 7.6.2
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -505,9 +505,12 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
505
505
|
options = _this$props10.options,
|
|
506
506
|
isTableScalingEnabled = _this$props10.isTableScalingEnabled,
|
|
507
507
|
getPos = _this$props10.getPos;
|
|
508
|
-
var
|
|
509
|
-
isInDanger = _getPluginState.isInDanger;
|
|
508
|
+
var isInDanger = this.props.isInDanger;
|
|
510
509
|
var table = (0, _utils2.findTable)(view.state.selection);
|
|
510
|
+
if (!(0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-shared-state-hook')) {
|
|
511
|
+
var pluginState = (0, _pluginFactory.getPluginState)(view.state);
|
|
512
|
+
isInDanger = pluginState.isInDanger;
|
|
513
|
+
}
|
|
511
514
|
if (isTableScalingEnabled) {
|
|
512
515
|
this.handleColgroupUpdates();
|
|
513
516
|
}
|
|
@@ -609,16 +612,24 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
609
612
|
isDragAndDropEnabled = _this$props11.isDragAndDropEnabled,
|
|
610
613
|
getEditorFeatureFlags = _this$props11.getEditorFeatureFlags,
|
|
611
614
|
isTableScalingEnabled = _this$props11.isTableScalingEnabled;
|
|
615
|
+
var _this$props12 = this.props,
|
|
616
|
+
isInDanger = _this$props12.isInDanger,
|
|
617
|
+
hoveredRows = _this$props12.hoveredRows,
|
|
618
|
+
hoveredCell = _this$props12.hoveredCell,
|
|
619
|
+
isTableHovered = _this$props12.isTableHovered,
|
|
620
|
+
isWholeTableInDanger = _this$props12.isWholeTableInDanger;
|
|
612
621
|
var _this$state3 = this.state,
|
|
613
622
|
showBeforeShadow = _this$state3.showBeforeShadow,
|
|
614
623
|
showAfterShadow = _this$state3.showAfterShadow;
|
|
615
624
|
var node = getNode();
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
isInDanger =
|
|
619
|
-
hoveredRows =
|
|
620
|
-
hoveredCell =
|
|
621
|
-
isTableHovered =
|
|
625
|
+
if (!(0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-shared-state-hook')) {
|
|
626
|
+
var pluginState = (0, _pluginFactory.getPluginState)(view.state);
|
|
627
|
+
isInDanger = pluginState.isInDanger;
|
|
628
|
+
hoveredRows = pluginState.hoveredRows;
|
|
629
|
+
hoveredCell = pluginState.hoveredCell;
|
|
630
|
+
isTableHovered = pluginState.isTableHovered;
|
|
631
|
+
isWholeTableInDanger = pluginState.isWholeTableInDanger;
|
|
632
|
+
}
|
|
622
633
|
var tableRef = this.table || undefined;
|
|
623
634
|
var headerRow = tableRef ? tableRef.querySelector('tr[data-header-row]') : undefined;
|
|
624
635
|
var hasHeaderRow = (0, _utils5.containsHeaderRow)(node);
|
|
@@ -643,7 +654,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
643
654
|
selection: view.state.selection,
|
|
644
655
|
headerRowHeight: headerRow ? headerRow.offsetHeight : undefined,
|
|
645
656
|
stickyHeader: this.state.stickyHeader,
|
|
646
|
-
tableWrapperWidth: this.state.tableWrapperWidth
|
|
657
|
+
tableWrapperWidth: this.state.tableWrapperWidth,
|
|
658
|
+
api: pluginInjectionApi
|
|
647
659
|
});
|
|
648
660
|
var tableContainerWidth = (0, _nodeWidth.getTableContainerWidth)(node);
|
|
649
661
|
var colControls = isDragAndDropEnabled ? /*#__PURE__*/_react.default.createElement(_TableFloatingColumnControls.default, {
|
|
@@ -670,7 +682,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
670
682
|
var _this4$wrapper;
|
|
671
683
|
return ((_this4$wrapper = _this4.wrapper) === null || _this4$wrapper === void 0 ? void 0 : _this4$wrapper.scrollLeft) || 0;
|
|
672
684
|
},
|
|
673
|
-
tableWrapperHeight: this.state.tableWrapperHeight
|
|
685
|
+
tableWrapperHeight: this.state.tableWrapperHeight,
|
|
686
|
+
api: pluginInjectionApi
|
|
674
687
|
}) : null;
|
|
675
688
|
var shadowPadding = allowControls && tableActive ? -_editorSharedStyles.akEditorTableToolbarSize : _styles.tableMarginSides;
|
|
676
689
|
var shadowStyle = (0, _memoizeOne.default)(function (visible) {
|
|
@@ -707,7 +720,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
707
720
|
tableWrapperHeight: this.state.tableWrapperHeight,
|
|
708
721
|
isTableResizingEnabled: options === null || options === void 0 ? void 0 : options.isTableResizingEnabled,
|
|
709
722
|
isResizing: isResizing,
|
|
710
|
-
isTableScalingEnabled: isTableScalingEnabled
|
|
723
|
+
isTableScalingEnabled: isTableScalingEnabled,
|
|
724
|
+
isWholeTableInDanger: isWholeTableInDanger
|
|
711
725
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
712
726
|
className: _types.TableCssClassName.TABLE_STICKY_SENTINEL_TOP,
|
|
713
727
|
"data-testid": "sticky-sentinel-top"
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TableComponentWithSharedState = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
10
|
+
var _editorTables = require("@atlaskit/editor-tables");
|
|
11
|
+
var _TableComponent = _interopRequireDefault(require("./TableComponent"));
|
|
12
|
+
/**
|
|
13
|
+
* Use useSharedPluginState to control re-renders from plugin dependencies
|
|
14
|
+
*/
|
|
15
|
+
var TableComponentWithSharedState = exports.TableComponentWithSharedState = function TableComponentWithSharedState(_ref) {
|
|
16
|
+
var view = _ref.view,
|
|
17
|
+
options = _ref.options,
|
|
18
|
+
getNode = _ref.getNode,
|
|
19
|
+
dispatchAnalyticsEvent = _ref.dispatchAnalyticsEvent,
|
|
20
|
+
api = _ref.api,
|
|
21
|
+
getEditorFeatureFlags = _ref.getEditorFeatureFlags,
|
|
22
|
+
eventDispatcher = _ref.eventDispatcher,
|
|
23
|
+
allowColumnResizing = _ref.allowColumnResizing,
|
|
24
|
+
allowControls = _ref.allowControls,
|
|
25
|
+
getPos = _ref.getPos,
|
|
26
|
+
forwardRef = _ref.forwardRef;
|
|
27
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['width', 'table', 'media']),
|
|
28
|
+
widthState = _useSharedPluginState.widthState,
|
|
29
|
+
tableState = _useSharedPluginState.tableState,
|
|
30
|
+
mediaState = _useSharedPluginState.mediaState;
|
|
31
|
+
if (!tableState) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
var _ref2 = tableState,
|
|
35
|
+
isTableResizing = _ref2.isTableResizing,
|
|
36
|
+
isHeaderColumnEnabled = _ref2.isHeaderColumnEnabled,
|
|
37
|
+
isHeaderRowEnabled = _ref2.isHeaderRowEnabled,
|
|
38
|
+
ordering = _ref2.ordering,
|
|
39
|
+
isResizing = _ref2.isResizing,
|
|
40
|
+
isInDanger = _ref2.isInDanger,
|
|
41
|
+
hoveredCell = _ref2.hoveredCell,
|
|
42
|
+
hoveredRows = _ref2.hoveredRows,
|
|
43
|
+
isTableHovered = _ref2.isTableHovered,
|
|
44
|
+
isWholeTableInDanger = _ref2.isWholeTableInDanger;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* ED-19810
|
|
48
|
+
* There is a getPos issue coming from this code. We need to apply this workaround for now and apply a patch
|
|
49
|
+
* directly to confluence since this bug is now in production.
|
|
50
|
+
*/
|
|
51
|
+
var currentTablePos;
|
|
52
|
+
try {
|
|
53
|
+
currentTablePos = getPos ? getPos() : undefined;
|
|
54
|
+
} catch (e) {
|
|
55
|
+
currentTablePos = undefined;
|
|
56
|
+
}
|
|
57
|
+
var selectedTable = (0, _editorTables.findTable)(view.state.selection);
|
|
58
|
+
var tablePos = selectedTable && selectedTable.start - 1;
|
|
59
|
+
var tableActive = typeof currentTablePos === 'number' && typeof tablePos === 'number' && currentTablePos === tablePos && !isTableResizing;
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(_TableComponent.default, {
|
|
61
|
+
view: view,
|
|
62
|
+
allowColumnResizing: allowColumnResizing,
|
|
63
|
+
eventDispatcher: eventDispatcher,
|
|
64
|
+
getPos: getPos,
|
|
65
|
+
isMediaFullscreen: mediaState === null || mediaState === void 0 ? void 0 : mediaState.isFullscreen,
|
|
66
|
+
options: options,
|
|
67
|
+
allowControls: !!allowControls,
|
|
68
|
+
isHeaderRowEnabled: isHeaderRowEnabled,
|
|
69
|
+
isHeaderColumnEnabled: isHeaderColumnEnabled,
|
|
70
|
+
isDragAndDropEnabled: options === null || options === void 0 ? void 0 : options.isDragAndDropEnabled,
|
|
71
|
+
isTableScalingEnabled: options === null || options === void 0 ? void 0 : options.isTableScalingEnabled,
|
|
72
|
+
tableActive: tableActive,
|
|
73
|
+
ordering: ordering,
|
|
74
|
+
isResizing: isResizing,
|
|
75
|
+
getNode: getNode,
|
|
76
|
+
containerWidth: widthState,
|
|
77
|
+
contentDOM: forwardRef,
|
|
78
|
+
getEditorFeatureFlags: getEditorFeatureFlags,
|
|
79
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
80
|
+
pluginInjectionApi: api,
|
|
81
|
+
isInDanger: !!isInDanger,
|
|
82
|
+
hoveredRows: hoveredRows,
|
|
83
|
+
hoveredCell: hoveredCell,
|
|
84
|
+
isTableHovered: isTableHovered,
|
|
85
|
+
isWholeTableInDanger: isWholeTableInDanger
|
|
86
|
+
});
|
|
87
|
+
};
|
|
@@ -56,7 +56,8 @@ var ResizableTableContainer = exports.ResizableTableContainer = /*#__PURE__*/_re
|
|
|
56
56
|
isResizing = _ref2.isResizing,
|
|
57
57
|
pluginInjectionApi = _ref2.pluginInjectionApi,
|
|
58
58
|
isTableScalingEnabled = _ref2.isTableScalingEnabled,
|
|
59
|
-
tableWrapperHeight = _ref2.tableWrapperHeight
|
|
59
|
+
tableWrapperHeight = _ref2.tableWrapperHeight,
|
|
60
|
+
isWholeTableInDanger = _ref2.isWholeTableInDanger;
|
|
60
61
|
var containerRef = (0, _react.useRef)(null);
|
|
61
62
|
var tableWidthRef = (0, _react.useRef)(_editorSharedStyles.akEditorDefaultLayoutWidth);
|
|
62
63
|
var _useState = (0, _react.useState)(false),
|
|
@@ -135,7 +136,8 @@ var ResizableTableContainer = exports.ResizableTableContainer = /*#__PURE__*/_re
|
|
|
135
136
|
displayGuideline: displayGuideline,
|
|
136
137
|
attachAnalyticsEvent: attachAnalyticsEvent,
|
|
137
138
|
displayGapCursor: displayGapCursor,
|
|
138
|
-
isTableScalingEnabled: isTableScalingEnabled
|
|
139
|
+
isTableScalingEnabled: isTableScalingEnabled,
|
|
140
|
+
isWholeTableInDanger: isWholeTableInDanger
|
|
139
141
|
};
|
|
140
142
|
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.resizing-table-height-improvement')) {
|
|
141
143
|
tableResizerProps = _objectSpread(_objectSpread({}, tableResizerProps), {}, {
|
|
@@ -176,7 +178,8 @@ var TableContainer = exports.TableContainer = function TableContainer(_ref3) {
|
|
|
176
178
|
tableWrapperHeight = _ref3.tableWrapperHeight,
|
|
177
179
|
isResizing = _ref3.isResizing,
|
|
178
180
|
pluginInjectionApi = _ref3.pluginInjectionApi,
|
|
179
|
-
isTableScalingEnabled = _ref3.isTableScalingEnabled
|
|
181
|
+
isTableScalingEnabled = _ref3.isTableScalingEnabled,
|
|
182
|
+
isWholeTableInDanger = _ref3.isWholeTableInDanger;
|
|
180
183
|
if (isTableResizingEnabled && !isNested) {
|
|
181
184
|
return /*#__PURE__*/_react.default.createElement(ResizableTableContainer, {
|
|
182
185
|
className: className,
|
|
@@ -188,7 +191,8 @@ var TableContainer = exports.TableContainer = function TableContainer(_ref3) {
|
|
|
188
191
|
tableWrapperHeight: tableWrapperHeight,
|
|
189
192
|
isResizing: isResizing,
|
|
190
193
|
pluginInjectionApi: pluginInjectionApi,
|
|
191
|
-
isTableScalingEnabled: isTableScalingEnabled
|
|
194
|
+
isTableScalingEnabled: isTableScalingEnabled,
|
|
195
|
+
isWholeTableInDanger: isWholeTableInDanger
|
|
192
196
|
}, children);
|
|
193
197
|
}
|
|
194
198
|
var tableWidth = isBreakoutEnabled ? (0, _styles.calcTableWidth)(node.attrs.layout, editorWidth) : 'inherit';
|
|
@@ -100,7 +100,8 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
|
|
|
100
100
|
displayGuideline = _ref.displayGuideline,
|
|
101
101
|
attachAnalyticsEvent = _ref.attachAnalyticsEvent,
|
|
102
102
|
displayGapCursor = _ref.displayGapCursor,
|
|
103
|
-
isTableScalingEnabled = _ref.isTableScalingEnabled
|
|
103
|
+
isTableScalingEnabled = _ref.isTableScalingEnabled,
|
|
104
|
+
isWholeTableInDanger = _ref.isWholeTableInDanger;
|
|
104
105
|
var currentGap = (0, _react.useRef)(0);
|
|
105
106
|
// track resizing state - use ref over state to avoid re-render
|
|
106
107
|
var isResizing = (0, _react.useRef)(false);
|
|
@@ -136,8 +137,6 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
|
|
|
136
137
|
var isTableSelected = ((_findTable = (0, _utils2.findTable)((_editorView$state = editorView.state) === null || _editorView$state === void 0 ? void 0 : _editorView$state.selection)) === null || _findTable === void 0 ? void 0 : _findTable.pos) === getPos();
|
|
137
138
|
var resizerMinWidth = getResizerMinWidth(node);
|
|
138
139
|
var handleSize = getResizerHandleHeight(tableRef);
|
|
139
|
-
var _getPluginState = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
140
|
-
isWholeTableInDanger = _getPluginState.isWholeTableInDanger;
|
|
141
140
|
var _useMeasureFramerate = (0, _analytics2.useMeasureFramerate)(),
|
|
142
141
|
startMeasure = _useMeasureFramerate.startMeasure,
|
|
143
142
|
endMeasure = _useMeasureFramerate.endMeasure,
|
|
@@ -233,8 +232,8 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
|
|
|
233
232
|
var state = editorView.state,
|
|
234
233
|
dispatch = editorView.dispatch;
|
|
235
234
|
var pos = getPos();
|
|
236
|
-
var
|
|
237
|
-
widthToWidest =
|
|
235
|
+
var _getPluginState = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
236
|
+
widthToWidest = _getPluginState.widthToWidest;
|
|
238
237
|
newWidth = widthToWidest ? _editorSharedStyles.akEditorFullWidthLayoutWidth : newWidth;
|
|
239
238
|
var tr = state.tr.setMeta(_tableWidth.pluginKey, {
|
|
240
239
|
resizing: false
|
|
@@ -22,6 +22,7 @@ var _withPluginState = require("@atlaskit/editor-common/with-plugin-state");
|
|
|
22
22
|
var _model = require("@atlaskit/editor-prosemirror/model");
|
|
23
23
|
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
24
24
|
var _tableMap = require("@atlaskit/editor-tables/table-map");
|
|
25
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
25
26
|
var _createPluginConfig = require("../create-plugin-config");
|
|
26
27
|
var _dragAndDrop = require("../pm-plugins/drag-and-drop");
|
|
27
28
|
var _pluginFactory = require("../pm-plugins/plugin-factory");
|
|
@@ -31,6 +32,7 @@ var _utils = require("../pm-plugins/table-resizing/utils");
|
|
|
31
32
|
var _tableWidth = require("../pm-plugins/table-width");
|
|
32
33
|
var _utils2 = require("../utils");
|
|
33
34
|
var _TableComponent = _interopRequireDefault(require("./TableComponent"));
|
|
35
|
+
var _TableComponentWithSharedState = require("./TableComponentWithSharedState");
|
|
34
36
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
35
37
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
36
38
|
var tableAttributes = function tableAttributes(node) {
|
|
@@ -123,6 +125,22 @@ var TableView = exports.default = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
123
125
|
key: "render",
|
|
124
126
|
value: function render(props, forwardRef) {
|
|
125
127
|
var _this3 = this;
|
|
128
|
+
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-shared-state-hook')) {
|
|
129
|
+
return /*#__PURE__*/_react.default.createElement(_TableComponentWithSharedState.TableComponentWithSharedState, {
|
|
130
|
+
forwardRef: forwardRef,
|
|
131
|
+
getNode: this.getNode,
|
|
132
|
+
view: props.view,
|
|
133
|
+
options: props.options,
|
|
134
|
+
eventDispatcher: props.eventDispatcher,
|
|
135
|
+
api: props.pluginInjectionApi,
|
|
136
|
+
allowColumnResizing: props.allowColumnResizing,
|
|
137
|
+
allowControls: props.allowControls,
|
|
138
|
+
getPos: props.getPos,
|
|
139
|
+
getEditorFeatureFlags: props.getEditorFeatureFlags,
|
|
140
|
+
dispatchAnalyticsEvent: props.dispatchAnalyticsEvent
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
|
|
126
144
|
// TODO: ED-15663
|
|
127
145
|
// Please, do not copy or use this kind of code below
|
|
128
146
|
// @ts-ignore
|
|
@@ -268,12 +286,14 @@ var createTableView = exports.createTableView = function createTableView(node, v
|
|
|
268
286
|
isDragAndDropEnabled = _getPluginState2.isDragAndDropEnabled,
|
|
269
287
|
isTableScalingEnabled = _getPluginState2.isTableScalingEnabled;
|
|
270
288
|
var _getPluginConfig = (0, _createPluginConfig.pluginConfig)(pluginConfig),
|
|
271
|
-
allowColumnResizing = _getPluginConfig.allowColumnResizing
|
|
289
|
+
allowColumnResizing = _getPluginConfig.allowColumnResizing,
|
|
290
|
+
allowControls = _getPluginConfig.allowControls;
|
|
272
291
|
var hasIntlContext = true;
|
|
273
292
|
return new TableView({
|
|
274
293
|
node: node,
|
|
275
294
|
view: view,
|
|
276
295
|
allowColumnResizing: allowColumnResizing,
|
|
296
|
+
allowControls: allowControls,
|
|
277
297
|
portalProviderAPI: portalProviderAPI,
|
|
278
298
|
eventDispatcher: eventDispatcher,
|
|
279
299
|
getPos: getPos,
|
package/dist/cjs/plugin.js
CHANGED
|
@@ -45,6 +45,9 @@ var _utils2 = require("./utils");
|
|
|
45
45
|
var defaultGetEditorFeatureFlags = function defaultGetEditorFeatureFlags() {
|
|
46
46
|
return {};
|
|
47
47
|
};
|
|
48
|
+
|
|
49
|
+
// TODO: duplicating type instead of importing media plugin causing a circular dependency
|
|
50
|
+
|
|
48
51
|
/**
|
|
49
52
|
* Table plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
|
|
50
53
|
* from `@atlaskit/editor-core`.
|
|
@@ -67,10 +70,29 @@ var tablesPlugin = function tablesPlugin(_ref) {
|
|
|
67
70
|
name: 'table',
|
|
68
71
|
// Use getSharedState to store fullWidthEnabled and wasFullWidthModeEnabled to guarantee access
|
|
69
72
|
// to most up to date values - passing to createPluginState will not re-initialise the state
|
|
70
|
-
getSharedState: function getSharedState() {
|
|
73
|
+
getSharedState: function getSharedState(editorState) {
|
|
74
|
+
if (!editorState) {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
var tablePluginState = (0, _pluginFactory.getPluginState)(editorState);
|
|
78
|
+
var tableResizingPluginState = (0, _tableResizing.getPluginState)(editorState);
|
|
79
|
+
var tableWidthResizingPluginState = _tableWidth.pluginKey.getState(editorState);
|
|
71
80
|
return {
|
|
72
81
|
isFullWidthModeEnabled: !!(options !== null && options !== void 0 && options.fullWidthEnabled),
|
|
73
|
-
wasFullWidthModeEnabled: !!(options !== null && options !== void 0 && options.wasFullWidthEnabled)
|
|
82
|
+
wasFullWidthModeEnabled: !!(options !== null && options !== void 0 && options.wasFullWidthEnabled),
|
|
83
|
+
isHeaderRowEnabled: tablePluginState.isHeaderRowEnabled,
|
|
84
|
+
isHeaderColumnEnabled: tablePluginState.isHeaderColumnEnabled,
|
|
85
|
+
ordering: tablePluginState.ordering,
|
|
86
|
+
isResizing: !!(tableResizingPluginState !== null && tableResizingPluginState !== void 0 && tableResizingPluginState.dragging || tableWidthResizingPluginState !== null && tableWidthResizingPluginState !== void 0 && tableWidthResizingPluginState.resizing),
|
|
87
|
+
isTableResizing: tableWidthResizingPluginState === null || tableWidthResizingPluginState === void 0 ? void 0 : tableWidthResizingPluginState.resizing,
|
|
88
|
+
isInDanger: tablePluginState.isInDanger,
|
|
89
|
+
hoveredRows: tablePluginState.hoveredRows,
|
|
90
|
+
hoveredCell: tablePluginState.hoveredCell,
|
|
91
|
+
isTableHovered: tablePluginState.isTableHovered,
|
|
92
|
+
isWholeTableInDanger: tablePluginState.isWholeTableInDanger,
|
|
93
|
+
// IMPORTANT: Need to continue to pass tableNode to control re-renders
|
|
94
|
+
// TableComponent listens for node attribute changes to update colgroups
|
|
95
|
+
tableNode: tablePluginState.tableNode
|
|
74
96
|
};
|
|
75
97
|
},
|
|
76
98
|
actions: {
|
package/dist/cjs/types.js
CHANGED
|
@@ -16,6 +16,9 @@ var RESIZE_HANDLE_AREA_DECORATION_GAP = exports.RESIZE_HANDLE_AREA_DECORATION_GA
|
|
|
16
16
|
* @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-6877 Internal documentation for deprecation (no external access)}
|
|
17
17
|
**/
|
|
18
18
|
|
|
19
|
+
// override getPluginState but do not expose publicly as this type is experimental and will change
|
|
20
|
+
// in the future
|
|
21
|
+
|
|
19
22
|
/*
|
|
20
23
|
* This type represents the start and end from a cell in a column,
|
|
21
24
|
* for example, on this table the cell C1 will have
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = exports.ColumnControls = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
9
10
|
var _styles = require("@atlaskit/editor-common/styles");
|
|
10
11
|
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
11
12
|
var _editorTables = require("@atlaskit/editor-tables");
|
|
@@ -45,8 +46,11 @@ var ColumnControls = exports.ColumnControls = function ColumnControls(_ref) {
|
|
|
45
46
|
tableContainerWidth = _ref.tableContainerWidth,
|
|
46
47
|
isNumberColumnEnabled = _ref.isNumberColumnEnabled,
|
|
47
48
|
isDragging = _ref.isDragging,
|
|
48
|
-
getScrollOffset = _ref.getScrollOffset
|
|
49
|
+
getScrollOffset = _ref.getScrollOffset,
|
|
50
|
+
api = _ref.api;
|
|
49
51
|
var columnControlsRef = (0, _react.useRef)(null);
|
|
52
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['selection']),
|
|
53
|
+
selectionState = _useSharedPluginState.selectionState;
|
|
50
54
|
var widths = (_colWidths$map$join = colWidths === null || colWidths === void 0 ? void 0 : colWidths.map(function (width) {
|
|
51
55
|
return (
|
|
52
56
|
// when there is sticky header, a `margin-right: -1px` applied to `tr.sticky th` so it causes colWidths to be 1px wider
|
|
@@ -57,7 +61,7 @@ var ColumnControls = exports.ColumnControls = function ColumnControls(_ref) {
|
|
|
57
61
|
// TODO: reusing getRowsParams here because it's generic enough to work for columns -> rename
|
|
58
62
|
var columnParams = (0, _utils2.getRowsParams)(colWidths !== null && colWidths !== void 0 ? colWidths : []);
|
|
59
63
|
var colIndex = hoveredCell === null || hoveredCell === void 0 ? void 0 : hoveredCell.colIndex;
|
|
60
|
-
var selectedColIndexes = getSelectedColumns(editorView.state.selection);
|
|
64
|
+
var selectedColIndexes = getSelectedColumns((selectionState === null || selectionState === void 0 ? void 0 : selectionState.selection) || editorView.state.selection);
|
|
61
65
|
var firstRow = tableRef.querySelector('tr');
|
|
62
66
|
var hasHeaderRow = firstRow ? firstRow.getAttribute('data-header-row') : false;
|
|
63
67
|
var marginTop = hasHeaderRow && stickyTop !== undefined ? (_rowHeights$ = rowHeights === null || rowHeights === void 0 ? void 0 : rowHeights[0]) !== null && _rowHeights$ !== void 0 ? _rowHeights$ : 0 : 0;
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = exports.TableFloatingColumnControls = void 0;
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
11
12
|
var _adapter = require("@atlaskit/pragmatic-drag-and-drop/element/adapter");
|
|
12
13
|
var _types = require("../../types");
|
|
13
14
|
var _utils = require("../../utils");
|
|
@@ -30,7 +31,8 @@ var TableFloatingColumnControls = exports.TableFloatingColumnControls = function
|
|
|
30
31
|
tableContainerWidth = _ref.tableContainerWidth,
|
|
31
32
|
isNumberColumnEnabled = _ref.isNumberColumnEnabled,
|
|
32
33
|
getScrollOffset = _ref.getScrollOffset,
|
|
33
|
-
tableWrapperHeight = _ref.tableWrapperHeight
|
|
34
|
+
tableWrapperHeight = _ref.tableWrapperHeight,
|
|
35
|
+
api = _ref.api;
|
|
34
36
|
var _useState = (0, _react.useState)(false),
|
|
35
37
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
36
38
|
isDragging = _useState2[0],
|
|
@@ -97,7 +99,8 @@ var TableFloatingColumnControls = exports.TableFloatingColumnControls = function
|
|
|
97
99
|
tableContainerWidth: tableContainerWidth,
|
|
98
100
|
isNumberColumnEnabled: isNumberColumnEnabled,
|
|
99
101
|
isDragging: isDragging,
|
|
100
|
-
getScrollOffset: getScrollOffset
|
|
102
|
+
getScrollOffset: getScrollOffset,
|
|
103
|
+
api: (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-shared-state-hook') ? api : undefined
|
|
101
104
|
}), isDragging && /*#__PURE__*/_react.default.createElement(_ColumnDropTargets.ColumnDropTargets, {
|
|
102
105
|
tableRef: tableRef,
|
|
103
106
|
isHeaderSticky: (stickyHeader === null || stickyHeader === void 0 ? void 0 : stickyHeader.sticky) && hasHeaderRow,
|
|
@@ -5,10 +5,11 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.DragCornerControls = void 0;
|
|
8
|
+
exports.DragCornerControlsWithSelection = exports.DragCornerControls = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
11
|
var _reactIntlNext = require("react-intl-next");
|
|
12
|
+
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
12
13
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
13
14
|
var _utils = require("@atlaskit/editor-tables/utils");
|
|
14
15
|
var _commands = require("../../../commands");
|
|
@@ -55,4 +56,50 @@ var DragCornerControlsComponent = function DragCornerControlsComponent(_ref) {
|
|
|
55
56
|
className: _types.TableCssClassName.DRAG_CORNER_BUTTON_INNER
|
|
56
57
|
}));
|
|
57
58
|
};
|
|
59
|
+
var DragCornerControlsComponentWithSelection = function DragCornerControlsComponentWithSelection(_ref2) {
|
|
60
|
+
var editorView = _ref2.editorView,
|
|
61
|
+
isInDanger = _ref2.isInDanger,
|
|
62
|
+
isResizing = _ref2.isResizing,
|
|
63
|
+
formatMessage = _ref2.intl.formatMessage,
|
|
64
|
+
api = _ref2.api;
|
|
65
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['selection']),
|
|
66
|
+
selectionState = _useSharedPluginState.selectionState;
|
|
67
|
+
var handleOnClick = function handleOnClick() {
|
|
68
|
+
var state = editorView.state,
|
|
69
|
+
dispatch = editorView.dispatch;
|
|
70
|
+
dispatch((0, _utils.selectTable)(state.tr).setMeta('addToHistory', false));
|
|
71
|
+
};
|
|
72
|
+
var handleMouseOut = function handleMouseOut() {
|
|
73
|
+
var state = editorView.state,
|
|
74
|
+
dispatch = editorView.dispatch;
|
|
75
|
+
(0, _commands.clearHoverSelection)()(state, dispatch);
|
|
76
|
+
};
|
|
77
|
+
var isActive = (0, _react.useMemo)(function () {
|
|
78
|
+
if (!(selectionState !== null && selectionState !== void 0 && selectionState.selection)) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
var table = (0, _utils.findTable)(selectionState.selection);
|
|
82
|
+
if (!table) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
return (0, _utils.isTableSelected)(selectionState.selection);
|
|
86
|
+
}, [selectionState]);
|
|
87
|
+
if (isResizing) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
return /*#__PURE__*/_react.default.createElement("button", {
|
|
91
|
+
className: (0, _classnames.default)(_types.TableCssClassName.DRAG_CORNER_BUTTON, {
|
|
92
|
+
active: isActive,
|
|
93
|
+
danger: isActive && isInDanger
|
|
94
|
+
}),
|
|
95
|
+
"aria-label": formatMessage(_messages.tableMessages.cornerControl),
|
|
96
|
+
type: "button",
|
|
97
|
+
onClick: handleOnClick,
|
|
98
|
+
onMouseOut: handleMouseOut,
|
|
99
|
+
contentEditable: false
|
|
100
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
101
|
+
className: _types.TableCssClassName.DRAG_CORNER_BUTTON_INNER
|
|
102
|
+
}));
|
|
103
|
+
};
|
|
104
|
+
var DragCornerControlsWithSelection = exports.DragCornerControlsWithSelection = (0, _reactIntlNext.injectIntl)(DragCornerControlsComponentWithSelection);
|
|
58
105
|
var DragCornerControls = exports.DragCornerControls = (0, _reactIntlNext.injectIntl)(DragCornerControlsComponent);
|
|
@@ -15,5 +15,11 @@ Object.defineProperty(exports, "DragCornerControls", {
|
|
|
15
15
|
return _DragCornerControls.DragCornerControls;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "DragCornerControlsWithSelection", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _DragCornerControls.DragCornerControlsWithSelection;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
18
24
|
var _ClassicCornerControls = require("./ClassicCornerControls");
|
|
19
25
|
var _DragCornerControls = require("./DragCornerControls");
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FloatingControlsWithSelection = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
10
|
+
var _CornerControls = require("./CornerControls");
|
|
11
|
+
var _RowControls = require("./RowControls");
|
|
12
|
+
var FloatingControlsWithSelection = exports.FloatingControlsWithSelection = function FloatingControlsWithSelection(_ref) {
|
|
13
|
+
var editorView = _ref.editorView,
|
|
14
|
+
tableRef = _ref.tableRef,
|
|
15
|
+
isInDanger = _ref.isInDanger,
|
|
16
|
+
isResizing = _ref.isResizing,
|
|
17
|
+
isHeaderRowEnabled = _ref.isHeaderRowEnabled,
|
|
18
|
+
isHeaderColumnEnabled = _ref.isHeaderColumnEnabled,
|
|
19
|
+
hoveredRows = _ref.hoveredRows,
|
|
20
|
+
stickyTop = _ref.stickyTop,
|
|
21
|
+
hoverRows = _ref.hoverRows,
|
|
22
|
+
selectRow = _ref.selectRow,
|
|
23
|
+
tableActive = _ref.tableActive,
|
|
24
|
+
api = _ref.api;
|
|
25
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['selection']),
|
|
26
|
+
selectionState = _useSharedPluginState.selectionState;
|
|
27
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CornerControls.CornerControls, {
|
|
28
|
+
editorView: editorView,
|
|
29
|
+
tableRef: tableRef,
|
|
30
|
+
isInDanger: isInDanger,
|
|
31
|
+
isResizing: isResizing,
|
|
32
|
+
isHeaderRowEnabled: isHeaderRowEnabled,
|
|
33
|
+
isHeaderColumnEnabled: isHeaderColumnEnabled,
|
|
34
|
+
hoveredRows: hoveredRows,
|
|
35
|
+
stickyTop: tableActive ? stickyTop : undefined
|
|
36
|
+
}), /*#__PURE__*/_react.default.createElement(_RowControls.RowControls, {
|
|
37
|
+
selection: selectionState === null || selectionState === void 0 ? void 0 : selectionState.selection,
|
|
38
|
+
editorView: editorView,
|
|
39
|
+
tableRef: tableRef,
|
|
40
|
+
hoverRows: hoverRows,
|
|
41
|
+
hoveredRows: hoveredRows,
|
|
42
|
+
isInDanger: isInDanger,
|
|
43
|
+
isResizing: isResizing,
|
|
44
|
+
selectRow: selectRow,
|
|
45
|
+
stickyTop: tableActive ? stickyTop : undefined
|
|
46
|
+
}));
|
|
47
|
+
};
|
|
@@ -52,7 +52,8 @@ var RowControlsComponent = /*#__PURE__*/function (_Component) {
|
|
|
52
52
|
hoveredRows = _this$props.hoveredRows,
|
|
53
53
|
isInDanger = _this$props.isInDanger,
|
|
54
54
|
isResizing = _this$props.isResizing,
|
|
55
|
-
formatMessage = _this$props.intl.formatMessage
|
|
55
|
+
formatMessage = _this$props.intl.formatMessage,
|
|
56
|
+
selectionState = _this$props.selection;
|
|
56
57
|
if (!tableRef) {
|
|
57
58
|
return null;
|
|
58
59
|
}
|
|
@@ -76,7 +77,7 @@ var RowControlsComponent = /*#__PURE__*/function (_Component) {
|
|
|
76
77
|
}
|
|
77
78
|
var thisRowSticky = _this2.props.stickyTop !== undefined && index === 0 && hasHeaderRow;
|
|
78
79
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
79
|
-
className: "".concat(_types.TableCssClassName.ROW_CONTROLS_BUTTON_WRAP, " ").concat((0, _utils.getRowClassNames)(startIndex, selection, hoveredRows, isInDanger, isResizing), " ").concat(thisRowSticky ? 'sticky' : ''),
|
|
80
|
+
className: "".concat(_types.TableCssClassName.ROW_CONTROLS_BUTTON_WRAP, " ").concat((0, _utils.getRowClassNames)(startIndex, selectionState || selection, hoveredRows, isInDanger, isResizing), " ").concat(thisRowSticky ? 'sticky' : ''),
|
|
80
81
|
key: startIndex,
|
|
81
82
|
style: {
|
|
82
83
|
height: height,
|
|
@@ -8,9 +8,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = exports.TableFloatingControls = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
11
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
11
12
|
var _commands = require("../../commands");
|
|
12
13
|
var _types = require("../../types");
|
|
13
14
|
var _CornerControls = require("./CornerControls");
|
|
15
|
+
var _FloatingControlsWithSelection = require("./FloatingControlsWithSelection");
|
|
14
16
|
var _NumberColumn = _interopRequireDefault(require("./NumberColumn"));
|
|
15
17
|
var _RowControls = require("./RowControls");
|
|
16
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -31,7 +33,8 @@ var TableFloatingControls = exports.TableFloatingControls = function TableFloati
|
|
|
31
33
|
isDragAndDropEnabled = _ref.isDragAndDropEnabled,
|
|
32
34
|
hoveredCell = _ref.hoveredCell,
|
|
33
35
|
isTableHovered = _ref.isTableHovered,
|
|
34
|
-
tableWrapperWidth = _ref.tableWrapperWidth
|
|
36
|
+
tableWrapperWidth = _ref.tableWrapperWidth,
|
|
37
|
+
api = _ref.api;
|
|
35
38
|
var _selectRow = (0, _react.useCallback)(function (row, expand) {
|
|
36
39
|
var state = editorView.state,
|
|
37
40
|
dispatch = editorView.dispatch;
|
|
@@ -92,7 +95,13 @@ var TableFloatingControls = exports.TableFloatingControls = function TableFloati
|
|
|
92
95
|
updateCellHoverLocation: updateCellHoverLocation,
|
|
93
96
|
stickyTop: stickyTop,
|
|
94
97
|
isDragAndDropEnabled: isDragAndDropEnabled
|
|
95
|
-
}) : null, tableActive && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isDragAndDropEnabled ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CornerControls.
|
|
98
|
+
}) : null, tableActive && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isDragAndDropEnabled ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-shared-state-hook') ? /*#__PURE__*/_react.default.createElement(_CornerControls.DragCornerControlsWithSelection, {
|
|
99
|
+
editorView: editorView,
|
|
100
|
+
tableRef: tableRef,
|
|
101
|
+
isInDanger: isInDanger,
|
|
102
|
+
isResizing: isResizing,
|
|
103
|
+
api: api
|
|
104
|
+
}) : /*#__PURE__*/_react.default.createElement(_CornerControls.DragCornerControls, {
|
|
96
105
|
editorView: editorView,
|
|
97
106
|
tableRef: tableRef,
|
|
98
107
|
isInDanger: isInDanger,
|
|
@@ -111,7 +120,20 @@ var TableFloatingControls = exports.TableFloatingControls = function TableFloati
|
|
|
111
120
|
selectRow: _selectRow,
|
|
112
121
|
selectRows: _selectRows,
|
|
113
122
|
updateCellHoverLocation: updateCellHoverLocation
|
|
114
|
-
})) :
|
|
123
|
+
})) : (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-shared-state-hook') ? /*#__PURE__*/_react.default.createElement(_FloatingControlsWithSelection.FloatingControlsWithSelection, {
|
|
124
|
+
editorView: editorView,
|
|
125
|
+
tableRef: tableRef,
|
|
126
|
+
isInDanger: isInDanger,
|
|
127
|
+
isResizing: isResizing,
|
|
128
|
+
isHeaderRowEnabled: isHeaderRowEnabled,
|
|
129
|
+
isHeaderColumnEnabled: isHeaderColumnEnabled,
|
|
130
|
+
hoveredRows: hoveredRows,
|
|
131
|
+
stickyTop: tableActive ? stickyTop : undefined,
|
|
132
|
+
tableActive: tableActive,
|
|
133
|
+
hoverRows: _hoverRows,
|
|
134
|
+
selectRow: _selectRow,
|
|
135
|
+
api: api
|
|
136
|
+
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CornerControls.CornerControls, {
|
|
115
137
|
editorView: editorView,
|
|
116
138
|
tableRef: tableRef,
|
|
117
139
|
isInDanger: isInDanger,
|