@atlaskit/editor-plugin-layout 10.8.1 → 10.9.0
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 +11 -0
- package/dist/cjs/layoutPlugin.js +2 -5
- package/dist/cjs/pm-plugins/actions.js +71 -67
- package/dist/cjs/pm-plugins/utils/layout-column-selection.js +56 -98
- package/dist/cjs/ui/LayoutColumnMenu/DeleteColumnDropdownItem.js +1 -1
- package/dist/cjs/ui/LayoutColumnMenu/DistributeColumnsDropdownItem.js +10 -5
- package/dist/cjs/ui/LayoutColumnMenu/InsertColumnDropdownItem.js +2 -2
- package/dist/cjs/ui/LayoutColumnMenu/VerticalAlignDropdownItem.js +1 -1
- package/dist/cjs/ui/LayoutColumnMenu/VerticalAlignNestedMenu.js +1 -1
- package/dist/cjs/ui/LayoutColumnMenu/index.js +1 -1
- package/dist/cjs/ui/LayoutColumnMenu/useSelectedLayoutColumns.js +4 -3
- package/dist/cjs/ui/toolbar.js +70 -11
- package/dist/es2019/layoutPlugin.js +3 -6
- package/dist/es2019/pm-plugins/actions.js +50 -51
- package/dist/es2019/pm-plugins/utils/layout-column-selection.js +54 -94
- package/dist/es2019/ui/LayoutColumnMenu/DeleteColumnDropdownItem.js +1 -1
- package/dist/es2019/ui/LayoutColumnMenu/DistributeColumnsDropdownItem.js +11 -5
- package/dist/es2019/ui/LayoutColumnMenu/InsertColumnDropdownItem.js +2 -2
- package/dist/es2019/ui/LayoutColumnMenu/VerticalAlignDropdownItem.js +1 -1
- package/dist/es2019/ui/LayoutColumnMenu/VerticalAlignNestedMenu.js +1 -1
- package/dist/es2019/ui/LayoutColumnMenu/index.js +1 -1
- package/dist/es2019/ui/LayoutColumnMenu/useSelectedLayoutColumns.js +6 -4
- package/dist/es2019/ui/toolbar.js +68 -11
- package/dist/esm/layoutPlugin.js +3 -6
- package/dist/esm/pm-plugins/actions.js +71 -67
- package/dist/esm/pm-plugins/utils/layout-column-selection.js +55 -97
- package/dist/esm/ui/LayoutColumnMenu/DeleteColumnDropdownItem.js +1 -1
- package/dist/esm/ui/LayoutColumnMenu/DistributeColumnsDropdownItem.js +10 -5
- package/dist/esm/ui/LayoutColumnMenu/InsertColumnDropdownItem.js +2 -2
- package/dist/esm/ui/LayoutColumnMenu/VerticalAlignDropdownItem.js +1 -1
- package/dist/esm/ui/LayoutColumnMenu/VerticalAlignNestedMenu.js +1 -1
- package/dist/esm/ui/LayoutColumnMenu/index.js +1 -1
- package/dist/esm/ui/LayoutColumnMenu/useSelectedLayoutColumns.js +5 -4
- package/dist/esm/ui/toolbar.js +71 -12
- package/dist/types/layoutPluginType.d.ts +2 -2
- package/dist/types/pm-plugins/actions.d.ts +9 -1
- package/dist/types/pm-plugins/utils/layout-column-selection.d.ts +8 -7
- package/dist/types-ts4.5/layoutPluginType.d.ts +2 -2
- package/dist/types-ts4.5/pm-plugins/actions.d.ts +9 -1
- package/dist/types-ts4.5/pm-plugins/utils/layout-column-selection.d.ts +8 -7
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-layout
|
|
2
2
|
|
|
3
|
+
## 10.9.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`10c5beb57bb0d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/10c5beb57bb0d) -
|
|
8
|
+
[ux] Add Distribute columns to the layout floating toolbar
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies
|
|
13
|
+
|
|
3
14
|
## 10.8.1
|
|
4
15
|
|
|
5
16
|
### Patch Changes
|
package/dist/cjs/layoutPlugin.js
CHANGED
|
@@ -57,7 +57,7 @@ var selectIntoLayoutSection = exports.selectIntoLayoutSection = function selectI
|
|
|
57
57
|
return tr;
|
|
58
58
|
};
|
|
59
59
|
var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
60
|
-
var _api$analytics;
|
|
60
|
+
var _api$analytics, _api$analytics5;
|
|
61
61
|
var _ref$config = _ref.config,
|
|
62
62
|
options = _ref$config === void 0 ? {} : _ref$config,
|
|
63
63
|
api = _ref.api;
|
|
@@ -381,10 +381,7 @@ var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
|
381
381
|
var _api$analytics4;
|
|
382
382
|
return (0, _actions.deleteLayoutColumn)(api === null || api === void 0 || (_api$analytics4 = api.analytics) === null || _api$analytics4 === void 0 ? void 0 : _api$analytics4.actions)(props);
|
|
383
383
|
},
|
|
384
|
-
distributeLayoutColumns:
|
|
385
|
-
var _api$analytics5;
|
|
386
|
-
return (0, _actions.distributeLayoutColumns)(api === null || api === void 0 || (_api$analytics5 = api.analytics) === null || _api$analytics5 === void 0 ? void 0 : _api$analytics5.actions)(props);
|
|
387
|
-
},
|
|
384
|
+
distributeLayoutColumns: (0, _actions.createDistributeLayoutColumnsCommand)(api === null || api === void 0 || (_api$analytics5 = api.analytics) === null || _api$analytics5 === void 0 ? void 0 : _api$analytics5.actions),
|
|
388
385
|
insertLayoutColumn: function insertLayoutColumn(side) {
|
|
389
386
|
var _api$analytics6;
|
|
390
387
|
return (0, _actions.insertLayoutColumn)(side, api === null || api === void 0 || (_api$analytics6 = api.analytics) === null || _api$analytics6 === void 0 ? void 0 : _api$analytics6.actions);
|
|
@@ -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.fixColumnStructure = exports.fixColumnSizes = exports.distributeLayoutColumns = exports.deleteLayoutColumn = exports.deleteActiveLayoutNode = exports.createMultiColumnLayoutSection = exports.createDefaultLayoutSection = exports.TWO_COL_LAYOUTS = exports.THREE_COL_LAYOUTS = exports.ONE_COL_LAYOUTS = void 0;
|
|
7
|
+
exports.fixColumnStructure = exports.fixColumnSizes = exports.distributeLayoutColumns = exports.deleteLayoutColumn = exports.deleteActiveLayoutNode = exports.createMultiColumnLayoutSection = exports.createDistributeLayoutColumnsCommand = exports.createDefaultLayoutSection = exports.TWO_COL_LAYOUTS = exports.THREE_COL_LAYOUTS = exports.ONE_COL_LAYOUTS = void 0;
|
|
8
8
|
exports.forceSectionToPresetLayout = forceSectionToPresetLayout;
|
|
9
9
|
exports.getEffectiveMaxLayoutColumns = getEffectiveMaxLayoutColumns;
|
|
10
10
|
exports.toggleLayoutColumnMenu = exports.setPresetLayout = exports.setLayoutColumnValign = exports.insertLayoutColumnsWithAnalytics = exports.insertLayoutColumns = exports.insertLayoutColumn = exports.getSelectedLayout = exports.getPresetLayout = void 0;
|
|
@@ -564,18 +564,17 @@ var insertLayoutColumnAt = function insertLayoutColumnAt(side, editorAnalyticsAP
|
|
|
564
564
|
if (!(0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_layout_column_menu', 'isEnabled', true)) {
|
|
565
565
|
return null;
|
|
566
566
|
}
|
|
567
|
-
var
|
|
568
|
-
if (!selectedLayoutColumns) {
|
|
567
|
+
var selectedLayoutColumnsResult = (0, _layoutColumnSelection.getSelectedLayoutColumnsFromSelection)(tr.selection);
|
|
568
|
+
if (!selectedLayoutColumnsResult || selectedLayoutColumnsResult.selectedLayoutColumns.length === 0) {
|
|
569
569
|
return null;
|
|
570
570
|
}
|
|
571
|
-
var layoutSectionNode =
|
|
572
|
-
layoutSectionPos =
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
var endIndex = selectedColumnIndices[selectedColumnIndices.length - 1];
|
|
571
|
+
var layoutSectionNode = selectedLayoutColumnsResult.layoutSectionNode,
|
|
572
|
+
layoutSectionPos = selectedLayoutColumnsResult.layoutSectionPos,
|
|
573
|
+
startIndex = selectedLayoutColumnsResult.startIndex,
|
|
574
|
+
endIndex = selectedLayoutColumnsResult.endIndex,
|
|
575
|
+
selectedLayoutColumns = selectedLayoutColumnsResult.selectedLayoutColumns;
|
|
577
576
|
var selectedColumnIndex = side === 'left' ? startIndex : endIndex;
|
|
578
|
-
var selectedColumnCount =
|
|
577
|
+
var selectedColumnCount = selectedLayoutColumns.length;
|
|
579
578
|
if (layoutSectionNode.childCount >= getEffectiveMaxLayoutColumns()) {
|
|
580
579
|
return null;
|
|
581
580
|
}
|
|
@@ -633,22 +632,20 @@ var setLayoutColumnValign = exports.setLayoutColumnValign = function setLayoutCo
|
|
|
633
632
|
if (!(0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_layout_column_menu', 'isEnabled', true)) {
|
|
634
633
|
return null;
|
|
635
634
|
}
|
|
636
|
-
var
|
|
637
|
-
if (!
|
|
635
|
+
var selectedLayoutColumnsResult = (0, _layoutColumnSelection.getSelectedLayoutColumnsFromSelection)(tr.selection);
|
|
636
|
+
if (!selectedLayoutColumnsResult) {
|
|
638
637
|
return null;
|
|
639
638
|
}
|
|
640
|
-
var
|
|
641
|
-
|
|
642
|
-
|
|
639
|
+
var startIndex = selectedLayoutColumnsResult.startIndex,
|
|
640
|
+
endIndex = selectedLayoutColumnsResult.endIndex,
|
|
641
|
+
selectedLayoutColumns = selectedLayoutColumnsResult.selectedLayoutColumns;
|
|
642
|
+
var columnsToUpdate = selectedLayoutColumns.filter(function (_ref6) {
|
|
643
643
|
var node = _ref6.node;
|
|
644
644
|
return node.attrs.valign !== valign;
|
|
645
645
|
});
|
|
646
646
|
if (columnsToUpdate.length === 0) {
|
|
647
647
|
return null;
|
|
648
648
|
}
|
|
649
|
-
var startIndex = selectedColumnIndices[0];
|
|
650
|
-
var endIndex = selectedColumnIndices[selectedColumnIndices.length - 1];
|
|
651
|
-
var selectedColumnCount = selectedColumns.length;
|
|
652
649
|
var updatedColumnCount = columnsToUpdate.length;
|
|
653
650
|
columnsToUpdate.forEach(function (_ref7) {
|
|
654
651
|
var node = _ref7.node,
|
|
@@ -664,7 +661,7 @@ var setLayoutColumnValign = exports.setLayoutColumnValign = function setLayoutCo
|
|
|
664
661
|
attributes: {
|
|
665
662
|
endIndex: endIndex,
|
|
666
663
|
inputMethod: _analytics.INPUT_METHOD.LAYOUT_COLUMN_MENU,
|
|
667
|
-
selectedCount:
|
|
664
|
+
selectedCount: selectedLayoutColumns.length,
|
|
668
665
|
startIndex: startIndex,
|
|
669
666
|
updatedCount: updatedColumnCount,
|
|
670
667
|
valign: valign
|
|
@@ -675,28 +672,31 @@ var setLayoutColumnValign = exports.setLayoutColumnValign = function setLayoutCo
|
|
|
675
672
|
return tr;
|
|
676
673
|
};
|
|
677
674
|
};
|
|
678
|
-
var distributeLayoutColumns = exports.distributeLayoutColumns = function distributeLayoutColumns(
|
|
679
|
-
var
|
|
680
|
-
|
|
681
|
-
|
|
675
|
+
var distributeLayoutColumns = exports.distributeLayoutColumns = function distributeLayoutColumns() {
|
|
676
|
+
var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
677
|
+
editorAnalyticsAPI = _ref8.editorAnalyticsAPI,
|
|
678
|
+
_ref8$inputMethod = _ref8.inputMethod,
|
|
679
|
+
inputMethod = _ref8$inputMethod === void 0 ? _analytics.INPUT_METHOD.LAYOUT_COLUMN_MENU : _ref8$inputMethod,
|
|
680
|
+
_ref8$target = _ref8.target,
|
|
681
|
+
target = _ref8$target === void 0 ? 'selectedColumns' : _ref8$target;
|
|
682
|
+
return function (_ref9) {
|
|
683
|
+
var tr = _ref9.tr;
|
|
682
684
|
if (!(0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_layout_column_menu', 'isEnabled', true)) {
|
|
683
685
|
return null;
|
|
684
686
|
}
|
|
685
|
-
var
|
|
686
|
-
if (!
|
|
687
|
+
var selectedLayoutColumnsResult = target === 'allColumns' ? (0, _layoutColumnSelection.getAllLayoutColumnsFromSelection)(tr.selection) : (0, _layoutColumnSelection.getSelectedLayoutColumnsFromSelection)(tr.selection);
|
|
688
|
+
if (!selectedLayoutColumnsResult || selectedLayoutColumnsResult.selectedLayoutColumns.length < 2) {
|
|
687
689
|
return null;
|
|
688
690
|
}
|
|
689
|
-
var layoutSectionNode =
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
var selectedColumnCount = selectedColumns.length;
|
|
694
|
-
var totalColumnCount = layoutSectionNode.childCount;
|
|
691
|
+
var layoutSectionNode = selectedLayoutColumnsResult.layoutSectionNode,
|
|
692
|
+
startIndex = selectedLayoutColumnsResult.startIndex,
|
|
693
|
+
endIndex = selectedLayoutColumnsResult.endIndex,
|
|
694
|
+
selectedLayoutColumns = selectedLayoutColumnsResult.selectedLayoutColumns;
|
|
695
695
|
var existingWidths = (0, _utils.mapChildren)(layoutSectionNode, function (column) {
|
|
696
696
|
return column.attrs.width;
|
|
697
697
|
});
|
|
698
|
-
var selectedWidths =
|
|
699
|
-
var node =
|
|
698
|
+
var selectedWidths = selectedLayoutColumns.map(function (_ref0) {
|
|
699
|
+
var node = _ref0.node;
|
|
700
700
|
return node.attrs.width;
|
|
701
701
|
});
|
|
702
702
|
var distribution = (0, _layoutColumnDistribution.calculateDistribution)(selectedWidths);
|
|
@@ -712,15 +712,14 @@ var distributeLayoutColumns = exports.distributeLayoutColumns = function distrib
|
|
|
712
712
|
// Build new widths array: selected columns get equal share, unselected unchanged.
|
|
713
713
|
// Assign rounded (2dp) equal widths to all selected cols except the last, which absorbs
|
|
714
714
|
// the rounding remainder so the sum of selected widths equals selectedTotal exactly.
|
|
715
|
-
var selectedIndexSet = new Set(selectedColumnIndices);
|
|
716
715
|
var assignedToSelected = 0;
|
|
717
716
|
var selectedAssignedCount = 0;
|
|
718
717
|
var newWidths = existingWidths.map(function (w, idx) {
|
|
719
|
-
if (
|
|
718
|
+
if (idx < startIndex || idx > endIndex) {
|
|
720
719
|
return w;
|
|
721
720
|
}
|
|
722
721
|
selectedAssignedCount += 1;
|
|
723
|
-
if (selectedAssignedCount <
|
|
722
|
+
if (selectedAssignedCount < selectedLayoutColumns.length) {
|
|
724
723
|
assignedToSelected += equalWidth;
|
|
725
724
|
return equalWidth;
|
|
726
725
|
}
|
|
@@ -729,10 +728,10 @@ var distributeLayoutColumns = exports.distributeLayoutColumns = function distrib
|
|
|
729
728
|
});
|
|
730
729
|
|
|
731
730
|
// Apply widths via setNodeMarkup per selected column — keeps nodes in place (preserves identity, marks, decorations)
|
|
732
|
-
|
|
733
|
-
var node =
|
|
734
|
-
pos =
|
|
735
|
-
var colIdx =
|
|
731
|
+
selectedLayoutColumns.forEach(function (_ref1, i) {
|
|
732
|
+
var node = _ref1.node,
|
|
733
|
+
pos = _ref1.pos;
|
|
734
|
+
var colIdx = startIndex + i;
|
|
736
735
|
tr.setNodeMarkup(pos, node.type, _objectSpread(_objectSpread({}, node.attrs), {}, {
|
|
737
736
|
width: newWidths[colIdx]
|
|
738
737
|
}));
|
|
@@ -742,11 +741,11 @@ var distributeLayoutColumns = exports.distributeLayoutColumns = function distrib
|
|
|
742
741
|
actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
|
|
743
742
|
actionSubjectId: _analytics.ACTION_SUBJECT_ID.LAYOUT_COLUMN,
|
|
744
743
|
attributes: {
|
|
745
|
-
columnCount:
|
|
744
|
+
columnCount: layoutSectionNode.childCount,
|
|
746
745
|
endIndex: endIndex,
|
|
747
746
|
inputMethod: inputMethod,
|
|
748
|
-
selectedCount:
|
|
749
|
-
startIndex:
|
|
747
|
+
selectedCount: selectedLayoutColumns.length,
|
|
748
|
+
startIndex: startIndex
|
|
750
749
|
},
|
|
751
750
|
eventType: _analytics.EVENT_TYPE.TRACK
|
|
752
751
|
})(tr);
|
|
@@ -754,11 +753,19 @@ var distributeLayoutColumns = exports.distributeLayoutColumns = function distrib
|
|
|
754
753
|
return tr;
|
|
755
754
|
};
|
|
756
755
|
};
|
|
757
|
-
var
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
756
|
+
var createDistributeLayoutColumnsCommand = exports.createDistributeLayoutColumnsCommand = function createDistributeLayoutColumnsCommand(editorAnalyticsAPI) {
|
|
757
|
+
return function () {
|
|
758
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
759
|
+
return distributeLayoutColumns(_objectSpread(_objectSpread({}, options), {}, {
|
|
760
|
+
editorAnalyticsAPI: editorAnalyticsAPI
|
|
761
|
+
}));
|
|
762
|
+
};
|
|
763
|
+
};
|
|
764
|
+
var toggleLayoutColumnMenu = exports.toggleLayoutColumnMenu = function toggleLayoutColumnMenu(_ref10) {
|
|
765
|
+
var anchorPos = _ref10.anchorPos,
|
|
766
|
+
isOpen = _ref10.isOpen;
|
|
767
|
+
return function (_ref11) {
|
|
768
|
+
var tr = _ref11.tr;
|
|
762
769
|
tr.setMeta('toggleLayoutColumnMenu', {
|
|
763
770
|
anchorPos: anchorPos,
|
|
764
771
|
isOpen: isOpen
|
|
@@ -768,23 +775,20 @@ var toggleLayoutColumnMenu = exports.toggleLayoutColumnMenu = function toggleLay
|
|
|
768
775
|
};
|
|
769
776
|
};
|
|
770
777
|
var deleteLayoutColumn = exports.deleteLayoutColumn = function deleteLayoutColumn(editorAnalyticsAPI) {
|
|
771
|
-
return function (
|
|
772
|
-
var tr =
|
|
778
|
+
return function (_ref12) {
|
|
779
|
+
var tr = _ref12.tr;
|
|
773
780
|
if (!(0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_layout_column_menu', 'isEnabled', true)) {
|
|
774
781
|
return null;
|
|
775
782
|
}
|
|
776
|
-
var
|
|
777
|
-
if (!selectedLayoutColumns) {
|
|
783
|
+
var selectedLayoutColumnsResult = (0, _layoutColumnSelection.getSelectedLayoutColumnsFromSelection)(tr.selection);
|
|
784
|
+
if (!selectedLayoutColumnsResult || selectedLayoutColumnsResult.selectedLayoutColumns.length === 0) {
|
|
778
785
|
return null;
|
|
779
786
|
}
|
|
780
|
-
var layoutSectionNode =
|
|
781
|
-
layoutSectionPos =
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
var endIndex = selectedColumnIndices[selectedColumnIndices.length - 1];
|
|
786
|
-
var selectedColumnCount = selectedColumns.length;
|
|
787
|
-
var selectedColumnIndexSet = new Set(selectedColumnIndices);
|
|
787
|
+
var layoutSectionNode = selectedLayoutColumnsResult.layoutSectionNode,
|
|
788
|
+
layoutSectionPos = selectedLayoutColumnsResult.layoutSectionPos,
|
|
789
|
+
selectedLayoutColumns = selectedLayoutColumnsResult.selectedLayoutColumns,
|
|
790
|
+
startIndex = selectedLayoutColumnsResult.startIndex,
|
|
791
|
+
endIndex = selectedLayoutColumnsResult.endIndex;
|
|
788
792
|
var emitDeleteColumnAnalytics = function emitDeleteColumnAnalytics(columnCount) {
|
|
789
793
|
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
790
794
|
action: _analytics.ACTION.DELETED,
|
|
@@ -794,7 +798,7 @@ var deleteLayoutColumn = exports.deleteLayoutColumn = function deleteLayoutColum
|
|
|
794
798
|
columnCount: columnCount,
|
|
795
799
|
endIndex: endIndex,
|
|
796
800
|
inputMethod: _analytics.INPUT_METHOD.LAYOUT_COLUMN_MENU,
|
|
797
|
-
selectedCount:
|
|
801
|
+
selectedCount: selectedLayoutColumns.length,
|
|
798
802
|
startIndex: startIndex
|
|
799
803
|
},
|
|
800
804
|
eventType: _analytics.EVENT_TYPE.TRACK
|
|
@@ -802,7 +806,7 @@ var deleteLayoutColumn = exports.deleteLayoutColumn = function deleteLayoutColum
|
|
|
802
806
|
};
|
|
803
807
|
|
|
804
808
|
// If all columns are selected, remove the entire layoutSection
|
|
805
|
-
if (
|
|
809
|
+
if (selectedLayoutColumns.length === layoutSectionNode.childCount) {
|
|
806
810
|
tr.delete(layoutSectionPos, layoutSectionPos + layoutSectionNode.nodeSize);
|
|
807
811
|
emitDeleteColumnAnalytics(0);
|
|
808
812
|
tr.setMeta('scrollIntoView', false);
|
|
@@ -812,7 +816,7 @@ var deleteLayoutColumn = exports.deleteLayoutColumn = function deleteLayoutColum
|
|
|
812
816
|
// Build new column list without the selected columns
|
|
813
817
|
var remainingColumns = [];
|
|
814
818
|
layoutSectionNode.forEach(function (column, _offset, index) {
|
|
815
|
-
if (
|
|
819
|
+
if (index < startIndex || index > endIndex) {
|
|
816
820
|
remainingColumns.push(column);
|
|
817
821
|
}
|
|
818
822
|
});
|
|
@@ -821,12 +825,12 @@ var deleteLayoutColumn = exports.deleteLayoutColumn = function deleteLayoutColum
|
|
|
821
825
|
var existingWidths = (0, _utils.mapChildren)(layoutSectionNode, function (column) {
|
|
822
826
|
return column.attrs.width;
|
|
823
827
|
});
|
|
824
|
-
var redistributed =
|
|
828
|
+
var redistributed = selectedLayoutColumns.map(function (_, i) {
|
|
829
|
+
return startIndex + i;
|
|
830
|
+
})
|
|
825
831
|
// Delete highest indices first so lower original indices still point at the same columns
|
|
826
832
|
// as each redistribution step shrinks the widths array.
|
|
827
|
-
.
|
|
828
|
-
return b - a;
|
|
829
|
-
}).reduce(function (widths, selectedIndex) {
|
|
833
|
+
.reverse().reduce(function (widths, selectedIndex) {
|
|
830
834
|
return (0, _layoutColumnDistribution.redistributeAfterDeletion)(widths, selectedIndex, _consts.MIN_LAYOUT_COLUMN_WIDTH_PERCENT);
|
|
831
835
|
}, existingWidths);
|
|
832
836
|
var updatedLayoutSectionNode = layoutSectionNode.copy(_model.Fragment.fromArray(remainingColumns));
|
|
@@ -3,127 +3,85 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
return (node === null || node === void 0 ? void 0 : node.type.name) === 'layoutColumn';
|
|
6
|
+
exports.getSelectedLayoutColumnsFromSelection = exports.getLayoutColumnValign = exports.getLayoutColumnMenuAnchorPos = exports.getAllLayoutColumnsFromSelection = void 0;
|
|
7
|
+
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
8
|
+
var findLayoutSectionFromSelection = function findLayoutSectionFromSelection(selection) {
|
|
9
|
+
return (0, _utils.findParentNodeOfType)(selection.$from.doc.type.schema.nodes.layoutSection)(selection);
|
|
11
10
|
};
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
if (isLayoutColumn($pos.node(depth)) && isLayoutSection($pos.node(depth - 1))) {
|
|
18
|
-
return $pos.index(depth - 1);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return undefined;
|
|
22
|
-
};
|
|
23
|
-
var getLayoutSectionDepth = function getLayoutSectionDepth(selection) {
|
|
24
|
-
var $from = selection.$from,
|
|
25
|
-
$to = selection.$to;
|
|
26
|
-
var sharedDepth = $from.sharedDepth($to.pos);
|
|
27
|
-
for (var depth = sharedDepth; depth > 0; depth--) {
|
|
28
|
-
if (isLayoutSection($from.node(depth))) {
|
|
29
|
-
return depth;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return undefined;
|
|
33
|
-
};
|
|
34
|
-
var getSelectedLayoutColumns = exports.getSelectedLayoutColumns = function getSelectedLayoutColumns(selection) {
|
|
35
|
-
if (!selection) {
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
if (selection instanceof _state.NodeSelection && isLayoutColumn(selection.node)) {
|
|
39
|
-
var _$from = selection.$from;
|
|
40
|
-
var _layoutSectionNode = _$from.parent;
|
|
41
|
-
if (!isLayoutSection(_layoutSectionNode)) {
|
|
42
|
-
return undefined;
|
|
43
|
-
}
|
|
44
|
-
var selectedColumnIndex = _$from.index(_$from.depth);
|
|
11
|
+
var findLayoutColumnsFromLayoutSection = function findLayoutColumnsFromLayoutSection(layoutSectionNode) {
|
|
12
|
+
var layoutSectionPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
13
|
+
return (0, _utils.findChildrenByType)(layoutSectionNode, layoutSectionNode.type.schema.nodes.layoutColumn).map(function (_ref) {
|
|
14
|
+
var node = _ref.node,
|
|
15
|
+
pos = _ref.pos;
|
|
45
16
|
return {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
selectedColumnIndices: [selectedColumnIndex],
|
|
49
|
-
selectedColumns: [{
|
|
50
|
-
index: selectedColumnIndex,
|
|
51
|
-
node: selection.node,
|
|
52
|
-
pos: selection.from
|
|
53
|
-
}]
|
|
17
|
+
node: node,
|
|
18
|
+
pos: pos + layoutSectionPos + 1
|
|
54
19
|
};
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if (!
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var getSelectedLayoutColumnsFromSelection = exports.getSelectedLayoutColumnsFromSelection = function getSelectedLayoutColumnsFromSelection(selection) {
|
|
23
|
+
var layoutSection = findLayoutSectionFromSelection(selection);
|
|
24
|
+
if (!layoutSection) {
|
|
60
25
|
return undefined;
|
|
61
26
|
}
|
|
62
|
-
var
|
|
63
|
-
|
|
27
|
+
var layoutSectionNode = layoutSection.node,
|
|
28
|
+
layoutSectionPos = layoutSection.pos;
|
|
29
|
+
var allLayoutColumns = findLayoutColumnsFromLayoutSection(layoutSectionNode, layoutSectionPos);
|
|
30
|
+
if (!allLayoutColumns.length) {
|
|
64
31
|
return undefined;
|
|
65
32
|
}
|
|
66
|
-
var
|
|
67
|
-
|
|
68
|
-
var
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
if (!isLayoutColumn(column)) {
|
|
80
|
-
invalidSelection = true;
|
|
81
|
-
return;
|
|
33
|
+
var startIndex = -1;
|
|
34
|
+
var endIndex = -1;
|
|
35
|
+
var selectedLayoutColumns = allLayoutColumns.filter(function (_ref2, index) {
|
|
36
|
+
var node = _ref2.node,
|
|
37
|
+
pos = _ref2.pos;
|
|
38
|
+
var isSelected = selection.from <= pos && selection.to >= pos + node.nodeSize;
|
|
39
|
+
if (isSelected) {
|
|
40
|
+
if (startIndex === -1) {
|
|
41
|
+
startIndex = index;
|
|
42
|
+
}
|
|
43
|
+
endIndex = index;
|
|
82
44
|
}
|
|
83
|
-
|
|
84
|
-
index: index,
|
|
85
|
-
node: column,
|
|
86
|
-
pos: columnStart
|
|
87
|
-
});
|
|
45
|
+
return isSelected;
|
|
88
46
|
});
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
47
|
+
return {
|
|
48
|
+
layoutSectionNode: layoutSectionNode,
|
|
49
|
+
layoutSectionPos: layoutSectionPos,
|
|
50
|
+
selectedLayoutColumns: selectedLayoutColumns,
|
|
51
|
+
startIndex: startIndex,
|
|
52
|
+
endIndex: endIndex
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
var getAllLayoutColumnsFromSelection = exports.getAllLayoutColumnsFromSelection = function getAllLayoutColumnsFromSelection(selection) {
|
|
56
|
+
var layoutSection = findLayoutSectionFromSelection(selection);
|
|
57
|
+
if (!layoutSection) {
|
|
92
58
|
return undefined;
|
|
93
59
|
}
|
|
94
|
-
var
|
|
95
|
-
|
|
96
|
-
var startColumnIndex = getLayoutColumnIndexAtPos($from);
|
|
97
|
-
var endColumnIndex = getLayoutColumnIndexAtPos($to);
|
|
98
|
-
if (startColumnIndex !== undefined && startColumnIndex !== firstColumn.index || endColumnIndex !== undefined && endColumnIndex !== lastColumn.index) {
|
|
60
|
+
var layoutColumns = findLayoutColumnsFromLayoutSection(layoutSection.node, layoutSection.pos);
|
|
61
|
+
if (!(layoutColumns !== null && layoutColumns !== void 0 && layoutColumns.length)) {
|
|
99
62
|
return undefined;
|
|
100
63
|
}
|
|
101
64
|
return {
|
|
102
|
-
layoutSectionNode:
|
|
103
|
-
layoutSectionPos:
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}),
|
|
108
|
-
selectedColumns: selectedColumns
|
|
65
|
+
layoutSectionNode: layoutSection.node,
|
|
66
|
+
layoutSectionPos: layoutSection.pos,
|
|
67
|
+
selectedLayoutColumns: layoutColumns,
|
|
68
|
+
startIndex: 0,
|
|
69
|
+
endIndex: layoutColumns.length - 1
|
|
109
70
|
};
|
|
110
71
|
};
|
|
111
|
-
var getLayoutSectionColumnCount = exports.getLayoutSectionColumnCount = function getLayoutSectionColumnCount(layoutSection) {
|
|
112
|
-
return (layoutSection === null || layoutSection === void 0 ? void 0 : layoutSection.type.name) === 'layoutSection' ? layoutSection.childCount : 0;
|
|
113
|
-
};
|
|
114
72
|
var getLayoutColumnValign = exports.getLayoutColumnValign = function getLayoutColumnValign(layoutColumn) {
|
|
115
|
-
var
|
|
116
|
-
return layoutColumn ? (
|
|
73
|
+
var _ref3;
|
|
74
|
+
return layoutColumn ? (_ref3 = layoutColumn.attrs.valign) !== null && _ref3 !== void 0 ? _ref3 : 'top' : undefined;
|
|
117
75
|
};
|
|
118
76
|
var getLayoutColumnMenuAnchorPos = exports.getLayoutColumnMenuAnchorPos = function getLayoutColumnMenuAnchorPos(selection, anchorPosFromHandle) {
|
|
119
77
|
var _clickedSelectedColum, _selectedLayoutColumn;
|
|
120
|
-
var selectedLayoutColumns =
|
|
78
|
+
var selectedLayoutColumns = getSelectedLayoutColumnsFromSelection(selection);
|
|
121
79
|
if (!selectedLayoutColumns) {
|
|
122
80
|
return undefined;
|
|
123
81
|
}
|
|
124
|
-
var clickedSelectedColumn = selectedLayoutColumns.
|
|
125
|
-
var pos =
|
|
82
|
+
var clickedSelectedColumn = selectedLayoutColumns.selectedLayoutColumns.find(function (_ref4) {
|
|
83
|
+
var pos = _ref4.pos;
|
|
126
84
|
return pos === anchorPosFromHandle;
|
|
127
85
|
});
|
|
128
|
-
return (_clickedSelectedColum = clickedSelectedColumn === null || clickedSelectedColumn === void 0 ? void 0 : clickedSelectedColumn.pos) !== null && _clickedSelectedColum !== void 0 ? _clickedSelectedColum : (_selectedLayoutColumn = selectedLayoutColumns.
|
|
86
|
+
return (_clickedSelectedColum = clickedSelectedColumn === null || clickedSelectedColumn === void 0 ? void 0 : clickedSelectedColumn.pos) !== null && _clickedSelectedColum !== void 0 ? _clickedSelectedColum : (_selectedLayoutColumn = selectedLayoutColumns.selectedLayoutColumns[0]) === null || _selectedLayoutColumn === void 0 ? void 0 : _selectedLayoutColumn.pos;
|
|
129
87
|
};
|
|
@@ -36,7 +36,7 @@ var DeleteColumnDropdownItem = exports.DeleteColumnDropdownItem = function Delet
|
|
|
36
36
|
if (selectedLayoutColumns === undefined) {
|
|
37
37
|
return null;
|
|
38
38
|
}
|
|
39
|
-
var selectedColumnCount = selectedLayoutColumns.
|
|
39
|
+
var selectedColumnCount = selectedLayoutColumns.selectedLayoutColumns.length;
|
|
40
40
|
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
41
41
|
onClick: onClick
|
|
42
42
|
}, formatMessage(_messages.layoutMessages.deleteColumn, {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.DistributeColumnsDropdownItem = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _reactIntl = require("react-intl");
|
|
10
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
10
11
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
11
12
|
var _editorToolbar = require("@atlaskit/editor-toolbar");
|
|
12
13
|
var _layoutColumnDistribution = require("../../pm-plugins/utils/layout-column-distribution");
|
|
@@ -16,12 +17,16 @@ var DistributeColumnsDropdownItem = exports.DistributeColumnsDropdownItem = func
|
|
|
16
17
|
var api = _ref.api;
|
|
17
18
|
var _useIntl = (0, _reactIntl.useIntl)(),
|
|
18
19
|
formatMessage = _useIntl.formatMessage;
|
|
19
|
-
var
|
|
20
|
+
var selectedLayoutColumnsResult = (0, _useSelectedLayoutColumns.useSelectedLayoutColumns)(api);
|
|
21
|
+
var _ref2 = selectedLayoutColumnsResult !== null && selectedLayoutColumnsResult !== void 0 ? selectedLayoutColumnsResult : {},
|
|
22
|
+
selectedLayoutColumns = _ref2.selectedLayoutColumns;
|
|
20
23
|
var handleClick = (0, _react.useCallback)(function () {
|
|
21
24
|
var _api$core;
|
|
22
25
|
api === null || api === void 0 || (_api$core = api.core) === null || _api$core === void 0 || _api$core.actions.execute(function (props) {
|
|
23
26
|
var _api$layout, _api$layout2;
|
|
24
|
-
var tr = api === null || api === void 0 || (_api$layout = api.layout) === null || _api$layout === void 0 ? void 0 : _api$layout.commands.distributeLayoutColumns(
|
|
27
|
+
var tr = api === null || api === void 0 || (_api$layout = api.layout) === null || _api$layout === void 0 ? void 0 : _api$layout.commands.distributeLayoutColumns({
|
|
28
|
+
inputMethod: _analytics.INPUT_METHOD.LAYOUT_COLUMN_MENU
|
|
29
|
+
})(props);
|
|
25
30
|
if (!tr) {
|
|
26
31
|
return null;
|
|
27
32
|
}
|
|
@@ -34,15 +39,15 @@ var DistributeColumnsDropdownItem = exports.DistributeColumnsDropdownItem = func
|
|
|
34
39
|
});
|
|
35
40
|
}, [api]);
|
|
36
41
|
var isAlreadyUniform = (0, _react.useMemo)(function () {
|
|
37
|
-
if (!selectedLayoutColumns || selectedLayoutColumns.
|
|
42
|
+
if (!selectedLayoutColumns || selectedLayoutColumns.length < 2) {
|
|
38
43
|
return false;
|
|
39
44
|
}
|
|
40
|
-
var selectedWidths = selectedLayoutColumns.
|
|
45
|
+
var selectedWidths = selectedLayoutColumns.map(function (col) {
|
|
41
46
|
return col.node.attrs.width;
|
|
42
47
|
});
|
|
43
48
|
return (0, _layoutColumnDistribution.isDistributedUniformly)(selectedWidths);
|
|
44
49
|
}, [selectedLayoutColumns]);
|
|
45
|
-
if (selectedLayoutColumns === undefined || selectedLayoutColumns.
|
|
50
|
+
if (selectedLayoutColumns === undefined || selectedLayoutColumns.length < 2) {
|
|
46
51
|
return null;
|
|
47
52
|
}
|
|
48
53
|
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
@@ -10,7 +10,6 @@ var _reactIntl = require("react-intl");
|
|
|
10
10
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
11
11
|
var _editorToolbar = require("@atlaskit/editor-toolbar");
|
|
12
12
|
var _actions = require("../../pm-plugins/actions");
|
|
13
|
-
var _layoutColumnSelection = require("../../pm-plugins/utils/layout-column-selection");
|
|
14
13
|
var _useSelectedLayoutColumns = require("./useSelectedLayoutColumns");
|
|
15
14
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
15
|
var INSERT_COLUMN_OPTIONS = {
|
|
@@ -26,6 +25,7 @@ var INSERT_COLUMN_OPTIONS = {
|
|
|
26
25
|
}
|
|
27
26
|
};
|
|
28
27
|
var InsertColumnDropdownItem = exports.InsertColumnDropdownItem = function InsertColumnDropdownItem(_ref) {
|
|
28
|
+
var _selectedLayoutColumn, _selectedLayoutColumn2;
|
|
29
29
|
var api = _ref.api,
|
|
30
30
|
side = _ref.side;
|
|
31
31
|
var _useIntl = (0, _reactIntl.useIntl)(),
|
|
@@ -34,7 +34,7 @@ var InsertColumnDropdownItem = exports.InsertColumnDropdownItem = function Inser
|
|
|
34
34
|
Icon = _INSERT_COLUMN_OPTION.Icon,
|
|
35
35
|
label = _INSERT_COLUMN_OPTION.label;
|
|
36
36
|
var selectedLayoutColumns = (0, _useSelectedLayoutColumns.useSelectedLayoutColumns)(api);
|
|
37
|
-
var columnCount = (0
|
|
37
|
+
var columnCount = (_selectedLayoutColumn = selectedLayoutColumns === null || selectedLayoutColumns === void 0 || (_selectedLayoutColumn2 = selectedLayoutColumns.layoutSectionNode) === null || _selectedLayoutColumn2 === void 0 ? void 0 : _selectedLayoutColumn2.childCount) !== null && _selectedLayoutColumn !== void 0 ? _selectedLayoutColumn : 0;
|
|
38
38
|
var maxColumnCount = (0, _actions.getEffectiveMaxLayoutColumns)();
|
|
39
39
|
var canInsertColumn = selectedLayoutColumns !== undefined && columnCount < maxColumnCount;
|
|
40
40
|
var onClick = (0, _react.useCallback)(function () {
|
|
@@ -20,7 +20,7 @@ var VerticalAlignDropdownItem = exports.VerticalAlignDropdownItem = function Ver
|
|
|
20
20
|
var _useIntl = (0, _reactIntl.useIntl)(),
|
|
21
21
|
formatMessage = _useIntl.formatMessage;
|
|
22
22
|
var selectedLayoutColumns = (0, _useSelectedLayoutColumns.useSelectedLayoutColumns)(api);
|
|
23
|
-
var isSelected = (_selectedLayoutColumn = selectedLayoutColumns === null || selectedLayoutColumns === void 0 ? void 0 : selectedLayoutColumns.
|
|
23
|
+
var isSelected = (_selectedLayoutColumn = selectedLayoutColumns === null || selectedLayoutColumns === void 0 ? void 0 : selectedLayoutColumns.selectedLayoutColumns.every(function (_ref2) {
|
|
24
24
|
var node = _ref2.node;
|
|
25
25
|
return (0, _layoutColumnSelection.getLayoutColumnValign)(node) === value;
|
|
26
26
|
})) !== null && _selectedLayoutColumn !== void 0 ? _selectedLayoutColumn : false;
|
|
@@ -20,7 +20,7 @@ var VerticalAlignNestedMenu = exports.VerticalAlignNestedMenu = function Vertica
|
|
|
20
20
|
formatMessage = _useIntl.formatMessage;
|
|
21
21
|
var selectedLayoutColumns = (0, _useSelectedLayoutColumns.useSelectedLayoutColumns)(api);
|
|
22
22
|
var currentValign = (0, _react.useMemo)(function () {
|
|
23
|
-
var selectedColumns = selectedLayoutColumns === null || selectedLayoutColumns === void 0 ? void 0 : selectedLayoutColumns.
|
|
23
|
+
var selectedColumns = selectedLayoutColumns === null || selectedLayoutColumns === void 0 ? void 0 : selectedLayoutColumns.selectedLayoutColumns;
|
|
24
24
|
var firstColumn = selectedColumns === null || selectedColumns === void 0 ? void 0 : selectedColumns[0];
|
|
25
25
|
var firstValign = (0, _layoutColumnSelection.getLayoutColumnValign)(firstColumn === null || firstColumn === void 0 ? void 0 : firstColumn.node);
|
|
26
26
|
if (!firstValign || !(selectedColumns !== null && selectedColumns !== void 0 && selectedColumns.every(function (_ref2) {
|
|
@@ -26,7 +26,7 @@ var TOOLBAR_MENU_SELECTOR = '[data-toolbar-component="menu"]';
|
|
|
26
26
|
*/
|
|
27
27
|
var getLayoutColumnMenuTarget = function getLayoutColumnMenuTarget(editorView, selection, anchorPosFromHandle) {
|
|
28
28
|
var _columnDomRef$parentE;
|
|
29
|
-
var anchorPos = (0, _layoutColumnSelection.getLayoutColumnMenuAnchorPos)(selection, anchorPosFromHandle);
|
|
29
|
+
var anchorPos = selection && (0, _layoutColumnSelection.getLayoutColumnMenuAnchorPos)(selection, anchorPosFromHandle);
|
|
30
30
|
if (anchorPos === undefined) {
|
|
31
31
|
return null;
|
|
32
32
|
}
|
|
@@ -7,8 +7,9 @@ exports.useSelectedLayoutColumns = void 0;
|
|
|
7
7
|
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
8
8
|
var _layoutColumnSelection = require("../../pm-plugins/utils/layout-column-selection");
|
|
9
9
|
var useSelectedLayoutColumns = exports.useSelectedLayoutColumns = function useSelectedLayoutColumns(api) {
|
|
10
|
-
return (0, _hooks.useSharedPluginStateWithSelector)(api, ['selection'], function (
|
|
11
|
-
var
|
|
12
|
-
|
|
10
|
+
return (0, _hooks.useSharedPluginStateWithSelector)(api, ['selection'], function (_ref) {
|
|
11
|
+
var selectionState = _ref.selectionState;
|
|
12
|
+
var selectedLayoutColumns = (selectionState === null || selectionState === void 0 ? void 0 : selectionState.selection) && (0, _layoutColumnSelection.getSelectedLayoutColumnsFromSelection)(selectionState.selection);
|
|
13
|
+
return selectedLayoutColumns !== null && selectedLayoutColumns !== void 0 && selectedLayoutColumns.selectedLayoutColumns.length ? selectedLayoutColumns : undefined;
|
|
13
14
|
});
|
|
14
15
|
};
|