@atlaskit/editor-plugin-layout 11.1.10 → 12.0.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 +16 -0
- package/dist/cjs/layoutPlugin.js +7 -10
- package/dist/cjs/pm-plugins/actions.js +82 -49
- package/dist/cjs/pm-plugins/consts.js +2 -1
- package/dist/cjs/pm-plugins/keymap.js +19 -5
- package/dist/cjs/pm-plugins/main.js +28 -0
- package/dist/cjs/pm-plugins/utils/layout-column-selection.js +2 -1
- package/dist/cjs/ui/LayoutColumnMenu/DeleteColumnDropdownItem.js +4 -1
- package/dist/cjs/ui/LayoutColumnMenu/InsertColumnDropdownItem.js +5 -1
- package/dist/cjs/ui/LayoutColumnMenu/VerticalAlignDropdownItem.js +3 -1
- package/dist/es2019/layoutPlugin.js +8 -11
- package/dist/es2019/pm-plugins/actions.js +42 -14
- package/dist/es2019/pm-plugins/consts.js +1 -0
- package/dist/es2019/pm-plugins/keymap.js +19 -5
- package/dist/es2019/pm-plugins/main.js +30 -0
- package/dist/es2019/pm-plugins/utils/layout-column-selection.js +2 -1
- package/dist/es2019/ui/LayoutColumnMenu/DeleteColumnDropdownItem.js +4 -1
- package/dist/es2019/ui/LayoutColumnMenu/InsertColumnDropdownItem.js +5 -1
- package/dist/es2019/ui/LayoutColumnMenu/VerticalAlignDropdownItem.js +3 -1
- package/dist/esm/layoutPlugin.js +8 -11
- package/dist/esm/pm-plugins/actions.js +84 -51
- package/dist/esm/pm-plugins/consts.js +1 -0
- package/dist/esm/pm-plugins/keymap.js +19 -5
- package/dist/esm/pm-plugins/main.js +28 -0
- package/dist/esm/pm-plugins/utils/layout-column-selection.js +2 -1
- package/dist/esm/ui/LayoutColumnMenu/DeleteColumnDropdownItem.js +4 -1
- package/dist/esm/ui/LayoutColumnMenu/InsertColumnDropdownItem.js +5 -1
- package/dist/esm/ui/LayoutColumnMenu/VerticalAlignDropdownItem.js +3 -1
- package/dist/types/layoutPluginType.d.ts +4 -5
- package/dist/types/pm-plugins/actions.d.ts +15 -4
- package/dist/types/pm-plugins/consts.d.ts +2 -0
- package/dist/types-ts4.5/layoutPluginType.d.ts +4 -5
- package/dist/types-ts4.5/pm-plugins/actions.d.ts +15 -4
- package/dist/types-ts4.5/pm-plugins/consts.d.ts +2 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-layout
|
|
2
2
|
|
|
3
|
+
## 12.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [`19c2b7d1cbc13`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/19c2b7d1cbc13) -
|
|
8
|
+
Add analytics for layout column menu interactions
|
|
9
|
+
|
|
10
|
+
### Minor Changes
|
|
11
|
+
|
|
12
|
+
- [`f95240aab2e55`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f95240aab2e55) -
|
|
13
|
+
Promote layout column vertical alignment in ADF schema
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
|
|
3
19
|
## 11.1.10
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/cjs/layoutPlugin.js
CHANGED
|
@@ -96,10 +96,7 @@ var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
|
96
96
|
node: (0, _experiments.editorExperiment)('advanced_layouts', true) ? (0, _platformFeatureFlags.fg)('platform_editor_adf_with_localid') ? _schema.layoutSectionWithSingleColumnLocalId : _schema.layoutSectionWithSingleColumn : (0, _platformFeatureFlags.fg)('platform_editor_adf_with_localid') ? _adfSchema.layoutSectionWithLocalId : _adfSchema.layoutSection
|
|
97
97
|
}, {
|
|
98
98
|
name: 'layoutColumn',
|
|
99
|
-
node: (0,
|
|
100
|
-
// `layoutColumnStage0` includes both `valign` and `localId` attrs, so it remains
|
|
101
|
-
// compatible with `platform_editor_adf_with_localid` when both flags are enabled.
|
|
102
|
-
_adfSchema.layoutColumnStage0 : (0, _platformFeatureFlags.fg)('platform_editor_adf_with_localid') ? _adfSchema.layoutColumnWithLocalId : _adfSchema.layoutColumn
|
|
99
|
+
node: (0, _platformFeatureFlags.fg)('platform_editor_adf_with_localid') ? _adfSchema.layoutColumnWithLocalId : _adfSchema.layoutColumn
|
|
103
100
|
}];
|
|
104
101
|
},
|
|
105
102
|
pmPlugins: function pmPlugins() {
|
|
@@ -390,22 +387,22 @@ var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
|
390
387
|
return _pluginKey.pluginKey.getState(editorState);
|
|
391
388
|
},
|
|
392
389
|
commands: {
|
|
393
|
-
deleteLayoutColumn: function deleteLayoutColumn(
|
|
390
|
+
deleteLayoutColumn: function deleteLayoutColumn(options) {
|
|
394
391
|
var _api$analytics5;
|
|
395
|
-
return (0, _actions.deleteLayoutColumn)(api === null || api === void 0 || (_api$analytics5 = api.analytics) === null || _api$analytics5 === void 0 ? void 0 : _api$analytics5.actions, api
|
|
392
|
+
return (0, _actions.deleteLayoutColumn)(options, api === null || api === void 0 || (_api$analytics5 = api.analytics) === null || _api$analytics5 === void 0 ? void 0 : _api$analytics5.actions, api);
|
|
396
393
|
},
|
|
397
394
|
distributeLayoutColumns: function distributeLayoutColumns(options) {
|
|
398
395
|
var _api$analytics6;
|
|
399
396
|
return (0, _actions.distributeLayoutColumns)(api === null || api === void 0 || (_api$analytics6 = api.analytics) === null || _api$analytics6 === void 0 ? void 0 : _api$analytics6.actions, api)(options);
|
|
400
397
|
},
|
|
401
|
-
insertLayoutColumn: function insertLayoutColumn(
|
|
398
|
+
insertLayoutColumn: function insertLayoutColumn(options) {
|
|
402
399
|
var _api$analytics7;
|
|
403
|
-
return (0, _actions.insertLayoutColumn)(
|
|
400
|
+
return (0, _actions.insertLayoutColumn)(options, api === null || api === void 0 || (_api$analytics7 = api.analytics) === null || _api$analytics7 === void 0 ? void 0 : _api$analytics7.actions, api);
|
|
404
401
|
},
|
|
405
402
|
setLayoutColumnDangerPreview: _actions.setLayoutColumnDangerPreview,
|
|
406
|
-
setLayoutColumnValign: function setLayoutColumnValign(
|
|
403
|
+
setLayoutColumnValign: function setLayoutColumnValign(options) {
|
|
407
404
|
var _api$analytics8;
|
|
408
|
-
return (0, _actions.setLayoutColumnValign)(
|
|
405
|
+
return (0, _actions.setLayoutColumnValign)(options, api === null || api === void 0 || (_api$analytics8 = api.analytics) === null || _api$analytics8 === void 0 ? void 0 : _api$analytics8.actions, api);
|
|
409
406
|
},
|
|
410
407
|
toggleLayoutColumnMenu: _actions.toggleLayoutColumnMenu
|
|
411
408
|
}
|
|
@@ -554,6 +554,18 @@ var formatLayoutName = function formatLayoutName(layout) {
|
|
|
554
554
|
}
|
|
555
555
|
};
|
|
556
556
|
var LAYOUT_COLUMN_INSERT_META = exports.LAYOUT_COLUMN_INSERT_META = 'layoutColumnInsert';
|
|
557
|
+
var getPreviousLayoutColumnValign = function getPreviousLayoutColumnValign(selectedLayoutColumns) {
|
|
558
|
+
var _selectedLayoutColumn;
|
|
559
|
+
var firstValign = (0, _layoutColumnSelection.getLayoutColumnValign)((_selectedLayoutColumn = selectedLayoutColumns[0]) === null || _selectedLayoutColumn === void 0 ? void 0 : _selectedLayoutColumn.node);
|
|
560
|
+
var hasMixedValign = selectedLayoutColumns.some(function (_ref4) {
|
|
561
|
+
var node = _ref4.node;
|
|
562
|
+
return (0, _layoutColumnSelection.getLayoutColumnValign)(node) !== firstValign;
|
|
563
|
+
});
|
|
564
|
+
return hasMixedValign ? 'mixed' : firstValign !== null && firstValign !== void 0 ? firstValign : _consts.DEFAULT_LAYOUT_COLUMN_VALIGN;
|
|
565
|
+
};
|
|
566
|
+
var hasLayoutColumnContent = function hasLayoutColumnContent(node) {
|
|
567
|
+
return !(0, _utils.isEmptyDocument)(node);
|
|
568
|
+
};
|
|
557
569
|
var mapLayoutColumnPreservedSelection = function mapLayoutColumnPreservedSelection(tr, api) {
|
|
558
570
|
var insertMeta = tr.getMeta(LAYOUT_COLUMN_INSERT_META);
|
|
559
571
|
if (insertMeta) {
|
|
@@ -582,8 +594,8 @@ function getEffectiveMaxLayoutColumns() {
|
|
|
582
594
|
}
|
|
583
595
|
var insertLayoutColumnAt = function insertLayoutColumnAt(side, editorAnalyticsAPI) {
|
|
584
596
|
var inputMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _analytics.INPUT_METHOD.LAYOUT_COLUMN_MENU;
|
|
585
|
-
return function (
|
|
586
|
-
var tr =
|
|
597
|
+
return function (_ref5) {
|
|
598
|
+
var tr = _ref5.tr;
|
|
587
599
|
if (!(0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_layout_column_menu', 'isEnabled', true)) {
|
|
588
600
|
return null;
|
|
589
601
|
}
|
|
@@ -645,9 +657,10 @@ var insertLayoutColumnAt = function insertLayoutColumnAt(side, editorAnalyticsAP
|
|
|
645
657
|
actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
|
|
646
658
|
actionSubjectId: _analytics.ACTION_SUBJECT_ID.LAYOUT_COLUMN,
|
|
647
659
|
attributes: {
|
|
648
|
-
columnCount: redistributedWidths.length,
|
|
649
660
|
endIndex: endIndex,
|
|
650
661
|
inputMethod: inputMethod,
|
|
662
|
+
newColumnCount: redistributedWidths.length,
|
|
663
|
+
previousColumnCount: layoutSectionNode.childCount,
|
|
651
664
|
selectedCount: selectedColumnCount,
|
|
652
665
|
side: side,
|
|
653
666
|
startIndex: startIndex
|
|
@@ -658,10 +671,12 @@ var insertLayoutColumnAt = function insertLayoutColumnAt(side, editorAnalyticsAP
|
|
|
658
671
|
return tr;
|
|
659
672
|
};
|
|
660
673
|
};
|
|
661
|
-
var insertLayoutColumn = exports.insertLayoutColumn = function insertLayoutColumn(
|
|
662
|
-
var
|
|
663
|
-
|
|
664
|
-
|
|
674
|
+
var insertLayoutColumn = exports.insertLayoutColumn = function insertLayoutColumn(_ref6, editorAnalyticsAPI, api) {
|
|
675
|
+
var side = _ref6.side,
|
|
676
|
+
_ref6$inputMethod = _ref6.inputMethod,
|
|
677
|
+
inputMethod = _ref6$inputMethod === void 0 ? _analytics.INPUT_METHOD.LAYOUT_COLUMN_MENU : _ref6$inputMethod;
|
|
678
|
+
return function (_ref7) {
|
|
679
|
+
var tr = _ref7.tr;
|
|
665
680
|
var result = insertLayoutColumnAt(side, editorAnalyticsAPI, inputMethod)({
|
|
666
681
|
tr: tr
|
|
667
682
|
});
|
|
@@ -671,9 +686,12 @@ var insertLayoutColumn = exports.insertLayoutColumn = function insertLayoutColum
|
|
|
671
686
|
return result;
|
|
672
687
|
};
|
|
673
688
|
};
|
|
674
|
-
var setLayoutColumnValign = exports.setLayoutColumnValign = function setLayoutColumnValign(
|
|
675
|
-
|
|
676
|
-
|
|
689
|
+
var setLayoutColumnValign = exports.setLayoutColumnValign = function setLayoutColumnValign(_ref8, editorAnalyticsAPI, api) {
|
|
690
|
+
var valign = _ref8.valign,
|
|
691
|
+
_ref8$inputMethod = _ref8.inputMethod,
|
|
692
|
+
inputMethod = _ref8$inputMethod === void 0 ? _analytics.INPUT_METHOD.LAYOUT_COLUMN_MENU : _ref8$inputMethod;
|
|
693
|
+
return function (_ref9) {
|
|
694
|
+
var tr = _ref9.tr;
|
|
677
695
|
if (!(0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_layout_column_menu', 'isEnabled', true)) {
|
|
678
696
|
return null;
|
|
679
697
|
}
|
|
@@ -681,20 +699,22 @@ var setLayoutColumnValign = exports.setLayoutColumnValign = function setLayoutCo
|
|
|
681
699
|
if (!selectedLayoutColumnsResult) {
|
|
682
700
|
return null;
|
|
683
701
|
}
|
|
684
|
-
var
|
|
702
|
+
var layoutSectionNode = selectedLayoutColumnsResult.layoutSectionNode,
|
|
703
|
+
startIndex = selectedLayoutColumnsResult.startIndex,
|
|
685
704
|
endIndex = selectedLayoutColumnsResult.endIndex,
|
|
686
705
|
selectedLayoutColumns = selectedLayoutColumnsResult.selectedLayoutColumns;
|
|
687
|
-
var
|
|
688
|
-
|
|
689
|
-
|
|
706
|
+
var previousValign = getPreviousLayoutColumnValign(selectedLayoutColumns);
|
|
707
|
+
var columnsToUpdate = selectedLayoutColumns.filter(function (_ref0) {
|
|
708
|
+
var node = _ref0.node;
|
|
709
|
+
return (0, _layoutColumnSelection.getLayoutColumnValign)(node) !== valign;
|
|
690
710
|
});
|
|
691
711
|
if (columnsToUpdate.length === 0) {
|
|
692
712
|
return null;
|
|
693
713
|
}
|
|
694
714
|
var updatedColumnCount = columnsToUpdate.length;
|
|
695
|
-
columnsToUpdate.forEach(function (
|
|
696
|
-
var node =
|
|
697
|
-
pos =
|
|
715
|
+
columnsToUpdate.forEach(function (_ref1) {
|
|
716
|
+
var node = _ref1.node,
|
|
717
|
+
pos = _ref1.pos;
|
|
698
718
|
tr.setNodeMarkup(pos, node.type, _objectSpread(_objectSpread({}, node.attrs), {}, {
|
|
699
719
|
valign: valign
|
|
700
720
|
}));
|
|
@@ -704,8 +724,10 @@ var setLayoutColumnValign = exports.setLayoutColumnValign = function setLayoutCo
|
|
|
704
724
|
actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
|
|
705
725
|
actionSubjectId: _analytics.ACTION_SUBJECT_ID.LAYOUT_COLUMN,
|
|
706
726
|
attributes: {
|
|
727
|
+
columnCount: layoutSectionNode.childCount,
|
|
707
728
|
endIndex: endIndex,
|
|
708
|
-
inputMethod:
|
|
729
|
+
inputMethod: inputMethod,
|
|
730
|
+
previousValign: previousValign,
|
|
709
731
|
selectedCount: selectedLayoutColumns.length,
|
|
710
732
|
startIndex: startIndex,
|
|
711
733
|
updatedCount: updatedColumnCount,
|
|
@@ -720,13 +742,13 @@ var setLayoutColumnValign = exports.setLayoutColumnValign = function setLayoutCo
|
|
|
720
742
|
};
|
|
721
743
|
var distributeLayoutColumns = exports.distributeLayoutColumns = function distributeLayoutColumns(editorAnalyticsAPI, api) {
|
|
722
744
|
return function () {
|
|
723
|
-
var
|
|
724
|
-
|
|
725
|
-
inputMethod =
|
|
726
|
-
|
|
727
|
-
target =
|
|
728
|
-
return function (
|
|
729
|
-
var tr =
|
|
745
|
+
var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
746
|
+
_ref10$inputMethod = _ref10.inputMethod,
|
|
747
|
+
inputMethod = _ref10$inputMethod === void 0 ? _analytics.INPUT_METHOD.LAYOUT_COLUMN_MENU : _ref10$inputMethod,
|
|
748
|
+
_ref10$target = _ref10.target,
|
|
749
|
+
target = _ref10$target === void 0 ? 'selectedColumns' : _ref10$target;
|
|
750
|
+
return function (_ref11) {
|
|
751
|
+
var tr = _ref11.tr;
|
|
730
752
|
if (!(0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_layout_column_menu', 'isEnabled', true)) {
|
|
731
753
|
return null;
|
|
732
754
|
}
|
|
@@ -741,8 +763,8 @@ var distributeLayoutColumns = exports.distributeLayoutColumns = function distrib
|
|
|
741
763
|
var existingWidths = (0, _utils.mapChildren)(layoutSectionNode, function (column) {
|
|
742
764
|
return column.attrs.width;
|
|
743
765
|
});
|
|
744
|
-
var selectedWidths = selectedLayoutColumns.map(function (
|
|
745
|
-
var node =
|
|
766
|
+
var selectedWidths = selectedLayoutColumns.map(function (_ref12) {
|
|
767
|
+
var node = _ref12.node;
|
|
746
768
|
return node.attrs.width;
|
|
747
769
|
});
|
|
748
770
|
var distribution = (0, _layoutColumnDistribution.calculateDistribution)(selectedWidths);
|
|
@@ -774,9 +796,9 @@ var distributeLayoutColumns = exports.distributeLayoutColumns = function distrib
|
|
|
774
796
|
});
|
|
775
797
|
|
|
776
798
|
// Apply widths via setNodeMarkup per selected column — keeps nodes in place (preserves identity, marks, decorations)
|
|
777
|
-
selectedLayoutColumns.forEach(function (
|
|
778
|
-
var node =
|
|
779
|
-
pos =
|
|
799
|
+
selectedLayoutColumns.forEach(function (_ref13, i) {
|
|
800
|
+
var node = _ref13.node,
|
|
801
|
+
pos = _ref13.pos;
|
|
780
802
|
var colIdx = startIndex + i;
|
|
781
803
|
tr.setNodeMarkup(pos, node.type, _objectSpread(_objectSpread({}, node.attrs), {}, {
|
|
782
804
|
width: newWidths[colIdx]
|
|
@@ -791,7 +813,8 @@ var distributeLayoutColumns = exports.distributeLayoutColumns = function distrib
|
|
|
791
813
|
endIndex: endIndex,
|
|
792
814
|
inputMethod: inputMethod,
|
|
793
815
|
selectedCount: selectedLayoutColumns.length,
|
|
794
|
-
startIndex: startIndex
|
|
816
|
+
startIndex: startIndex,
|
|
817
|
+
target: target
|
|
795
818
|
},
|
|
796
819
|
eventType: _analytics.EVENT_TYPE.TRACK
|
|
797
820
|
})(tr);
|
|
@@ -801,12 +824,12 @@ var distributeLayoutColumns = exports.distributeLayoutColumns = function distrib
|
|
|
801
824
|
};
|
|
802
825
|
};
|
|
803
826
|
};
|
|
804
|
-
var toggleLayoutColumnMenu = exports.toggleLayoutColumnMenu = function toggleLayoutColumnMenu(
|
|
805
|
-
var anchorPos =
|
|
806
|
-
isOpen =
|
|
807
|
-
openedViaKeyboard =
|
|
808
|
-
return function (
|
|
809
|
-
var tr =
|
|
827
|
+
var toggleLayoutColumnMenu = exports.toggleLayoutColumnMenu = function toggleLayoutColumnMenu(_ref14) {
|
|
828
|
+
var anchorPos = _ref14.anchorPos,
|
|
829
|
+
isOpen = _ref14.isOpen,
|
|
830
|
+
openedViaKeyboard = _ref14.openedViaKeyboard;
|
|
831
|
+
return function (_ref15) {
|
|
832
|
+
var tr = _ref15.tr;
|
|
810
833
|
tr.setMeta('toggleLayoutColumnMenu', {
|
|
811
834
|
anchorPos: anchorPos,
|
|
812
835
|
isOpen: isOpen,
|
|
@@ -817,25 +840,29 @@ var toggleLayoutColumnMenu = exports.toggleLayoutColumnMenu = function toggleLay
|
|
|
817
840
|
};
|
|
818
841
|
};
|
|
819
842
|
var setLayoutColumnDangerPreview = exports.setLayoutColumnDangerPreview = function setLayoutColumnDangerPreview(show) {
|
|
820
|
-
return function (
|
|
821
|
-
var
|
|
822
|
-
var tr =
|
|
843
|
+
return function (_ref16) {
|
|
844
|
+
var _selectedLayoutColumn2;
|
|
845
|
+
var tr = _ref16.tr;
|
|
823
846
|
var selectedLayoutColumnsResult = (0, _layoutColumnSelection.getSelectedLayoutColumnsFromSelection)(tr.selection);
|
|
824
|
-
var positions = show ? (
|
|
825
|
-
var pos =
|
|
847
|
+
var positions = show ? (_selectedLayoutColumn2 = selectedLayoutColumnsResult === null || selectedLayoutColumnsResult === void 0 ? void 0 : selectedLayoutColumnsResult.selectedLayoutColumns.map(function (_ref17) {
|
|
848
|
+
var pos = _ref17.pos;
|
|
826
849
|
return pos;
|
|
827
|
-
})) !== null &&
|
|
850
|
+
})) !== null && _selectedLayoutColumn2 !== void 0 ? _selectedLayoutColumn2 : [] : null;
|
|
828
851
|
tr.setMeta('layoutColumnDangerPreview', positions);
|
|
829
852
|
tr.setMeta('addToHistory', false);
|
|
830
853
|
tr.setMeta('scrollIntoView', false);
|
|
831
854
|
return tr;
|
|
832
855
|
};
|
|
833
856
|
};
|
|
834
|
-
var deleteLayoutColumn = exports.deleteLayoutColumn = function deleteLayoutColumn(
|
|
835
|
-
var
|
|
836
|
-
|
|
857
|
+
var deleteLayoutColumn = exports.deleteLayoutColumn = function deleteLayoutColumn() {
|
|
858
|
+
var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
859
|
+
_ref18$inputMethod = _ref18.inputMethod,
|
|
860
|
+
inputMethod = _ref18$inputMethod === void 0 ? _analytics.INPUT_METHOD.LAYOUT_COLUMN_MENU : _ref18$inputMethod;
|
|
861
|
+
var editorAnalyticsAPI = arguments.length > 1 ? arguments[1] : undefined;
|
|
862
|
+
var api = arguments.length > 2 ? arguments[2] : undefined;
|
|
863
|
+
return function (_ref19) {
|
|
837
864
|
var _api$blockControls4;
|
|
838
|
-
var tr =
|
|
865
|
+
var tr = _ref19.tr;
|
|
839
866
|
if (!(0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_layout_column_menu', 'isEnabled', true)) {
|
|
840
867
|
return null;
|
|
841
868
|
}
|
|
@@ -848,15 +875,21 @@ var deleteLayoutColumn = exports.deleteLayoutColumn = function deleteLayoutColum
|
|
|
848
875
|
selectedLayoutColumns = selectedLayoutColumnsResult.selectedLayoutColumns,
|
|
849
876
|
startIndex = selectedLayoutColumnsResult.startIndex,
|
|
850
877
|
endIndex = selectedLayoutColumnsResult.endIndex;
|
|
851
|
-
var
|
|
878
|
+
var hadContent = selectedLayoutColumns.some(function (_ref20) {
|
|
879
|
+
var node = _ref20.node;
|
|
880
|
+
return hasLayoutColumnContent(node);
|
|
881
|
+
});
|
|
882
|
+
var emitDeleteColumnAnalytics = function emitDeleteColumnAnalytics(newColumnCount) {
|
|
852
883
|
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
853
884
|
action: _analytics.ACTION.DELETED,
|
|
854
885
|
actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
|
|
855
886
|
actionSubjectId: _analytics.ACTION_SUBJECT_ID.LAYOUT_COLUMN,
|
|
856
887
|
attributes: {
|
|
857
|
-
columnCount: columnCount,
|
|
858
888
|
endIndex: endIndex,
|
|
889
|
+
hadContent: hadContent,
|
|
859
890
|
inputMethod: inputMethod,
|
|
891
|
+
newColumnCount: newColumnCount,
|
|
892
|
+
previousColumnCount: layoutSectionNode.childCount,
|
|
860
893
|
selectedCount: selectedLayoutColumns.length,
|
|
861
894
|
startIndex: startIndex
|
|
862
895
|
},
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.MIN_LAYOUT_COLUMN_WIDTH_PERCENT = exports.MAX_STANDARD_LAYOUT_COLUMNS = exports.MAX_LAYOUT_COLUMNS = exports.EVEN_DISTRIBUTED_COL_WIDTHS = void 0;
|
|
6
|
+
exports.MIN_LAYOUT_COLUMN_WIDTH_PERCENT = exports.MAX_STANDARD_LAYOUT_COLUMNS = exports.MAX_LAYOUT_COLUMNS = exports.EVEN_DISTRIBUTED_COL_WIDTHS = exports.DEFAULT_LAYOUT_COLUMN_VALIGN = void 0;
|
|
7
7
|
var MAX_STANDARD_LAYOUT_COLUMNS = exports.MAX_STANDARD_LAYOUT_COLUMNS = 3;
|
|
8
8
|
var MAX_LAYOUT_COLUMNS = exports.MAX_LAYOUT_COLUMNS = 5;
|
|
9
9
|
var MIN_LAYOUT_COLUMN_WIDTH_PERCENT = exports.MIN_LAYOUT_COLUMN_WIDTH_PERCENT = 5;
|
|
10
|
+
var DEFAULT_LAYOUT_COLUMN_VALIGN = exports.DEFAULT_LAYOUT_COLUMN_VALIGN = 'top';
|
|
10
11
|
var EVEN_DISTRIBUTED_COL_WIDTHS = exports.EVEN_DISTRIBUTED_COL_WIDTHS = {
|
|
11
12
|
1: 100,
|
|
12
13
|
2: 50,
|
|
@@ -21,11 +21,25 @@ function keymapPlugin(_ref) {
|
|
|
21
21
|
var _api$analytics, _api$analytics2, _api$analytics3, _api$analytics4, _api$analytics5;
|
|
22
22
|
var api = _ref.api;
|
|
23
23
|
var list = {};
|
|
24
|
-
bindLayoutColumnShortcut(_keymaps.addColumnBefore.common, (0, _actions.insertLayoutColumn)(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
bindLayoutColumnShortcut(_keymaps.
|
|
24
|
+
bindLayoutColumnShortcut(_keymaps.addColumnBefore.common, (0, _actions.insertLayoutColumn)({
|
|
25
|
+
side: 'left',
|
|
26
|
+
inputMethod: _analytics.INPUT_METHOD.SHORTCUT
|
|
27
|
+
}, api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api), list);
|
|
28
|
+
bindLayoutColumnShortcut(_keymaps.addColumnBeforeVO.common, (0, _actions.insertLayoutColumn)({
|
|
29
|
+
side: 'left',
|
|
30
|
+
inputMethod: _analytics.INPUT_METHOD.SHORTCUT
|
|
31
|
+
}, api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions, api), list);
|
|
32
|
+
bindLayoutColumnShortcut(_keymaps.addColumnAfter.common, (0, _actions.insertLayoutColumn)({
|
|
33
|
+
side: 'right',
|
|
34
|
+
inputMethod: _analytics.INPUT_METHOD.SHORTCUT
|
|
35
|
+
}, api === null || api === void 0 || (_api$analytics3 = api.analytics) === null || _api$analytics3 === void 0 ? void 0 : _api$analytics3.actions, api), list);
|
|
36
|
+
bindLayoutColumnShortcut(_keymaps.addColumnAfterVO.common, (0, _actions.insertLayoutColumn)({
|
|
37
|
+
side: 'right',
|
|
38
|
+
inputMethod: _analytics.INPUT_METHOD.SHORTCUT
|
|
39
|
+
}, api === null || api === void 0 || (_api$analytics4 = api.analytics) === null || _api$analytics4 === void 0 ? void 0 : _api$analytics4.actions, api), list);
|
|
40
|
+
bindLayoutColumnShortcut(_keymaps.deleteColumn.common, (0, _actions.deleteLayoutColumn)({
|
|
41
|
+
inputMethod: _analytics.INPUT_METHOD.SHORTCUT
|
|
42
|
+
}, api === null || api === void 0 || (_api$analytics5 = api.analytics) === null || _api$analytics5 === void 0 ? void 0 : _api$analytics5.actions, api), list);
|
|
29
43
|
return (0, _keymaps.keymap)(list);
|
|
30
44
|
}
|
|
31
45
|
var _default = exports.default = keymapPlugin;
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = exports.DEFAULT_LAYOUT = void 0;
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
10
11
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
11
12
|
var _selection = require("@atlaskit/editor-common/selection");
|
|
12
13
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
@@ -22,6 +23,7 @@ var _consts = require("./consts");
|
|
|
22
23
|
var _pluginKey = require("./plugin-key");
|
|
23
24
|
var _resizing = require("./resizing");
|
|
24
25
|
var _utils3 = require("./utils");
|
|
26
|
+
var _layoutColumnSelection = require("./utils/layout-column-selection");
|
|
25
27
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26
28
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
27
29
|
var DEFAULT_LAYOUT = exports.DEFAULT_LAYOUT = 'two_equal';
|
|
@@ -91,6 +93,28 @@ var getInitialPluginState = function getInitialPluginState(options, state) {
|
|
|
91
93
|
dangerPreviewLayoutColumnPositions: undefined
|
|
92
94
|
};
|
|
93
95
|
};
|
|
96
|
+
var fireLayoutColumnMenuOpenedAnalytics = function fireLayoutColumnMenuOpenedAnalytics(editorAnalyticsAPI, state, openedViaKeyboard) {
|
|
97
|
+
var selectedLayoutColumnsResult = (0, _layoutColumnSelection.getSelectedLayoutColumnsFromSelection)(state.selection);
|
|
98
|
+
if (!selectedLayoutColumnsResult) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
var layoutSectionNode = selectedLayoutColumnsResult.layoutSectionNode,
|
|
102
|
+
selectedLayoutColumns = selectedLayoutColumnsResult.selectedLayoutColumns,
|
|
103
|
+
startIndex = selectedLayoutColumnsResult.startIndex,
|
|
104
|
+
endIndex = selectedLayoutColumnsResult.endIndex;
|
|
105
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.fireAnalyticsEvent({
|
|
106
|
+
action: _analytics.ACTION.OPENED,
|
|
107
|
+
actionSubject: _analytics.ACTION_SUBJECT.LAYOUT_COLUMN_MENU,
|
|
108
|
+
attributes: {
|
|
109
|
+
columnCount: layoutSectionNode.childCount,
|
|
110
|
+
endIndex: endIndex,
|
|
111
|
+
inputMethod: openedViaKeyboard ? _analytics.INPUT_METHOD.KEYBOARD : _analytics.INPUT_METHOD.MOUSE,
|
|
112
|
+
selectedCount: selectedLayoutColumns.length,
|
|
113
|
+
startIndex: startIndex
|
|
114
|
+
},
|
|
115
|
+
eventType: _analytics.EVENT_TYPE.UI
|
|
116
|
+
});
|
|
117
|
+
};
|
|
94
118
|
var reduceLayoutColumnMenuState = function reduceLayoutColumnMenuState(pluginState, action) {
|
|
95
119
|
switch (action.type) {
|
|
96
120
|
case 'toggleLayoutColumnMenu':
|
|
@@ -183,10 +207,14 @@ var _default = exports.default = function _default(options, editorAnalyticsAPI)
|
|
|
183
207
|
var columnMenuMeta = tr.getMeta('toggleLayoutColumnMenu');
|
|
184
208
|
var dangerPreviewMeta = tr.getMeta('layoutColumnDangerPreview');
|
|
185
209
|
if (columnMenuMeta) {
|
|
210
|
+
var wasLayoutColumnMenuOpen = nextPluginState.isLayoutColumnMenuOpen;
|
|
186
211
|
nextPluginState = reduceLayoutColumnMenuState(nextPluginState, {
|
|
187
212
|
meta: columnMenuMeta,
|
|
188
213
|
type: 'toggleLayoutColumnMenu'
|
|
189
214
|
});
|
|
215
|
+
if (!wasLayoutColumnMenuOpen && nextPluginState.isLayoutColumnMenuOpen) {
|
|
216
|
+
fireLayoutColumnMenuOpenedAnalytics(editorAnalyticsAPI, newState, columnMenuMeta.openedViaKeyboard);
|
|
217
|
+
}
|
|
190
218
|
}
|
|
191
219
|
if (tr.getMeta('layoutColumnDangerPreview') !== undefined) {
|
|
192
220
|
nextPluginState = reduceLayoutColumnMenuState(nextPluginState, {
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getSelectedLayoutColumnsFromSelection = exports.getLayoutColumnsFromContentSelection = exports.getLayoutColumnValign = exports.getLayoutColumnMenuAnchorPos = exports.getAllLayoutColumnsFromSelection = void 0;
|
|
7
7
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
8
8
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
9
|
+
var _consts = require("../consts");
|
|
9
10
|
var findLayoutSectionFromSelection = function findLayoutSectionFromSelection(selection) {
|
|
10
11
|
var layoutSection = selection.$from.doc.type.schema.nodes.layoutSection;
|
|
11
12
|
// NodeSelection on the layoutSection node itself
|
|
@@ -104,7 +105,7 @@ var getAllLayoutColumnsFromSelection = exports.getAllLayoutColumnsFromSelection
|
|
|
104
105
|
};
|
|
105
106
|
var getLayoutColumnValign = exports.getLayoutColumnValign = function getLayoutColumnValign(layoutColumn) {
|
|
106
107
|
var _ref4;
|
|
107
|
-
return layoutColumn ? (_ref4 = layoutColumn.attrs.valign) !== null && _ref4 !== void 0 ? _ref4 :
|
|
108
|
+
return layoutColumn ? (_ref4 = layoutColumn.attrs.valign) !== null && _ref4 !== void 0 ? _ref4 : _consts.DEFAULT_LAYOUT_COLUMN_VALIGN : undefined;
|
|
108
109
|
};
|
|
109
110
|
var getLayoutColumnMenuAnchorPos = exports.getLayoutColumnMenuAnchorPos = function getLayoutColumnMenuAnchorPos(selection, anchorPosFromHandle) {
|
|
110
111
|
var _clickedSelectedColum, _selectedLayoutColumn;
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.DeleteColumnDropdownItem = 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 _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
11
12
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
12
13
|
var _editorToolbar = require("@atlaskit/editor-toolbar");
|
|
@@ -30,7 +31,9 @@ var DeleteColumnDropdownItem = exports.DeleteColumnDropdownItem = function Delet
|
|
|
30
31
|
}, [setDangerPreview]);
|
|
31
32
|
var onClick = (0, _react.useCallback)(function () {
|
|
32
33
|
var _api$layout2, _api$core2;
|
|
33
|
-
var deleteCommand = api === null || api === void 0 || (_api$layout2 = api.layout) === null || _api$layout2 === void 0 ? void 0 : _api$layout2.commands.deleteLayoutColumn(
|
|
34
|
+
var deleteCommand = api === null || api === void 0 || (_api$layout2 = api.layout) === null || _api$layout2 === void 0 ? void 0 : _api$layout2.commands.deleteLayoutColumn({
|
|
35
|
+
inputMethod: _analytics.INPUT_METHOD.LAYOUT_COLUMN_MENU
|
|
36
|
+
});
|
|
34
37
|
api === null || api === void 0 || (_api$core2 = api.core) === null || _api$core2 === void 0 || _api$core2.actions.execute(function (props) {
|
|
35
38
|
var _api$layout3;
|
|
36
39
|
var tr = deleteCommand === null || deleteCommand === void 0 ? void 0 : deleteCommand(props);
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.InsertColumnDropdownItem = 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 _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
11
12
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
12
13
|
var _editorToolbar = require("@atlaskit/editor-toolbar");
|
|
@@ -41,7 +42,10 @@ var InsertColumnDropdownItem = exports.InsertColumnDropdownItem = function Inser
|
|
|
41
42
|
var canInsertColumn = selectedLayoutColumns !== undefined && columnCount < maxColumnCount;
|
|
42
43
|
var onClick = (0, _react.useCallback)(function () {
|
|
43
44
|
var _api$layout, _api$core;
|
|
44
|
-
var insertCommand = api === null || api === void 0 || (_api$layout = api.layout) === null || _api$layout === void 0 ? void 0 : _api$layout.commands.insertLayoutColumn(
|
|
45
|
+
var insertCommand = api === null || api === void 0 || (_api$layout = api.layout) === null || _api$layout === void 0 ? void 0 : _api$layout.commands.insertLayoutColumn({
|
|
46
|
+
side: side,
|
|
47
|
+
inputMethod: _analytics.INPUT_METHOD.LAYOUT_COLUMN_MENU
|
|
48
|
+
});
|
|
45
49
|
api === null || api === void 0 || (_api$core = api.core) === null || _api$core === void 0 || _api$core.actions.execute(function (props) {
|
|
46
50
|
var _api$layout2;
|
|
47
51
|
var tr = insertCommand === null || insertCommand === void 0 ? void 0 : insertCommand(props);
|
|
@@ -27,7 +27,9 @@ var VerticalAlignDropdownItem = exports.VerticalAlignDropdownItem = function Ver
|
|
|
27
27
|
var Icon = _verticalAlignIcons.VERTICAL_ALIGN_ICONS[value];
|
|
28
28
|
var onClick = (0, _react.useCallback)(function () {
|
|
29
29
|
var _api$core, _api$layout;
|
|
30
|
-
api === null || api === void 0 || (_api$core = api.core) === null || _api$core === void 0 || _api$core.actions.execute(api === null || api === void 0 || (_api$layout = api.layout) === null || _api$layout === void 0 ? void 0 : _api$layout.commands.setLayoutColumnValign(
|
|
30
|
+
api === null || api === void 0 || (_api$core = api.core) === null || _api$core === void 0 || _api$core.actions.execute(api === null || api === void 0 || (_api$layout = api.layout) === null || _api$layout === void 0 ? void 0 : _api$layout.commands.setLayoutColumnValign({
|
|
31
|
+
valign: value
|
|
32
|
+
}));
|
|
31
33
|
}, [api, value]);
|
|
32
34
|
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
33
35
|
elemBefore: /*#__PURE__*/_react.default.createElement(Icon, {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { layoutColumn,
|
|
2
|
+
import { layoutColumn, layoutColumnWithLocalId, layoutSection, layoutSectionWithLocalId } from '@atlaskit/adf-schema';
|
|
3
3
|
import { layoutSectionWithSingleColumn, layoutSectionWithSingleColumnLocalId } from '@atlaskit/adf-schema/schema';
|
|
4
4
|
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
|
|
5
5
|
import { TRANSFORM_STRUCTURE_LAYOUT_MENU_ITEM, TRANSFORM_STRUCTURE_MENU_SECTION, TRANSFORM_STRUCTURE_MENU_SECTION_RANK } from '@atlaskit/editor-common/block-menu';
|
|
@@ -88,10 +88,7 @@ export const layoutPlugin = ({
|
|
|
88
88
|
node: editorExperiment('advanced_layouts', true) ? fg('platform_editor_adf_with_localid') ? layoutSectionWithSingleColumnLocalId : layoutSectionWithSingleColumn : fg('platform_editor_adf_with_localid') ? layoutSectionWithLocalId : layoutSection
|
|
89
89
|
}, {
|
|
90
90
|
name: 'layoutColumn',
|
|
91
|
-
node:
|
|
92
|
-
// `layoutColumnStage0` includes both `valign` and `localId` attrs, so it remains
|
|
93
|
-
// compatible with `platform_editor_adf_with_localid` when both flags are enabled.
|
|
94
|
-
layoutColumnStage0 : fg('platform_editor_adf_with_localid') ? layoutColumnWithLocalId : layoutColumn
|
|
91
|
+
node: fg('platform_editor_adf_with_localid') ? layoutColumnWithLocalId : layoutColumn
|
|
95
92
|
}];
|
|
96
93
|
},
|
|
97
94
|
pmPlugins() {
|
|
@@ -362,22 +359,22 @@ export const layoutPlugin = ({
|
|
|
362
359
|
return pluginKey.getState(editorState);
|
|
363
360
|
},
|
|
364
361
|
commands: {
|
|
365
|
-
deleteLayoutColumn:
|
|
362
|
+
deleteLayoutColumn: options => {
|
|
366
363
|
var _api$analytics5;
|
|
367
|
-
return deleteLayoutColumn(api === null || api === void 0 ? void 0 : (_api$analytics5 = api.analytics) === null || _api$analytics5 === void 0 ? void 0 : _api$analytics5.actions, api
|
|
364
|
+
return deleteLayoutColumn(options, api === null || api === void 0 ? void 0 : (_api$analytics5 = api.analytics) === null || _api$analytics5 === void 0 ? void 0 : _api$analytics5.actions, api);
|
|
368
365
|
},
|
|
369
366
|
distributeLayoutColumns: options => {
|
|
370
367
|
var _api$analytics6;
|
|
371
368
|
return distributeLayoutColumns(api === null || api === void 0 ? void 0 : (_api$analytics6 = api.analytics) === null || _api$analytics6 === void 0 ? void 0 : _api$analytics6.actions, api)(options);
|
|
372
369
|
},
|
|
373
|
-
insertLayoutColumn:
|
|
370
|
+
insertLayoutColumn: options => {
|
|
374
371
|
var _api$analytics7;
|
|
375
|
-
return insertLayoutColumn(
|
|
372
|
+
return insertLayoutColumn(options, api === null || api === void 0 ? void 0 : (_api$analytics7 = api.analytics) === null || _api$analytics7 === void 0 ? void 0 : _api$analytics7.actions, api);
|
|
376
373
|
},
|
|
377
374
|
setLayoutColumnDangerPreview,
|
|
378
|
-
setLayoutColumnValign:
|
|
375
|
+
setLayoutColumnValign: options => {
|
|
379
376
|
var _api$analytics8;
|
|
380
|
-
return setLayoutColumnValign(
|
|
377
|
+
return setLayoutColumnValign(options, api === null || api === void 0 ? void 0 : (_api$analytics8 = api.analytics) === null || _api$analytics8 === void 0 ? void 0 : _api$analytics8.actions, api);
|
|
381
378
|
},
|
|
382
379
|
toggleLayoutColumnMenu
|
|
383
380
|
}
|