@atlaskit/editor-plugin-media 14.2.11 → 14.2.12

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 CHANGED
@@ -1,5 +1,13 @@
1
1
  # @atlaskit/editor-plugin-media
2
2
 
3
+ ## 14.2.12
4
+
5
+ ### Patch Changes
6
+
7
+ - [`a72d5084ae782`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a72d5084ae782) -
8
+ Add a rendered analytics event for remix generated images
9
+ - Updated dependencies
10
+
3
11
  ## 14.2.11
4
12
 
5
13
  ### Patch Changes
package/compass.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  configVersion: 1
2
2
  id: ari:cloud:compass:a436116f-02ce-4520-8fbb-7301462a1674:component/c5751cc6-3513-4070-9deb-af31e86aed34/f230eb1f-41c6-4222-88dc-a040bf5a72ce
3
3
  name: '@atlaskit/editor-plugin-media'
4
- ownerId: ari:cloud:identity::team/e611522d-1773-43e4-85a5-e62f7cde47d6 # Editor - Core Experiences
4
+ ownerId: ari:cloud:identity::team/0250ee69-f755-47fd-a468-bf8a9d10a3c5 # Editor AI
5
5
  labels:
6
6
  - platform-code
7
7
  - platform-afm
@@ -24,6 +24,9 @@ customFields:
24
24
  - name: Department
25
25
  type: text
26
26
  value: Eng - Editor
27
+ - name: Trusted Reviewer Teams
28
+ type: text
29
+ value: ari:cloud:identity::team/cf6a670b-5252-4c68-a769-9207de366beb
27
30
  - name: Technical Owner
28
31
  type: user
29
32
  value: ari:cloud:identity::user/612646c53fe26c00694fbe6a # Chris Kimber
@@ -19,6 +19,7 @@ var _bindEventListener = require("bind-event-listener");
19
19
  var _memoizeOne = _interopRequireDefault(require("memoize-one"));
20
20
  var _analyticsNamespacedContext = require("@atlaskit/analytics-namespaced-context");
21
21
  var _analyticsNext = require("@atlaskit/analytics-next");
22
+ var _analytics = require("@atlaskit/editor-common/analytics");
22
23
  var _toolbarFlagCheck = require("@atlaskit/editor-common/toolbar-flag-check");
23
24
  var _utils = require("@atlaskit/editor-common/utils");
24
25
  var _utils2 = require("@atlaskit/editor-prosemirror/utils");
