@atlaskit/editor-plugin-media 1.29.3 → 1.29.4
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 +9 -0
- package/dist/cjs/nodeviews/mediaGroup.js +4 -29
- package/dist/cjs/nodeviews/mediaInline.js +4 -29
- package/dist/cjs/nodeviews/mediaNodeView/index.js +8 -13
- package/dist/cjs/nodeviews/mediaSingle.js +5 -11
- package/dist/cjs/pm-plugins/main.js +3 -10
- package/dist/cjs/ui/MediaPicker/PickerFacadeProvider.js +2 -148
- package/dist/es2019/nodeviews/mediaGroup.js +3 -28
- package/dist/es2019/nodeviews/mediaInline.js +4 -29
- package/dist/es2019/nodeviews/mediaNodeView/index.js +7 -12
- package/dist/es2019/nodeviews/mediaSingle.js +4 -10
- package/dist/es2019/pm-plugins/main.js +3 -8
- package/dist/es2019/ui/MediaPicker/PickerFacadeProvider.js +2 -88
- package/dist/esm/nodeviews/mediaGroup.js +4 -29
- package/dist/esm/nodeviews/mediaInline.js +4 -29
- package/dist/esm/nodeviews/mediaNodeView/index.js +8 -13
- package/dist/esm/nodeviews/mediaSingle.js +5 -11
- package/dist/esm/pm-plugins/main.js +3 -10
- package/dist/esm/ui/MediaPicker/PickerFacadeProvider.js +2 -145
- package/dist/types/nodeviews/mediaNodeView/index.d.ts +3 -3
- package/dist/types/ui/MediaPicker/PickerFacadeProvider.d.ts +2 -2
- package/dist/types-ts4.5/nodeviews/mediaNodeView/index.d.ts +3 -3
- package/dist/types-ts4.5/ui/MediaPicker/PickerFacadeProvider.d.ts +2 -2
- package/package.json +2 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-media
|
|
2
2
|
|
|
3
|
+
## 1.29.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#133207](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/133207)
|
|
8
|
+
[`1f50735af1144`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/1f50735af1144) -
|
|
9
|
+
Cleanup feature flag to stop using provider factory for media provider. This should be an under
|
|
10
|
+
the hood change to decouple editor from the media provider.
|
|
11
|
+
|
|
3
12
|
## 1.29.3
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
|
@@ -24,7 +24,6 @@ var _utils = require("@atlaskit/editor-common/utils");
|
|
|
24
24
|
var _close = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/close"));
|
|
25
25
|
var _mediaCommon = require("@atlaskit/media-common");
|
|
26
26
|
var _mediaFilmstrip = require("@atlaskit/media-filmstrip");
|
|
27
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
28
27
|
var _useMediaProvider = require("../hooks/useMediaProvider");
|
|
29
28
|
var _pluginKey = require("../pm-plugins/plugin-key");
|
|
30
29
|
var _mediaNodeUpdater = require("./mediaNodeUpdater");
|
|
@@ -334,40 +333,16 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
334
333
|
mediaOptions = props.mediaOptions,
|
|
335
334
|
pluginInjectionApi = props.pluginInjectionApi;
|
|
336
335
|
var getPos = this.getPos;
|
|
337
|
-
return /*#__PURE__*/_react.default.createElement(_providerFactory.WithProviders
|
|
338
|
-
|
|
339
|
-
// Remove `mediaProvider`
|
|
340
|
-
, {
|
|
341
|
-
providers: ['mediaProvider', 'contextIdentifierProvider'],
|
|
336
|
+
return /*#__PURE__*/_react.default.createElement(_providerFactory.WithProviders, {
|
|
337
|
+
providers: ['contextIdentifierProvider'],
|
|
342
338
|
providerFactory: providerFactory,
|
|
343
339
|
renderNode: function renderNode(_ref4) {
|
|
344
|
-
var
|
|
345
|
-
contextIdentifierProvider = _ref4.contextIdentifierProvider;
|
|
340
|
+
var contextIdentifierProvider = _ref4.contextIdentifierProvider;
|
|
346
341
|
var renderFn = function renderFn(_ref5) {
|
|
347
342
|
var editorDisabledPlugin = _ref5.editorDisabledPlugin,
|
|
348
343
|
editorViewModePlugin = _ref5.editorViewModePlugin,
|
|
349
344
|
mediaProviderFromState = _ref5.mediaProvider;
|
|
350
|
-
|
|
351
|
-
var newMediaProvider = mediaProviderFromState ? Promise.resolve(mediaProviderFromState) : undefined;
|
|
352
|
-
if (!newMediaProvider) {
|
|
353
|
-
return null;
|
|
354
|
-
}
|
|
355
|
-
return /*#__PURE__*/_react.default.createElement(IntlMediaGroup, {
|
|
356
|
-
node: _this3.node,
|
|
357
|
-
getPos: getPos,
|
|
358
|
-
view: _this3.view,
|
|
359
|
-
forwardRef: forwardRef,
|
|
360
|
-
disabled: (editorDisabledPlugin || {}).editorDisabled,
|
|
361
|
-
allowLazyLoading: mediaOptions.allowLazyLoading,
|
|
362
|
-
mediaProvider: newMediaProvider,
|
|
363
|
-
contextIdentifierProvider: contextIdentifierProvider,
|
|
364
|
-
isCopyPasteEnabled: mediaOptions.isCopyPasteEnabled,
|
|
365
|
-
anchorPos: _this3.view.state.selection.$anchor.pos,
|
|
366
|
-
headPos: _this3.view.state.selection.$head.pos,
|
|
367
|
-
mediaOptions: mediaOptions,
|
|
368
|
-
editorViewMode: (editorViewModePlugin === null || editorViewModePlugin === void 0 ? void 0 : editorViewModePlugin.mode) === 'view'
|
|
369
|
-
});
|
|
370
|
-
}
|
|
345
|
+
var mediaProvider = mediaProviderFromState ? Promise.resolve(mediaProviderFromState) : undefined;
|
|
371
346
|
if (!mediaProvider) {
|
|
372
347
|
return null;
|
|
373
348
|
}
|
|
@@ -24,7 +24,6 @@ var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-n
|
|
|
24
24
|
var _mediaCard = require("@atlaskit/media-card");
|
|
25
25
|
var _mediaClientReact = require("@atlaskit/media-client-react");
|
|
26
26
|
var _mediaUi = require("@atlaskit/media-ui");
|
|
27
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
28
27
|
var _MediaViewerContainer = require("../ui/MediaViewer/MediaViewerContainer");
|
|
29
28
|
var _isType = require("../utils/is-type");
|
|
30
29
|
var _mediaNodeUpdater = require("./mediaNodeUpdater");
|
|
@@ -218,7 +217,6 @@ var MediaInline = exports.MediaInline = function MediaInline(props) {
|
|
|
218
217
|
};
|
|
219
218
|
var MediaInlineSharedState = function MediaInlineSharedState(_ref3) {
|
|
220
219
|
var identifier = _ref3.identifier,
|
|
221
|
-
mediaProvider = _ref3.mediaProvider,
|
|
222
220
|
node = _ref3.node,
|
|
223
221
|
isSelected = _ref3.isSelected,
|
|
224
222
|
getPos = _ref3.getPos,
|
|
@@ -231,28 +229,12 @@ var MediaInlineSharedState = function MediaInlineSharedState(_ref3) {
|
|
|
231
229
|
var newMediaProvider = (0, _react.useMemo)(function () {
|
|
232
230
|
return mediaState !== null && mediaState !== void 0 && mediaState.mediaProvider ? Promise.resolve(mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider) : undefined;
|
|
233
231
|
}, [mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider]);
|
|
234
|
-
if (
|
|
235
|
-
if (!mediaState || !newMediaProvider) {
|
|
236
|
-
return null;
|
|
237
|
-
}
|
|
238
|
-
return (0, _react2.jsx)(MediaInline, {
|
|
239
|
-
identifier: identifier,
|
|
240
|
-
mediaProvider: newMediaProvider,
|
|
241
|
-
mediaPluginState: mediaState,
|
|
242
|
-
node: node,
|
|
243
|
-
isSelected: isSelected,
|
|
244
|
-
view: view,
|
|
245
|
-
getPos: getPos,
|
|
246
|
-
contextIdentifierProvider: contextIdentifierProvider,
|
|
247
|
-
editorViewMode: (editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode) === 'view'
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
if (!mediaState || !mediaProvider) {
|
|
232
|
+
if (!mediaState || !newMediaProvider) {
|
|
251
233
|
return null;
|
|
252
234
|
}
|
|
253
235
|
return (0, _react2.jsx)(MediaInline, {
|
|
254
236
|
identifier: identifier,
|
|
255
|
-
mediaProvider:
|
|
237
|
+
mediaProvider: newMediaProvider,
|
|
256
238
|
mediaPluginState: mediaState,
|
|
257
239
|
node: node,
|
|
258
240
|
isSelected: isSelected,
|
|
@@ -297,21 +279,14 @@ var MediaInlineNodeView = exports.MediaInlineNodeView = /*#__PURE__*/function (_
|
|
|
297
279
|
api = props.api;
|
|
298
280
|
var view = this.view;
|
|
299
281
|
var getPos = this.getPos;
|
|
300
|
-
return (0, _react2.jsx)(_providerFactory.WithProviders
|
|
301
|
-
|
|
302
|
-
// Remove `mediaProvider`
|
|
303
|
-
, {
|
|
304
|
-
providers: ['mediaProvider', 'contextIdentifierProvider'],
|
|
282
|
+
return (0, _react2.jsx)(_providerFactory.WithProviders, {
|
|
283
|
+
providers: ['contextIdentifierProvider'],
|
|
305
284
|
providerFactory: providerFactory,
|
|
306
285
|
renderNode: function renderNode(_ref4) {
|
|
307
286
|
var mediaProvider = _ref4.mediaProvider,
|
|
308
287
|
contextIdentifierProvider = _ref4.contextIdentifierProvider;
|
|
309
|
-
if (!mediaProvider && !(0, _platformFeatureFlags.fg)('platform_editor_media_provider_from_plugin_config')) {
|
|
310
|
-
return null;
|
|
311
|
-
}
|
|
312
288
|
return (0, _react2.jsx)(MediaInlineSharedState, {
|
|
313
289
|
identifier: _this.node.attrs.id,
|
|
314
|
-
mediaProvider: mediaProvider,
|
|
315
290
|
node: _this.node,
|
|
316
291
|
isSelected: _this.nodeInsideSelection(),
|
|
317
292
|
view: view,
|
|
@@ -20,7 +20,6 @@ var _mediaSingle = require("@atlaskit/editor-common/media-single");
|
|
|
20
20
|
var _providerFactory = require("@atlaskit/editor-common/provider-factory");
|
|
21
21
|
var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-node-view");
|
|
22
22
|
var _mediaClient = require("@atlaskit/media-client");
|
|
23
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
24
23
|
var _helpers = require("../../commands/helpers");
|
|
25
24
|
var _mediaCommon = require("../../utils/media-common");
|
|
26
25
|
var _media = _interopRequireDefault(require("./media"));
|
|
@@ -37,7 +36,7 @@ var MediaNodeWithProviders = function MediaNodeWithProviders(_ref) {
|
|
|
37
36
|
mediaState = _useSharedPluginState.mediaState;
|
|
38
37
|
return innerComponent({
|
|
39
38
|
width: widthState,
|
|
40
|
-
|
|
39
|
+
mediaProvider: mediaState !== null && mediaState !== void 0 && mediaState.mediaProvider ? Promise.resolve(mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider) : undefined
|
|
41
40
|
});
|
|
42
41
|
};
|
|
43
42
|
function isMediaDecorationSpec(decoration) {
|
|
@@ -70,10 +69,10 @@ var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
|
|
|
70
69
|
})(_this.view.state, _this.view.dispatch);
|
|
71
70
|
}
|
|
72
71
|
});
|
|
73
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderMediaNodeWithState", function (
|
|
72
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderMediaNodeWithState", function (contextIdentifierProvider) {
|
|
74
73
|
return function (_ref2) {
|
|
75
74
|
var editorWidth = _ref2.width,
|
|
76
|
-
|
|
75
|
+
mediaProvider = _ref2.mediaProvider;
|
|
77
76
|
var getPos = _this.getPos;
|
|
78
77
|
var mediaOptions = _this.reactComponentProps.mediaOptions;
|
|
79
78
|
var attrs = _this.getAttrs();
|
|
@@ -109,7 +108,7 @@ var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
|
|
|
109
108
|
originalDimensions: originalDimensions,
|
|
110
109
|
maxDimensions: maxDimensions,
|
|
111
110
|
url: url,
|
|
112
|
-
mediaProvider:
|
|
111
|
+
mediaProvider: mediaProvider,
|
|
113
112
|
contextIdentifierProvider: contextIdentifierProvider,
|
|
114
113
|
mediaOptions: mediaOptions,
|
|
115
114
|
onExternalImageLoaded: _this.onExternalImageLoaded
|
|
@@ -117,12 +116,11 @@ var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
|
|
|
117
116
|
};
|
|
118
117
|
});
|
|
119
118
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderMediaNodeWithProviders", function (_ref3) {
|
|
120
|
-
var
|
|
121
|
-
contextIdentifierProvider = _ref3.contextIdentifierProvider;
|
|
119
|
+
var contextIdentifierProvider = _ref3.contextIdentifierProvider;
|
|
122
120
|
var pluginInjectionApi = _this.reactComponentProps.pluginInjectionApi;
|
|
123
121
|
return /*#__PURE__*/_react.default.createElement(MediaNodeWithProviders, {
|
|
124
122
|
pluginInjectionApi: pluginInjectionApi,
|
|
125
|
-
innerComponent: _this.renderMediaNodeWithState(
|
|
123
|
+
innerComponent: _this.renderMediaNodeWithState(contextIdentifierProvider)
|
|
126
124
|
});
|
|
127
125
|
});
|
|
128
126
|
return _this;
|
|
@@ -181,11 +179,8 @@ var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
|
|
|
181
179
|
key: "render",
|
|
182
180
|
value: function render() {
|
|
183
181
|
var providerFactory = this.reactComponentProps.providerFactory;
|
|
184
|
-
return /*#__PURE__*/_react.default.createElement(_providerFactory.WithProviders
|
|
185
|
-
|
|
186
|
-
// Remove `mediaProvider`
|
|
187
|
-
, {
|
|
188
|
-
providers: ['mediaProvider', 'contextIdentifierProvider'],
|
|
182
|
+
return /*#__PURE__*/_react.default.createElement(_providerFactory.WithProviders, {
|
|
183
|
+
providers: ['contextIdentifierProvider'],
|
|
189
184
|
providerFactory: providerFactory,
|
|
190
185
|
renderNode: this.renderMediaNodeWithProviders
|
|
191
186
|
});
|
|
@@ -539,7 +539,6 @@ var MediaSingleNode = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
539
539
|
(0, _defineProperty2.default)(MediaSingleNode, "displayName", 'MediaSingleNode');
|
|
540
540
|
var MediaSingleNodeWrapper = function MediaSingleNodeWrapper(_ref6) {
|
|
541
541
|
var pluginInjectionApi = _ref6.pluginInjectionApi,
|
|
542
|
-
mediaProvider = _ref6.mediaProvider,
|
|
543
542
|
contextIdentifierProvider = _ref6.contextIdentifierProvider,
|
|
544
543
|
node = _ref6.node,
|
|
545
544
|
getPos = _ref6.getPos,
|
|
@@ -557,7 +556,7 @@ var MediaSingleNodeWrapper = function MediaSingleNodeWrapper(_ref6) {
|
|
|
557
556
|
annotationState = _useSharedPluginState.annotationState,
|
|
558
557
|
editorDisabledState = _useSharedPluginState.editorDisabledState,
|
|
559
558
|
editorViewModeState = _useSharedPluginState.editorViewModeState;
|
|
560
|
-
var
|
|
559
|
+
var mediaProvider = (0, _react.useMemo)(function () {
|
|
561
560
|
return mediaState !== null && mediaState !== void 0 && mediaState.mediaProvider ? Promise.resolve(mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider) : undefined;
|
|
562
561
|
}, [mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider]);
|
|
563
562
|
return (0, _react2.jsx)(MediaSingleNode, {
|
|
@@ -565,7 +564,7 @@ var MediaSingleNodeWrapper = function MediaSingleNodeWrapper(_ref6) {
|
|
|
565
564
|
lineLength: widthState.lineLength,
|
|
566
565
|
node: node,
|
|
567
566
|
getPos: getPos,
|
|
568
|
-
mediaProvider:
|
|
567
|
+
mediaProvider: mediaProvider,
|
|
569
568
|
contextIdentifierProvider: contextIdentifierProvider,
|
|
570
569
|
mediaOptions: mediaOptions,
|
|
571
570
|
view: view,
|
|
@@ -706,18 +705,13 @@ var MediaSingleNodeView = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
706
705
|
|
|
707
706
|
// getPos is a boolean for marks, since this is a node we know it must be a function
|
|
708
707
|
var getPos = this.getPos;
|
|
709
|
-
return (0, _react2.jsx)(_providerFactory.WithProviders
|
|
710
|
-
|
|
711
|
-
// Remove `mediaProvider`
|
|
712
|
-
, {
|
|
713
|
-
providers: ['mediaProvider', 'contextIdentifierProvider'],
|
|
708
|
+
return (0, _react2.jsx)(_providerFactory.WithProviders, {
|
|
709
|
+
providers: ['contextIdentifierProvider'],
|
|
714
710
|
providerFactory: providerFactory,
|
|
715
711
|
renderNode: function renderNode(_ref7) {
|
|
716
|
-
var
|
|
717
|
-
contextIdentifierProvider = _ref7.contextIdentifierProvider;
|
|
712
|
+
var contextIdentifierProvider = _ref7.contextIdentifierProvider;
|
|
718
713
|
return (0, _react2.jsx)(MediaSingleNodeWrapper, {
|
|
719
714
|
pluginInjectionApi: pluginInjectionApi,
|
|
720
|
-
mediaProvider: mediaProvider,
|
|
721
715
|
contextIdentifierProvider: contextIdentifierProvider,
|
|
722
716
|
node: _this5.node,
|
|
723
717
|
getPos: getPos,
|
|
@@ -32,7 +32,6 @@ var _utils2 = require("@atlaskit/editor-prosemirror/utils");
|
|
|
32
32
|
var _view2 = require("@atlaskit/editor-prosemirror/view");
|
|
33
33
|
var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
|
|
34
34
|
var _mediaCommon = require("@atlaskit/media-common");
|
|
35
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
36
35
|
var _helpers = _interopRequireWildcard(require("../commands/helpers"));
|
|
37
36
|
var helpers = _helpers;
|
|
38
37
|
var _pickerFacade = _interopRequireDefault(require("../picker-facade"));
|
|
@@ -410,14 +409,8 @@ var MediaPluginStateImplementation = exports.MediaPluginStateImplementation = /*
|
|
|
410
409
|
this.waitForMediaUpload = options.waitForMediaUpload === undefined ? true : options.waitForMediaUpload;
|
|
411
410
|
var nodes = _state.schema.nodes;
|
|
412
411
|
(0, _assert.default)(nodes.media && (nodes.mediaGroup || nodes.mediaSingle), 'Editor: unable to init media plugin - media or mediaGroup/mediaSingle node absent in schema');
|
|
413
|
-
if (
|
|
414
|
-
|
|
415
|
-
this.setMediaProvider(mediaOptions === null || mediaOptions === void 0 ? void 0 : mediaOptions.provider);
|
|
416
|
-
}
|
|
417
|
-
} else {
|
|
418
|
-
options.providerFactory.subscribe('mediaProvider', function (_name, provider) {
|
|
419
|
-
return _this.setMediaProvider(provider);
|
|
420
|
-
});
|
|
412
|
+
if (mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.provider) {
|
|
413
|
+
this.setMediaProvider(mediaOptions === null || mediaOptions === void 0 ? void 0 : mediaOptions.provider);
|
|
421
414
|
}
|
|
422
415
|
if ((0, _mediaInline.mediaInlineImagesEnabled)((0, _mediaCommon.getMediaFeatureFlag)('mediaInline', (_this$mediaOptions2 = this.mediaOptions) === null || _this$mediaOptions2 === void 0 ? void 0 : _this$mediaOptions2.featureFlags), (_this$mediaOptions3 = this.mediaOptions) === null || _this$mediaOptions3 === void 0 ? void 0 : _this$mediaOptions3.allowMediaInlineImages)) {
|
|
423
416
|
this.allowInlineImages = true;
|
|
@@ -754,7 +747,7 @@ var createPlugin = exports.createPlugin = function createPlugin(_schema, options
|
|
|
754
747
|
pluginState.setIsResizing(isResizing);
|
|
755
748
|
nextPluginState = nextPluginState.clone();
|
|
756
749
|
}
|
|
757
|
-
if (mediaProvider
|
|
750
|
+
if (mediaProvider) {
|
|
758
751
|
pluginState.setMediaProvider(mediaProvider);
|
|
759
752
|
}
|
|
760
753
|
if (resizingWidth) {
|
|
@@ -1,30 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = PickerFacadeProvider;
|
|
9
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
18
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
-
var _react =
|
|
11
|
+
var _react = require("react");
|
|
20
12
|
var _reactDom = require("react-dom");
|
|
21
13
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
22
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
23
14
|
var _pickerFacade = _interopRequireDefault(require("../../picker-facade"));
|
|
24
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
25
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
26
|
-
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); }; }
|
|
27
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
28
15
|
var dummyMediaPickerObject = {
|
|
29
16
|
on: function on() {},
|
|
30
17
|
removeAllListeners: function removeAllListeners() {},
|
|
@@ -32,7 +19,7 @@ var dummyMediaPickerObject = {
|
|
|
32
19
|
destroy: function destroy() {},
|
|
33
20
|
setUploadParams: function setUploadParams() {}
|
|
34
21
|
};
|
|
35
|
-
function
|
|
22
|
+
function PickerFacadeProvider(_ref) {
|
|
36
23
|
var mediaState = _ref.mediaState,
|
|
37
24
|
analyticsName = _ref.analyticsName,
|
|
38
25
|
children = _ref.children;
|
|
@@ -130,137 +117,4 @@ function PickerFacadeProviderNew(_ref) {
|
|
|
130
117
|
config: config,
|
|
131
118
|
pickerFacadeInstance: pickerFacadeInstance
|
|
132
119
|
});
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
// eslint-disable-next-line @repo/internal/react/no-class-components
|
|
136
|
-
var PickerFacadeProviderOld = /*#__PURE__*/function (_React$Component) {
|
|
137
|
-
(0, _inherits2.default)(PickerFacadeProviderOld, _React$Component);
|
|
138
|
-
var _super = _createSuper(PickerFacadeProviderOld);
|
|
139
|
-
function PickerFacadeProviderOld() {
|
|
140
|
-
var _this;
|
|
141
|
-
(0, _classCallCheck2.default)(this, PickerFacadeProviderOld);
|
|
142
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
143
|
-
args[_key] = arguments[_key];
|
|
144
|
-
}
|
|
145
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
146
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {});
|
|
147
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleMediaProvider", /*#__PURE__*/function () {
|
|
148
|
-
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(_name, provider) {
|
|
149
|
-
var _this$props, mediaState, analyticsName, mediaProvider, resolvedMediaClientConfig, pickerFacadeConfig, pickerFacadeInstance, config;
|
|
150
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
151
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
152
|
-
case 0:
|
|
153
|
-
_this$props = _this.props, mediaState = _this$props.mediaState, analyticsName = _this$props.analyticsName;
|
|
154
|
-
_context2.next = 3;
|
|
155
|
-
return provider;
|
|
156
|
-
case 3:
|
|
157
|
-
mediaProvider = _context2.sent;
|
|
158
|
-
if (!(!mediaProvider || !mediaProvider.uploadParams)) {
|
|
159
|
-
_context2.next = 6;
|
|
160
|
-
break;
|
|
161
|
-
}
|
|
162
|
-
return _context2.abrupt("return");
|
|
163
|
-
case 6:
|
|
164
|
-
_context2.next = 8;
|
|
165
|
-
return mediaProvider.uploadMediaClientConfig;
|
|
166
|
-
case 8:
|
|
167
|
-
_context2.t0 = _context2.sent;
|
|
168
|
-
if (_context2.t0) {
|
|
169
|
-
_context2.next = 13;
|
|
170
|
-
break;
|
|
171
|
-
}
|
|
172
|
-
_context2.next = 12;
|
|
173
|
-
return mediaProvider.viewMediaClientConfig;
|
|
174
|
-
case 12:
|
|
175
|
-
_context2.t0 = _context2.sent;
|
|
176
|
-
case 13:
|
|
177
|
-
resolvedMediaClientConfig = _context2.t0;
|
|
178
|
-
if (resolvedMediaClientConfig) {
|
|
179
|
-
_context2.next = 16;
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
return _context2.abrupt("return");
|
|
183
|
-
case 16:
|
|
184
|
-
pickerFacadeConfig = {
|
|
185
|
-
mediaClientConfig: resolvedMediaClientConfig,
|
|
186
|
-
errorReporter: mediaState.options.errorReporter || new _utils.ErrorReporter(),
|
|
187
|
-
featureFlags: mediaState.mediaOptions && mediaState.mediaOptions.featureFlags
|
|
188
|
-
};
|
|
189
|
-
/**
|
|
190
|
-
* As the first MediaPicker component to be migrated to React, we want to scope the amount of changes logic changed/moved on Editor side.
|
|
191
|
-
* To achieve this we agreed on using `PickerFacade` 'customMediaPicker' type, since we only need this instance to reuse the logic when we subscribe
|
|
192
|
-
* for all the different events in MediaPicker (onPreviewUpdate, onError, onProcessing, etc).
|
|
193
|
-
* The `dummyMediaPickerObject` provided here serves as a workaround for the old picker api that `PickerFacade` will try to use.
|
|
194
|
-
* But we don't want this to do anything since it's all part of the new React component (`Clipboard` component in this case).
|
|
195
|
-
* Eventually PickerFacade will be removed and replaced with a new abstraction explained here https://product-fabric.atlassian.net/browse/MS-1937
|
|
196
|
-
*/
|
|
197
|
-
_context2.next = 19;
|
|
198
|
-
return new _pickerFacade.default('customMediaPicker', pickerFacadeConfig, dummyMediaPickerObject, analyticsName).init();
|
|
199
|
-
case 19:
|
|
200
|
-
pickerFacadeInstance = _context2.sent;
|
|
201
|
-
/**
|
|
202
|
-
* Based on the `initPickers` method in `MediaPluginState` we need these 2 `onNewMedia` subscriptions.
|
|
203
|
-
* First one in order to trigger the entire process of uploading a file for when `onPreviewUpdate` is called
|
|
204
|
-
* Second one in order to track all analytics as before.
|
|
205
|
-
*/
|
|
206
|
-
pickerFacadeInstance.onNewMedia(mediaState.insertFile);
|
|
207
|
-
pickerFacadeInstance.setUploadParams(mediaProvider.uploadParams);
|
|
208
|
-
config = {
|
|
209
|
-
uploadParams: mediaProvider.uploadParams
|
|
210
|
-
};
|
|
211
|
-
(0, _reactDom.flushSync)(function () {
|
|
212
|
-
return _this.setState({
|
|
213
|
-
pickerFacadeInstance: pickerFacadeInstance,
|
|
214
|
-
config: config,
|
|
215
|
-
mediaClientConfig: resolvedMediaClientConfig
|
|
216
|
-
});
|
|
217
|
-
});
|
|
218
|
-
case 24:
|
|
219
|
-
case "end":
|
|
220
|
-
return _context2.stop();
|
|
221
|
-
}
|
|
222
|
-
}, _callee2);
|
|
223
|
-
}));
|
|
224
|
-
return function (_x3, _x4) {
|
|
225
|
-
return _ref3.apply(this, arguments);
|
|
226
|
-
};
|
|
227
|
-
}());
|
|
228
|
-
return _this;
|
|
229
|
-
}
|
|
230
|
-
(0, _createClass2.default)(PickerFacadeProviderOld, [{
|
|
231
|
-
key: "componentDidMount",
|
|
232
|
-
value: function componentDidMount() {
|
|
233
|
-
var mediaProvider = this.props.mediaState.mediaProvider;
|
|
234
|
-
if (mediaProvider && (0, _platformFeatureFlags.fg)('platform_editor_media_provider_from_plugin_config')) {
|
|
235
|
-
this.handleMediaProvider('mediaProvider', Promise.resolve(mediaProvider));
|
|
236
|
-
} else {
|
|
237
|
-
this.props.mediaState.options.providerFactory.subscribe('mediaProvider', this.handleMediaProvider);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
}, {
|
|
241
|
-
key: "componentWillUnmount",
|
|
242
|
-
value: function componentWillUnmount() {
|
|
243
|
-
this.props.mediaState.options.providerFactory.unsubscribe('mediaProvider', this.handleMediaProvider);
|
|
244
|
-
}
|
|
245
|
-
}, {
|
|
246
|
-
key: "render",
|
|
247
|
-
value: function render() {
|
|
248
|
-
var _this$state = this.state,
|
|
249
|
-
mediaClientConfig = _this$state.mediaClientConfig,
|
|
250
|
-
config = _this$state.config,
|
|
251
|
-
pickerFacadeInstance = _this$state.pickerFacadeInstance;
|
|
252
|
-
if (!mediaClientConfig || !config || !pickerFacadeInstance) {
|
|
253
|
-
return null;
|
|
254
|
-
}
|
|
255
|
-
return this.props.children({
|
|
256
|
-
mediaClientConfig: mediaClientConfig,
|
|
257
|
-
config: config,
|
|
258
|
-
pickerFacadeInstance: pickerFacadeInstance
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
}]);
|
|
262
|
-
return PickerFacadeProviderOld;
|
|
263
|
-
}(_react.default.Component);
|
|
264
|
-
function PickerFacadeProvider(props) {
|
|
265
|
-
return (0, _platformFeatureFlags.fg)('platform_editor_media_provider_from_plugin_config') ? /*#__PURE__*/_react.default.createElement(PickerFacadeProviderNew, props) : /*#__PURE__*/_react.default.createElement(PickerFacadeProviderOld, props);
|
|
266
120
|
}
|
|
@@ -9,7 +9,6 @@ import { isNodeSelectedOrInRange, SelectedState, setNodeSelection } from '@atlas
|
|
|
9
9
|
import EditorCloseIcon from '@atlaskit/icon/glyph/editor/close';
|
|
10
10
|
import { getMediaFeatureFlag } from '@atlaskit/media-common';
|
|
11
11
|
import { Filmstrip } from '@atlaskit/media-filmstrip';
|
|
12
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
13
12
|
import { useMediaProvider } from '../hooks/useMediaProvider';
|
|
14
13
|
import { stateKey as mediaStateKey } from '../pm-plugins/plugin-key';
|
|
15
14
|
import { MediaNodeUpdater } from './mediaNodeUpdater';
|
|
@@ -276,14 +275,10 @@ class MediaGroupNodeView extends ReactNodeView {
|
|
|
276
275
|
pluginInjectionApi
|
|
277
276
|
} = props;
|
|
278
277
|
const getPos = this.getPos;
|
|
279
|
-
return /*#__PURE__*/React.createElement(WithProviders
|
|
280
|
-
|
|
281
|
-
// Remove `mediaProvider`
|
|
282
|
-
, {
|
|
283
|
-
providers: ['mediaProvider', 'contextIdentifierProvider'],
|
|
278
|
+
return /*#__PURE__*/React.createElement(WithProviders, {
|
|
279
|
+
providers: ['contextIdentifierProvider'],
|
|
284
280
|
providerFactory: providerFactory,
|
|
285
281
|
renderNode: ({
|
|
286
|
-
mediaProvider,
|
|
287
282
|
contextIdentifierProvider
|
|
288
283
|
}) => {
|
|
289
284
|
const renderFn = ({
|
|
@@ -291,27 +286,7 @@ class MediaGroupNodeView extends ReactNodeView {
|
|
|
291
286
|
editorViewModePlugin,
|
|
292
287
|
mediaProvider: mediaProviderFromState
|
|
293
288
|
}) => {
|
|
294
|
-
|
|
295
|
-
const newMediaProvider = mediaProviderFromState ? Promise.resolve(mediaProviderFromState) : undefined;
|
|
296
|
-
if (!newMediaProvider) {
|
|
297
|
-
return null;
|
|
298
|
-
}
|
|
299
|
-
return /*#__PURE__*/React.createElement(IntlMediaGroup, {
|
|
300
|
-
node: this.node,
|
|
301
|
-
getPos: getPos,
|
|
302
|
-
view: this.view,
|
|
303
|
-
forwardRef: forwardRef,
|
|
304
|
-
disabled: (editorDisabledPlugin || {}).editorDisabled,
|
|
305
|
-
allowLazyLoading: mediaOptions.allowLazyLoading,
|
|
306
|
-
mediaProvider: newMediaProvider,
|
|
307
|
-
contextIdentifierProvider: contextIdentifierProvider,
|
|
308
|
-
isCopyPasteEnabled: mediaOptions.isCopyPasteEnabled,
|
|
309
|
-
anchorPos: this.view.state.selection.$anchor.pos,
|
|
310
|
-
headPos: this.view.state.selection.$head.pos,
|
|
311
|
-
mediaOptions: mediaOptions,
|
|
312
|
-
editorViewMode: (editorViewModePlugin === null || editorViewModePlugin === void 0 ? void 0 : editorViewModePlugin.mode) === 'view'
|
|
313
|
-
});
|
|
314
|
-
}
|
|
289
|
+
const mediaProvider = mediaProviderFromState ? Promise.resolve(mediaProviderFromState) : undefined;
|
|
315
290
|
if (!mediaProvider) {
|
|
316
291
|
return null;
|
|
317
292
|
}
|
|
@@ -13,7 +13,6 @@ import { SelectionBasedNodeView } from '@atlaskit/editor-common/selection-based-
|
|
|
13
13
|
import { MediaInlineCard } from '@atlaskit/media-card';
|
|
14
14
|
import { getMediaClient } from '@atlaskit/media-client-react';
|
|
15
15
|
import { MediaInlineCardLoadingView } from '@atlaskit/media-ui';
|
|
16
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
17
16
|
import { MediaViewerContainer } from '../ui/MediaViewer/MediaViewerContainer';
|
|
18
17
|
import { isImage } from '../utils/is-type';
|
|
19
18
|
import { MediaNodeUpdater } from './mediaNodeUpdater';
|
|
@@ -151,7 +150,6 @@ export const MediaInline = props => {
|
|
|
151
150
|
};
|
|
152
151
|
const MediaInlineSharedState = ({
|
|
153
152
|
identifier,
|
|
154
|
-
mediaProvider,
|
|
155
153
|
node,
|
|
156
154
|
isSelected,
|
|
157
155
|
getPos,
|
|
@@ -164,28 +162,12 @@ const MediaInlineSharedState = ({
|
|
|
164
162
|
mediaState
|
|
165
163
|
} = useSharedPluginState(api, ['editorViewMode', 'media']);
|
|
166
164
|
const newMediaProvider = useMemo(() => mediaState !== null && mediaState !== void 0 && mediaState.mediaProvider ? Promise.resolve(mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider) : undefined, [mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider]);
|
|
167
|
-
if (
|
|
168
|
-
if (!mediaState || !newMediaProvider) {
|
|
169
|
-
return null;
|
|
170
|
-
}
|
|
171
|
-
return jsx(MediaInline, {
|
|
172
|
-
identifier: identifier,
|
|
173
|
-
mediaProvider: newMediaProvider,
|
|
174
|
-
mediaPluginState: mediaState,
|
|
175
|
-
node: node,
|
|
176
|
-
isSelected: isSelected,
|
|
177
|
-
view: view,
|
|
178
|
-
getPos: getPos,
|
|
179
|
-
contextIdentifierProvider: contextIdentifierProvider,
|
|
180
|
-
editorViewMode: (editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode) === 'view'
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
if (!mediaState || !mediaProvider) {
|
|
165
|
+
if (!mediaState || !newMediaProvider) {
|
|
184
166
|
return null;
|
|
185
167
|
}
|
|
186
168
|
return jsx(MediaInline, {
|
|
187
169
|
identifier: identifier,
|
|
188
|
-
mediaProvider:
|
|
170
|
+
mediaProvider: newMediaProvider,
|
|
189
171
|
mediaPluginState: mediaState,
|
|
190
172
|
node: node,
|
|
191
173
|
isSelected: isSelected,
|
|
@@ -219,22 +201,15 @@ export class MediaInlineNodeView extends SelectionBasedNodeView {
|
|
|
219
201
|
view
|
|
220
202
|
} = this;
|
|
221
203
|
const getPos = this.getPos;
|
|
222
|
-
return jsx(WithProviders
|
|
223
|
-
|
|
224
|
-
// Remove `mediaProvider`
|
|
225
|
-
, {
|
|
226
|
-
providers: ['mediaProvider', 'contextIdentifierProvider'],
|
|
204
|
+
return jsx(WithProviders, {
|
|
205
|
+
providers: ['contextIdentifierProvider'],
|
|
227
206
|
providerFactory: providerFactory,
|
|
228
207
|
renderNode: ({
|
|
229
208
|
mediaProvider,
|
|
230
209
|
contextIdentifierProvider
|
|
231
210
|
}) => {
|
|
232
|
-
if (!mediaProvider && !fg('platform_editor_media_provider_from_plugin_config')) {
|
|
233
|
-
return null;
|
|
234
|
-
}
|
|
235
211
|
return jsx(MediaInlineSharedState, {
|
|
236
212
|
identifier: this.node.attrs.id,
|
|
237
|
-
mediaProvider: mediaProvider,
|
|
238
213
|
node: this.node,
|
|
239
214
|
isSelected: this.nodeInsideSelection(),
|
|
240
215
|
view: view,
|