@atlaskit/editor-plugin-media 1.33.0 → 1.33.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/cjs/nodeviews/mediaSingle.js +15 -1
- package/dist/cjs/toolbar/commands.js +2 -2
- package/dist/cjs/toolbar/mediaInline.js +4 -2
- package/dist/cjs/utils/media-single.js +2 -2
- package/dist/es2019/nodeviews/mediaSingle.js +15 -0
- package/dist/es2019/toolbar/commands.js +2 -2
- package/dist/es2019/toolbar/mediaInline.js +4 -2
- package/dist/es2019/utils/media-single.js +2 -2
- package/dist/esm/nodeviews/mediaSingle.js +15 -1
- package/dist/esm/toolbar/commands.js +2 -2
- package/dist/esm/toolbar/mediaInline.js +4 -2
- package/dist/esm/utils/media-single.js +2 -2
- package/dist/types/toolbar/commands.d.ts +1 -1
- package/dist/types/utils/media-single.d.ts +1 -1
- package/dist/types-ts4.5/toolbar/commands.d.ts +1 -1
- package/dist/types-ts4.5/utils/media-single.d.ts +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-media
|
|
2
2
|
|
|
3
|
+
## 1.33.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#145874](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/145874)
|
|
8
|
+
[`6299dbbe3a0b5`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/6299dbbe3a0b5) -
|
|
9
|
+
ED-25038: Bug where media inline inside a block quote was not deleted when transformed to a media
|
|
10
|
+
single via the floating toolbar. Also caused the new media single to appear below the block quote.
|
|
11
|
+
|
|
12
|
+
## 1.33.1
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- [#145306](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/145306)
|
|
17
|
+
[`ca98d98a06d25`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/ca98d98a06d25) -
|
|
18
|
+
ED-25128 Add exposure point for when external media is rendered platform_editor_add_media_from_url
|
|
19
|
+
|
|
3
20
|
## 1.33.0
|
|
4
21
|
|
|
5
22
|
### Minor Changes
|
|
@@ -301,6 +301,7 @@ var MediaSingleNode = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
301
301
|
key: "componentDidMount",
|
|
302
302
|
value: function () {
|
|
303
303
|
var _componentDidMount = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
304
|
+
var _this$props$node$firs2;
|
|
304
305
|
var contextIdentifierProvider;
|
|
305
306
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
306
307
|
while (1) switch (_context3.prev = _context3.next) {
|
|
@@ -319,7 +320,20 @@ var MediaSingleNode = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
319
320
|
contextIdentifierProvider: _context3.t1
|
|
320
321
|
};
|
|
321
322
|
_context3.t0.setState.call(_context3.t0, _context3.t2);
|
|
322
|
-
|
|
323
|
+
// No-op but logging an exposure when an external image is rendered
|
|
324
|
+
// Remove this block when cleaning up platform_editor_add_media_from_url
|
|
325
|
+
if (((_this$props$node$firs2 = this.props.node.firstChild) === null || _this$props$node$firs2 === void 0 ? void 0 : _this$props$node$firs2.attrs.type) === 'external') {
|
|
326
|
+
if ((0, _experiments.editorExperiment)('add-media-from-url', true)) {
|
|
327
|
+
(0, _experiments.editorExperiment)('add-media-from-url', true, {
|
|
328
|
+
exposure: true
|
|
329
|
+
});
|
|
330
|
+
} else {
|
|
331
|
+
(0, _experiments.editorExperiment)('add-media-from-url', true, {
|
|
332
|
+
exposure: false
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
case 11:
|
|
323
337
|
case "end":
|
|
324
338
|
return _context3.stop();
|
|
325
339
|
}
|
|
@@ -130,7 +130,7 @@ var changeMediaCardToInline = exports.changeMediaCardToInline = function changeM
|
|
|
130
130
|
return true;
|
|
131
131
|
};
|
|
132
132
|
};
|
|
133
|
-
var changeMediaInlineToMediaSingle = exports.changeMediaInlineToMediaSingle = function changeMediaInlineToMediaSingle(editorAnalyticsAPI, widthPluginState) {
|
|
133
|
+
var changeMediaInlineToMediaSingle = exports.changeMediaInlineToMediaSingle = function changeMediaInlineToMediaSingle(editorAnalyticsAPI, widthPluginState, isNestingInQuoteSupported) {
|
|
134
134
|
return function (state, dispatch, view) {
|
|
135
135
|
var mediaInline = state.schema.nodes.mediaInline;
|
|
136
136
|
var selectedNode = state.selection instanceof _state.NodeSelection && state.selection.node.type === mediaInline && state.selection.node;
|
|
@@ -138,7 +138,7 @@ var changeMediaInlineToMediaSingle = exports.changeMediaInlineToMediaSingle = fu
|
|
|
138
138
|
return false;
|
|
139
139
|
}
|
|
140
140
|
if (view) {
|
|
141
|
-
return (0, _mediaSingle2.changeFromMediaInlineToMediaSingleNode)(view, selectedNode, widthPluginState, editorAnalyticsAPI);
|
|
141
|
+
return (0, _mediaSingle2.changeFromMediaInlineToMediaSingleNode)(view, selectedNode, widthPluginState, editorAnalyticsAPI, isNestingInQuoteSupported);
|
|
142
142
|
}
|
|
143
143
|
return true;
|
|
144
144
|
};
|
|
@@ -14,6 +14,7 @@ var _state2 = require("@atlaskit/editor-prosemirror/state");
|
|
|
14
14
|
var _download = _interopRequireDefault(require("@atlaskit/icon/glyph/download"));
|
|
15
15
|
var _remove = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/remove"));
|
|
16
16
|
var _mediaUi = require("@atlaskit/media-ui");
|
|
17
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
17
18
|
var _linking = require("../commands/linking");
|
|
18
19
|
var _linking2 = require("../pm-plugins/linking");
|
|
19
20
|
var _ImageBorder = _interopRequireDefault(require("../ui/ImageBorder"));
|
|
@@ -115,13 +116,14 @@ var generateMediaInlineFloatingToolbar = exports.generateMediaInlineFloatingTool
|
|
|
115
116
|
return items;
|
|
116
117
|
};
|
|
117
118
|
var getMediaInlineImageToolbar = function getMediaInlineImageToolbar(state, intl, mediaPluginState, hoverDecoration, editorAnalyticsAPI, pluginInjectionApi, mediaLinkingState) {
|
|
118
|
-
var _pluginInjectionApi$w;
|
|
119
|
+
var _pluginInjectionApi$w, _pluginInjectionApi$f2;
|
|
119
120
|
var options = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : {};
|
|
120
121
|
var mediaInline = state.schema.nodes.mediaInline;
|
|
121
122
|
var mediaInlineImageTitle = intl.formatMessage(_messages.mediaAndEmbedToolbarMessages.changeToMediaInlineImage);
|
|
122
123
|
var mediaSingleTitle = intl.formatMessage(_messages.mediaAndEmbedToolbarMessages.changeToMediaSingle);
|
|
123
124
|
var widthPluginState = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$w = pluginInjectionApi.width) === null || _pluginInjectionApi$w === void 0 ? void 0 : _pluginInjectionApi$w.sharedState.currentState();
|
|
124
125
|
var inlineImageItems = [];
|
|
126
|
+
var isNestingInQuoteSupported = (pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$f2 = pluginInjectionApi.featureFlags) === null || _pluginInjectionApi$f2 === void 0 || (_pluginInjectionApi$f2 = _pluginInjectionApi$f2.sharedState.currentState()) === null || _pluginInjectionApi$f2 === void 0 ? void 0 : _pluginInjectionApi$f2.nestMediaAndCodeblockInQuote) || (0, _platformFeatureFlags.fg)('editor_nest_media_and_codeblock_in_quotes_jira');
|
|
125
127
|
if ((0, _imageBorder.shouldShowImageBorder)(state)) {
|
|
126
128
|
inlineImageItems.push({
|
|
127
129
|
type: 'custom',
|
|
@@ -175,7 +177,7 @@ var getMediaInlineImageToolbar = function getMediaInlineImageToolbar(state, intl
|
|
|
175
177
|
label: mediaSingleTitle
|
|
176
178
|
});
|
|
177
179
|
},
|
|
178
|
-
onClick: (0, _commands.changeMediaInlineToMediaSingle)(editorAnalyticsAPI, widthPluginState)
|
|
180
|
+
onClick: (0, _commands.changeMediaInlineToMediaSingle)(editorAnalyticsAPI, widthPluginState, isNestingInQuoteSupported)
|
|
179
181
|
}, {
|
|
180
182
|
type: 'separator'
|
|
181
183
|
});
|
|
@@ -171,7 +171,7 @@ var insertMediaSingleNode = exports.insertMediaSingleNode = function insertMedia
|
|
|
171
171
|
}
|
|
172
172
|
return true;
|
|
173
173
|
};
|
|
174
|
-
var changeFromMediaInlineToMediaSingleNode = exports.changeFromMediaInlineToMediaSingleNode = function changeFromMediaInlineToMediaSingleNode(view, fromNode, widthPluginState, editorAnalyticsAPI) {
|
|
174
|
+
var changeFromMediaInlineToMediaSingleNode = exports.changeFromMediaInlineToMediaSingleNode = function changeFromMediaInlineToMediaSingleNode(view, fromNode, widthPluginState, editorAnalyticsAPI, isNestingInQuoteSupported) {
|
|
175
175
|
var _state$selection$$fro2;
|
|
176
176
|
var state = view.state,
|
|
177
177
|
dispatch = view.dispatch;
|
|
@@ -198,7 +198,7 @@ var changeFromMediaInlineToMediaSingleNode = exports.changeFromMediaInlineToMedi
|
|
|
198
198
|
fileExtension: fileExtension,
|
|
199
199
|
newType: _analytics.ACTION_SUBJECT_ID.MEDIA_SINGLE,
|
|
200
200
|
previousType: _analytics.ACTION_SUBJECT_ID.MEDIA_INLINE
|
|
201
|
-
}, editorAnalyticsAPI)(state, dispatch);
|
|
201
|
+
}, editorAnalyticsAPI, isNestingInQuoteSupported)(state, dispatch);
|
|
202
202
|
} else {
|
|
203
203
|
var nodePos = state.tr.doc.resolve(state.selection.from).end();
|
|
204
204
|
var tr = null;
|
|
@@ -226,6 +226,7 @@ export default class MediaSingleNode extends Component {
|
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
async componentDidMount() {
|
|
229
|
+
var _this$props$node$firs2;
|
|
229
230
|
const {
|
|
230
231
|
contextIdentifierProvider
|
|
231
232
|
} = this.props;
|
|
@@ -234,6 +235,20 @@ export default class MediaSingleNode extends Component {
|
|
|
234
235
|
this.setState({
|
|
235
236
|
contextIdentifierProvider: await contextIdentifierProvider
|
|
236
237
|
});
|
|
238
|
+
|
|
239
|
+
// No-op but logging an exposure when an external image is rendered
|
|
240
|
+
// Remove this block when cleaning up platform_editor_add_media_from_url
|
|
241
|
+
if (((_this$props$node$firs2 = this.props.node.firstChild) === null || _this$props$node$firs2 === void 0 ? void 0 : _this$props$node$firs2.attrs.type) === 'external') {
|
|
242
|
+
if (editorExperiment('add-media-from-url', true)) {
|
|
243
|
+
editorExperiment('add-media-from-url', true, {
|
|
244
|
+
exposure: true
|
|
245
|
+
});
|
|
246
|
+
} else {
|
|
247
|
+
editorExperiment('add-media-from-url', true, {
|
|
248
|
+
exposure: false
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}
|
|
237
252
|
}
|
|
238
253
|
render() {
|
|
239
254
|
var _mediaOptions$getEdit, _pluginInjectionApi$m, _pluginInjectionApi$m2, _node$firstChild, _mediaOptions$getEdit2, _mediaOptions$getEdit3;
|
|
@@ -120,7 +120,7 @@ export const changeMediaCardToInline = (editorAnalyticsAPI, forceFocusSelector)
|
|
|
120
120
|
}
|
|
121
121
|
return true;
|
|
122
122
|
};
|
|
123
|
-
export const changeMediaInlineToMediaSingle = (editorAnalyticsAPI, widthPluginState) => (state, dispatch, view) => {
|
|
123
|
+
export const changeMediaInlineToMediaSingle = (editorAnalyticsAPI, widthPluginState, isNestingInQuoteSupported) => (state, dispatch, view) => {
|
|
124
124
|
const {
|
|
125
125
|
mediaInline
|
|
126
126
|
} = state.schema.nodes;
|
|
@@ -129,7 +129,7 @@ export const changeMediaInlineToMediaSingle = (editorAnalyticsAPI, widthPluginSt
|
|
|
129
129
|
return false;
|
|
130
130
|
}
|
|
131
131
|
if (view) {
|
|
132
|
-
return changeFromMediaInlineToMediaSingleNode(view, selectedNode, widthPluginState, editorAnalyticsAPI);
|
|
132
|
+
return changeFromMediaInlineToMediaSingleNode(view, selectedNode, widthPluginState, editorAnalyticsAPI, isNestingInQuoteSupported);
|
|
133
133
|
}
|
|
134
134
|
return true;
|
|
135
135
|
};
|
|
@@ -6,6 +6,7 @@ import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
|
6
6
|
import DownloadIcon from '@atlaskit/icon/glyph/download';
|
|
7
7
|
import RemoveIcon from '@atlaskit/icon/glyph/editor/remove';
|
|
8
8
|
import { messages } from '@atlaskit/media-ui';
|
|
9
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
9
10
|
import { showLinkingToolbar } from '../commands/linking';
|
|
10
11
|
import { getMediaLinkingState } from '../pm-plugins/linking';
|
|
11
12
|
import ImageBorderItem from '../ui/ImageBorder';
|
|
@@ -104,7 +105,7 @@ export const generateMediaInlineFloatingToolbar = (state, intl, mediaPluginState
|
|
|
104
105
|
return items;
|
|
105
106
|
};
|
|
106
107
|
const getMediaInlineImageToolbar = (state, intl, mediaPluginState, hoverDecoration, editorAnalyticsAPI, pluginInjectionApi, mediaLinkingState, options = {}) => {
|
|
107
|
-
var _pluginInjectionApi$w;
|
|
108
|
+
var _pluginInjectionApi$w, _pluginInjectionApi$f3, _pluginInjectionApi$f4;
|
|
108
109
|
const {
|
|
109
110
|
mediaInline
|
|
110
111
|
} = state.schema.nodes;
|
|
@@ -112,6 +113,7 @@ const getMediaInlineImageToolbar = (state, intl, mediaPluginState, hoverDecorati
|
|
|
112
113
|
const mediaSingleTitle = intl.formatMessage(mediaAndEmbedToolbarMessages.changeToMediaSingle);
|
|
113
114
|
const widthPluginState = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$w = pluginInjectionApi.width) === null || _pluginInjectionApi$w === void 0 ? void 0 : _pluginInjectionApi$w.sharedState.currentState();
|
|
114
115
|
const inlineImageItems = [];
|
|
116
|
+
const isNestingInQuoteSupported = (pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$f3 = pluginInjectionApi.featureFlags) === null || _pluginInjectionApi$f3 === void 0 ? void 0 : (_pluginInjectionApi$f4 = _pluginInjectionApi$f3.sharedState.currentState()) === null || _pluginInjectionApi$f4 === void 0 ? void 0 : _pluginInjectionApi$f4.nestMediaAndCodeblockInQuote) || fg('editor_nest_media_and_codeblock_in_quotes_jira');
|
|
115
117
|
if (shouldShowImageBorder(state)) {
|
|
116
118
|
inlineImageItems.push({
|
|
117
119
|
type: 'custom',
|
|
@@ -163,7 +165,7 @@ const getMediaInlineImageToolbar = (state, intl, mediaPluginState, hoverDecorati
|
|
|
163
165
|
size: "medium",
|
|
164
166
|
label: mediaSingleTitle
|
|
165
167
|
}),
|
|
166
|
-
onClick: changeMediaInlineToMediaSingle(editorAnalyticsAPI, widthPluginState)
|
|
168
|
+
onClick: changeMediaInlineToMediaSingle(editorAnalyticsAPI, widthPluginState, isNestingInQuoteSupported)
|
|
167
169
|
}, {
|
|
168
170
|
type: 'separator'
|
|
169
171
|
});
|
|
@@ -163,7 +163,7 @@ export const insertMediaSingleNode = (view, mediaState, inputMethod, collection,
|
|
|
163
163
|
}
|
|
164
164
|
return true;
|
|
165
165
|
};
|
|
166
|
-
export const changeFromMediaInlineToMediaSingleNode = (view, fromNode, widthPluginState, editorAnalyticsAPI) => {
|
|
166
|
+
export const changeFromMediaInlineToMediaSingleNode = (view, fromNode, widthPluginState, editorAnalyticsAPI, isNestingInQuoteSupported) => {
|
|
167
167
|
var _state$selection$$fro2;
|
|
168
168
|
const {
|
|
169
169
|
state,
|
|
@@ -194,7 +194,7 @@ export const changeFromMediaInlineToMediaSingleNode = (view, fromNode, widthPlug
|
|
|
194
194
|
fileExtension,
|
|
195
195
|
newType: ACTION_SUBJECT_ID.MEDIA_SINGLE,
|
|
196
196
|
previousType: ACTION_SUBJECT_ID.MEDIA_INLINE
|
|
197
|
-
}, editorAnalyticsAPI)(state, dispatch);
|
|
197
|
+
}, editorAnalyticsAPI, isNestingInQuoteSupported)(state, dispatch);
|
|
198
198
|
} else {
|
|
199
199
|
const nodePos = state.tr.doc.resolve(state.selection.from).end();
|
|
200
200
|
let tr = null;
|
|
@@ -295,6 +295,7 @@ var MediaSingleNode = /*#__PURE__*/function (_Component) {
|
|
|
295
295
|
key: "componentDidMount",
|
|
296
296
|
value: function () {
|
|
297
297
|
var _componentDidMount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
298
|
+
var _this$props$node$firs2;
|
|
298
299
|
var contextIdentifierProvider;
|
|
299
300
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
300
301
|
while (1) switch (_context3.prev = _context3.next) {
|
|
@@ -313,7 +314,20 @@ var MediaSingleNode = /*#__PURE__*/function (_Component) {
|
|
|
313
314
|
contextIdentifierProvider: _context3.t1
|
|
314
315
|
};
|
|
315
316
|
_context3.t0.setState.call(_context3.t0, _context3.t2);
|
|
316
|
-
|
|
317
|
+
// No-op but logging an exposure when an external image is rendered
|
|
318
|
+
// Remove this block when cleaning up platform_editor_add_media_from_url
|
|
319
|
+
if (((_this$props$node$firs2 = this.props.node.firstChild) === null || _this$props$node$firs2 === void 0 ? void 0 : _this$props$node$firs2.attrs.type) === 'external') {
|
|
320
|
+
if (editorExperiment('add-media-from-url', true)) {
|
|
321
|
+
editorExperiment('add-media-from-url', true, {
|
|
322
|
+
exposure: true
|
|
323
|
+
});
|
|
324
|
+
} else {
|
|
325
|
+
editorExperiment('add-media-from-url', true, {
|
|
326
|
+
exposure: false
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
case 11:
|
|
317
331
|
case "end":
|
|
318
332
|
return _context3.stop();
|
|
319
333
|
}
|
|
@@ -123,7 +123,7 @@ export var changeMediaCardToInline = function changeMediaCardToInline(editorAnal
|
|
|
123
123
|
return true;
|
|
124
124
|
};
|
|
125
125
|
};
|
|
126
|
-
export var changeMediaInlineToMediaSingle = function changeMediaInlineToMediaSingle(editorAnalyticsAPI, widthPluginState) {
|
|
126
|
+
export var changeMediaInlineToMediaSingle = function changeMediaInlineToMediaSingle(editorAnalyticsAPI, widthPluginState, isNestingInQuoteSupported) {
|
|
127
127
|
return function (state, dispatch, view) {
|
|
128
128
|
var mediaInline = state.schema.nodes.mediaInline;
|
|
129
129
|
var selectedNode = state.selection instanceof NodeSelection && state.selection.node.type === mediaInline && state.selection.node;
|
|
@@ -131,7 +131,7 @@ export var changeMediaInlineToMediaSingle = function changeMediaInlineToMediaSin
|
|
|
131
131
|
return false;
|
|
132
132
|
}
|
|
133
133
|
if (view) {
|
|
134
|
-
return changeFromMediaInlineToMediaSingleNode(view, selectedNode, widthPluginState, editorAnalyticsAPI);
|
|
134
|
+
return changeFromMediaInlineToMediaSingleNode(view, selectedNode, widthPluginState, editorAnalyticsAPI, isNestingInQuoteSupported);
|
|
135
135
|
}
|
|
136
136
|
return true;
|
|
137
137
|
};
|
|
@@ -6,6 +6,7 @@ import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
|
6
6
|
import DownloadIcon from '@atlaskit/icon/glyph/download';
|
|
7
7
|
import RemoveIcon from '@atlaskit/icon/glyph/editor/remove';
|
|
8
8
|
import { messages } from '@atlaskit/media-ui';
|
|
9
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
9
10
|
import { showLinkingToolbar } from '../commands/linking';
|
|
10
11
|
import { getMediaLinkingState } from '../pm-plugins/linking';
|
|
11
12
|
import ImageBorderItem from '../ui/ImageBorder';
|
|
@@ -105,13 +106,14 @@ export var generateMediaInlineFloatingToolbar = function generateMediaInlineFloa
|
|
|
105
106
|
return items;
|
|
106
107
|
};
|
|
107
108
|
var getMediaInlineImageToolbar = function getMediaInlineImageToolbar(state, intl, mediaPluginState, hoverDecoration, editorAnalyticsAPI, pluginInjectionApi, mediaLinkingState) {
|
|
108
|
-
var _pluginInjectionApi$w;
|
|
109
|
+
var _pluginInjectionApi$w, _pluginInjectionApi$f2;
|
|
109
110
|
var options = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : {};
|
|
110
111
|
var mediaInline = state.schema.nodes.mediaInline;
|
|
111
112
|
var mediaInlineImageTitle = intl.formatMessage(mediaAndEmbedToolbarMessages.changeToMediaInlineImage);
|
|
112
113
|
var mediaSingleTitle = intl.formatMessage(mediaAndEmbedToolbarMessages.changeToMediaSingle);
|
|
113
114
|
var widthPluginState = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$w = pluginInjectionApi.width) === null || _pluginInjectionApi$w === void 0 ? void 0 : _pluginInjectionApi$w.sharedState.currentState();
|
|
114
115
|
var inlineImageItems = [];
|
|
116
|
+
var isNestingInQuoteSupported = (pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$f2 = pluginInjectionApi.featureFlags) === null || _pluginInjectionApi$f2 === void 0 || (_pluginInjectionApi$f2 = _pluginInjectionApi$f2.sharedState.currentState()) === null || _pluginInjectionApi$f2 === void 0 ? void 0 : _pluginInjectionApi$f2.nestMediaAndCodeblockInQuote) || fg('editor_nest_media_and_codeblock_in_quotes_jira');
|
|
115
117
|
if (shouldShowImageBorder(state)) {
|
|
116
118
|
inlineImageItems.push({
|
|
117
119
|
type: 'custom',
|
|
@@ -165,7 +167,7 @@ var getMediaInlineImageToolbar = function getMediaInlineImageToolbar(state, intl
|
|
|
165
167
|
label: mediaSingleTitle
|
|
166
168
|
});
|
|
167
169
|
},
|
|
168
|
-
onClick: changeMediaInlineToMediaSingle(editorAnalyticsAPI, widthPluginState)
|
|
170
|
+
onClick: changeMediaInlineToMediaSingle(editorAnalyticsAPI, widthPluginState, isNestingInQuoteSupported)
|
|
169
171
|
}, {
|
|
170
172
|
type: 'separator'
|
|
171
173
|
});
|
|
@@ -164,7 +164,7 @@ export var insertMediaSingleNode = function insertMediaSingleNode(view, mediaSta
|
|
|
164
164
|
}
|
|
165
165
|
return true;
|
|
166
166
|
};
|
|
167
|
-
export var changeFromMediaInlineToMediaSingleNode = function changeFromMediaInlineToMediaSingleNode(view, fromNode, widthPluginState, editorAnalyticsAPI) {
|
|
167
|
+
export var changeFromMediaInlineToMediaSingleNode = function changeFromMediaInlineToMediaSingleNode(view, fromNode, widthPluginState, editorAnalyticsAPI, isNestingInQuoteSupported) {
|
|
168
168
|
var _state$selection$$fro2;
|
|
169
169
|
var state = view.state,
|
|
170
170
|
dispatch = view.dispatch;
|
|
@@ -191,7 +191,7 @@ export var changeFromMediaInlineToMediaSingleNode = function changeFromMediaInli
|
|
|
191
191
|
fileExtension: fileExtension,
|
|
192
192
|
newType: ACTION_SUBJECT_ID.MEDIA_SINGLE,
|
|
193
193
|
previousType: ACTION_SUBJECT_ID.MEDIA_INLINE
|
|
194
|
-
}, editorAnalyticsAPI)(state, dispatch);
|
|
194
|
+
}, editorAnalyticsAPI, isNestingInQuoteSupported)(state, dispatch);
|
|
195
195
|
} else {
|
|
196
196
|
var nodePos = state.tr.doc.resolve(state.selection.from).end();
|
|
197
197
|
var tr = null;
|
|
@@ -11,7 +11,7 @@ export declare const DEFAULT_BORDER_SIZE = 2;
|
|
|
11
11
|
export declare const getNodeType: (state: EditorState) => "mediaInline" | "mediaSingle";
|
|
12
12
|
export declare const changeInlineToMediaCard: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined, forceFocusSelector: ForceFocusSelector | undefined) => Command;
|
|
13
13
|
export declare const changeMediaCardToInline: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined, forceFocusSelector: ForceFocusSelector | undefined) => Command;
|
|
14
|
-
export declare const changeMediaInlineToMediaSingle: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined, widthPluginState: WidthPluginState | undefined) => Command;
|
|
14
|
+
export declare const changeMediaInlineToMediaSingle: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined, widthPluginState: WidthPluginState | undefined, isNestingInQuoteSupported?: boolean) => Command;
|
|
15
15
|
export declare const removeInlineCard: Command;
|
|
16
16
|
export declare const toggleBorderMark: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined) => Command;
|
|
17
17
|
export declare const setBorderMark: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined) => (attrs: Partial<BorderMarkAttributes>) => Command;
|
|
@@ -7,5 +7,5 @@ export declare const isMediaSingle: (schema: Schema, fileMimeType?: string) => b
|
|
|
7
7
|
export type InsertMediaAsMediaSingle = (view: EditorView, node: PMNode, inputMethod: InputMethodInsertMedia, isNestingInQuoteSupported?: boolean) => boolean;
|
|
8
8
|
export declare const insertMediaAsMediaSingle: (view: EditorView, node: PMNode, inputMethod: InputMethodInsertMedia, editorAnalyticsAPI: EditorAnalyticsAPI | undefined, isNestingInQuoteSupported?: boolean) => boolean;
|
|
9
9
|
export declare const insertMediaSingleNode: (view: EditorView, mediaState: MediaState, inputMethod?: InputMethodInsertMedia, collection?: string, alignLeftOnInsert?: boolean, widthPluginState?: WidthPluginState | undefined, editorAnalyticsAPI?: EditorAnalyticsAPI | undefined, onNodeInserted?: ((id: string, selectionPosition: number) => void) | undefined, isNestingInQuoteSupported?: boolean) => boolean;
|
|
10
|
-
export declare const changeFromMediaInlineToMediaSingleNode: (view: EditorView, fromNode: PMNode, widthPluginState?: WidthPluginState | undefined, editorAnalyticsAPI?: EditorAnalyticsAPI | undefined) => boolean;
|
|
10
|
+
export declare const changeFromMediaInlineToMediaSingleNode: (view: EditorView, fromNode: PMNode, widthPluginState?: WidthPluginState | undefined, editorAnalyticsAPI?: EditorAnalyticsAPI | undefined, isNestingInQuoteSupported?: boolean) => boolean;
|
|
11
11
|
export declare const isVideo: import("memoize-one").MemoizedFn<(fileType?: string) => boolean>;
|
|
@@ -11,7 +11,7 @@ export declare const DEFAULT_BORDER_SIZE = 2;
|
|
|
11
11
|
export declare const getNodeType: (state: EditorState) => "mediaInline" | "mediaSingle";
|
|
12
12
|
export declare const changeInlineToMediaCard: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined, forceFocusSelector: ForceFocusSelector | undefined) => Command;
|
|
13
13
|
export declare const changeMediaCardToInline: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined, forceFocusSelector: ForceFocusSelector | undefined) => Command;
|
|
14
|
-
export declare const changeMediaInlineToMediaSingle: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined, widthPluginState: WidthPluginState | undefined) => Command;
|
|
14
|
+
export declare const changeMediaInlineToMediaSingle: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined, widthPluginState: WidthPluginState | undefined, isNestingInQuoteSupported?: boolean) => Command;
|
|
15
15
|
export declare const removeInlineCard: Command;
|
|
16
16
|
export declare const toggleBorderMark: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined) => Command;
|
|
17
17
|
export declare const setBorderMark: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined) => (attrs: Partial<BorderMarkAttributes>) => Command;
|
|
@@ -7,5 +7,5 @@ export declare const isMediaSingle: (schema: Schema, fileMimeType?: string) => b
|
|
|
7
7
|
export type InsertMediaAsMediaSingle = (view: EditorView, node: PMNode, inputMethod: InputMethodInsertMedia, isNestingInQuoteSupported?: boolean) => boolean;
|
|
8
8
|
export declare const insertMediaAsMediaSingle: (view: EditorView, node: PMNode, inputMethod: InputMethodInsertMedia, editorAnalyticsAPI: EditorAnalyticsAPI | undefined, isNestingInQuoteSupported?: boolean) => boolean;
|
|
9
9
|
export declare const insertMediaSingleNode: (view: EditorView, mediaState: MediaState, inputMethod?: InputMethodInsertMedia, collection?: string, alignLeftOnInsert?: boolean, widthPluginState?: WidthPluginState | undefined, editorAnalyticsAPI?: EditorAnalyticsAPI | undefined, onNodeInserted?: ((id: string, selectionPosition: number) => void) | undefined, isNestingInQuoteSupported?: boolean) => boolean;
|
|
10
|
-
export declare const changeFromMediaInlineToMediaSingleNode: (view: EditorView, fromNode: PMNode, widthPluginState?: WidthPluginState | undefined, editorAnalyticsAPI?: EditorAnalyticsAPI | undefined) => boolean;
|
|
10
|
+
export declare const changeFromMediaInlineToMediaSingleNode: (view: EditorView, fromNode: PMNode, widthPluginState?: WidthPluginState | undefined, editorAnalyticsAPI?: EditorAnalyticsAPI | undefined, isNestingInQuoteSupported?: boolean) => boolean;
|
|
11
11
|
export declare const isVideo: import("memoize-one").MemoizedFn<(fileType?: string) => boolean>;
|