@atlaskit/editor-core 187.14.9 → 187.14.11
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 +6 -0
- package/dist/cjs/plugins/media/commands/captions.js +29 -27
- package/dist/cjs/plugins/media/commands/linking.js +21 -17
- package/dist/cjs/plugins/media/index.js +4 -3
- package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +4 -2
- package/dist/cjs/plugins/media/pm-plugins/keymap.js +17 -15
- package/dist/cjs/plugins/media/pm-plugins/main.js +7 -5
- package/dist/cjs/plugins/media/toolbar/commands.js +149 -141
- package/dist/cjs/plugins/media/toolbar/index.js +20 -16
- package/dist/cjs/plugins/media/toolbar/linking.js +4 -3
- package/dist/cjs/plugins/media/utils/media-files.js +78 -75
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/plugins/media/commands/captions.js +4 -4
- package/dist/es2019/plugins/media/commands/linking.js +12 -11
- package/dist/es2019/plugins/media/index.js +6 -3
- package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +4 -2
- package/dist/es2019/plugins/media/pm-plugins/keymap.js +5 -5
- package/dist/es2019/plugins/media/pm-plugins/main.js +7 -5
- package/dist/es2019/plugins/media/toolbar/commands.js +15 -15
- package/dist/es2019/plugins/media/toolbar/index.js +20 -16
- package/dist/es2019/plugins/media/toolbar/linking.js +6 -3
- package/dist/es2019/plugins/media/utils/media-files.js +5 -6
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/plugins/media/commands/captions.js +29 -27
- package/dist/esm/plugins/media/commands/linking.js +21 -17
- package/dist/esm/plugins/media/index.js +4 -3
- package/dist/esm/plugins/media/nodeviews/mediaSingle.js +4 -2
- package/dist/esm/plugins/media/pm-plugins/keymap.js +17 -15
- package/dist/esm/plugins/media/pm-plugins/main.js +7 -5
- package/dist/esm/plugins/media/toolbar/commands.js +148 -140
- package/dist/esm/plugins/media/toolbar/index.js +20 -16
- package/dist/esm/plugins/media/toolbar/linking.js +4 -3
- package/dist/esm/plugins/media/utils/media-files.js +78 -75
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/plugins/media/commands/captions.d.ts +2 -1
- package/dist/types/plugins/media/commands/linking.d.ts +3 -3
- package/dist/types/plugins/media/pm-plugins/keymap.d.ts +2 -1
- package/dist/types/plugins/media/pm-plugins/main.d.ts +1 -1
- package/dist/types/plugins/media/toolbar/commands.d.ts +5 -4
- package/dist/types/plugins/media/utils/media-files.d.ts +3 -2
- package/dist/types-ts4.5/plugins/media/commands/captions.d.ts +2 -1
- package/dist/types-ts4.5/plugins/media/commands/linking.d.ts +3 -3
- package/dist/types-ts4.5/plugins/media/pm-plugins/keymap.d.ts +2 -1
- package/dist/types-ts4.5/plugins/media/pm-plugins/main.d.ts +1 -1
- package/dist/types-ts4.5/plugins/media/toolbar/commands.d.ts +5 -4
- package/dist/types-ts4.5/plugins/media/utils/media-files.d.ts +3 -2
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @atlaskit/editor-core
|
|
2
2
|
|
|
3
|
+
## 187.14.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`bc706129ddb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/bc706129ddb) - Updated media to no longer use the old addAnalytics, using new AnalyticsAPI
|
|
8
|
+
|
|
3
9
|
## 187.14.9
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.selectCaptionFromMediaSinglePos = exports.insertAndSelectCaptionFromMediaSinglePos = void 0;
|
|
7
7
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
8
|
-
var _analytics = require("
|
|
8
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
9
9
|
var selectCaptionFromMediaSinglePos = function selectCaptionFromMediaSinglePos(mediaSingleNodePos, mediaSingleNode) {
|
|
10
10
|
return function (state, dispatch) {
|
|
11
11
|
// node should have two children, media and caption
|
|
@@ -24,33 +24,35 @@ var selectCaptionFromMediaSinglePos = function selectCaptionFromMediaSinglePos(m
|
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
26
|
exports.selectCaptionFromMediaSinglePos = selectCaptionFromMediaSinglePos;
|
|
27
|
-
var insertAndSelectCaptionFromMediaSinglePos = function insertAndSelectCaptionFromMediaSinglePos(
|
|
28
|
-
return function (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
var insertAndSelectCaptionFromMediaSinglePos = function insertAndSelectCaptionFromMediaSinglePos(editorAnalyticsAPI) {
|
|
28
|
+
return function (mediaSingleNodePos, mediaSingleNode) {
|
|
29
|
+
return function (state, dispatch) {
|
|
30
|
+
if (typeof mediaSingleNodePos !== 'number') {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
var tr = state.tr;
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
35
|
+
// node should have one child, media
|
|
36
|
+
if (mediaSingleNode.childCount !== 1) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
if (dispatch) {
|
|
40
|
+
var schema = state.schema;
|
|
41
|
+
var media = mediaSingleNode.child(0);
|
|
42
|
+
var caption = schema.nodes.caption.create();
|
|
43
|
+
tr = state.tr.insert(mediaSingleNodePos + media.nodeSize + 1, caption);
|
|
44
|
+
tr = setSelectionAtEndOfCaption(tr, mediaSingleNodePos, media.nodeSize, caption.nodeSize);
|
|
45
|
+
tr.setMeta('scrollIntoView', false);
|
|
46
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
47
|
+
action: _analytics.ACTION.ADDED,
|
|
48
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
49
|
+
actionSubject: _analytics.ACTION_SUBJECT.MEDIA_SINGLE,
|
|
50
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.CAPTION
|
|
51
|
+
})(tr);
|
|
52
|
+
dispatch(tr);
|
|
53
|
+
}
|
|
54
|
+
return true;
|
|
55
|
+
};
|
|
54
56
|
};
|
|
55
57
|
};
|
|
56
58
|
exports.insertAndSelectCaptionFromMediaSinglePos = insertAndSelectCaptionFromMediaSinglePos;
|
|
@@ -10,7 +10,7 @@ var _linking = require("../pm-plugins/linking");
|
|
|
10
10
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
11
11
|
var _commands = require("../../../commands");
|
|
12
12
|
var _actions = require("../pm-plugins/linking/actions");
|
|
13
|
-
var _analytics = require("
|
|
13
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
14
14
|
var _currentMediaNode = require("../utils/current-media-node");
|
|
15
15
|
var _checkMediaType = require("../utils/check-media-type");
|
|
16
16
|
var _main = require("../pm-plugins/main");
|
|
@@ -126,24 +126,28 @@ function toggleLinkMark(tr, state, _ref) {
|
|
|
126
126
|
toggleBlockLinkMark($pos.pos, $pos.pos + node.nodeSize, tr, state);
|
|
127
127
|
return tr;
|
|
128
128
|
}
|
|
129
|
-
var fireAnalyticForMediaLink = function fireAnalyticForMediaLink(tr,
|
|
130
|
-
var attributes = arguments.length >
|
|
131
|
-
|
|
129
|
+
var fireAnalyticForMediaLink = function fireAnalyticForMediaLink(tr, action) {
|
|
130
|
+
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
131
|
+
var editorAnalyticsAPI = arguments.length > 3 ? arguments[3] : undefined;
|
|
132
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
132
133
|
action: action,
|
|
133
134
|
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
134
135
|
actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
|
|
135
136
|
actionSubjectId: _analytics.ACTION_SUBJECT_ID.LINK,
|
|
136
137
|
attributes: attributes
|
|
137
|
-
});
|
|
138
|
+
})(tr);
|
|
139
|
+
return tr;
|
|
138
140
|
};
|
|
139
|
-
var unlink = (
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
141
|
+
var unlink = function unlink(editorAnalyticsAPI) {
|
|
142
|
+
return (0, _linking.createMediaLinkingCommand)({
|
|
143
|
+
type: _actions.MediaLinkingActionsTypes.unlink
|
|
144
|
+
}, function (tr, state) {
|
|
145
|
+
var transaction = toggleLinkMark(tr, state, {
|
|
146
|
+
forceRemove: true
|
|
147
|
+
});
|
|
148
|
+
return fireAnalyticForMediaLink(transaction, _analytics.ACTION.DELETED, undefined, editorAnalyticsAPI);
|
|
144
149
|
});
|
|
145
|
-
|
|
146
|
-
});
|
|
150
|
+
};
|
|
147
151
|
exports.unlink = unlink;
|
|
148
152
|
var getAction = function getAction(newUrl, state) {
|
|
149
153
|
var currentUrl = getCurrentUrl(state);
|
|
@@ -154,7 +158,7 @@ var getAction = function getAction(newUrl, state) {
|
|
|
154
158
|
}
|
|
155
159
|
return undefined;
|
|
156
160
|
};
|
|
157
|
-
var setUrlToMedia = function setUrlToMedia(url, inputMethod) {
|
|
161
|
+
var setUrlToMedia = function setUrlToMedia(url, inputMethod, editorAnalyticsAPI) {
|
|
158
162
|
return (0, _linking.createMediaLinkingCommand)({
|
|
159
163
|
type: _actions.MediaLinkingActionsTypes.setUrl,
|
|
160
164
|
payload: (0, _utils.normalizeUrl)(url)
|
|
@@ -167,14 +171,14 @@ var setUrlToMedia = function setUrlToMedia(url, inputMethod) {
|
|
|
167
171
|
var toggleLinkMarkResult = toggleLinkMark(tr, state, {
|
|
168
172
|
url: url
|
|
169
173
|
});
|
|
170
|
-
fireAnalyticForMediaLink(tr,
|
|
174
|
+
fireAnalyticForMediaLink(tr, action, action === _analytics.ACTION.ADDED ? {
|
|
171
175
|
inputMethod: inputMethod
|
|
172
|
-
} : undefined);
|
|
176
|
+
} : undefined, editorAnalyticsAPI);
|
|
173
177
|
return toggleLinkMarkResult;
|
|
174
178
|
} catch (e) {
|
|
175
|
-
fireAnalyticForMediaLink(tr,
|
|
179
|
+
fireAnalyticForMediaLink(tr, _analytics.ACTION.ERRORED, {
|
|
176
180
|
action: action
|
|
177
|
-
});
|
|
181
|
+
}, editorAnalyticsAPI);
|
|
178
182
|
throw e;
|
|
179
183
|
}
|
|
180
184
|
});
|
|
@@ -124,7 +124,8 @@ var mediaPlugin = function mediaPlugin() {
|
|
|
124
124
|
}, {
|
|
125
125
|
name: 'mediaKeymap',
|
|
126
126
|
plugin: function plugin() {
|
|
127
|
-
|
|
127
|
+
var _api$dependencies$ana;
|
|
128
|
+
return (0, _keymap3.default)(options, api === null || api === void 0 ? void 0 : (_api$dependencies$ana = api.dependencies.analytics) === null || _api$dependencies$ana === void 0 ? void 0 : _api$dependencies$ana.actions);
|
|
128
129
|
}
|
|
129
130
|
}];
|
|
130
131
|
if (options && options.allowMediaSingle) {
|
|
@@ -239,11 +240,11 @@ var mediaPlugin = function mediaPlugin() {
|
|
|
239
240
|
return /*#__PURE__*/_react.default.createElement(_quickInsert.IconImages, null);
|
|
240
241
|
},
|
|
241
242
|
action: function action(insert, state) {
|
|
242
|
-
var _api$dependencies$
|
|
243
|
+
var _api$dependencies$ana2;
|
|
243
244
|
var pluginState = _main.stateKey.getState(state);
|
|
244
245
|
pluginState === null || pluginState === void 0 ? void 0 : pluginState.showMediaPicker();
|
|
245
246
|
var tr = insert('');
|
|
246
|
-
api === null || api === void 0 ? void 0 : (_api$dependencies$
|
|
247
|
+
api === null || api === void 0 ? void 0 : (_api$dependencies$ana2 = api.dependencies.analytics) === null || _api$dependencies$ana2 === void 0 ? void 0 : _api$dependencies$ana2.actions.attachAnalyticsEvent({
|
|
247
248
|
action: _analytics.ACTION.OPENED,
|
|
248
249
|
actionSubject: _analytics.ACTION_SUBJECT.PICKER,
|
|
249
250
|
actionSubjectId: _analytics.ACTION_SUBJECT_ID.PICKER_CLOUD,
|
|
@@ -239,14 +239,16 @@ var MediaSingleNode = /*#__PURE__*/function (_Component) {
|
|
|
239
239
|
(_this$captionPlaceHol = _this.captionPlaceHolderRef.current) === null || _this$captionPlaceHol === void 0 ? void 0 : _this$captionPlaceHol.click();
|
|
240
240
|
});
|
|
241
241
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "clickPlaceholder", function () {
|
|
242
|
+
var _pluginInjectionApi$d, _pluginInjectionApi$d2;
|
|
242
243
|
var _this$props = _this.props,
|
|
243
244
|
view = _this$props.view,
|
|
244
245
|
getPos = _this$props.getPos,
|
|
245
|
-
node = _this$props.node
|
|
246
|
+
node = _this$props.node,
|
|
247
|
+
pluginInjectionApi = _this$props.pluginInjectionApi;
|
|
246
248
|
if (typeof getPos === 'boolean') {
|
|
247
249
|
return;
|
|
248
250
|
}
|
|
249
|
-
(0, _captions.insertAndSelectCaptionFromMediaSinglePos)(getPos(), node)(view.state, view.dispatch);
|
|
251
|
+
(0, _captions.insertAndSelectCaptionFromMediaSinglePos)(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d === void 0 ? void 0 : (_pluginInjectionApi$d2 = _pluginInjectionApi$d.analytics) === null || _pluginInjectionApi$d2 === void 0 ? void 0 : _pluginInjectionApi$d2.actions)(getPos(), node)(view.state, view.dispatch);
|
|
250
252
|
});
|
|
251
253
|
/**
|
|
252
254
|
* Get parent width for a nested media single node
|
|
@@ -15,15 +15,15 @@ var _selection = require("@atlaskit/editor-common/selection");
|
|
|
15
15
|
var _captions = require("../commands/captions");
|
|
16
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
17
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
-
function keymapPlugin(options) {
|
|
18
|
+
function keymapPlugin(options, editorAnalyticsAPI) {
|
|
19
19
|
var list = {};
|
|
20
20
|
var _ref = options || {},
|
|
21
21
|
featureFlags = _ref.featureFlags;
|
|
22
22
|
keymaps.bindKeymapWithCommand(keymaps.undo.common, ignoreLinksInSteps, list);
|
|
23
23
|
keymaps.bindKeymapWithCommand(keymaps.enter.common, splitMediaGroup, list);
|
|
24
24
|
if ((0, _mediaCommon.getMediaFeatureFlag)('captions', featureFlags)) {
|
|
25
|
-
keymaps.bindKeymapWithCommand(keymaps.moveDown.common, insertAndSelectCaption, list);
|
|
26
|
-
keymaps.bindKeymapWithCommand(keymaps.tab.common, insertAndSelectCaption, list);
|
|
25
|
+
keymaps.bindKeymapWithCommand(keymaps.moveDown.common, insertAndSelectCaption(editorAnalyticsAPI), list);
|
|
26
|
+
keymaps.bindKeymapWithCommand(keymaps.tab.common, insertAndSelectCaption(editorAnalyticsAPI), list);
|
|
27
27
|
keymaps.bindKeymapWithCommand(keymaps.moveLeft.common, arrowLeftFromMediaSingle(options === null || options === void 0 ? void 0 : options.editorSelectionAPI), list);
|
|
28
28
|
keymaps.bindKeymapWithCommand(keymaps.moveRight.common, arrowRightFromMediaSingle(options === null || options === void 0 ? void 0 : options.editorSelectionAPI), list);
|
|
29
29
|
}
|
|
@@ -39,20 +39,22 @@ var splitMediaGroup = function splitMediaGroup(state) {
|
|
|
39
39
|
var mediaPluginState = _pluginKey.stateKey.getState(state);
|
|
40
40
|
return mediaPluginState.splitMediaGroup();
|
|
41
41
|
};
|
|
42
|
-
var insertAndSelectCaption = function insertAndSelectCaption(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
(0, _captions.
|
|
42
|
+
var insertAndSelectCaption = function insertAndSelectCaption(editorAnalyticsAPI) {
|
|
43
|
+
return function (state, dispatch) {
|
|
44
|
+
var selection = state.selection,
|
|
45
|
+
schema = state.schema;
|
|
46
|
+
if (selection instanceof _state.NodeSelection && selection.node.type === schema.nodes.mediaSingle && schema.nodes.caption) {
|
|
47
|
+
if (dispatch) {
|
|
48
|
+
var from = selection.from,
|
|
49
|
+
node = selection.node;
|
|
50
|
+
if (!(0, _captions.insertAndSelectCaptionFromMediaSinglePos)(editorAnalyticsAPI)(from, node)(state, dispatch)) {
|
|
51
|
+
(0, _captions.selectCaptionFromMediaSinglePos)(from, node)(state, dispatch);
|
|
52
|
+
}
|
|
51
53
|
}
|
|
54
|
+
return true;
|
|
52
55
|
}
|
|
53
|
-
return
|
|
54
|
-
}
|
|
55
|
-
return false;
|
|
56
|
+
return false;
|
|
57
|
+
};
|
|
56
58
|
};
|
|
57
59
|
var arrowLeftFromMediaSingle = function arrowLeftFromMediaSingle(editorSelectionAPI) {
|
|
58
60
|
return function (state, dispatch) {
|
|
@@ -70,7 +70,7 @@ var createDropPlaceholder = function createDropPlaceholder(intl, allowDropLine)
|
|
|
70
70
|
};
|
|
71
71
|
var MEDIA_RESOLVED_STATES = ['ready', 'error', 'cancelled'];
|
|
72
72
|
var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
73
|
-
function MediaPluginStateImplementation(_state, options, mediaOptions, newInsertionBehaviour, _dispatch,
|
|
73
|
+
function MediaPluginStateImplementation(_state, options, mediaOptions, newInsertionBehaviour, _dispatch, _pluginInjectionApi) {
|
|
74
74
|
var _this = this;
|
|
75
75
|
(0, _classCallCheck2.default)(this, MediaPluginStateImplementation);
|
|
76
76
|
(0, _defineProperty2.default)(this, "allowsUploads", false);
|
|
@@ -222,7 +222,7 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
|
222
222
|
*
|
|
223
223
|
* called when we insert a new file via the picker (connected via pickerfacade)
|
|
224
224
|
*/
|
|
225
|
-
(0, _defineProperty2.default)(this, "insertFile", function (mediaState, onMediaStateChanged, pickerType) {
|
|
225
|
+
(0, _defineProperty2.default)(this, "insertFile", function (mediaState, onMediaStateChanged, pickerType, pluginInjectionApi) {
|
|
226
226
|
var _mediaState$collectio, _this$mediaOptions2;
|
|
227
227
|
var state = _this.view.state;
|
|
228
228
|
var mediaStateWithContext = _objectSpread(_objectSpread({}, mediaState), {}, {
|
|
@@ -245,9 +245,11 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
|
245
245
|
var widthPluginState = (_this$pluginInjection = _this.pluginInjectionApi) === null || _this$pluginInjection === void 0 ? void 0 : _this$pluginInjection.dependencies.width.sharedState.currentState();
|
|
246
246
|
(0, _mediaSingle.insertMediaSingleNode)(_this.view, mediaStateWithContext, _this.getInputMethod(pickerType), collection, _this.mediaOptions && _this.mediaOptions.alignLeftOnInsert, _this.newInsertionBehaviour, widthPluginState);
|
|
247
247
|
} else if ((0, _mediaCommon2.getMediaFeatureFlag)('mediaInline', (_this$mediaOptions2 = _this.mediaOptions) === null || _this$mediaOptions2 === void 0 ? void 0 : _this$mediaOptions2.featureFlags) && !(0, _document.isInEmptyLine)(state) && (!(0, _mediaCommon.isInsidePotentialEmptyParagraph)(state) || (0, _utils3.isInListItem)(state)) && (0, _mediaFiles.canInsertMediaInline)(state)) {
|
|
248
|
-
|
|
248
|
+
var _pluginInjectionApi$d, _pluginInjectionApi$d2;
|
|
249
|
+
(0, _mediaFiles.insertMediaInlineNode)(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d === void 0 ? void 0 : (_pluginInjectionApi$d2 = _pluginInjectionApi$d.analytics) === null || _pluginInjectionApi$d2 === void 0 ? void 0 : _pluginInjectionApi$d2.actions)(_this.view, mediaStateWithContext, collection, _this.getInputMethod(pickerType));
|
|
249
250
|
} else {
|
|
250
|
-
|
|
251
|
+
var _pluginInjectionApi$d3, _pluginInjectionApi$d4;
|
|
252
|
+
(0, _mediaFiles.insertMediaGroupNode)(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d3 = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d3 === void 0 ? void 0 : (_pluginInjectionApi$d4 = _pluginInjectionApi$d3.analytics) === null || _pluginInjectionApi$d4 === void 0 ? void 0 : _pluginInjectionApi$d4.actions)(_this.view, [mediaStateWithContext], collection, _this.getInputMethod(pickerType));
|
|
251
253
|
}
|
|
252
254
|
|
|
253
255
|
// do events when media state changes
|
|
@@ -484,7 +486,7 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
|
484
486
|
this.mediaOptions = mediaOptions;
|
|
485
487
|
this.newInsertionBehaviour = newInsertionBehaviour;
|
|
486
488
|
this.dispatch = _dispatch;
|
|
487
|
-
this.pluginInjectionApi =
|
|
489
|
+
this.pluginInjectionApi = _pluginInjectionApi;
|
|
488
490
|
this.waitForMediaUpload = options.waitForMediaUpload === undefined ? true : options.waitForMediaUpload;
|
|
489
491
|
var nodes = _state.schema.nodes;
|
|
490
492
|
(0, _assert.default)(nodes.media && (nodes.mediaGroup || nodes.mediaSingle), 'Editor: unable to init media plugin - media or mediaGroup/mediaSingle node absent in schema');
|
|
@@ -7,85 +7,89 @@ exports.toggleBorderMark = exports.setBorderMark = exports.removeInlineCard = ex
|
|
|
7
7
|
var _model = require("@atlaskit/editor-prosemirror/model");
|
|
8
8
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
9
9
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
10
|
-
var _analytics = require("
|
|
10
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
11
11
|
var _utils2 = require("./utils");
|
|
12
12
|
var _currentMediaNode = require("../utils/current-media-node");
|
|
13
13
|
var DEFAULT_BORDER_COLOR = '#091e4224';
|
|
14
14
|
exports.DEFAULT_BORDER_COLOR = DEFAULT_BORDER_COLOR;
|
|
15
15
|
var DEFAULT_BORDER_SIZE = 2;
|
|
16
16
|
exports.DEFAULT_BORDER_SIZE = DEFAULT_BORDER_SIZE;
|
|
17
|
-
var changeInlineToMediaCard = function changeInlineToMediaCard(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
var group = mediaGroup.createChecked({}, mediaNode);
|
|
36
|
-
var nodePos = state.tr.doc.resolve(state.selection.from).end();
|
|
37
|
-
var tr = state.tr;
|
|
38
|
-
tr = (0, _utils.removeSelectedNode)(tr);
|
|
39
|
-
tr = (0, _utils.safeInsert)(group, nodePos, true)(tr);
|
|
40
|
-
if (dispatch) {
|
|
41
|
-
(0, _analytics.addAnalytics)(state, tr, {
|
|
42
|
-
action: _analytics.ACTION.CHANGED_TYPE,
|
|
43
|
-
actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
|
|
44
|
-
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
45
|
-
attributes: {
|
|
46
|
-
newType: _analytics.ACTION_SUBJECT_ID.MEDIA_GROUP,
|
|
47
|
-
previousType: _analytics.ACTION_SUBJECT_ID.MEDIA_INLINE
|
|
48
|
-
}
|
|
17
|
+
var changeInlineToMediaCard = function changeInlineToMediaCard(editorAnalyticsAPI) {
|
|
18
|
+
return function (state, dispatch) {
|
|
19
|
+
var _state$schema$nodes = state.schema.nodes,
|
|
20
|
+
media = _state$schema$nodes.media,
|
|
21
|
+
mediaInline = _state$schema$nodes.mediaInline,
|
|
22
|
+
mediaGroup = _state$schema$nodes.mediaGroup;
|
|
23
|
+
var selectedNode = state.selection instanceof _state.NodeSelection && state.selection.node.type === mediaInline && state.selection.node;
|
|
24
|
+
if (!selectedNode) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
var _selectedNode$attrs = selectedNode.attrs,
|
|
28
|
+
id = _selectedNode$attrs.id,
|
|
29
|
+
type = _selectedNode$attrs.type,
|
|
30
|
+
collection = _selectedNode$attrs.collection;
|
|
31
|
+
var mediaNode = media.createChecked({
|
|
32
|
+
id: id,
|
|
33
|
+
type: type,
|
|
34
|
+
collection: collection
|
|
49
35
|
});
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
36
|
+
var group = mediaGroup.createChecked({}, mediaNode);
|
|
37
|
+
var nodePos = state.tr.doc.resolve(state.selection.from).end();
|
|
38
|
+
var tr = state.tr;
|
|
39
|
+
tr = (0, _utils.removeSelectedNode)(tr);
|
|
40
|
+
tr = (0, _utils.safeInsert)(group, nodePos, true)(tr);
|
|
41
|
+
if (dispatch) {
|
|
42
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
43
|
+
action: _analytics.ACTION.CHANGED_TYPE,
|
|
44
|
+
actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
|
|
45
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
46
|
+
attributes: {
|
|
47
|
+
newType: _analytics.ACTION_SUBJECT_ID.MEDIA_GROUP,
|
|
48
|
+
previousType: _analytics.ACTION_SUBJECT_ID.MEDIA_INLINE
|
|
49
|
+
}
|
|
50
|
+
})(tr);
|
|
51
|
+
dispatch(tr);
|
|
52
|
+
}
|
|
53
|
+
return true;
|
|
54
|
+
};
|
|
53
55
|
};
|
|
54
56
|
exports.changeInlineToMediaCard = changeInlineToMediaCard;
|
|
55
|
-
var changeMediaCardToInline = function changeMediaCardToInline(
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
var changeMediaCardToInline = function changeMediaCardToInline(editorAnalyticsAPI) {
|
|
58
|
+
return function (state, dispatch) {
|
|
59
|
+
var _state$schema$nodes2 = state.schema.nodes,
|
|
60
|
+
media = _state$schema$nodes2.media,
|
|
61
|
+
mediaInline = _state$schema$nodes2.mediaInline,
|
|
62
|
+
paragraph = _state$schema$nodes2.paragraph;
|
|
63
|
+
var selectedNode = state.selection instanceof _state.NodeSelection && state.selection.node;
|
|
61
64
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
});
|
|
70
|
-
var space = state.schema.text(' ');
|
|
71
|
-
var content = _model.Fragment.from([mediaInlineNode, space]);
|
|
72
|
-
var node = paragraph.createChecked({}, content);
|
|
73
|
-
var nodePos = state.tr.doc.resolve(state.selection.from).start() - 1;
|
|
74
|
-
var tr = (0, _utils2.removeMediaGroupNode)(state);
|
|
75
|
-
tr = (0, _utils.safeInsert)(node, nodePos, true)(tr);
|
|
76
|
-
if (dispatch) {
|
|
77
|
-
(0, _analytics.addAnalytics)(state, tr, {
|
|
78
|
-
action: _analytics.ACTION.CHANGED_TYPE,
|
|
79
|
-
actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
|
|
80
|
-
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
81
|
-
attributes: {
|
|
82
|
-
newType: _analytics.ACTION_SUBJECT_ID.MEDIA_INLINE,
|
|
83
|
-
previousType: _analytics.ACTION_SUBJECT_ID.MEDIA_GROUP
|
|
84
|
-
}
|
|
65
|
+
// @ts-ignore - [unblock prosemirror bump] redundant check comparing boolean to media
|
|
66
|
+
if (!selectedNode || !selectedNode.type === media) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
var mediaInlineNode = mediaInline.create({
|
|
70
|
+
id: selectedNode.attrs.id,
|
|
71
|
+
collection: selectedNode.attrs.collection
|
|
85
72
|
});
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
73
|
+
var space = state.schema.text(' ');
|
|
74
|
+
var content = _model.Fragment.from([mediaInlineNode, space]);
|
|
75
|
+
var node = paragraph.createChecked({}, content);
|
|
76
|
+
var nodePos = state.tr.doc.resolve(state.selection.from).start() - 1;
|
|
77
|
+
var tr = (0, _utils2.removeMediaGroupNode)(state);
|
|
78
|
+
tr = (0, _utils.safeInsert)(node, nodePos, true)(tr);
|
|
79
|
+
if (dispatch) {
|
|
80
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
81
|
+
action: _analytics.ACTION.CHANGED_TYPE,
|
|
82
|
+
actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
|
|
83
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
84
|
+
attributes: {
|
|
85
|
+
newType: _analytics.ACTION_SUBJECT_ID.MEDIA_INLINE,
|
|
86
|
+
previousType: _analytics.ACTION_SUBJECT_ID.MEDIA_GROUP
|
|
87
|
+
}
|
|
88
|
+
})(tr);
|
|
89
|
+
dispatch(tr);
|
|
90
|
+
}
|
|
91
|
+
return true;
|
|
92
|
+
};
|
|
89
93
|
};
|
|
90
94
|
exports.changeMediaCardToInline = changeMediaCardToInline;
|
|
91
95
|
var removeInlineCard = function removeInlineCard(state, dispatch) {
|
|
@@ -98,77 +102,22 @@ var removeInlineCard = function removeInlineCard(state, dispatch) {
|
|
|
98
102
|
return false;
|
|
99
103
|
};
|
|
100
104
|
exports.removeInlineCard = removeInlineCard;
|
|
101
|
-
var toggleBorderMark = function toggleBorderMark(
|
|
102
|
-
var nodeWithPos = (0, _currentMediaNode.currentMediaNodeWithPos)(state);
|
|
103
|
-
if (!nodeWithPos) {
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
var node = nodeWithPos.node,
|
|
107
|
-
pos = nodeWithPos.pos;
|
|
108
|
-
var borderMark = node.marks.find(function (m) {
|
|
109
|
-
return m.type.name === 'border';
|
|
110
|
-
});
|
|
111
|
-
var marks = node.marks.filter(function (m) {
|
|
112
|
-
return m.type.name !== 'border';
|
|
113
|
-
}).concat(borderMark ? [] : state.schema.marks.border.create({
|
|
114
|
-
color: DEFAULT_BORDER_COLOR,
|
|
115
|
-
size: DEFAULT_BORDER_SIZE
|
|
116
|
-
}));
|
|
117
|
-
var tr = state.tr.setNodeMarkup(pos, node.type, node.attrs, marks);
|
|
118
|
-
tr.setMeta('scrollIntoView', false);
|
|
119
|
-
if (state.selection instanceof _state.NodeSelection) {
|
|
120
|
-
if (state.selection.$anchor.pos === state.selection.from) {
|
|
121
|
-
tr.setSelection(_state.NodeSelection.create(tr.doc, state.selection.from));
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
if (dispatch) {
|
|
125
|
-
if (borderMark !== null && borderMark !== void 0 && borderMark.attrs) {
|
|
126
|
-
(0, _analytics.addAnalytics)(state, tr, {
|
|
127
|
-
action: _analytics.ACTION.DELETED,
|
|
128
|
-
actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
|
|
129
|
-
actionSubjectId: _analytics.ACTION_SUBJECT_ID.BORDER,
|
|
130
|
-
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
131
|
-
attributes: {
|
|
132
|
-
previousColor: borderMark.attrs.color,
|
|
133
|
-
previousSize: borderMark.attrs.size
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
} else {
|
|
137
|
-
(0, _analytics.addAnalytics)(state, tr, {
|
|
138
|
-
action: _analytics.ACTION.ADDED,
|
|
139
|
-
actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
|
|
140
|
-
actionSubjectId: _analytics.ACTION_SUBJECT_ID.BORDER,
|
|
141
|
-
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
142
|
-
attributes: {
|
|
143
|
-
color: DEFAULT_BORDER_COLOR,
|
|
144
|
-
size: DEFAULT_BORDER_SIZE
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
dispatch(tr);
|
|
149
|
-
}
|
|
150
|
-
return true;
|
|
151
|
-
};
|
|
152
|
-
exports.toggleBorderMark = toggleBorderMark;
|
|
153
|
-
var setBorderMark = function setBorderMark(attrs) {
|
|
105
|
+
var toggleBorderMark = function toggleBorderMark(editorAnalyticsAPI) {
|
|
154
106
|
return function (state, dispatch) {
|
|
155
|
-
var _node$marks$find, _ref, _attrs$color, _ref2, _attrs$size;
|
|
156
107
|
var nodeWithPos = (0, _currentMediaNode.currentMediaNodeWithPos)(state);
|
|
157
108
|
if (!nodeWithPos) {
|
|
158
109
|
return false;
|
|
159
110
|
}
|
|
160
111
|
var node = nodeWithPos.node,
|
|
161
112
|
pos = nodeWithPos.pos;
|
|
162
|
-
var borderMark =
|
|
113
|
+
var borderMark = node.marks.find(function (m) {
|
|
163
114
|
return m.type.name === 'border';
|
|
164
|
-
})
|
|
165
|
-
var color = (_ref = (_attrs$color = attrs.color) !== null && _attrs$color !== void 0 ? _attrs$color : borderMark === null || borderMark === void 0 ? void 0 : borderMark.color) !== null && _ref !== void 0 ? _ref : DEFAULT_BORDER_COLOR;
|
|
166
|
-
var size = (_ref2 = (_attrs$size = attrs.size) !== null && _attrs$size !== void 0 ? _attrs$size : borderMark === null || borderMark === void 0 ? void 0 : borderMark.size) !== null && _ref2 !== void 0 ? _ref2 : DEFAULT_BORDER_SIZE;
|
|
115
|
+
});
|
|
167
116
|
var marks = node.marks.filter(function (m) {
|
|
168
117
|
return m.type.name !== 'border';
|
|
169
|
-
}).concat(state.schema.marks.border.create({
|
|
170
|
-
color:
|
|
171
|
-
size:
|
|
118
|
+
}).concat(borderMark ? [] : state.schema.marks.border.create({
|
|
119
|
+
color: DEFAULT_BORDER_COLOR,
|
|
120
|
+
size: DEFAULT_BORDER_SIZE
|
|
172
121
|
}));
|
|
173
122
|
var tr = state.tr.setNodeMarkup(pos, node.type, node.attrs, marks);
|
|
174
123
|
tr.setMeta('scrollIntoView', false);
|
|
@@ -178,21 +127,80 @@ var setBorderMark = function setBorderMark(attrs) {
|
|
|
178
127
|
}
|
|
179
128
|
}
|
|
180
129
|
if (dispatch) {
|
|
181
|
-
(0
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
192
|
-
}
|
|
130
|
+
if (borderMark !== null && borderMark !== void 0 && borderMark.attrs) {
|
|
131
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
132
|
+
action: _analytics.ACTION.DELETED,
|
|
133
|
+
actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
|
|
134
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.BORDER,
|
|
135
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
136
|
+
attributes: {
|
|
137
|
+
previousColor: borderMark.attrs.color,
|
|
138
|
+
previousSize: borderMark.attrs.size
|
|
139
|
+
}
|
|
140
|
+
})(tr);
|
|
141
|
+
} else {
|
|
142
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
143
|
+
action: _analytics.ACTION.ADDED,
|
|
144
|
+
actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
|
|
145
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.BORDER,
|
|
146
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
147
|
+
attributes: {
|
|
148
|
+
color: DEFAULT_BORDER_COLOR,
|
|
149
|
+
size: DEFAULT_BORDER_SIZE
|
|
150
|
+
}
|
|
151
|
+
})(tr);
|
|
152
|
+
}
|
|
193
153
|
dispatch(tr);
|
|
194
154
|
}
|
|
195
155
|
return true;
|
|
196
156
|
};
|
|
197
157
|
};
|
|
158
|
+
exports.toggleBorderMark = toggleBorderMark;
|
|
159
|
+
var setBorderMark = function setBorderMark(editorAnalyticsAPI) {
|
|
160
|
+
return function (attrs) {
|
|
161
|
+
return function (state, dispatch) {
|
|
162
|
+
var _node$marks$find, _ref, _attrs$color, _ref2, _attrs$size;
|
|
163
|
+
var nodeWithPos = (0, _currentMediaNode.currentMediaNodeWithPos)(state);
|
|
164
|
+
if (!nodeWithPos) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
var node = nodeWithPos.node,
|
|
168
|
+
pos = nodeWithPos.pos;
|
|
169
|
+
var borderMark = (_node$marks$find = node.marks.find(function (m) {
|
|
170
|
+
return m.type.name === 'border';
|
|
171
|
+
})) === null || _node$marks$find === void 0 ? void 0 : _node$marks$find.attrs;
|
|
172
|
+
var color = (_ref = (_attrs$color = attrs.color) !== null && _attrs$color !== void 0 ? _attrs$color : borderMark === null || borderMark === void 0 ? void 0 : borderMark.color) !== null && _ref !== void 0 ? _ref : DEFAULT_BORDER_COLOR;
|
|
173
|
+
var size = (_ref2 = (_attrs$size = attrs.size) !== null && _attrs$size !== void 0 ? _attrs$size : borderMark === null || borderMark === void 0 ? void 0 : borderMark.size) !== null && _ref2 !== void 0 ? _ref2 : DEFAULT_BORDER_SIZE;
|
|
174
|
+
var marks = node.marks.filter(function (m) {
|
|
175
|
+
return m.type.name !== 'border';
|
|
176
|
+
}).concat(state.schema.marks.border.create({
|
|
177
|
+
color: color,
|
|
178
|
+
size: size
|
|
179
|
+
}));
|
|
180
|
+
var tr = state.tr.setNodeMarkup(pos, node.type, node.attrs, marks);
|
|
181
|
+
tr.setMeta('scrollIntoView', false);
|
|
182
|
+
if (state.selection instanceof _state.NodeSelection) {
|
|
183
|
+
if (state.selection.$anchor.pos === state.selection.from) {
|
|
184
|
+
tr.setSelection(_state.NodeSelection.create(tr.doc, state.selection.from));
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
if (dispatch) {
|
|
188
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
189
|
+
action: _analytics.ACTION.UPDATED,
|
|
190
|
+
actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
|
|
191
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.BORDER,
|
|
192
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
193
|
+
attributes: {
|
|
194
|
+
previousColor: borderMark === null || borderMark === void 0 ? void 0 : borderMark.color,
|
|
195
|
+
previousSize: borderMark === null || borderMark === void 0 ? void 0 : borderMark.size,
|
|
196
|
+
newColor: color,
|
|
197
|
+
newSize: size
|
|
198
|
+
}
|
|
199
|
+
})(tr);
|
|
200
|
+
dispatch(tr);
|
|
201
|
+
}
|
|
202
|
+
return true;
|
|
203
|
+
};
|
|
204
|
+
};
|
|
205
|
+
};
|
|
198
206
|
exports.setBorderMark = setBorderMark;
|