@atlaskit/editor-plugin-media 2.7.0 → 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 +15 -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/mediaNodeView/index.js +11 -3
- package/dist/cjs/nodeviews/mediaSingle.js +87 -48
- 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/mediaNodeView/index.js +11 -3
- package/dist/es2019/nodeviews/mediaSingle.js +59 -24
- 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/mediaNodeView/index.js +11 -3
- package/dist/esm/nodeviews/mediaSingle.js +87 -48
- 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/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/ui/MediaViewer/MediaViewerContainer.d.ts +4 -3
- package/dist/types-ts4.5/ui/toolbar/utils.d.ts +1 -0
- package/package.json +8 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
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
|
+
|
|
3
18
|
## 2.7.0
|
|
4
19
|
|
|
5
20
|
### Minor 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) {
|
|
@@ -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) {
|
|
@@ -31,6 +31,7 @@ var _utils2 = require("@atlaskit/editor-prosemirror/utils");
|
|
|
31
31
|
var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
|
|
32
32
|
var _mediaClient = require("@atlaskit/media-client");
|
|
33
33
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
34
|
+
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
34
35
|
var _captions = require("../pm-plugins/commands/captions");
|
|
35
36
|
var _main = require("../pm-plugins/main");
|
|
36
37
|
var _mediaCommon = require("../pm-plugins/utils/media-common");
|
|
@@ -128,78 +129,85 @@ var MediaSingleNode = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
128
129
|
while (1) switch (_context2.prev = _context2.next) {
|
|
129
130
|
case 0:
|
|
130
131
|
_this.createOrUpdateMediaNodeUpdater(props);
|
|
131
|
-
addPendingTask = _this.props.
|
|
132
|
+
addPendingTask = _this.props.addPendingTask;
|
|
133
|
+
if (addPendingTask) {
|
|
134
|
+
_context2.next = 4;
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
return _context2.abrupt("return");
|
|
138
|
+
case 4:
|
|
139
|
+
// we want the first child of MediaSingle (type "media")
|
|
132
140
|
node = _this.props.node.firstChild;
|
|
133
141
|
if (node) {
|
|
134
|
-
_context2.next =
|
|
142
|
+
_context2.next = 7;
|
|
135
143
|
break;
|
|
136
144
|
}
|
|
137
145
|
return _context2.abrupt("return");
|
|
138
|
-
case 5:
|
|
139
|
-
_context2.next = 7;
|
|
140
|
-
return (_this$mediaNodeUpdate2 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate2 === void 0 ? void 0 : _this$mediaNodeUpdate2.getRemoteDimensions();
|
|
141
146
|
case 7:
|
|
147
|
+
_context2.next = 9;
|
|
148
|
+
return (_this$mediaNodeUpdate2 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate2 === void 0 ? void 0 : _this$mediaNodeUpdate2.getRemoteDimensions();
|
|
149
|
+
case 9:
|
|
142
150
|
updatedDimensions = _context2.sent;
|
|
143
151
|
currentAttrs = (_this$props$node$firs = _this.props.node.firstChild) === null || _this$props$node$firs === void 0 ? void 0 : _this$props$node$firs.attrs;
|
|
144
152
|
if (updatedDimensions && ((currentAttrs === null || currentAttrs === void 0 ? void 0 : currentAttrs.width) !== updatedDimensions.width || (currentAttrs === null || currentAttrs === void 0 ? void 0 : currentAttrs.height) !== updatedDimensions.height)) {
|
|
145
153
|
(_this$mediaNodeUpdate3 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate3 === void 0 || _this$mediaNodeUpdate3.updateDimensions(updatedDimensions);
|
|
146
154
|
}
|
|
147
155
|
if (!(node.attrs.type === 'external' && node.attrs.__external)) {
|
|
148
|
-
_context2.next =
|
|
156
|
+
_context2.next = 18;
|
|
149
157
|
break;
|
|
150
158
|
}
|
|
151
159
|
// Ignored via go/ees005
|
|
152
160
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
153
161
|
updatingNode = _this.mediaNodeUpdater.handleExternalMedia(_this.props.getPos);
|
|
154
162
|
addPendingTask(updatingNode);
|
|
155
|
-
_context2.next =
|
|
163
|
+
_context2.next = 17;
|
|
156
164
|
return updatingNode;
|
|
157
|
-
case
|
|
165
|
+
case 17:
|
|
158
166
|
return _context2.abrupt("return");
|
|
159
|
-
case
|
|
167
|
+
case 18:
|
|
160
168
|
contextId = (_this$mediaNodeUpdate4 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate4 === void 0 ? void 0 : _this$mediaNodeUpdate4.getNodeContextId();
|
|
161
169
|
if (contextId) {
|
|
162
|
-
_context2.next =
|
|
170
|
+
_context2.next = 22;
|
|
163
171
|
break;
|
|
164
172
|
}
|
|
165
|
-
_context2.next = 20;
|
|
166
|
-
return (_this$mediaNodeUpdate5 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate5 === void 0 ? void 0 : _this$mediaNodeUpdate5.updateContextId();
|
|
167
|
-
case 20:
|
|
168
173
|
_context2.next = 22;
|
|
169
|
-
return (_this$
|
|
174
|
+
return (_this$mediaNodeUpdate5 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate5 === void 0 ? void 0 : _this$mediaNodeUpdate5.updateContextId();
|
|
170
175
|
case 22:
|
|
176
|
+
_context2.next = 24;
|
|
177
|
+
return (_this$mediaNodeUpdate6 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate6 === void 0 ? void 0 : _this$mediaNodeUpdate6.shouldNodeBeDeepCopied();
|
|
178
|
+
case 24:
|
|
171
179
|
shouldNodeBeDeepCopied = _context2.sent;
|
|
172
180
|
if (!shouldNodeBeDeepCopied) {
|
|
173
|
-
_context2.next =
|
|
181
|
+
_context2.next = 37;
|
|
174
182
|
break;
|
|
175
183
|
}
|
|
176
184
|
_this.setState({
|
|
177
185
|
isCopying: true
|
|
178
186
|
});
|
|
179
|
-
_context2.prev =
|
|
187
|
+
_context2.prev = 27;
|
|
180
188
|
// Ignored via go/ees005
|
|
181
189
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
182
190
|
copyNode = _this.mediaNodeUpdater.copyNode({
|
|
183
191
|
traceId: node.attrs.__mediaTraceId
|
|
184
192
|
});
|
|
185
193
|
addPendingTask(copyNode);
|
|
186
|
-
_context2.next =
|
|
194
|
+
_context2.next = 32;
|
|
187
195
|
return copyNode;
|
|
188
|
-
case 30:
|
|
189
|
-
_context2.next = 35;
|
|
190
|
-
break;
|
|
191
196
|
case 32:
|
|
192
|
-
_context2.
|
|
193
|
-
|
|
197
|
+
_context2.next = 37;
|
|
198
|
+
break;
|
|
199
|
+
case 34:
|
|
200
|
+
_context2.prev = 34;
|
|
201
|
+
_context2.t0 = _context2["catch"](27);
|
|
194
202
|
// if copyNode fails, let's set isCopying false so we can show the eventual error
|
|
195
203
|
_this.setState({
|
|
196
204
|
isCopying: false
|
|
197
205
|
});
|
|
198
|
-
case
|
|
206
|
+
case 37:
|
|
199
207
|
case "end":
|
|
200
208
|
return _context2.stop();
|
|
201
209
|
}
|
|
202
|
-
}, _callee2, null, [[
|
|
210
|
+
}, _callee2, null, [[27, 34]]);
|
|
203
211
|
}));
|
|
204
212
|
return function (_x2) {
|
|
205
213
|
return _ref2.apply(this, arguments);
|
|
@@ -362,7 +370,8 @@ var MediaSingleNode = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
362
370
|
dispatchAnalyticsEvent = _this$props2.dispatchAnalyticsEvent,
|
|
363
371
|
editorViewMode = _this$props2.editorViewMode,
|
|
364
372
|
editorDisabled = _this$props2.editorDisabled,
|
|
365
|
-
|
|
373
|
+
isDrafting = _this$props2.isDrafting,
|
|
374
|
+
targetNodeId = _this$props2.targetNodeId,
|
|
366
375
|
editorAppearance = _this$props2.editorAppearance;
|
|
367
376
|
var _ref4 = node.attrs,
|
|
368
377
|
layout = _ref4.layout,
|
|
@@ -459,7 +468,7 @@ var MediaSingleNode = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
459
468
|
var badgeOffsetRight = isBadgePosOffsetRight();
|
|
460
469
|
var shouldShowPlaceholder = mediaOptions.allowCaptions && node.childCount !== 2 && isSelected && state.selection instanceof _state.NodeSelection;
|
|
461
470
|
shouldShowPlaceholder = !editorDisabled && shouldShowPlaceholder;
|
|
462
|
-
var isCurrentNodeDrafting = (
|
|
471
|
+
var isCurrentNodeDrafting = Boolean(isDrafting && targetNodeId === (node === null || node === void 0 || (_node$firstChild = node.firstChild) === null || _node$firstChild === void 0 ? void 0 : _node$firstChild.attrs.id));
|
|
463
472
|
var pos = getPos();
|
|
464
473
|
var isInsideTable = pos !== undefined && (0, _utils2.findParentNodeOfTypeClosestToPos)(state.doc.resolve(pos), [state.schema.nodes.table]);
|
|
465
474
|
var currentMediaElement = function currentMediaElement() {
|
|
@@ -557,23 +566,57 @@ var MediaSingleNodeWrapper = function MediaSingleNodeWrapper(_ref6) {
|
|
|
557
566
|
dispatchAnalyticsEvent = _ref6.dispatchAnalyticsEvent,
|
|
558
567
|
forwardRef = _ref6.forwardRef,
|
|
559
568
|
editorAppearance = _ref6.editorAppearance;
|
|
560
|
-
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width', 'media', 'annotation', 'editorDisabled', 'editorViewMode']
|
|
569
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width', 'media', 'annotation', 'editorDisabled', 'editorViewMode'], {
|
|
570
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true)
|
|
571
|
+
}),
|
|
561
572
|
widthState = _useSharedPluginState.widthState,
|
|
562
573
|
mediaState = _useSharedPluginState.mediaState,
|
|
563
574
|
annotationState = _useSharedPluginState.annotationState,
|
|
564
575
|
editorDisabledState = _useSharedPluginState.editorDisabledState,
|
|
565
576
|
editorViewModeState = _useSharedPluginState.editorViewModeState;
|
|
577
|
+
var mediaProviderSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'media.mediaProvider', {
|
|
578
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
579
|
+
});
|
|
580
|
+
var addPendingTaskSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'media.addPendingTask', {
|
|
581
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
582
|
+
});
|
|
583
|
+
var isDraftingSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'annotation.isDrafting', {
|
|
584
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
585
|
+
});
|
|
586
|
+
var targetNodeIdSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'annotation.targetNodeId', {
|
|
587
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
588
|
+
});
|
|
589
|
+
var widthSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'width.width', {
|
|
590
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
591
|
+
});
|
|
592
|
+
var lineLengthSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'width.lineLength', {
|
|
593
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
594
|
+
});
|
|
595
|
+
var editorDisabledSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'editorDisabled.editorDisabled', {
|
|
596
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
597
|
+
});
|
|
598
|
+
var viewModeSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'editorViewMode.mode', {
|
|
599
|
+
disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
|
|
600
|
+
});
|
|
601
|
+
var mediaProviderState = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? mediaProviderSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
|
|
602
|
+
var addPendingTask = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? addPendingTaskSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.addPendingTask;
|
|
603
|
+
var isDrafting = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? isDraftingSelector : annotationState === null || annotationState === void 0 ? void 0 : annotationState.isDrafting;
|
|
604
|
+
var targetNodeId = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? targetNodeIdSelector : annotationState === null || annotationState === void 0 ? void 0 : annotationState.targetNodeId;
|
|
605
|
+
var width = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? widthSelector : widthState === null || widthState === void 0 ? void 0 : widthState.width;
|
|
606
|
+
var lineLength = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? lineLengthSelector : widthState === null || widthState === void 0 ? void 0 : widthState.lineLength;
|
|
607
|
+
var editorDisabled = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? editorDisabledSelector : editorDisabledState === null || editorDisabledState === void 0 ? void 0 : editorDisabledState.editorDisabled;
|
|
608
|
+
var viewMode = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? viewModeSelector : editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode;
|
|
566
609
|
var hasHadInteraction = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'interaction.hasHadInteraction');
|
|
567
610
|
var mediaProvider = (0, _react.useMemo)(function () {
|
|
568
|
-
return
|
|
569
|
-
}, [
|
|
611
|
+
return mediaProviderState ? Promise.resolve(mediaProviderState) : undefined;
|
|
612
|
+
}, [mediaProviderState]);
|
|
570
613
|
var isSelectedAndInteracted = (0, _react.useCallback)(function () {
|
|
571
614
|
return Boolean(selected() && hasHadInteraction !== false);
|
|
572
615
|
}, [hasHadInteraction, selected]);
|
|
573
616
|
if ((0, _platformFeatureFlags.fg)('platform_editor_react18_phase2__media_single') || (0, _platformFeatureFlags.fg)('platform_editor_react18_phase2__media_single_jira')) {
|
|
574
617
|
return (0, _react2.jsx)(_mediaSingleNext.MediaSingleNodeNext, {
|
|
575
|
-
width:
|
|
576
|
-
lineLength:
|
|
618
|
+
width: width || 0,
|
|
619
|
+
lineLength: lineLength || 0,
|
|
577
620
|
node: node,
|
|
578
621
|
getPos: getPos,
|
|
579
622
|
mediaProvider: mediaProvider,
|
|
@@ -583,25 +626,20 @@ var MediaSingleNodeWrapper = function MediaSingleNodeWrapper(_ref6) {
|
|
|
583
626
|
fullWidthMode: fullWidthMode,
|
|
584
627
|
selected: (0, _platformFeatureFlags.fg)('platform_editor_no_selection_until_interaction') ? isSelectedAndInteracted : selected,
|
|
585
628
|
eventDispatcher: eventDispatcher,
|
|
586
|
-
|
|
587
|
-
|
|
629
|
+
addPendingTask: addPendingTask,
|
|
630
|
+
isDrafting: isDrafting,
|
|
631
|
+
targetNodeId: targetNodeId,
|
|
588
632
|
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
589
633
|
forwardRef: forwardRef,
|
|
590
634
|
pluginInjectionApi: pluginInjectionApi,
|
|
591
|
-
editorDisabled:
|
|
592
|
-
editorViewMode:
|
|
635
|
+
editorDisabled: editorDisabled,
|
|
636
|
+
editorViewMode: viewMode === 'view',
|
|
593
637
|
editorAppearance: editorAppearance
|
|
594
638
|
});
|
|
595
639
|
}
|
|
596
|
-
return (0, _react2.jsx)(MediaSingleNode
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
, {
|
|
600
|
-
width: widthState.width
|
|
601
|
-
// Ignored via go/ees005
|
|
602
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
603
|
-
,
|
|
604
|
-
lineLength: widthState.lineLength,
|
|
640
|
+
return (0, _react2.jsx)(MediaSingleNode, {
|
|
641
|
+
width: width,
|
|
642
|
+
lineLength: lineLength,
|
|
605
643
|
node: node,
|
|
606
644
|
getPos: getPos,
|
|
607
645
|
mediaProvider: mediaProvider,
|
|
@@ -611,13 +649,14 @@ var MediaSingleNodeWrapper = function MediaSingleNodeWrapper(_ref6) {
|
|
|
611
649
|
fullWidthMode: fullWidthMode,
|
|
612
650
|
selected: (0, _platformFeatureFlags.fg)('platform_editor_no_selection_until_interaction') ? isSelectedAndInteracted : selected,
|
|
613
651
|
eventDispatcher: eventDispatcher,
|
|
614
|
-
|
|
615
|
-
|
|
652
|
+
addPendingTask: addPendingTask,
|
|
653
|
+
isDrafting: isDrafting,
|
|
654
|
+
targetNodeId: targetNodeId,
|
|
616
655
|
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
617
656
|
forwardRef: forwardRef,
|
|
618
657
|
pluginInjectionApi: pluginInjectionApi,
|
|
619
|
-
editorDisabled:
|
|
620
|
-
editorViewMode:
|
|
658
|
+
editorDisabled: editorDisabled,
|
|
659
|
+
editorViewMode: viewMode === 'view',
|
|
621
660
|
editorAppearance: editorAppearance
|
|
622
661
|
});
|
|
623
662
|
};
|
|
@@ -300,12 +300,13 @@ var MediaSingleNodeNext = exports.MediaSingleNodeNext = function MediaSingleNode
|
|
|
300
300
|
dispatchAnalyticsEvent = mediaSingleNodeNextProps.dispatchAnalyticsEvent,
|
|
301
301
|
editorViewMode = mediaSingleNodeNextProps.editorViewMode,
|
|
302
302
|
editorDisabled = mediaSingleNodeNextProps.editorDisabled,
|
|
303
|
-
|
|
303
|
+
isDrafting = mediaSingleNodeNextProps.isDrafting,
|
|
304
|
+
targetNodeId = mediaSingleNodeNextProps.targetNodeId,
|
|
304
305
|
editorAppearance = mediaSingleNodeNextProps.editorAppearance,
|
|
305
306
|
mediaProviderPromise = mediaSingleNodeNextProps.mediaProvider,
|
|
306
307
|
forwardRef = mediaSingleNodeNextProps.forwardRef,
|
|
307
308
|
contextIdentifierProviderPromise = mediaSingleNodeNextProps.contextIdentifierProvider,
|
|
308
|
-
|
|
309
|
+
addPendingTask = mediaSingleNodeNextProps.addPendingTask;
|
|
309
310
|
var _React$useState3 = _react.default.useState(null),
|
|
310
311
|
_React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
|
|
311
312
|
mediaProvider = _React$useState4[0],
|
|
@@ -333,7 +334,7 @@ var MediaSingleNodeNext = exports.MediaSingleNodeNext = function MediaSingleNode
|
|
|
333
334
|
mediaNodeUpdater: mediaNodeUpdater,
|
|
334
335
|
getPos: getPos,
|
|
335
336
|
mediaNode: mediaNode,
|
|
336
|
-
addPendingTask:
|
|
337
|
+
addPendingTask: addPendingTask || noop
|
|
337
338
|
});
|
|
338
339
|
_react.default.useLayoutEffect(function () {
|
|
339
340
|
mountedRef.current = true;
|
|
@@ -437,7 +438,7 @@ var MediaSingleNodeNext = exports.MediaSingleNodeNext = function MediaSingleNode
|
|
|
437
438
|
}, [mediaSingleWidthAttribute, widthType, width, layout, contentWidthForLegacyExperience, containerWidth]);
|
|
438
439
|
var currentMaxWidth = isSelected ? pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$m = pluginInjectionApi.media) === null || _pluginInjectionApi$m === void 0 || (_pluginInjectionApi$m = _pluginInjectionApi$m.sharedState.currentState()) === null || _pluginInjectionApi$m === void 0 ? void 0 : _pluginInjectionApi$m.currentMaxWidth : undefined;
|
|
439
440
|
var contentWidth = currentMaxWidth || lineLength;
|
|
440
|
-
var isCurrentNodeDrafting = Boolean(
|
|
441
|
+
var isCurrentNodeDrafting = Boolean(isDrafting && targetNodeId === (mediaNode === null || mediaNode === void 0 || (_mediaNode$firstChild = mediaNode.firstChild) === null || _mediaNode$firstChild === void 0 ? void 0 : _mediaNode$firstChild.attrs.id));
|
|
441
442
|
var mediaSingleWrapperRef = /*#__PURE__*/_react.default.createRef();
|
|
442
443
|
var captionPlaceHolderRef = /*#__PURE__*/_react.default.createRef();
|
|
443
444
|
var onMediaSingleClicked = _react.default.useCallback(function (event) {
|