@atlaskit/editor-plugin-media 2.6.7 → 2.7.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 +23 -0
- package/dist/cjs/mediaPlugin.js +21 -6
- package/dist/cjs/nodeviews/mediaGroup.js +21 -6
- package/dist/cjs/nodeviews/mediaInline.js +55 -13
- package/dist/cjs/nodeviews/mediaNodeUpdater.js +24 -18
- package/dist/cjs/nodeviews/mediaNodeView/index.js +11 -3
- package/dist/cjs/nodeviews/mediaSingle.js +88 -49
- package/dist/cjs/nodeviews/mediaSingleNext.js +5 -4
- package/dist/cjs/pm-plugins/utils/media-files.js +64 -6
- package/dist/cjs/ui/CommentBadge/index.js +44 -14
- package/dist/cjs/ui/MediaPicker/index.js +15 -3
- package/dist/cjs/ui/MediaViewer/MediaViewerContainer.js +3 -3
- package/dist/cjs/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +2 -1
- package/dist/cjs/ui/ToolbarMedia/index.js +17 -5
- package/dist/cjs/ui/hooks/useMediaProvider.js +11 -3
- package/dist/cjs/ui/toolbar/utils.js +6 -4
- package/dist/es2019/mediaPlugin.js +21 -6
- package/dist/es2019/nodeviews/mediaGroup.js +21 -6
- package/dist/es2019/nodeviews/mediaInline.js +54 -12
- package/dist/es2019/nodeviews/mediaNodeUpdater.js +5 -1
- package/dist/es2019/nodeviews/mediaNodeView/index.js +11 -3
- package/dist/es2019/nodeviews/mediaSingle.js +60 -25
- package/dist/es2019/nodeviews/mediaSingleNext.js +5 -4
- package/dist/es2019/pm-plugins/utils/media-files.js +63 -5
- package/dist/es2019/ui/CommentBadge/index.js +40 -10
- package/dist/es2019/ui/MediaPicker/index.js +15 -3
- package/dist/es2019/ui/MediaViewer/MediaViewerContainer.js +4 -4
- package/dist/es2019/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +2 -1
- package/dist/es2019/ui/ToolbarMedia/index.js +17 -5
- package/dist/es2019/ui/hooks/useMediaProvider.js +11 -3
- package/dist/es2019/ui/toolbar/utils.js +5 -3
- package/dist/esm/mediaPlugin.js +21 -6
- package/dist/esm/nodeviews/mediaGroup.js +21 -6
- package/dist/esm/nodeviews/mediaInline.js +55 -13
- package/dist/esm/nodeviews/mediaNodeUpdater.js +24 -18
- package/dist/esm/nodeviews/mediaNodeView/index.js +11 -3
- package/dist/esm/nodeviews/mediaSingle.js +88 -49
- package/dist/esm/nodeviews/mediaSingleNext.js +5 -4
- package/dist/esm/pm-plugins/utils/media-files.js +63 -5
- package/dist/esm/ui/CommentBadge/index.js +44 -14
- package/dist/esm/ui/MediaPicker/index.js +15 -3
- package/dist/esm/ui/MediaViewer/MediaViewerContainer.js +4 -4
- package/dist/esm/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +2 -1
- package/dist/esm/ui/ToolbarMedia/index.js +17 -5
- package/dist/esm/ui/hooks/useMediaProvider.js +11 -3
- package/dist/esm/ui/toolbar/utils.js +5 -3
- package/dist/types/nodeviews/mediaInline.d.ts +7 -2
- package/dist/types/nodeviews/mediaSingleNext.d.ts +3 -4
- package/dist/types/nodeviews/types.d.ts +3 -4
- package/dist/types/pm-plugins/utils/media-files.d.ts +3 -2
- package/dist/types/types/index.d.ts +17 -0
- package/dist/types/ui/MediaViewer/MediaViewerContainer.d.ts +4 -3
- package/dist/types/ui/toolbar/utils.d.ts +1 -0
- package/dist/types-ts4.5/nodeviews/mediaInline.d.ts +7 -2
- package/dist/types-ts4.5/nodeviews/mediaSingleNext.d.ts +3 -4
- package/dist/types-ts4.5/nodeviews/types.d.ts +3 -4
- package/dist/types-ts4.5/pm-plugins/utils/media-files.d.ts +3 -2
- package/dist/types-ts4.5/types/index.d.ts +17 -0
- package/dist/types-ts4.5/ui/MediaViewer/MediaViewerContainer.d.ts +4 -3
- package/dist/types-ts4.5/ui/toolbar/utils.d.ts +1 -0
- package/package.json +9 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-media
|
|
2
2
|
|
|
3
|
+
## 2.7.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#146359](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/146359)
|
|
8
|
+
[`cb179949b078a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cb179949b078a) -
|
|
9
|
+
Migrate media to use useSharedPluginStateSelector
|
|
10
|
+
- [#147618](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/147618)
|
|
11
|
+
[`3069d34098b9e`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/3069d34098b9e) -
|
|
12
|
+
Fix image size difference during SSR
|
|
13
|
+
- [#147467](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/147467)
|
|
14
|
+
[`cce4ef288b918`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cce4ef288b918) -
|
|
15
|
+
[EDITOR-633] Fire document failedToInsert event when media inline fails to be inserted
|
|
16
|
+
- Updated dependencies
|
|
17
|
+
|
|
18
|
+
## 2.7.0
|
|
19
|
+
|
|
20
|
+
### Minor Changes
|
|
21
|
+
|
|
22
|
+
- [#143009](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/143009)
|
|
23
|
+
[`6711c20c022e4`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6711c20c022e4) -
|
|
24
|
+
[UX-3339] Adds a configuration for media insert to only allow for external links.
|
|
25
|
+
|
|
3
26
|
## 2.6.7
|
|
4
27
|
|
|
5
28
|
### Patch Changes
|
package/dist/cjs/mediaPlugin.js
CHANGED
|
@@ -12,6 +12,7 @@ var _hooks = require("@atlaskit/editor-common/hooks");
|
|
|
12
12
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
13
13
|
var _quickInsert = require("@atlaskit/editor-common/quick-insert");
|
|
14
14
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
15
|
+
var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
|
|
15
16
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
16
17
|
var _mediaCommon = require("@atlaskit/media-common");
|
|
17
18
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
@@ -61,22 +62,36 @@ var MediaPickerFunctionalComponent = function MediaPickerFunctionalComponent(_re
|
|
|
61
62
|
var MediaViewerFunctionalComponent = function MediaViewerFunctionalComponent(_ref2) {
|
|
62
63
|
var api = _ref2.api,
|
|
63
64
|
editorView = _ref2.editorView;
|
|
64
|
-
var _useSharedPluginState2 = (0, _hooks.useSharedPluginState)(api, ['media']
|
|
65
|
+
var _useSharedPluginState2 = (0, _hooks.useSharedPluginState)(api, ['media'], {
|
|
66
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true)
|
|
67
|
+
}),
|
|
65
68
|
mediaState = _useSharedPluginState2.mediaState;
|
|
69
|
+
var isMediaViewerVisibleSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.isMediaViewerVisible', {
|
|
70
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
71
|
+
});
|
|
72
|
+
var mediaViewerSelectedMediaSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.mediaViewerSelectedMedia', {
|
|
73
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
74
|
+
});
|
|
75
|
+
var mediaClientConfigSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.mediaClientConfig', {
|
|
76
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
77
|
+
});
|
|
78
|
+
var isMediaViewerVisible = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? isMediaViewerVisibleSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.isMediaViewerVisible;
|
|
79
|
+
var mediaViewerSelectedMedia = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? mediaViewerSelectedMediaSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaViewerSelectedMedia;
|
|
80
|
+
var mediaClientConfig = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? mediaClientConfigSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaClientConfig;
|
|
66
81
|
|
|
67
82
|
// Only traverse document once when media viewer is visible, media viewer items will not update
|
|
68
83
|
// when document changes are made while media viewer is open
|
|
69
84
|
|
|
70
85
|
var mediaItems = (0, _react.useMemo)(function () {
|
|
71
|
-
if (
|
|
86
|
+
if (isMediaViewerVisible) {
|
|
72
87
|
var mediaNodes = (0, _mediaCommon2.extractMediaNodes)(editorView.state.doc);
|
|
73
88
|
return (0, _mediaCommon2.createMediaIdentifierArray)(mediaNodes);
|
|
74
89
|
}
|
|
75
90
|
// eslint-disable-next-line react-hooks/exhaustive-deps -- only update mediaItems once when media viewer is visible
|
|
76
|
-
}, [
|
|
91
|
+
}, [isMediaViewerVisible]);
|
|
77
92
|
|
|
78
93
|
// Viewer does not have required attributes to render the media viewer
|
|
79
|
-
if (!
|
|
94
|
+
if (!isMediaViewerVisible || !mediaViewerSelectedMedia || !mediaClientConfig) {
|
|
80
95
|
return null;
|
|
81
96
|
}
|
|
82
97
|
var handleOnClose = function handleOnClose() {
|
|
@@ -84,9 +99,9 @@ var MediaViewerFunctionalComponent = function MediaViewerFunctionalComponent(_re
|
|
|
84
99
|
api === null || api === void 0 || api.core.actions.execute(api === null || api === void 0 ? void 0 : api.media.commands.hideMediaViewer);
|
|
85
100
|
};
|
|
86
101
|
return /*#__PURE__*/_react.default.createElement(_PortalWrapper.RenderMediaViewer, {
|
|
87
|
-
mediaClientConfig:
|
|
102
|
+
mediaClientConfig: mediaClientConfig,
|
|
88
103
|
onClose: handleOnClose,
|
|
89
|
-
selectedNodeAttrs:
|
|
104
|
+
selectedNodeAttrs: mediaViewerSelectedMedia,
|
|
90
105
|
items: mediaItems
|
|
91
106
|
});
|
|
92
107
|
};
|
|
@@ -19,6 +19,7 @@ var _hooks = require("@atlaskit/editor-common/hooks");
|
|
|
19
19
|
var _media = require("@atlaskit/editor-common/media");
|
|
20
20
|
var _providerFactory = require("@atlaskit/editor-common/provider-factory");
|
|
21
21
|
var _reactNodeView = _interopRequireDefault(require("@atlaskit/editor-common/react-node-view"));
|
|
22
|
+
var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
|
|
22
23
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
23
24
|
var _closeEditorClose = _interopRequireDefault(require("@atlaskit/icon/core/migration/close--editor-close"));
|
|
24
25
|
var _mediaCommon = require("@atlaskit/media-common");
|
|
@@ -311,13 +312,25 @@ var _default = exports.default = IntlMediaGroup;
|
|
|
311
312
|
function MediaGroupNodeViewInternal(_ref3) {
|
|
312
313
|
var renderFn = _ref3.renderFn,
|
|
313
314
|
pluginInjectionApi = _ref3.pluginInjectionApi;
|
|
314
|
-
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['editorDisabled', 'editorViewMode']
|
|
315
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['editorDisabled', 'editorViewMode'], {
|
|
316
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true)
|
|
317
|
+
}),
|
|
315
318
|
editorDisabledPlugin = _useSharedPluginState.editorDisabledState,
|
|
316
319
|
editorViewModePlugin = _useSharedPluginState.editorViewModeState;
|
|
320
|
+
var editorDisabledSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'editorDisabled.editorDisabled', {
|
|
321
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
322
|
+
});
|
|
323
|
+
var editorViewModeSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'editorViewMode.mode', {
|
|
324
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
325
|
+
});
|
|
326
|
+
var editorDisabled = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? editorDisabledSelector : editorDisabledPlugin === null || editorDisabledPlugin === void 0 ? void 0 : editorDisabledPlugin.editorDisabled;
|
|
327
|
+
var editorViewMode = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? editorViewModeSelector : editorViewModePlugin === null || editorViewModePlugin === void 0 ? void 0 : editorViewModePlugin.mode;
|
|
317
328
|
var mediaProvider = (0, _useMediaProvider.useMediaProvider)(pluginInjectionApi);
|
|
318
329
|
return renderFn({
|
|
319
330
|
editorDisabledPlugin: editorDisabledPlugin,
|
|
320
331
|
editorViewModePlugin: editorViewModePlugin,
|
|
332
|
+
editorDisabled: editorDisabled,
|
|
333
|
+
editorViewMode: editorViewMode,
|
|
321
334
|
mediaProvider: mediaProvider
|
|
322
335
|
});
|
|
323
336
|
}
|
|
@@ -343,7 +356,9 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
343
356
|
var renderFn = function renderFn(_ref5) {
|
|
344
357
|
var editorDisabledPlugin = _ref5.editorDisabledPlugin,
|
|
345
358
|
editorViewModePlugin = _ref5.editorViewModePlugin,
|
|
346
|
-
mediaProviderFromState = _ref5.mediaProvider
|
|
359
|
+
mediaProviderFromState = _ref5.mediaProvider,
|
|
360
|
+
editorDisabled = _ref5.editorDisabled,
|
|
361
|
+
editorViewMode = _ref5.editorViewMode;
|
|
347
362
|
var mediaProvider = mediaProviderFromState ? Promise.resolve(mediaProviderFromState) : undefined;
|
|
348
363
|
if (!mediaProvider) {
|
|
349
364
|
return null;
|
|
@@ -354,7 +369,7 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
354
369
|
getPos: getPos,
|
|
355
370
|
view: _this3.view,
|
|
356
371
|
forwardRef: forwardRef,
|
|
357
|
-
disabled:
|
|
372
|
+
disabled: editorDisabled,
|
|
358
373
|
allowLazyLoading: mediaOptions.allowLazyLoading,
|
|
359
374
|
mediaProvider: mediaProvider,
|
|
360
375
|
contextIdentifierProvider: contextIdentifierProvider,
|
|
@@ -362,7 +377,7 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
362
377
|
anchorPos: _this3.view.state.selection.$anchor.pos,
|
|
363
378
|
headPos: _this3.view.state.selection.$head.pos,
|
|
364
379
|
mediaOptions: mediaOptions,
|
|
365
|
-
editorViewMode:
|
|
380
|
+
editorViewMode: editorViewMode === 'view'
|
|
366
381
|
});
|
|
367
382
|
}
|
|
368
383
|
return /*#__PURE__*/_react.default.createElement(IntlMediaGroup, {
|
|
@@ -370,7 +385,7 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
370
385
|
getPos: getPos,
|
|
371
386
|
view: _this3.view,
|
|
372
387
|
forwardRef: forwardRef,
|
|
373
|
-
disabled: (editorDisabledPlugin || {}).editorDisabled,
|
|
388
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? editorDisabled : (editorDisabledPlugin || {}).editorDisabled,
|
|
374
389
|
allowLazyLoading: mediaOptions.allowLazyLoading,
|
|
375
390
|
mediaProvider: mediaProvider,
|
|
376
391
|
contextIdentifierProvider: contextIdentifierProvider,
|
|
@@ -378,7 +393,7 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
378
393
|
anchorPos: _this3.view.state.selection.$anchor.pos,
|
|
379
394
|
headPos: _this3.view.state.selection.$head.pos,
|
|
380
395
|
mediaOptions: mediaOptions,
|
|
381
|
-
editorViewMode: (editorViewModePlugin === null || editorViewModePlugin === void 0 ? void 0 : editorViewModePlugin.mode) === 'view'
|
|
396
|
+
editorViewMode: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? editorViewMode === 'view' : (editorViewModePlugin === null || editorViewModePlugin === void 0 ? void 0 : editorViewModePlugin.mode) === 'view'
|
|
382
397
|
});
|
|
383
398
|
};
|
|
384
399
|
return /*#__PURE__*/_react.default.createElement(MediaGroupNodeViewInternal, {
|
|
@@ -21,10 +21,12 @@ var _hooks = require("@atlaskit/editor-common/hooks");
|
|
|
21
21
|
var _mediaInline = require("@atlaskit/editor-common/media-inline");
|
|
22
22
|
var _providerFactory = require("@atlaskit/editor-common/provider-factory");
|
|
23
23
|
var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-node-view");
|
|
24
|
+
var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
|
|
24
25
|
var _mediaCard = require("@atlaskit/media-card");
|
|
25
26
|
var _mediaClientReact = require("@atlaskit/media-client-react");
|
|
26
27
|
var _mediaUi = require("@atlaskit/media-ui");
|
|
27
28
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
29
|
+
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
28
30
|
var _isType = require("../pm-plugins/utils/is-type");
|
|
29
31
|
var _MediaViewerContainer = require("../ui/MediaViewer/MediaViewerContainer");
|
|
30
32
|
var _mediaNodeUpdater = require("./mediaNodeUpdater");
|
|
@@ -58,7 +60,7 @@ var updateMediaNodeAttributes = /*#__PURE__*/function () {
|
|
|
58
60
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
59
61
|
while (1) switch (_context.prev = _context.next) {
|
|
60
62
|
case 0:
|
|
61
|
-
addPendingTask = props.
|
|
63
|
+
addPendingTask = props.addPendingTask;
|
|
62
64
|
node = props.node;
|
|
63
65
|
if (node) {
|
|
64
66
|
_context.next = 4;
|
|
@@ -111,9 +113,9 @@ var updateMediaNodeAttributes = /*#__PURE__*/function () {
|
|
|
111
113
|
}();
|
|
112
114
|
var handleNewNode = exports.handleNewNode = function handleNewNode(props) {
|
|
113
115
|
var node = props.node,
|
|
114
|
-
|
|
116
|
+
handleMediaNodeMount = props.handleMediaNodeMount,
|
|
115
117
|
getPos = props.getPos;
|
|
116
|
-
|
|
118
|
+
handleMediaNodeMount(node, function () {
|
|
117
119
|
return getPos();
|
|
118
120
|
});
|
|
119
121
|
};
|
|
@@ -134,8 +136,8 @@ var MediaInline = exports.MediaInline = function MediaInline(props) {
|
|
|
134
136
|
updateMediaNodeAttributes(props, mediaNodeUpdater);
|
|
135
137
|
updateViewMediaClientConfig(props);
|
|
136
138
|
return function () {
|
|
137
|
-
var
|
|
138
|
-
|
|
139
|
+
var handleMediaNodeUnmount = props.handleMediaNodeUnmount;
|
|
140
|
+
handleMediaNodeUnmount(props.node);
|
|
139
141
|
};
|
|
140
142
|
}, [props]);
|
|
141
143
|
var updateViewMediaClientConfig = /*#__PURE__*/function () {
|
|
@@ -190,7 +192,7 @@ var MediaInline = exports.MediaInline = function MediaInline(props) {
|
|
|
190
192
|
isSelected: false
|
|
191
193
|
});
|
|
192
194
|
}
|
|
193
|
-
var allowInlineImages = props.
|
|
195
|
+
var allowInlineImages = props.allowInlineImages;
|
|
194
196
|
var borderMark = (_props$node = props.node) === null || _props$node === void 0 || (_props$node = _props$node.marks) === null || _props$node === void 0 ? void 0 : _props$node.find(function (mark) {
|
|
195
197
|
return mark.type.name === 'border';
|
|
196
198
|
});
|
|
@@ -211,7 +213,8 @@ var MediaInline = exports.MediaInline = function MediaInline(props) {
|
|
|
211
213
|
}
|
|
212
214
|
return (0, _react2.jsx)(_MediaViewerContainer.MediaViewerContainer, {
|
|
213
215
|
mediaNode: props.node,
|
|
214
|
-
|
|
216
|
+
selectedMediaContainerNode: props.selectedMediaContainerNode,
|
|
217
|
+
mediaClientConfig: props.mediaClientConfig,
|
|
215
218
|
isEditorViewMode: props.editorViewMode,
|
|
216
219
|
isSelected: props.isSelected,
|
|
217
220
|
isInline: (0, _platformFeatureFlags.fg)('platform_editor_render_media_viewer_as_inline')
|
|
@@ -229,25 +232,64 @@ var MediaInlineSharedState = function MediaInlineSharedState(_ref3) {
|
|
|
229
232
|
contextIdentifierProvider = _ref3.contextIdentifierProvider,
|
|
230
233
|
api = _ref3.api,
|
|
231
234
|
view = _ref3.view;
|
|
232
|
-
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['editorViewMode', 'media']
|
|
235
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['editorViewMode', 'media'], {
|
|
236
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true)
|
|
237
|
+
}),
|
|
233
238
|
editorViewModeState = _useSharedPluginState.editorViewModeState,
|
|
234
239
|
mediaState = _useSharedPluginState.mediaState;
|
|
240
|
+
var viewModeSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'editorViewMode.mode', {
|
|
241
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
242
|
+
});
|
|
243
|
+
var mediaProviderSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.mediaProvider', {
|
|
244
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
245
|
+
});
|
|
246
|
+
var handleMediaNodeMountSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.handleMediaNodeMount', {
|
|
247
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
248
|
+
});
|
|
249
|
+
var handleMediaNodeUnmountSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.handleMediaNodeUnmount', {
|
|
250
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
251
|
+
});
|
|
252
|
+
var allowInlineImagesSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.allowInlineImages', {
|
|
253
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
254
|
+
});
|
|
255
|
+
var addPendingTaskSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.addPendingTask', {
|
|
256
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
257
|
+
});
|
|
258
|
+
var selectedMediaContainerNodeSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.selectedMediaContainerNode', {
|
|
259
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
260
|
+
});
|
|
261
|
+
var mediaClientConfigSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.mediaClientConfig', {
|
|
262
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
263
|
+
});
|
|
264
|
+
var viewMode = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? viewModeSelector : editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode;
|
|
265
|
+
var mediaProvider = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? mediaProviderSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
|
|
266
|
+
var handleMediaNodeMount = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? handleMediaNodeMountSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.handleMediaNodeMount;
|
|
267
|
+
var handleMediaNodeUnmount = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? handleMediaNodeUnmountSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.handleMediaNodeUnmount;
|
|
268
|
+
var allowInlineImages = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? allowInlineImagesSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.allowInlineImages;
|
|
269
|
+
var addPendingTask = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? addPendingTaskSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.addPendingTask;
|
|
270
|
+
var selectedMediaContainerNode = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? selectedMediaContainerNodeSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.selectedMediaContainerNode;
|
|
271
|
+
var mediaClientConfig = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? mediaClientConfigSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaClientConfig;
|
|
235
272
|
var newMediaProvider = (0, _react.useMemo)(function () {
|
|
236
|
-
return
|
|
237
|
-
}, [
|
|
238
|
-
if (!
|
|
273
|
+
return mediaProvider ? Promise.resolve(mediaProvider) : undefined;
|
|
274
|
+
}, [mediaProvider]);
|
|
275
|
+
if (!handleMediaNodeMount || !handleMediaNodeUnmount || !addPendingTask || !selectedMediaContainerNode || !mediaClientConfig || !newMediaProvider) {
|
|
239
276
|
return null;
|
|
240
277
|
}
|
|
241
278
|
return (0, _react2.jsx)(MediaInline, {
|
|
242
279
|
identifier: identifier,
|
|
243
280
|
mediaProvider: newMediaProvider,
|
|
244
|
-
|
|
281
|
+
handleMediaNodeMount: handleMediaNodeMount,
|
|
282
|
+
handleMediaNodeUnmount: handleMediaNodeUnmount,
|
|
283
|
+
allowInlineImages: allowInlineImages,
|
|
284
|
+
addPendingTask: addPendingTask,
|
|
285
|
+
selectedMediaContainerNode: selectedMediaContainerNode,
|
|
286
|
+
mediaClientConfig: mediaClientConfig,
|
|
245
287
|
node: node,
|
|
246
288
|
isSelected: isSelected,
|
|
247
289
|
view: view,
|
|
248
290
|
getPos: getPos,
|
|
249
291
|
contextIdentifierProvider: contextIdentifierProvider,
|
|
250
|
-
editorViewMode:
|
|
292
|
+
editorViewMode: viewMode === 'view'
|
|
251
293
|
});
|
|
252
294
|
};
|
|
253
295
|
var MediaInlineNodeView = exports.MediaInlineNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
|
|
@@ -254,41 +254,47 @@ var MediaNodeUpdater = exports.MediaNodeUpdater = /*#__PURE__*/function () {
|
|
|
254
254
|
})));
|
|
255
255
|
(0, _defineProperty2.default)(this, "uploadExternalMedia", /*#__PURE__*/function () {
|
|
256
256
|
var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(getPos) {
|
|
257
|
-
var node, mediaProvider, uploadMediaClientConfig, mediaClient, collection, uploader, uploadableFileUpfrontIds, dimensions, pos;
|
|
257
|
+
var _this$props, node, mediaOptions, mediaProvider, uploadMediaClientConfig, mediaClient, collection, uploader, uploadableFileUpfrontIds, dimensions, pos;
|
|
258
258
|
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
259
259
|
while (1) switch (_context7.prev = _context7.next) {
|
|
260
260
|
case 0:
|
|
261
|
-
node = _this.props.
|
|
262
|
-
|
|
263
|
-
|
|
261
|
+
_this$props = _this.props, node = _this$props.node, mediaOptions = _this$props.mediaOptions;
|
|
262
|
+
if (!(mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.isExternalMediaUploadDisabled)) {
|
|
263
|
+
_context7.next = 3;
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
return _context7.abrupt("return");
|
|
264
267
|
case 3:
|
|
268
|
+
_context7.next = 5;
|
|
269
|
+
return _this.props.mediaProvider;
|
|
270
|
+
case 5:
|
|
265
271
|
mediaProvider = _context7.sent;
|
|
266
272
|
if (!(node && mediaProvider)) {
|
|
267
|
-
_context7.next =
|
|
273
|
+
_context7.next = 26;
|
|
268
274
|
break;
|
|
269
275
|
}
|
|
270
276
|
uploadMediaClientConfig = mediaProvider.uploadMediaClientConfig;
|
|
271
277
|
if (!(!uploadMediaClientConfig || !node.attrs.url)) {
|
|
272
|
-
_context7.next =
|
|
278
|
+
_context7.next = 10;
|
|
273
279
|
break;
|
|
274
280
|
}
|
|
275
281
|
return _context7.abrupt("return");
|
|
276
|
-
case
|
|
282
|
+
case 10:
|
|
277
283
|
mediaClient = (0, _mediaClientReact.getMediaClient)(uploadMediaClientConfig);
|
|
278
284
|
collection = mediaProvider.uploadParams && mediaProvider.uploadParams.collection;
|
|
279
|
-
_context7.prev =
|
|
280
|
-
_context7.next =
|
|
285
|
+
_context7.prev = 12;
|
|
286
|
+
_context7.next = 15;
|
|
281
287
|
return mediaClient.file.uploadExternal(node.attrs.url, collection);
|
|
282
|
-
case
|
|
288
|
+
case 15:
|
|
283
289
|
uploader = _context7.sent;
|
|
284
290
|
uploadableFileUpfrontIds = uploader.uploadableFileUpfrontIds, dimensions = uploader.dimensions;
|
|
285
291
|
pos = getPos();
|
|
286
292
|
if (!(typeof pos !== 'number')) {
|
|
287
|
-
_context7.next =
|
|
293
|
+
_context7.next = 20;
|
|
288
294
|
break;
|
|
289
295
|
}
|
|
290
296
|
return _context7.abrupt("return");
|
|
291
|
-
case
|
|
297
|
+
case 20:
|
|
292
298
|
(0, _helpers.replaceExternalMedia)(pos + 1, {
|
|
293
299
|
id: uploadableFileUpfrontIds.id,
|
|
294
300
|
collection: collection,
|
|
@@ -296,11 +302,11 @@ var MediaNodeUpdater = exports.MediaNodeUpdater = /*#__PURE__*/function () {
|
|
|
296
302
|
width: dimensions.width,
|
|
297
303
|
occurrenceKey: uploadableFileUpfrontIds.occurrenceKey
|
|
298
304
|
})(_this.props.view.state, _this.props.view.dispatch);
|
|
299
|
-
_context7.next =
|
|
305
|
+
_context7.next = 26;
|
|
300
306
|
break;
|
|
301
|
-
case
|
|
302
|
-
_context7.prev =
|
|
303
|
-
_context7.t0 = _context7["catch"](
|
|
307
|
+
case 23:
|
|
308
|
+
_context7.prev = 23;
|
|
309
|
+
_context7.t0 = _context7["catch"](12);
|
|
304
310
|
//keep it as external media
|
|
305
311
|
if (_this.props.dispatchAnalyticsEvent) {
|
|
306
312
|
_this.props.dispatchAnalyticsEvent({
|
|
@@ -309,11 +315,11 @@ var MediaNodeUpdater = exports.MediaNodeUpdater = /*#__PURE__*/function () {
|
|
|
309
315
|
eventType: _analytics.EVENT_TYPE.OPERATIONAL
|
|
310
316
|
});
|
|
311
317
|
}
|
|
312
|
-
case
|
|
318
|
+
case 26:
|
|
313
319
|
case "end":
|
|
314
320
|
return _context7.stop();
|
|
315
321
|
}
|
|
316
|
-
}, _callee7, null, [[
|
|
322
|
+
}, _callee7, null, [[12, 23]]);
|
|
317
323
|
}));
|
|
318
324
|
return function (_x3) {
|
|
319
325
|
return _ref8.apply(this, arguments);
|
|
@@ -18,7 +18,9 @@ var _hooks = require("@atlaskit/editor-common/hooks");
|
|
|
18
18
|
var _mediaSingle = require("@atlaskit/editor-common/media-single");
|
|
19
19
|
var _providerFactory = require("@atlaskit/editor-common/provider-factory");
|
|
20
20
|
var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-node-view");
|
|
21
|
+
var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
|
|
21
22
|
var _mediaClient = require("@atlaskit/media-client");
|
|
23
|
+
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
22
24
|
var _helpers = require("../../pm-plugins/commands/helpers");
|
|
23
25
|
var _mediaCommon = require("../../pm-plugins/utils/media-common");
|
|
24
26
|
var _media = _interopRequireDefault(require("./media"));
|
|
@@ -32,12 +34,18 @@ function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototyp
|
|
|
32
34
|
var MediaNodeWithProviders = function MediaNodeWithProviders(_ref) {
|
|
33
35
|
var pluginInjectionApi = _ref.pluginInjectionApi,
|
|
34
36
|
innerComponent = _ref.innerComponent;
|
|
35
|
-
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width', 'media']
|
|
37
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width', 'media'], {
|
|
38
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true)
|
|
39
|
+
}),
|
|
36
40
|
widthState = _useSharedPluginState.widthState,
|
|
37
41
|
mediaState = _useSharedPluginState.mediaState;
|
|
42
|
+
var mediaProviderSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'media.mediaProvider', {
|
|
43
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
44
|
+
});
|
|
45
|
+
var mediaProvider = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? mediaProviderSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
|
|
38
46
|
return innerComponent({
|
|
39
|
-
width: widthState,
|
|
40
|
-
mediaProvider:
|
|
47
|
+
width: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? widthState : undefined,
|
|
48
|
+
mediaProvider: mediaProvider ? Promise.resolve(mediaProvider) : undefined
|
|
41
49
|
});
|
|
42
50
|
};
|
|
43
51
|
function isMediaDecorationSpec(decoration) {
|