@@ -44,6 +45,11 @@ var MediaNode = exports.MediaNode = /*#__PURE__*/function (_Component) {
44
45
  (0, _defineProperty2.default)(_this, "state", {});
45
46
  (0, _defineProperty2.default)(_this, "videoControlsWrapperRef", /*#__PURE__*/_react.default.createRef());
46
47
  (0, _defineProperty2.default)(_this, "unbindKeyDown", null);
48
+ (0, _defineProperty2.default)(_this, "getDataConsumerMark", function () {
49
+ return (0, _platformFeatureFlags.fg)('cc-maui-add-mark-for-remix-generated-images') ? _this.props.node.marks.find(function (m) {
50
+ return m.type.name === 'dataConsumer';
51
+ }) : undefined;
52
+ });
47
53
  (0, _defineProperty2.default)(_this, "setViewMediaClientConfig", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
48
54
  var mediaProvider, viewMediaClientConfig, viewAndUploadMediaClientConfig;
49
55
  return _regenerator.default.wrap(function (_context) {
@@ -194,11 +200,28 @@ var MediaNode = exports.MediaNode = /*#__PURE__*/function (_Component) {
194
200
  key: "componentDidMount",
195
201
  value: function () {
196
202
  var _componentDidMount = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
197
- var contextIdentifierProvider, _t, _t2;
203
+ var _dataConsumerMark$att;
204
+ var _this$props2, node, pluginInjectionApi, dataConsumerMark, infographicType, _pluginInjectionApi$a, contextIdentifierProvider, _t, _t2;
198
205
  return _regenerator.default.wrap(function (_context2) {
199
206
  while (1) switch (_context2.prev = _context2.next) {
200
207
  case 0:
201
208
  this.handleNewNode(this.props);
209
+ _this$props2 = this.props, node = _this$props2.node, pluginInjectionApi = _this$props2.pluginInjectionApi;
210
+ dataConsumerMark = this.getDataConsumerMark();
211
+ infographicType = dataConsumerMark === null || dataConsumerMark === void 0 || (_dataConsumerMark$att = dataConsumerMark.attrs.sources) === null || _dataConsumerMark$att === void 0 ? void 0 : _dataConsumerMark$att[0];
212
+ if (infographicType) {
213
+ pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 || _pluginInjectionApi$a.actions.fireAnalyticsEvent({
214
+ action: _analytics.ACTION.RENDERED,
215
+ actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
216
+ actionSubjectId: node.attrs.id,
217
+ eventType: _analytics.EVENT_TYPE.TRACK,
218
+ attributes: {
219
+ infographicType: infographicType,
220
+ pageMode: 'edit',
221
+ mediaId: node.attrs.id
222
+ }
223
+ });
224
+ }
202
225
  contextIdentifierProvider = this.props.contextIdentifierProvider;
203
226
  _t = this;
204
227
  _context2.next = 1;
@@ -298,20 +321,18 @@ var MediaNode = exports.MediaNode = /*#__PURE__*/function (_Component) {
298
321
  }, {
299
322
  key: "render",
300
323
  value: function render() {
301
- var _dataConsumerMark$att;
302
- var _this$props2 = this.props,
303
- node = _this$props2.node,
304
- selected = _this$props2.selected,
305
- originalDimensions = _this$props2.originalDimensions,
306
- isLoading = _this$props2.isLoading,
307
- maxDimensions = _this$props2.maxDimensions,
308
- mediaOptions = _this$props2.mediaOptions;
324
+ var _dataConsumerMark$att2;
325
+ var _this$props3 = this.props,
326
+ node = _this$props3.node,
327
+ selected = _this$props3.selected,
328
+ originalDimensions = _this$props3.originalDimensions,
329
+ isLoading = _this$props3.isLoading,
330
+ maxDimensions = _this$props3.maxDimensions,
331
+ mediaOptions = _this$props3.mediaOptions;
309
332
  var borderMark = node.marks.find(function (m) {
310
333
  return m.type.name === 'border';
311
334
  });
312
- var dataConsumerMark = (0, _platformFeatureFlags.fg)('cc-maui-add-mark-for-remix-generated-images') ? node.marks.find(function (m) {
313
- return m.type.name === 'dataConsumer';
314
- }) : undefined;
335
+ var dataConsumerMark = this.getDataConsumerMark();
315
336
  var _this$state = this.state,
316
337
  viewMediaClientConfig = _this$state.viewMediaClientConfig,
317
338
  viewAndUploadMediaClientConfig = _this$state.viewAndUploadMediaClientConfig,
@@ -373,7 +394,7 @@ var MediaNode = exports.MediaNode = /*#__PURE__*/function (_Component) {
373
394
  border: !!borderMark,
374
395
  // Only defined for remix-generated media (i.e. media nodes with a dataConsumer mark).
375
396
  // Format: "remix:{type}:{subtype}" e.g. "remix:infographic:corporate-doodle"
376
- remixSource: dataConsumerMark === null || dataConsumerMark === void 0 || (_dataConsumerMark$att = dataConsumerMark.attrs.sources) === null || _dataConsumerMark$att === void 0 ? void 0 : _dataConsumerMark$att[0]
397
+ remixSource: dataConsumerMark === null || dataConsumerMark === void 0 || (_dataConsumerMark$att2 = dataConsumerMark.attrs.sources) === null || _dataConsumerMark$att2 === void 0 ? void 0 : _dataConsumerMark$att2[0]
377
398
  })
378
399
  }, /*#__PURE__*/_react.default.createElement(_mediaCard.Card, {
379
400
  mediaClientConfig: mediaClientConfig,
@@ -4,6 +4,7 @@ import { bind } from 'bind-event-listener';
4
4
  import memoizeOne from 'memoize-one';
5
5
  import { MEDIA_CONTEXT } from '@atlaskit/analytics-namespaced-context';
6
6
  import { AnalyticsContext } from '@atlaskit/analytics-next';
7
+ import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
7
8
  import { areToolbarFlagsEnabled } from '@atlaskit/editor-common/toolbar-flag-check';
8
9
  import { setNodeSelection, setTextSelection, withImageLoader } from '@atlaskit/editor-common/utils';
9
10
  import { findParentNodeClosestToPos } from '@atlaskit/editor-prosemirror/utils';
@@ -25,6 +26,7 @@ export class MediaNode extends Component {
25
26
  _defineProperty(this, "state", {});
26
27
  _defineProperty(this, "videoControlsWrapperRef", /*#__PURE__*/React.createRef());
27
28
  _defineProperty(this, "unbindKeyDown", null);
29
+ _defineProperty(this, "getDataConsumerMark", () => fg('cc-maui-add-mark-for-remix-generated-images') ? this.props.node.marks.find(m => m.type.name === 'dataConsumer') : undefined);
28
30
  _defineProperty(this, "setViewMediaClientConfig", async () => {
29
31
  // mediaProvider is Promise<MediaProvider>, so await it first to get the actual provider
30
32
  const mediaProvider = await this.props.mediaProvider;
@@ -162,7 +164,28 @@ export class MediaNode extends Component {
162
164
  return false;
163
165
  }
164
166
  async componentDidMount() {
167
+ var _dataConsumerMark$att;
165
168
  this.handleNewNode(this.props);
169
+ const {
170
+ node,
171
+ pluginInjectionApi
172
+ } = this.props;
173
+ const dataConsumerMark = this.getDataConsumerMark();
174
+ const infographicType = dataConsumerMark === null || dataConsumerMark === void 0 ? void 0 : (_dataConsumerMark$att = dataConsumerMark.attrs.sources) === null || _dataConsumerMark$att === void 0 ? void 0 : _dataConsumerMark$att[0];
175
+ if (infographicType) {
176
+ var _pluginInjectionApi$a;
177
+ pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions.fireAnalyticsEvent({
178
+ action: ACTION.RENDERED,
179
+ actionSubject: ACTION_SUBJECT.MEDIA,
180
+ actionSubjectId: node.attrs.id,
181
+ eventType: EVENT_TYPE.TRACK,
182
+ attributes: {
183
+ infographicType,
184
+ pageMode: 'edit',
185
+ mediaId: node.attrs.id
186
+ }
187
+ });
188
+ }
166
189
  const {
167
190
  contextIdentifierProvider
168
191
  } = this.props;
@@ -241,7 +264,7 @@ export class MediaNode extends Component {
241
264
  }
242
265
  }
243
266
  render() {
244
- var _dataConsumerMark$att;
267
+ var _dataConsumerMark$att2;
245
268
  const {
246
269
  node,
247
270
  selected,
@@ -251,7 +274,7 @@ export class MediaNode extends Component {
251
274
  mediaOptions
252
275
  } = this.props;
253
276
  const borderMark = node.marks.find(m => m.type.name === 'border');
254
- const dataConsumerMark = fg('cc-maui-add-mark-for-remix-generated-images') ? node.marks.find(m => m.type.name === 'dataConsumer') : undefined;
277
+ const dataConsumerMark = this.getDataConsumerMark();
255
278
  const {
256
279
  viewMediaClientConfig,
257
280
  viewAndUploadMediaClientConfig,
@@ -314,7 +337,7 @@ export class MediaNode extends Component {
314
337
  border: !!borderMark,
315
338
  // Only defined for remix-generated media (i.e. media nodes with a dataConsumer mark).
316
339
  // Format: "remix:{type}:{subtype}" e.g. "remix:infographic:corporate-doodle"
317
- remixSource: dataConsumerMark === null || dataConsumerMark === void 0 ? void 0 : (_dataConsumerMark$att = dataConsumerMark.attrs.sources) === null || _dataConsumerMark$att === void 0 ? void 0 : _dataConsumerMark$att[0]
340
+ remixSource: dataConsumerMark === null || dataConsumerMark === void 0 ? void 0 : (_dataConsumerMark$att2 = dataConsumerMark.attrs.sources) === null || _dataConsumerMark$att2 === void 0 ? void 0 : _dataConsumerMark$att2[0]
318
341
  }
319
342
  }
320
343
  }, /*#__PURE__*/React.createElement(Card, {
@@ -13,6 +13,7 @@ import { bind } from 'bind-event-listener';
13
13
  import memoizeOne from 'memoize-one';
14
14
  import { MEDIA_CONTEXT } from '@atlaskit/analytics-namespaced-context';
15
15
  import { AnalyticsContext } from '@atlaskit/analytics-next';
16
+ import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
16
17
  import { areToolbarFlagsEnabled } from '@atlaskit/editor-common/toolbar-flag-check';
17
18
  import { setNodeSelection, setTextSelection, withImageLoader } from '@atlaskit/editor-common/utils';
18
19
  import { findParentNodeClosestToPos } from '@atlaskit/editor-prosemirror/utils';
@@ -36,6 +37,11 @@ export var MediaNode = /*#__PURE__*/function (_Component) {
36
37
  _defineProperty(_this, "state", {});
37
38
  _defineProperty(_this, "videoControlsWrapperRef", /*#__PURE__*/React.createRef());
38
39
  _defineProperty(_this, "unbindKeyDown", null);
40
+ _defineProperty(_this, "getDataConsumerMark", function () {
41
+ return fg('cc-maui-add-mark-for-remix-generated-images') ? _this.props.node.marks.find(function (m) {
42
+ return m.type.name === 'dataConsumer';
43
+ }) : undefined;
44
+ });
39
45
  _defineProperty(_this, "setViewMediaClientConfig", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
40
46
  var mediaProvider, viewMediaClientConfig, viewAndUploadMediaClientConfig;
41
47
  return _regeneratorRuntime.wrap(function (_context) {
@@ -186,11 +192,28 @@ export var MediaNode = /*#__PURE__*/function (_Component) {
186
192
  key: "componentDidMount",
187
193
  value: function () {
188
194
  var _componentDidMount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
189
- var contextIdentifierProvider, _t, _t2;
195
+ var _dataConsumerMark$att;
196
+ var _this$props2, node, pluginInjectionApi, dataConsumerMark, infographicType, _pluginInjectionApi$a, contextIdentifierProvider, _t, _t2;
190
197
  return _regeneratorRuntime.wrap(function (_context2) {
191
198
  while (1) switch (_context2.prev = _context2.next) {
192
199
  case 0:
193
200
  this.handleNewNode(this.props);
201
+ _this$props2 = this.props, node = _this$props2.node, pluginInjectionApi = _this$props2.pluginInjectionApi;
202
+ dataConsumerMark = this.getDataConsumerMark();
203
+ infographicType = dataConsumerMark === null || dataConsumerMark === void 0 || (_dataConsumerMark$att = dataConsumerMark.attrs.sources) === null || _dataConsumerMark$att === void 0 ? void 0 : _dataConsumerMark$att[0];
204
+ if (infographicType) {
205
+ pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 || _pluginInjectionApi$a.actions.fireAnalyticsEvent({
206
+ action: ACTION.RENDERED,
207
+ actionSubject: ACTION_SUBJECT.MEDIA,
208
+ actionSubjectId: node.attrs.id,
209
+ eventType: EVENT_TYPE.TRACK,
210
+ attributes: {
211
+ infographicType: infographicType,
212
+ pageMode: 'edit',
213
+ mediaId: node.attrs.id
214
+ }
215
+ });
216
+ }
194
217
  contextIdentifierProvider = this.props.contextIdentifierProvider;
195
218
  _t = this;
196
219
  _context2.next = 1;
@@ -290,20 +313,18 @@ export var MediaNode = /*#__PURE__*/function (_Component) {
290
313
  }, {
291
314
  key: "render",
292
315
  value: function render() {
293
- var _dataConsumerMark$att;
294
- var _this$props2 = this.props,
295
- node = _this$props2.node,
296
- selected = _this$props2.selected,
297
- originalDimensions = _this$props2.originalDimensions,
298
- isLoading = _this$props2.isLoading,
299
- maxDimensions = _this$props2.maxDimensions,
300
- mediaOptions = _this$props2.mediaOptions;
316
+ var _dataConsumerMark$att2;
317
+ var _this$props3 = this.props,
318
+ node = _this$props3.node,
319
+ selected = _this$props3.selected,
320
+ originalDimensions = _this$props3.originalDimensions,
321
+ isLoading = _this$props3.isLoading,
322
+ maxDimensions = _this$props3.maxDimensions,
323
+ mediaOptions = _this$props3.mediaOptions;
301
324
  var borderMark = node.marks.find(function (m) {
302
325
  return m.type.name === 'border';
303
326
  });
304
- var dataConsumerMark = fg('cc-maui-add-mark-for-remix-generated-images') ? node.marks.find(function (m) {
305
- return m.type.name === 'dataConsumer';
306
- }) : undefined;
327
+ var dataConsumerMark = this.getDataConsumerMark();
307
328
  var _this$state = this.state,
308
329
  viewMediaClientConfig = _this$state.viewMediaClientConfig,
309
330
  viewAndUploadMediaClientConfig = _this$state.viewAndUploadMediaClientConfig,
@@ -365,7 +386,7 @@ export var MediaNode = /*#__PURE__*/function (_Component) {
365
386
  border: !!borderMark,
366
387
  // Only defined for remix-generated media (i.e. media nodes with a dataConsumer mark).
367
388
  // Format: "remix:{type}:{subtype}" e.g. "remix:infographic:corporate-doodle"
368
- remixSource: dataConsumerMark === null || dataConsumerMark === void 0 || (_dataConsumerMark$att = dataConsumerMark.attrs.sources) === null || _dataConsumerMark$att === void 0 ? void 0 : _dataConsumerMark$att[0]
389
+ remixSource: dataConsumerMark === null || dataConsumerMark === void 0 || (_dataConsumerMark$att2 = dataConsumerMark.attrs.sources) === null || _dataConsumerMark$att2 === void 0 ? void 0 : _dataConsumerMark$att2[0]
369
390
  })
370
391
  }, /*#__PURE__*/React.createElement(Card, {
371
392
  mediaClientConfig: mediaClientConfig,
@@ -41,6 +41,7 @@ export declare class MediaNode extends Component<MediaNodeProps, MediaNodeState>
41
41
  unbindKeyDown: UnbindFn | null;
42
42
  constructor(props: MediaNodeProps);
43
43
  shouldComponentUpdate(nextProps: MediaNodeProps, nextState: MediaNodeState): boolean;
44
+ private getDataConsumerMark;
44
45
  componentDidMount(): Promise<void>;
45
46
  componentWillUnmount(): void;
46
47
  componentDidUpdate(prevProps: Readonly<MediaNodeProps>): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-media",
3
- "version": "14.2.11",
3
+ "version": "14.2.12",
4
4
  "description": "Media plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -57,7 +57,7 @@
57
57
  "@atlaskit/platform-feature-flags": "^2.0.0",
58
58
  "@atlaskit/primitives": "^20.3.0",
59
59
  "@atlaskit/textfield": "^9.1.0",
60
- "@atlaskit/tmp-editor-statsig": "^119.0.0",
60
+ "@atlaskit/tmp-editor-statsig": "^119.3.0",
61
61
  "@atlaskit/tokens": "^15.3.0",
62
62
  "@atlaskit/tooltip": "^23.1.0",
63
63
  "@babel/runtime": "^7.0.0",