@atlaskit/editor-core 150.0.3 → 151.1.2
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 +69 -0
- package/dist/cjs/actions/index.js +5 -23
- package/dist/cjs/create-editor/ErrorBoundary.js +113 -79
- package/dist/cjs/create-editor/ReactEditorView.js +145 -31
- package/dist/cjs/create-editor/create-plugins-list.js +8 -2
- package/dist/cjs/editor.js +101 -40
- package/dist/cjs/labs/next/presets/cxhtml.js +2 -1
- package/dist/cjs/plugins/analytics/types/enums.js +3 -1
- package/dist/cjs/plugins/base/index.js +4 -3
- package/dist/cjs/plugins/base/pm-plugins/frozen-editor.js +66 -36
- package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -1
- package/dist/cjs/plugins/card/index.js +13 -2
- package/dist/cjs/plugins/card/nodeviews/embedCard.js +1 -0
- package/dist/cjs/plugins/card/pm-plugins/main.js +7 -2
- package/dist/cjs/plugins/card/pm-plugins/util/resolve.js +10 -3
- package/dist/cjs/plugins/code-bidi-warning/index.js +25 -0
- package/dist/cjs/plugins/code-bidi-warning/plugin-key.js +11 -0
- package/dist/cjs/plugins/code-bidi-warning/pm-plugins/main.js +43 -0
- package/dist/cjs/plugins/code-bidi-warning/pm-plugins/plugin-factory.js +118 -0
- package/dist/cjs/plugins/code-bidi-warning/pm-plugins/reducer.js +12 -0
- package/dist/cjs/plugins/code-bidi-warning/pm-plugins/types.js +5 -0
- package/dist/cjs/plugins/code-block/index.js +10 -6
- package/dist/cjs/plugins/code-block/nodeviews/highlighting-code-block.js +16 -5
- package/dist/cjs/plugins/code-block/pm-plugins/main.js +12 -3
- package/dist/cjs/plugins/code-block/toolbar.js +1 -1
- package/dist/cjs/plugins/emoji/styles.js +1 -1
- package/dist/cjs/plugins/extension/pm-plugins/main.js +1 -4
- package/dist/cjs/plugins/extension/toolbar.js +28 -23
- package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +9 -3
- package/dist/cjs/plugins/find-replace/ui/Find.js +27 -7
- package/dist/cjs/plugins/hyperlink/HyperlinkToolbarAppearance.js +2 -2
- package/dist/cjs/plugins/hyperlink/pm-plugins/keymap.js +3 -3
- package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +7 -4
- package/dist/cjs/plugins/hyperlink/utils.js +6 -69
- package/dist/cjs/plugins/index.js +8 -0
- package/dist/cjs/plugins/media/index.js +14 -3
- package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +24 -10
- package/dist/cjs/plugins/media/nodeviews/mediaInline.js +179 -0
- package/dist/cjs/plugins/media/pm-plugins/main.js +18 -9
- package/dist/cjs/plugins/media/toolbar/index.js +49 -17
- package/dist/cjs/plugins/media/toolbar/utils.js +20 -2
- package/dist/cjs/plugins/media/utils/media-files.js +67 -1
- package/dist/cjs/plugins/panel/index.js +2 -3
- package/dist/cjs/plugins/panel/message.js +47 -0
- package/dist/cjs/plugins/panel/toolbar.js +64 -84
- package/dist/cjs/plugins/panel/utils.js +2 -2
- package/dist/cjs/plugins/paste/linkify-md-plugin.js +3 -3
- package/dist/cjs/plugins/rank.js +1 -1
- package/dist/cjs/plugins/status/styles.js +1 -1
- package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +18 -2
- package/dist/cjs/profiler/render-count.js +82 -0
- package/dist/cjs/ui/Appearance/Comment/Comment.js +6 -5
- package/dist/cjs/utils/react-hooks/use-component-renderer-tracking/index.js +55 -19
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/actions/index.js +6 -28
- package/dist/es2019/create-editor/ErrorBoundary.js +73 -60
- package/dist/es2019/create-editor/ReactEditorView.js +130 -23
- package/dist/es2019/create-editor/create-plugins-list.js +9 -3
- package/dist/es2019/editor.js +74 -35
- package/dist/es2019/labs/next/presets/cxhtml.js +2 -1
- package/dist/es2019/plugins/analytics/types/enums.js +3 -1
- package/dist/es2019/plugins/base/index.js +4 -3
- package/dist/es2019/plugins/base/pm-plugins/frozen-editor.js +63 -35
- package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/styled.js +2 -1
- package/dist/es2019/plugins/card/index.js +7 -2
- package/dist/es2019/plugins/card/nodeviews/embedCard.js +1 -0
- package/dist/es2019/plugins/card/pm-plugins/main.js +9 -2
- package/dist/es2019/plugins/card/pm-plugins/util/resolve.js +12 -5
- package/dist/es2019/plugins/code-bidi-warning/index.js +15 -0
- package/dist/es2019/plugins/code-bidi-warning/plugin-key.js +2 -0
- package/dist/es2019/plugins/code-bidi-warning/pm-plugins/main.js +31 -0
- package/dist/es2019/plugins/code-bidi-warning/pm-plugins/plugin-factory.js +88 -0
- package/dist/es2019/plugins/code-bidi-warning/pm-plugins/reducer.js +3 -0
- package/dist/es2019/plugins/code-bidi-warning/pm-plugins/types.js +1 -0
- package/dist/es2019/plugins/code-block/index.js +6 -1
- package/dist/es2019/plugins/code-block/nodeviews/highlighting-code-block.js +16 -4
- package/dist/es2019/plugins/code-block/pm-plugins/main.js +50 -39
- package/dist/es2019/plugins/code-block/toolbar.js +1 -1
- package/dist/es2019/plugins/emoji/styles.js +2 -0
- package/dist/es2019/plugins/extension/pm-plugins/main.js +1 -4
- package/dist/es2019/plugins/extension/toolbar.js +30 -25
- package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +9 -4
- package/dist/es2019/plugins/find-replace/ui/Find.js +27 -6
- package/dist/es2019/plugins/hyperlink/HyperlinkToolbarAppearance.js +1 -1
- package/dist/es2019/plugins/hyperlink/pm-plugins/keymap.js +1 -1
- package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +7 -4
- package/dist/es2019/plugins/hyperlink/utils.js +3 -59
- package/dist/es2019/plugins/index.js +2 -1
- package/dist/es2019/plugins/media/index.js +13 -4
- package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +16 -7
- package/dist/es2019/plugins/media/nodeviews/mediaInline.js +88 -0
- package/dist/es2019/plugins/media/pm-plugins/main.js +20 -11
- package/dist/es2019/plugins/media/toolbar/index.js +44 -15
- package/dist/es2019/plugins/media/toolbar/utils.js +16 -0
- package/dist/es2019/plugins/media/utils/media-files.js +68 -2
- package/dist/es2019/plugins/panel/index.js +3 -4
- package/dist/es2019/plugins/panel/message.js +38 -0
- package/dist/es2019/plugins/panel/toolbar.js +52 -71
- package/dist/es2019/plugins/panel/utils.js +2 -2
- package/dist/es2019/plugins/paste/linkify-md-plugin.js +2 -2
- package/dist/es2019/plugins/rank.js +1 -1
- package/dist/es2019/plugins/status/styles.js +5 -0
- package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +18 -2
- package/dist/es2019/profiler/render-count.js +60 -0
- package/dist/es2019/ui/Appearance/Comment/Comment.js +4 -2
- package/dist/es2019/utils/react-hooks/use-component-renderer-tracking/index.js +51 -18
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/actions/index.js +6 -24
- package/dist/esm/create-editor/ErrorBoundary.js +113 -78
- package/dist/esm/create-editor/ReactEditorView.js +146 -31
- package/dist/esm/create-editor/create-plugins-list.js +9 -3
- package/dist/esm/editor.js +100 -40
- package/dist/esm/labs/next/presets/cxhtml.js +2 -1
- package/dist/esm/plugins/analytics/types/enums.js +3 -1
- package/dist/esm/plugins/base/index.js +4 -3
- package/dist/esm/plugins/base/pm-plugins/frozen-editor.js +64 -36
- package/dist/esm/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -1
- package/dist/esm/plugins/card/index.js +13 -2
- package/dist/esm/plugins/card/nodeviews/embedCard.js +1 -0
- package/dist/esm/plugins/card/pm-plugins/main.js +7 -2
- package/dist/esm/plugins/card/pm-plugins/util/resolve.js +12 -5
- package/dist/esm/plugins/code-bidi-warning/index.js +17 -0
- package/dist/esm/plugins/code-bidi-warning/plugin-key.js +2 -0
- package/dist/esm/plugins/code-bidi-warning/pm-plugins/main.js +30 -0
- package/dist/esm/plugins/code-bidi-warning/pm-plugins/plugin-factory.js +96 -0
- package/dist/esm/plugins/code-bidi-warning/pm-plugins/reducer.js +3 -0
- package/dist/esm/plugins/code-bidi-warning/pm-plugins/types.js +1 -0
- package/dist/esm/plugins/code-block/index.js +10 -6
- package/dist/esm/plugins/code-block/nodeviews/highlighting-code-block.js +16 -5
- package/dist/esm/plugins/code-block/pm-plugins/main.js +11 -3
- package/dist/esm/plugins/code-block/toolbar.js +1 -1
- package/dist/esm/plugins/emoji/styles.js +1 -1
- package/dist/esm/plugins/extension/pm-plugins/main.js +1 -4
- package/dist/esm/plugins/extension/toolbar.js +28 -23
- package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +9 -4
- package/dist/esm/plugins/find-replace/ui/Find.js +27 -7
- package/dist/esm/plugins/hyperlink/HyperlinkToolbarAppearance.js +2 -2
- package/dist/esm/plugins/hyperlink/pm-plugins/keymap.js +1 -1
- package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +7 -4
- package/dist/esm/plugins/hyperlink/utils.js +3 -59
- package/dist/esm/plugins/index.js +2 -1
- package/dist/esm/plugins/media/index.js +14 -4
- package/dist/esm/plugins/media/nodeviews/mediaGroup.js +24 -10
- package/dist/esm/plugins/media/nodeviews/mediaInline.js +147 -0
- package/dist/esm/plugins/media/pm-plugins/main.js +19 -11
- package/dist/esm/plugins/media/toolbar/index.js +47 -19
- package/dist/esm/plugins/media/toolbar/utils.js +15 -1
- package/dist/esm/plugins/media/utils/media-files.js +60 -2
- package/dist/esm/plugins/panel/index.js +3 -4
- package/dist/esm/plugins/panel/message.js +38 -0
- package/dist/esm/plugins/panel/toolbar.js +57 -77
- package/dist/esm/plugins/panel/utils.js +2 -2
- package/dist/esm/plugins/paste/linkify-md-plugin.js +2 -2
- package/dist/esm/plugins/rank.js +1 -1
- package/dist/esm/plugins/status/styles.js +1 -1
- package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +18 -2
- package/dist/esm/profiler/render-count.js +57 -0
- package/dist/esm/ui/Appearance/Comment/Comment.js +6 -5
- package/dist/esm/utils/react-hooks/use-component-renderer-tracking/index.js +53 -20
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/create-editor/ErrorBoundary.d.ts +6 -6
- package/dist/types/create-editor/ReactEditorView.d.ts +15 -3
- package/dist/types/editor.d.ts +2 -0
- package/dist/types/plugins/analytics/index.d.ts +1 -1
- package/dist/types/plugins/analytics/types/enums.d.ts +4 -2
- package/dist/types/plugins/analytics/types/events.d.ts +7 -2
- package/dist/types/plugins/analytics/types/general-events.d.ts +4 -1
- package/dist/types/plugins/analytics/types/index.d.ts +1 -1
- package/dist/types/plugins/analytics/types/insert-events.d.ts +6 -1
- package/dist/types/plugins/analytics/types/link-tool-bar-events.d.ts +1 -0
- package/dist/types/plugins/base/index.d.ts +1 -0
- package/dist/types/plugins/base/pm-plugins/frozen-editor.d.ts +3 -2
- package/dist/types/plugins/card/pm-plugins/main.d.ts +2 -3
- package/dist/types/plugins/card/pm-plugins/util/resolve.d.ts +2 -1
- package/dist/types/plugins/card/types.d.ts +6 -0
- package/dist/types/plugins/code-bidi-warning/index.d.ts +3 -0
- package/dist/types/plugins/code-bidi-warning/plugin-key.d.ts +2 -0
- package/dist/types/plugins/code-bidi-warning/pm-plugins/main.d.ts +3 -0
- package/dist/types/plugins/code-bidi-warning/pm-plugins/plugin-factory.d.ts +7 -0
- package/dist/types/plugins/code-bidi-warning/pm-plugins/reducer.d.ts +3 -0
- package/dist/types/plugins/code-bidi-warning/pm-plugins/types.d.ts +5 -0
- package/dist/types/plugins/code-block/nodeviews/highlighting-code-block.d.ts +11 -2
- package/dist/types/plugins/code-block/pm-plugins/main.d.ts +5 -1
- package/dist/types/plugins/extension/types.d.ts +0 -2
- package/dist/types/plugins/feature-flags-context/get-enabled-feature-flag-keys.d.ts +1 -1
- package/dist/types/plugins/floating-toolbar/types.d.ts +1 -1
- package/dist/types/plugins/floating-toolbar/ui/Select.d.ts +1 -1
- package/dist/types/plugins/hyperlink/HyperlinkToolbarAppearance.d.ts +1 -1
- package/dist/types/plugins/hyperlink/utils.d.ts +0 -21
- package/dist/types/plugins/index.d.ts +1 -0
- package/dist/types/plugins/media/nodeviews/mediaInline.d.ts +27 -0
- package/dist/types/plugins/media/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/media/toolbar/utils.d.ts +2 -0
- package/dist/types/plugins/media/utils/media-files.d.ts +8 -0
- package/dist/types/plugins/panel/message.d.ts +37 -0
- package/dist/types/plugins/panel/toolbar.d.ts +4 -37
- package/dist/types/plugins/panel/types.d.ts +1 -0
- package/dist/types/profiler/render-count.d.ts +14 -0
- package/dist/types/types/feature-flags.d.ts +17 -0
- package/dist/types/ui/LinkSearch/types.d.ts +1 -0
- package/dist/types/utils/react-hooks/use-component-renderer-tracking/index.d.ts +17 -1
- package/package.json +21 -18
- package/dist/cjs/plugins/caption/nodeviews/index.test.js +0 -135
- package/dist/cjs/plugins/caption/pm-plugins/keymap.test.js +0 -203
- package/dist/cjs/plugins/caption/pm-plugins/main.test.js +0 -141
- package/dist/cjs/plugins/code-block/language-list.test.js +0 -74
- package/dist/cjs/plugins/extension/ui/SaveIndicator/SaveIndicator.test.js +0 -101
- package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.test.js +0 -98
- package/dist/cjs/plugins/media/commands/captions.test.js +0 -149
- package/dist/cjs/plugins/media/commands/linking.test.js +0 -296
- package/dist/cjs/plugins/media/ui/CaptionPlaceholder/index.test.js +0 -50
- package/dist/cjs/plugins/panel/toolbar.test.js +0 -250
- package/dist/cjs/ui/ColorPickerButton/index.test.js +0 -123
- package/dist/cjs/ui/PortalProvider/index.test.js +0 -139
- package/dist/es2019/plugins/caption/nodeviews/index.test.js +0 -122
- package/dist/es2019/plugins/caption/pm-plugins/keymap.test.js +0 -193
- package/dist/es2019/plugins/caption/pm-plugins/main.test.js +0 -132
- package/dist/es2019/plugins/code-block/language-list.test.js +0 -69
- package/dist/es2019/plugins/extension/ui/SaveIndicator/SaveIndicator.test.js +0 -83
- package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.test.js +0 -85
- package/dist/es2019/plugins/media/commands/captions.test.js +0 -126
- package/dist/es2019/plugins/media/commands/linking.test.js +0 -208
- package/dist/es2019/plugins/media/ui/CaptionPlaceholder/index.test.js +0 -41
- package/dist/es2019/plugins/panel/toolbar.test.js +0 -200
- package/dist/es2019/ui/ColorPickerButton/index.test.js +0 -88
- package/dist/es2019/ui/PortalProvider/index.test.js +0 -115
- package/dist/esm/plugins/caption/nodeviews/index.test.js +0 -125
- package/dist/esm/plugins/caption/pm-plugins/keymap.test.js +0 -195
- package/dist/esm/plugins/caption/pm-plugins/main.test.js +0 -124
- package/dist/esm/plugins/code-block/language-list.test.js +0 -71
- package/dist/esm/plugins/extension/ui/SaveIndicator/SaveIndicator.test.js +0 -92
- package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.test.js +0 -85
- package/dist/esm/plugins/media/commands/captions.test.js +0 -135
- package/dist/esm/plugins/media/commands/linking.test.js +0 -268
- package/dist/esm/plugins/media/ui/CaptionPlaceholder/index.test.js +0 -41
- package/dist/esm/plugins/panel/toolbar.test.js +0 -230
- package/dist/esm/ui/ColorPickerButton/index.test.js +0 -107
- package/dist/esm/ui/PortalProvider/index.test.js +0 -129
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.ReactMediaInlineNode = exports.MediaInlineNodeView = exports.MediaInline = void 0;
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
23
|
+
|
|
24
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
25
|
+
|
|
26
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
27
|
+
|
|
28
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
29
|
+
|
|
30
|
+
var _nodeviews = require("../../../nodeviews/");
|
|
31
|
+
|
|
32
|
+
var _mediaCard = require("@atlaskit/media-card");
|
|
33
|
+
|
|
34
|
+
var _editorCommon = require("@atlaskit/editor-common");
|
|
35
|
+
|
|
36
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
37
|
+
|
|
38
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
39
|
+
|
|
40
|
+
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); }; }
|
|
41
|
+
|
|
42
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
43
|
+
|
|
44
|
+
var MediaInline = function MediaInline(props) {
|
|
45
|
+
var _useState = (0, _react.useState)({}),
|
|
46
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
47
|
+
viewMediaClientConfig = _useState2[0],
|
|
48
|
+
setViewMediaClientConfig = _useState2[1];
|
|
49
|
+
|
|
50
|
+
(0, _react.useEffect)(function () {
|
|
51
|
+
updateViewMediaClientConfig(props);
|
|
52
|
+
}, [props]);
|
|
53
|
+
|
|
54
|
+
var updateViewMediaClientConfig = /*#__PURE__*/function () {
|
|
55
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(props) {
|
|
56
|
+
var mediaProvider, _viewMediaClientConfig;
|
|
57
|
+
|
|
58
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
59
|
+
while (1) {
|
|
60
|
+
switch (_context.prev = _context.next) {
|
|
61
|
+
case 0:
|
|
62
|
+
_context.next = 2;
|
|
63
|
+
return props.mediaProvider;
|
|
64
|
+
|
|
65
|
+
case 2:
|
|
66
|
+
mediaProvider = _context.sent;
|
|
67
|
+
|
|
68
|
+
if (mediaProvider) {
|
|
69
|
+
_viewMediaClientConfig = mediaProvider.viewMediaClientConfig;
|
|
70
|
+
setViewMediaClientConfig(_viewMediaClientConfig);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
case 4:
|
|
74
|
+
case "end":
|
|
75
|
+
return _context.stop();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}, _callee);
|
|
79
|
+
}));
|
|
80
|
+
|
|
81
|
+
return function updateViewMediaClientConfig(_x) {
|
|
82
|
+
return _ref.apply(this, arguments);
|
|
83
|
+
};
|
|
84
|
+
}();
|
|
85
|
+
|
|
86
|
+
var _props$node$attrs = props.node.attrs,
|
|
87
|
+
id = _props$node$attrs.id,
|
|
88
|
+
collection = _props$node$attrs.collection;
|
|
89
|
+
var identifier = {
|
|
90
|
+
id: id,
|
|
91
|
+
mediaItemType: 'file',
|
|
92
|
+
collectionName: collection
|
|
93
|
+
};
|
|
94
|
+
return /*#__PURE__*/_react.default.createElement(_mediaCard.MediaInlineCard, {
|
|
95
|
+
identifier: identifier,
|
|
96
|
+
mediaClientConfig: viewMediaClientConfig
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
exports.MediaInline = MediaInline;
|
|
101
|
+
|
|
102
|
+
var MediaInlineNodeView = /*#__PURE__*/function (_ReactNodeView) {
|
|
103
|
+
(0, _inherits2.default)(MediaInlineNodeView, _ReactNodeView);
|
|
104
|
+
|
|
105
|
+
var _super = _createSuper(MediaInlineNodeView);
|
|
106
|
+
|
|
107
|
+
function MediaInlineNodeView() {
|
|
108
|
+
(0, _classCallCheck2.default)(this, MediaInlineNodeView);
|
|
109
|
+
return _super.apply(this, arguments);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
(0, _createClass2.default)(MediaInlineNodeView, [{
|
|
113
|
+
key: "createDomRef",
|
|
114
|
+
value: function createDomRef() {
|
|
115
|
+
var domRef = document.createElement('span');
|
|
116
|
+
domRef.contentEditable = 'false';
|
|
117
|
+
return domRef;
|
|
118
|
+
}
|
|
119
|
+
}, {
|
|
120
|
+
key: "getContentDOM",
|
|
121
|
+
value: function getContentDOM() {
|
|
122
|
+
var dom = document.createElement('span');
|
|
123
|
+
return {
|
|
124
|
+
dom: dom
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}, {
|
|
128
|
+
key: "ignoreMutation",
|
|
129
|
+
value: function ignoreMutation() {
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
}, {
|
|
133
|
+
key: "viewShouldUpdate",
|
|
134
|
+
value: function viewShouldUpdate(nextNode) {
|
|
135
|
+
if (this.node.attrs !== nextNode.attrs) {
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
}, {
|
|
142
|
+
key: "render",
|
|
143
|
+
value: function render(props) {
|
|
144
|
+
var _this = this;
|
|
145
|
+
|
|
146
|
+
var providerFactory = props.providerFactory;
|
|
147
|
+
return /*#__PURE__*/_react.default.createElement(_editorCommon.WithProviders, {
|
|
148
|
+
providers: ['mediaProvider'],
|
|
149
|
+
providerFactory: providerFactory,
|
|
150
|
+
renderNode: function renderNode(_ref2) {
|
|
151
|
+
var mediaProvider = _ref2.mediaProvider;
|
|
152
|
+
|
|
153
|
+
if (!mediaProvider) {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
return /*#__PURE__*/_react.default.createElement(MediaInline, {
|
|
158
|
+
identifier: _this.node.attrs.id,
|
|
159
|
+
mediaProvider: mediaProvider,
|
|
160
|
+
node: _this.node
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}]);
|
|
166
|
+
return MediaInlineNodeView;
|
|
167
|
+
}(_nodeviews.ReactNodeView);
|
|
168
|
+
|
|
169
|
+
exports.MediaInlineNodeView = MediaInlineNodeView;
|
|
170
|
+
|
|
171
|
+
var ReactMediaInlineNode = function ReactMediaInlineNode(portalProviderAPI, eventDispatcher, providerFactory) {
|
|
172
|
+
return function (node, view, getPos) {
|
|
173
|
+
return new MediaInlineNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, {
|
|
174
|
+
providerFactory: providerFactory
|
|
175
|
+
}).init();
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
exports.ReactMediaInlineNode = ReactMediaInlineNode;
|
|
@@ -59,6 +59,8 @@ var _types = require("../../analytics/types");
|
|
|
59
59
|
|
|
60
60
|
var _isImage = require("../utils/is-image");
|
|
61
61
|
|
|
62
|
+
var _document = require("../../../utils/document");
|
|
63
|
+
|
|
62
64
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
63
65
|
|
|
64
66
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -100,7 +102,7 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
|
100
102
|
(0, _defineProperty2.default)(this, "pendingTask", Promise.resolve(null));
|
|
101
103
|
(0, _defineProperty2.default)(this, "destroyed", false);
|
|
102
104
|
(0, _defineProperty2.default)(this, "removeOnCloseListener", function () {});
|
|
103
|
-
(0, _defineProperty2.default)(this, "
|
|
105
|
+
(0, _defineProperty2.default)(this, "onPopupToggleCallback", function () {});
|
|
104
106
|
(0, _defineProperty2.default)(this, "pickers", []);
|
|
105
107
|
(0, _defineProperty2.default)(this, "pickerPromises", []);
|
|
106
108
|
(0, _defineProperty2.default)(this, "onContextIdentifierProvider", /*#__PURE__*/function () {
|
|
@@ -259,11 +261,12 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
|
259
261
|
|
|
260
262
|
var type = _ref3.type;
|
|
261
263
|
var _this$view$state$sche = _this.view.state.schema.nodes,
|
|
264
|
+
mediaInline = _this$view$state$sche.mediaInline,
|
|
262
265
|
mediaSingle = _this$view$state$sche.mediaSingle,
|
|
263
266
|
media = _this$view$state$sche.media;
|
|
264
267
|
|
|
265
268
|
if ((_this$mediaOptions = _this.mediaOptions) !== null && _this$mediaOptions !== void 0 && _this$mediaOptions.allowMediaInline) {
|
|
266
|
-
return type === mediaSingle || type === media;
|
|
269
|
+
return type === mediaSingle || type === media || type === mediaInline;
|
|
267
270
|
}
|
|
268
271
|
|
|
269
272
|
return type === mediaSingle;
|
|
@@ -272,6 +275,10 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
|
272
275
|
return !!_this.uploadMediaClientConfig && !!_this.uploadMediaClientConfig.userAuthProvider;
|
|
273
276
|
});
|
|
274
277
|
(0, _defineProperty2.default)(this, "insertFile", function (mediaState, onMediaStateChanged, pickerType) {
|
|
278
|
+
var _this$mediaOptions2;
|
|
279
|
+
|
|
280
|
+
var state = _this.view.state;
|
|
281
|
+
|
|
275
282
|
var mediaStateWithContext = _objectSpread(_objectSpread({}, mediaState), {}, {
|
|
276
283
|
contextId: _this.contextIdentifierProvider ? _this.contextIdentifierProvider.objectId : undefined
|
|
277
284
|
});
|
|
@@ -293,8 +300,10 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
|
293
300
|
});
|
|
294
301
|
}
|
|
295
302
|
|
|
296
|
-
if ((0, _mediaSingle.isMediaSingle)(
|
|
303
|
+
if ((0, _mediaSingle.isMediaSingle)(state.schema, mediaStateWithContext.fileMimeType)) {
|
|
297
304
|
(0, _mediaSingle.insertMediaSingleNode)(_this.view, mediaStateWithContext, _this.getInputMethod(pickerType), collection, _this.mediaOptions && _this.mediaOptions.alignLeftOnInsert);
|
|
305
|
+
} else if ((_this$mediaOptions2 = _this.mediaOptions) !== null && _this$mediaOptions2 !== void 0 && _this$mediaOptions2.allowMediaInline && !(0, _document.isInEmptyLine)(state) && !(0, _mediaCommon.isInsidePotentialEmptyParagraph)(state) && (0, _mediaFiles.canInsertMediaInline)(state)) {
|
|
306
|
+
(0, _mediaFiles.insertMediaInlineNode)(_this.view, mediaStateWithContext, collection, _this.getInputMethod(pickerType));
|
|
298
307
|
} else {
|
|
299
308
|
(0, _mediaFiles.insertMediaGroupNode)(_this.view, [mediaStateWithContext], collection, _this.getInputMethod(pickerType));
|
|
300
309
|
} // do events when media state changes
|
|
@@ -344,7 +353,7 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
|
344
353
|
return (0, _mediaCommon.splitMediaGroup)(_this.view);
|
|
345
354
|
});
|
|
346
355
|
(0, _defineProperty2.default)(this, "onPopupPickerClose", function () {
|
|
347
|
-
_this.
|
|
356
|
+
_this.onPopupToggleCallback(false);
|
|
348
357
|
});
|
|
349
358
|
(0, _defineProperty2.default)(this, "shouldUseMediaPickerPopup", function () {
|
|
350
359
|
if (!_this.mediaOptions || _this.mediaOptions && _this.mediaOptions.useMediaPickerPopup === undefined) {
|
|
@@ -364,13 +373,13 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
|
364
373
|
|
|
365
374
|
_this.popupPicker.show();
|
|
366
375
|
|
|
367
|
-
_this.
|
|
376
|
+
_this.onPopupToggleCallback(true);
|
|
368
377
|
});
|
|
369
378
|
(0, _defineProperty2.default)(this, "setBrowseFn", function (browseFn) {
|
|
370
379
|
_this.openMediaPickerBrowser = browseFn;
|
|
371
380
|
});
|
|
372
|
-
(0, _defineProperty2.default)(this, "onPopupToggle", function (
|
|
373
|
-
_this.
|
|
381
|
+
(0, _defineProperty2.default)(this, "onPopupToggle", function (onPopupToggleCallback) {
|
|
382
|
+
_this.onPopupToggleCallback = onPopupToggleCallback;
|
|
374
383
|
});
|
|
375
384
|
(0, _defineProperty2.default)(this, "waitForPendingTasks", function (timeout, lastTask) {
|
|
376
385
|
if (lastTask && _this.pendingTask === lastTask) {
|
|
@@ -578,7 +587,7 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
|
578
587
|
}, {
|
|
579
588
|
key: "getDomElement",
|
|
580
589
|
value: function getDomElement(domAtPos) {
|
|
581
|
-
var _this$
|
|
590
|
+
var _this$mediaOptions3;
|
|
582
591
|
|
|
583
592
|
var selection = this.view.state.selection;
|
|
584
593
|
|
|
@@ -590,7 +599,7 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
|
590
599
|
return;
|
|
591
600
|
}
|
|
592
601
|
|
|
593
|
-
var position = (_this$
|
|
602
|
+
var position = (_this$mediaOptions3 = this.mediaOptions) !== null && _this$mediaOptions3 !== void 0 && _this$mediaOptions3.allowMediaInline ? selection.from + 1 : selection.from;
|
|
594
603
|
var node = (0, _prosemirrorUtils.findDomRefAtPos)(position, domAtPos);
|
|
595
604
|
|
|
596
605
|
if (node) {
|
|
@@ -13,6 +13,8 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
|
|
|
13
13
|
|
|
14
14
|
var _react = _interopRequireDefault(require("react"));
|
|
15
15
|
|
|
16
|
+
var _prosemirrorState = require("prosemirror-state");
|
|
17
|
+
|
|
16
18
|
var _prosemirrorUtils = require("prosemirror-utils");
|
|
17
19
|
|
|
18
20
|
var _remove = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/remove"));
|
|
@@ -53,6 +55,8 @@ var _filePreviewItem = require("./filePreviewItem");
|
|
|
53
55
|
|
|
54
56
|
var _utils = require("./utils");
|
|
55
57
|
|
|
58
|
+
var _prosemirrorModel = require("prosemirror-model");
|
|
59
|
+
|
|
56
60
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
57
61
|
|
|
58
62
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
@@ -65,13 +69,44 @@ var remove = function remove(state, dispatch) {
|
|
|
65
69
|
return true;
|
|
66
70
|
};
|
|
67
71
|
|
|
68
|
-
var
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
var handleRemoveMediaGroup = function handleRemoveMediaGroup(state, dispatch) {
|
|
73
|
+
var tr = (0, _utils.removeMediaGroupNode)(state);
|
|
74
|
+
|
|
75
|
+
if (dispatch) {
|
|
76
|
+
dispatch(tr);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return true;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
var changeMediaCardToInline = function changeMediaCardToInline(state, dispatch) {
|
|
83
|
+
var _state$schema$nodes = state.schema.nodes,
|
|
84
|
+
media = _state$schema$nodes.media,
|
|
85
|
+
mediaInline = _state$schema$nodes.mediaInline,
|
|
86
|
+
paragraph = _state$schema$nodes.paragraph;
|
|
87
|
+
var selectedNode = state.selection instanceof _prosemirrorState.NodeSelection && state.selection.node;
|
|
88
|
+
|
|
89
|
+
if (!selectedNode || !selectedNode.type === media) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
var mediaInlineNode = mediaInline.create({
|
|
94
|
+
id: selectedNode.attrs.id,
|
|
95
|
+
collection: selectedNode.attrs.collection
|
|
96
|
+
});
|
|
97
|
+
var space = state.schema.text(' ');
|
|
98
|
+
|
|
99
|
+
var content = _prosemirrorModel.Fragment.from([mediaInlineNode, space]);
|
|
100
|
+
|
|
101
|
+
var node = paragraph.createChecked({}, content);
|
|
102
|
+
var nodePos = state.tr.doc.resolve(state.selection.from).start() - 1;
|
|
103
|
+
var tr = (0, _utils.removeMediaGroupNode)(state);
|
|
104
|
+
tr = (0, _prosemirrorUtils.safeInsert)(node, nodePos, true)(tr);
|
|
105
|
+
|
|
106
|
+
if (dispatch) {
|
|
107
|
+
dispatch(tr);
|
|
108
|
+
}
|
|
73
109
|
|
|
74
|
-
mediaPluginState.handleMediaNodeRemoval(undefined, getPos);
|
|
75
110
|
return true;
|
|
76
111
|
};
|
|
77
112
|
|
|
@@ -83,9 +118,7 @@ var generateMediaCardFloatingToolbar = function generateMediaCardFloatingToolbar
|
|
|
83
118
|
options: [{
|
|
84
119
|
title: intl.formatMessage(_messages2.messages.inline),
|
|
85
120
|
selected: false,
|
|
86
|
-
onClick:
|
|
87
|
-
return true;
|
|
88
|
-
},
|
|
121
|
+
onClick: changeMediaCardToInline,
|
|
89
122
|
testId: 'inline-appearance'
|
|
90
123
|
}, {
|
|
91
124
|
title: intl.formatMessage(_mediaUi.messages.displayThumbnail),
|
|
@@ -129,9 +162,7 @@ var generateMediaCardFloatingToolbar = function generateMediaCardFloatingToolbar
|
|
|
129
162
|
onFocus: (0, _decoration.hoverDecoration)(mediaGroup, true),
|
|
130
163
|
onBlur: (0, _decoration.hoverDecoration)(mediaGroup, false),
|
|
131
164
|
title: intl.formatMessage(_messages.default.remove),
|
|
132
|
-
onClick:
|
|
133
|
-
return removeMediaCard(state, mediaPluginState);
|
|
134
|
-
},
|
|
165
|
+
onClick: handleRemoveMediaGroup,
|
|
135
166
|
testId: 'media-toolbar-remove-button'
|
|
136
167
|
}];
|
|
137
168
|
return items;
|
|
@@ -236,10 +267,11 @@ var generateMediaSingleFloatingToolbar = function generateMediaSingleFloatingToo
|
|
|
236
267
|
|
|
237
268
|
var floatingToolbar = function floatingToolbar(state, intl) {
|
|
238
269
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
239
|
-
var _state$schema$
|
|
240
|
-
media = _state$schema$
|
|
241
|
-
|
|
242
|
-
|
|
270
|
+
var _state$schema$nodes2 = state.schema.nodes,
|
|
271
|
+
media = _state$schema$nodes2.media,
|
|
272
|
+
mediaInline = _state$schema$nodes2.mediaInline,
|
|
273
|
+
mediaSingle = _state$schema$nodes2.mediaSingle,
|
|
274
|
+
mediaGroup = _state$schema$nodes2.mediaGroup;
|
|
243
275
|
var altTextValidator = options.altTextValidator,
|
|
244
276
|
allowLinking = options.allowLinking,
|
|
245
277
|
allowAltTextOnImages = options.allowAltTextOnImages,
|
|
@@ -254,7 +286,7 @@ var floatingToolbar = function floatingToolbar(state, intl) {
|
|
|
254
286
|
return;
|
|
255
287
|
}
|
|
256
288
|
|
|
257
|
-
var nodeType = allowMediaInline ? [mediaSingle, media] : [mediaSingle];
|
|
289
|
+
var nodeType = allowMediaInline ? [mediaInline, mediaSingle, media] : [mediaSingle];
|
|
258
290
|
var baseToolbar = {
|
|
259
291
|
title: 'Media floating controls',
|
|
260
292
|
nodeType: nodeType,
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.downloadMedia = exports.getSelectedMediaContainerNodeAttrs = void 0;
|
|
8
|
+
exports.removeMediaGroupNode = exports.downloadMedia = exports.getSelectedMediaContainerNodeAttrs = void 0;
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
@@ -13,6 +13,8 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
13
13
|
|
|
14
14
|
var _mediaClient = require("@atlaskit/media-client");
|
|
15
15
|
|
|
16
|
+
var _prosemirrorUtils = require("prosemirror-utils");
|
|
17
|
+
|
|
16
18
|
var getSelectedMediaContainerNodeAttrs = function getSelectedMediaContainerNodeAttrs(mediaPluginState) {
|
|
17
19
|
var selectedNode = mediaPluginState.selectedMediaContainerNode();
|
|
18
20
|
|
|
@@ -74,4 +76,20 @@ var downloadMedia = /*#__PURE__*/function () {
|
|
|
74
76
|
};
|
|
75
77
|
}();
|
|
76
78
|
|
|
77
|
-
exports.downloadMedia = downloadMedia;
|
|
79
|
+
exports.downloadMedia = downloadMedia;
|
|
80
|
+
|
|
81
|
+
var removeMediaGroupNode = function removeMediaGroupNode(state) {
|
|
82
|
+
var mediaGroup = state.schema.nodes.mediaGroup;
|
|
83
|
+
var mediaGroupParent = (0, _prosemirrorUtils.findParentNodeOfType)(mediaGroup)(state.selection);
|
|
84
|
+
var tr = state.tr; // If it is the last media group in filmstrip, remove the entire filmstrip
|
|
85
|
+
|
|
86
|
+
if (mediaGroupParent && mediaGroupParent.node.childCount === 1) {
|
|
87
|
+
tr = (0, _prosemirrorUtils.removeParentNodeOfType)(mediaGroup)(tr);
|
|
88
|
+
} else {
|
|
89
|
+
tr = (0, _prosemirrorUtils.removeSelectedNode)(tr);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return tr;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
exports.removeMediaGroupNode = removeMediaGroupNode;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getPosInList = exports.insertMediaGroupNode = void 0;
|
|
6
|
+
exports.getPosInList = exports.insertMediaGroupNode = exports.insertMediaInlineNode = exports.canInsertMediaInline = void 0;
|
|
7
7
|
|
|
8
8
|
var _prosemirrorModel = require("prosemirror-model");
|
|
9
9
|
|
|
@@ -19,6 +19,13 @@ var _nodes = require("../../../utils/nodes");
|
|
|
19
19
|
|
|
20
20
|
var _analytics = require("../../analytics");
|
|
21
21
|
|
|
22
|
+
var canInsertMediaInline = function canInsertMediaInline(state) {
|
|
23
|
+
var node = state.schema.nodes.mediaInline.create({});
|
|
24
|
+
return (0, _prosemirrorUtils.canInsert)(state.selection.$to, _prosemirrorModel.Fragment.from(node));
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.canInsertMediaInline = canInsertMediaInline;
|
|
28
|
+
|
|
22
29
|
var getInsertMediaGroupAnalytics = function getInsertMediaGroupAnalytics(mediaState, inputMethod) {
|
|
23
30
|
var media = '';
|
|
24
31
|
|
|
@@ -40,6 +47,21 @@ var getInsertMediaGroupAnalytics = function getInsertMediaGroupAnalytics(mediaSt
|
|
|
40
47
|
eventType: _analytics.EVENT_TYPE.TRACK
|
|
41
48
|
};
|
|
42
49
|
};
|
|
50
|
+
|
|
51
|
+
var getInsertMediaInlineAnalytics = function getInsertMediaInlineAnalytics(mediaState, inputMethod) {
|
|
52
|
+
var media = mediaState.fileMimeType || 'unknown';
|
|
53
|
+
return {
|
|
54
|
+
action: _analytics.ACTION.INSERTED,
|
|
55
|
+
actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
|
|
56
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.MEDIA,
|
|
57
|
+
attributes: {
|
|
58
|
+
type: _analytics.ACTION_SUBJECT_ID.MEDIA_INLINE,
|
|
59
|
+
inputMethod: inputMethod,
|
|
60
|
+
fileExtension: media
|
|
61
|
+
},
|
|
62
|
+
eventType: _analytics.EVENT_TYPE.TRACK
|
|
63
|
+
};
|
|
64
|
+
};
|
|
43
65
|
/**
|
|
44
66
|
* Check if current editor selections is a media group or not.
|
|
45
67
|
* @param state Editor state
|
|
@@ -64,6 +86,48 @@ function shouldAppendParagraph(state, node) {
|
|
|
64
86
|
var wasMediaNode = node && node.type === media;
|
|
65
87
|
return ((0, _utils.insideTableCell)(state) || (0, _utils.isInListItem)(state) || (0, _utils.isInLayoutColumn)(state) || (0, _position.atTheEndOfDoc)(state) && (!(0, _mediaCommon.posOfPrecedingMediaGroup)(state) || (0, _mediaCommon.isSelectionNonMediaBlockNode)(state))) && !wasMediaNode;
|
|
66
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Create a new media inline to insert the new media.
|
|
91
|
+
* @param view Editor view
|
|
92
|
+
* @param mediaState Media file to be added to the editor
|
|
93
|
+
* @param collection Collection for the media to be added
|
|
94
|
+
*/
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
var insertMediaInlineNode = function insertMediaInlineNode(view, mediaState, collection, inputMethod) {
|
|
98
|
+
var state = view.state,
|
|
99
|
+
dispatch = view.dispatch;
|
|
100
|
+
var schema = state.schema,
|
|
101
|
+
tr = state.tr;
|
|
102
|
+
var mediaInline = schema.nodes.mediaInline; // Do nothing if no media found
|
|
103
|
+
|
|
104
|
+
if (!mediaInline || !mediaState || collection === undefined) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
var id = mediaState.id;
|
|
109
|
+
var mediaInlineNode = mediaInline.create({
|
|
110
|
+
id: id,
|
|
111
|
+
collection: collection
|
|
112
|
+
});
|
|
113
|
+
var space = state.schema.text(' ');
|
|
114
|
+
var pos = state.selection.$to.pos;
|
|
115
|
+
|
|
116
|
+
var content = _prosemirrorModel.Fragment.from([mediaInlineNode, space]); // Delete the selection if a selection is made
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
var deleteRange = findDeleteRange(state);
|
|
120
|
+
|
|
121
|
+
if (!deleteRange) {
|
|
122
|
+
tr.insert(pos, content);
|
|
123
|
+
} else {
|
|
124
|
+
tr.insert(pos, content).deleteRange(deleteRange.start, deleteRange.end);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
(0, _analytics.addAnalytics)(state, tr, getInsertMediaInlineAnalytics(mediaState, inputMethod));
|
|
128
|
+
dispatch(tr);
|
|
129
|
+
return true;
|
|
130
|
+
};
|
|
67
131
|
/**
|
|
68
132
|
* Insert a media into an existing media group
|
|
69
133
|
* or create a new media group to insert the new media.
|
|
@@ -73,6 +137,8 @@ function shouldAppendParagraph(state, node) {
|
|
|
73
137
|
*/
|
|
74
138
|
|
|
75
139
|
|
|
140
|
+
exports.insertMediaInlineNode = insertMediaInlineNode;
|
|
141
|
+
|
|
76
142
|
var insertMediaGroupNode = function insertMediaGroupNode(view, mediaStates, collection, inputMethod) {
|
|
77
143
|
var state = view.state,
|
|
78
144
|
dispatch = view.dispatch;
|
|
@@ -55,8 +55,7 @@ var panelPlugin = function panelPlugin() {
|
|
|
55
55
|
return {
|
|
56
56
|
name: 'panel',
|
|
57
57
|
nodes: function nodes() {
|
|
58
|
-
|
|
59
|
-
var panelNode = options.UNSAFE_allowCustomPanel ? _adfSchema.customPanel : _adfSchema.panel;
|
|
58
|
+
var panelNode = (0, _adfSchema.customPanel)(!!options.UNSAFE_allowCustomPanel);
|
|
60
59
|
return [{
|
|
61
60
|
name: 'panel',
|
|
62
61
|
node: panelNode
|
|
@@ -149,7 +148,7 @@ var panelPlugin = function panelPlugin() {
|
|
|
149
148
|
}
|
|
150
149
|
}];
|
|
151
150
|
|
|
152
|
-
if (options.UNSAFE_allowCustomPanel) {
|
|
151
|
+
if (options.UNSAFE_allowCustomPanelEdit && options.UNSAFE_allowCustomPanel) {
|
|
153
152
|
quickInsertOptions.push({
|
|
154
153
|
id: 'custompanel',
|
|
155
154
|
title: formatMessage(_messages.messages.customPanel),
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.messages = void 0;
|
|
7
|
+
|
|
8
|
+
var _reactIntl = require("react-intl");
|
|
9
|
+
|
|
10
|
+
var messages = (0, _reactIntl.defineMessages)({
|
|
11
|
+
info: {
|
|
12
|
+
id: 'fabric.editor.info',
|
|
13
|
+
defaultMessage: 'Info',
|
|
14
|
+
description: 'Panels provide a way to highlight text. The info panel has a blue background.'
|
|
15
|
+
},
|
|
16
|
+
note: {
|
|
17
|
+
id: 'fabric.editor.note',
|
|
18
|
+
defaultMessage: 'Note',
|
|
19
|
+
description: 'Panels provide a way to highlight text. The note panel has a purple background.'
|
|
20
|
+
},
|
|
21
|
+
success: {
|
|
22
|
+
id: 'fabric.editor.success',
|
|
23
|
+
defaultMessage: 'Success',
|
|
24
|
+
description: 'Panels provide a way to highlight text. The success panel has a green background.'
|
|
25
|
+
},
|
|
26
|
+
warning: {
|
|
27
|
+
id: 'fabric.editor.warning',
|
|
28
|
+
defaultMessage: 'Warning',
|
|
29
|
+
description: 'Panels provide a way to highlight text. The warning panel has a yellow background.'
|
|
30
|
+
},
|
|
31
|
+
error: {
|
|
32
|
+
id: 'fabric.editor.error',
|
|
33
|
+
defaultMessage: 'Error',
|
|
34
|
+
description: 'Panels provide a way to highlight text. The error panel has a red background.'
|
|
35
|
+
},
|
|
36
|
+
emoji: {
|
|
37
|
+
id: 'fabric.editor.panel.emoji',
|
|
38
|
+
defaultMessage: 'Add emoji',
|
|
39
|
+
description: 'Select the panel icon'
|
|
40
|
+
},
|
|
41
|
+
backgroundColor: {
|
|
42
|
+
id: 'fabric.editor.panel.backgroundColor',
|
|
43
|
+
defaultMessage: 'Background color',
|
|
44
|
+
description: 'Select the panel background color.'
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
exports.messages = messages;
|