@atlaskit/editor-core 150.0.2 → 151.1.1
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/mentions/type-ahead/index.js +39 -3
- 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/mentions/type-ahead/index.js +21 -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 +2 -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/mentions/type-ahead/index.js +39 -3
- 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;
|
|
@@ -40,6 +40,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
40
40
|
|
|
41
41
|
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; }
|
|
42
42
|
|
|
43
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
44
|
+
|
|
45
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
46
|
+
|
|
47
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
48
|
+
|
|
43
49
|
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; }
|
|
44
50
|
|
|
45
51
|
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; }
|
|
@@ -232,6 +238,7 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
|
|
|
232
238
|
HighlightComponent = _ref6.HighlightComponent;
|
|
233
239
|
var sessionId = (0, _uuid.default)();
|
|
234
240
|
var firstQueryWithoutResults = null;
|
|
241
|
+
var subscriptionKeys = new Set();
|
|
235
242
|
var typeAhead = {
|
|
236
243
|
id: _typeAhead.TypeAheadAvailableNodes.MENTION,
|
|
237
244
|
trigger: '@',
|
|
@@ -278,9 +285,15 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
|
|
|
278
285
|
var key = "loadingMentionsForTypeAhead_".concat((0, _uuid.default)());
|
|
279
286
|
|
|
280
287
|
var mentionsSubscribeCallback = function mentionsSubscribeCallback(mentions) {
|
|
281
|
-
var
|
|
288
|
+
var resultQuery = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
282
289
|
var stats = arguments.length > 2 ? arguments[2] : undefined;
|
|
290
|
+
|
|
291
|
+
if (query !== resultQuery) {
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
|
|
283
295
|
mentionProvider.unsubscribe(key);
|
|
296
|
+
subscriptionKeys.delete(key);
|
|
284
297
|
var mentionItems = mentions.map(function (mention) {
|
|
285
298
|
return memoizedToItem.call(mention);
|
|
286
299
|
});
|
|
@@ -316,13 +329,14 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
|
|
|
316
329
|
}
|
|
317
330
|
};
|
|
318
331
|
|
|
332
|
+
subscriptionKeys.add(key);
|
|
319
333
|
mentionProvider.subscribe(key, mentionsSubscribeCallback);
|
|
320
334
|
mentionProvider.filter(query || '', _objectSpread(_objectSpread({}, contextIdentifierProvider), {}, {
|
|
321
335
|
sessionId: sessionId
|
|
322
336
|
}));
|
|
323
337
|
});
|
|
324
338
|
},
|
|
325
|
-
onOpen: function onOpen(
|
|
339
|
+
onOpen: function onOpen() {
|
|
326
340
|
firstQueryWithoutResults = null;
|
|
327
341
|
},
|
|
328
342
|
selectItem: function selectItem(state, item, insert, _ref8) {
|
|
@@ -394,11 +408,33 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
|
|
|
394
408
|
return insert(_prosemirrorModel.Fragment.from([mentionNode, space]));
|
|
395
409
|
},
|
|
396
410
|
dismiss: function dismiss(_ref9) {
|
|
397
|
-
var
|
|
411
|
+
var editorState = _ref9.editorState,
|
|
412
|
+
query = _ref9.query,
|
|
398
413
|
stats = _ref9.stats;
|
|
399
414
|
firstQueryWithoutResults = null;
|
|
400
415
|
var pickerElapsedTime = stats.startedAt ? Date.now() - stats.startedAt : 0;
|
|
401
416
|
fireEvent((0, _analytics.buildTypeAheadCancelPayload)(pickerElapsedTime, stats.keyCount.arrowUp, stats.keyCount.arrowDown, sessionId, query || ''));
|
|
417
|
+
var pluginState = (0, _utils2.getMentionPluginState)(editorState);
|
|
418
|
+
|
|
419
|
+
if (pluginState !== null && pluginState !== void 0 && pluginState.mentionProvider) {
|
|
420
|
+
var mentionProvider = pluginState.mentionProvider;
|
|
421
|
+
|
|
422
|
+
var _iterator = _createForOfIteratorHelper(subscriptionKeys),
|
|
423
|
+
_step;
|
|
424
|
+
|
|
425
|
+
try {
|
|
426
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
427
|
+
var key = _step.value;
|
|
428
|
+
mentionProvider.unsubscribe(key);
|
|
429
|
+
}
|
|
430
|
+
} catch (err) {
|
|
431
|
+
_iterator.e(err);
|
|
432
|
+
} finally {
|
|
433
|
+
_iterator.f();
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
subscriptionKeys.clear();
|
|
402
438
|
sessionId = (0, _uuid.default)();
|
|
403
439
|
}
|
|
404
440
|
};
|
|
@@ -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),
|