@atlaskit/editor-plugin-analytics 0.1.6 → 0.1.7

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,35 @@
1
1
  # @atlaskit/editor-plugin-analytics
2
2
 
3
+ ## 0.1.7
4
+
5
+ ### Patch Changes
6
+
7
+ - [`8467bdcdf4f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8467bdcdf4f) - Removing `dependencies` prop from PluginInjectionAPI and changing
8
+ signature of `NextEditorPlugin`.
9
+
10
+ Previously a `NextEditorPlugin` would be consumed as so:
11
+
12
+ ```ts
13
+ const plugin: NextEditorPlugin< ... > = (config, api) => {
14
+ // Can use api like so:
15
+ api.dependencies.core.actions.execute( ... )
16
+ return { ... }
17
+ }
18
+ ```
19
+
20
+ Now these have become named parameters like so and the `pluginInjectionAPI` is used
21
+ without the `dependencies` prop:
22
+
23
+ ```ts
24
+ const plugin: NextEditorPlugin< ... > = ({ config, api }) => {
25
+ // Can use api like so:
26
+ api.core.actions.execute( ... )
27
+ return { ... }
28
+ }
29
+ ```
30
+
31
+ - Updated dependencies
32
+
3
33
  ## 0.1.6
4
34
 
5
35
  ### Patch Changes
@@ -95,9 +95,12 @@ function createPlugin(options, featureFlags) {
95
95
  }
96
96
  });
97
97
  }
98
- var analyticsPlugin = function analyticsPlugin(options, api) {
99
- var _api$dependencies$fea;
100
- var featureFlags = (api === null || api === void 0 ? void 0 : (_api$dependencies$fea = api.dependencies.featureFlags) === null || _api$dependencies$fea === void 0 ? void 0 : _api$dependencies$fea.sharedState.currentState()) || {};
98
+ var analyticsPlugin = function analyticsPlugin(_ref3) {
99
+ var _api$featureFlags;
100
+ var _ref3$config = _ref3.config,
101
+ options = _ref3$config === void 0 ? {} : _ref3$config,
102
+ api = _ref3.api;
103
+ var featureFlags = (api === null || api === void 0 ? void 0 : (_api$featureFlags = api.featureFlags) === null || _api$featureFlags === void 0 ? void 0 : _api$featureFlags.sharedState.currentState()) || {};
101
104
  return {
102
105
  name: 'analytics',
103
106
  getSharedState: function getSharedState(editorState) {
@@ -108,8 +111,8 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
108
111
  attachAnalyticsEvent: null
109
112
  };
110
113
  }
111
- var _ref3 = (_analyticsPluginKey$g = _pluginKey.analyticsPluginKey.getState(editorState)) !== null && _analyticsPluginKey$g !== void 0 ? _analyticsPluginKey$g : {},
112
- createAnalyticsEvent = _ref3.createAnalyticsEvent;
114
+ var _ref4 = (_analyticsPluginKey$g = _pluginKey.analyticsPluginKey.getState(editorState)) !== null && _analyticsPluginKey$g !== void 0 ? _analyticsPluginKey$g : {},
115
+ createAnalyticsEvent = _ref4.createAnalyticsEvent;
113
116
  return {
114
117
  createAnalyticsEvent: createAnalyticsEvent,
115
118
  attachAnalyticsEvent: (0, _attachPayloadIntoTransaction.createAttachPayloadIntoTransaction)(editorState.selection)
@@ -119,10 +122,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
119
122
  attachAnalyticsEvent: function attachAnalyticsEvent(payload) {
120
123
  var channel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _analyticsListeners.FabricChannel.editor;
121
124
  return function (tr) {
122
- var _api$dependencies$ana, _api$dependencies$ana2;
123
- var _ref4 = (_api$dependencies$ana = api === null || api === void 0 ? void 0 : (_api$dependencies$ana2 = api.dependencies.analytics) === null || _api$dependencies$ana2 === void 0 ? void 0 : _api$dependencies$ana2.sharedState.currentState()) !== null && _api$dependencies$ana !== void 0 ? _api$dependencies$ana : {},
124
- createAnalyticsEvent = _ref4.createAnalyticsEvent,
125
- attachAnalyticsEvent = _ref4.attachAnalyticsEvent;
125
+ var _api$analytics$shared, _api$analytics;
126
+ var _ref5 = (_api$analytics$shared = api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.sharedState.currentState()) !== null && _api$analytics$shared !== void 0 ? _api$analytics$shared : {},
127
+ createAnalyticsEvent = _ref5.createAnalyticsEvent,
128
+ attachAnalyticsEvent = _ref5.attachAnalyticsEvent;
126
129
  if (!tr || !createAnalyticsEvent || !attachAnalyticsEvent) {
127
130
  return false;
128
131
  }
@@ -135,8 +138,8 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
135
138
  };
136
139
  }
137
140
  },
138
- usePluginHook: function usePluginHook(_ref5) {
139
- var editorView = _ref5.editorView;
141
+ usePluginHook: function usePluginHook(_ref6) {
142
+ var editorView = _ref6.editorView;
140
143
  var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
141
144
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
142
145
  (0, _react.useLayoutEffect)(function () {
@@ -156,10 +159,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
156
159
  }
157
160
  }];
158
161
  },
159
- onEditorViewStateUpdated: function onEditorViewStateUpdated(_ref6) {
160
- var originalTransaction = _ref6.originalTransaction,
161
- transactions = _ref6.transactions,
162
- newEditorState = _ref6.newEditorState;
162
+ onEditorViewStateUpdated: function onEditorViewStateUpdated(_ref7) {
163
+ var originalTransaction = _ref7.originalTransaction,
164
+ transactions = _ref7.transactions,
165
+ newEditorState = _ref7.newEditorState;
163
166
  var pluginState = _pluginKey.analyticsPluginKey.getState(newEditorState);
164
167
  if (!pluginState || !pluginState.createAnalyticsEvent) {
165
168
  return;
@@ -180,9 +183,9 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
180
183
  }
181
184
  var createAnalyticsEvent = pluginState.createAnalyticsEvent;
182
185
  var undoAnaltyicsEventTransformer = (0, _undoRedoInputSource.generateUndoRedoInputSoucePayload)(originalTransaction);
183
- steps.forEach(function (_ref7) {
184
- var payload = _ref7.payload,
185
- channel = _ref7.channel;
186
+ steps.forEach(function (_ref8) {
187
+ var payload = _ref8.payload,
188
+ channel = _ref8.channel;
186
189
  var nextPayload = undoAnaltyicsEventTransformer(payload);
187
190
  (0, _analytics.fireAnalyticsEvent)(createAnalyticsEvent)({
188
191
  payload: nextPayload,
@@ -193,10 +196,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
193
196
  };
194
197
  };
195
198
  exports.analyticsPlugin = analyticsPlugin;
196
- function extendPayload(_ref8) {
197
- var payload = _ref8.payload,
198
- duration = _ref8.duration,
199
- distortedDuration = _ref8.distortedDuration;
199
+ function extendPayload(_ref9) {
200
+ var payload = _ref9.payload,
201
+ duration = _ref9.duration,
202
+ distortedDuration = _ref9.distortedDuration;
200
203
  return _objectSpread(_objectSpread({}, payload), {}, {
201
204
  attributes: _objectSpread(_objectSpread({}, payload.attributes), {}, {
202
205
  duration: duration,
@@ -73,9 +73,12 @@ function createPlugin(options, featureFlags) {
73
73
  }
74
74
  });
75
75
  }
76
- const analyticsPlugin = (options, api) => {
77
- var _api$dependencies$fea;
78
- const featureFlags = (api === null || api === void 0 ? void 0 : (_api$dependencies$fea = api.dependencies.featureFlags) === null || _api$dependencies$fea === void 0 ? void 0 : _api$dependencies$fea.sharedState.currentState()) || {};
76
+ const analyticsPlugin = ({
77
+ config: options = {},
78
+ api
79
+ }) => {
80
+ var _api$featureFlags;
81
+ const featureFlags = (api === null || api === void 0 ? void 0 : (_api$featureFlags = api.featureFlags) === null || _api$featureFlags === void 0 ? void 0 : _api$featureFlags.sharedState.currentState()) || {};
79
82
  return {
80
83
  name: 'analytics',
81
84
  getSharedState: editorState => {
@@ -96,11 +99,11 @@ const analyticsPlugin = (options, api) => {
96
99
  },
97
100
  actions: {
98
101
  attachAnalyticsEvent: (payload, channel = FabricChannel.editor) => tr => {
99
- var _api$dependencies$ana, _api$dependencies$ana2;
102
+ var _api$analytics$shared, _api$analytics;
100
103
  const {
101
104
  createAnalyticsEvent,
102
105
  attachAnalyticsEvent
103
- } = (_api$dependencies$ana = api === null || api === void 0 ? void 0 : (_api$dependencies$ana2 = api.dependencies.analytics) === null || _api$dependencies$ana2 === void 0 ? void 0 : _api$dependencies$ana2.sharedState.currentState()) !== null && _api$dependencies$ana !== void 0 ? _api$dependencies$ana : {};
106
+ } = (_api$analytics$shared = api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.sharedState.currentState()) !== null && _api$analytics$shared !== void 0 ? _api$analytics$shared : {};
104
107
  if (!tr || !createAnalyticsEvent || !attachAnalyticsEvent) {
105
108
  return false;
106
109
  }
@@ -87,9 +87,12 @@ function createPlugin(options, featureFlags) {
87
87
  }
88
88
  });
89
89
  }
90
- var analyticsPlugin = function analyticsPlugin(options, api) {
91
- var _api$dependencies$fea;
92
- var featureFlags = (api === null || api === void 0 ? void 0 : (_api$dependencies$fea = api.dependencies.featureFlags) === null || _api$dependencies$fea === void 0 ? void 0 : _api$dependencies$fea.sharedState.currentState()) || {};
90
+ var analyticsPlugin = function analyticsPlugin(_ref3) {
91
+ var _api$featureFlags;
92
+ var _ref3$config = _ref3.config,
93
+ options = _ref3$config === void 0 ? {} : _ref3$config,
94
+ api = _ref3.api;
95
+ var featureFlags = (api === null || api === void 0 ? void 0 : (_api$featureFlags = api.featureFlags) === null || _api$featureFlags === void 0 ? void 0 : _api$featureFlags.sharedState.currentState()) || {};
93
96
  return {
94
97
  name: 'analytics',
95
98
  getSharedState: function getSharedState(editorState) {
@@ -100,8 +103,8 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
100
103
  attachAnalyticsEvent: null
101
104
  };
102
105
  }
103
- var _ref3 = (_analyticsPluginKey$g = analyticsPluginKey.getState(editorState)) !== null && _analyticsPluginKey$g !== void 0 ? _analyticsPluginKey$g : {},
104
- createAnalyticsEvent = _ref3.createAnalyticsEvent;
106
+ var _ref4 = (_analyticsPluginKey$g = analyticsPluginKey.getState(editorState)) !== null && _analyticsPluginKey$g !== void 0 ? _analyticsPluginKey$g : {},
107
+ createAnalyticsEvent = _ref4.createAnalyticsEvent;
105
108
  return {
106
109
  createAnalyticsEvent: createAnalyticsEvent,
107
110
  attachAnalyticsEvent: createAttachPayloadIntoTransaction(editorState.selection)
@@ -111,10 +114,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
111
114
  attachAnalyticsEvent: function attachAnalyticsEvent(payload) {
112
115
  var channel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : FabricChannel.editor;
113
116
  return function (tr) {
114
- var _api$dependencies$ana, _api$dependencies$ana2;
115
- var _ref4 = (_api$dependencies$ana = api === null || api === void 0 ? void 0 : (_api$dependencies$ana2 = api.dependencies.analytics) === null || _api$dependencies$ana2 === void 0 ? void 0 : _api$dependencies$ana2.sharedState.currentState()) !== null && _api$dependencies$ana !== void 0 ? _api$dependencies$ana : {},
116
- createAnalyticsEvent = _ref4.createAnalyticsEvent,
117
- attachAnalyticsEvent = _ref4.attachAnalyticsEvent;
117
+ var _api$analytics$shared, _api$analytics;
118
+ var _ref5 = (_api$analytics$shared = api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.sharedState.currentState()) !== null && _api$analytics$shared !== void 0 ? _api$analytics$shared : {},
119
+ createAnalyticsEvent = _ref5.createAnalyticsEvent,
120
+ attachAnalyticsEvent = _ref5.attachAnalyticsEvent;
118
121
  if (!tr || !createAnalyticsEvent || !attachAnalyticsEvent) {
119
122
  return false;
120
123
  }
@@ -127,8 +130,8 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
127
130
  };
128
131
  }
129
132
  },
130
- usePluginHook: function usePluginHook(_ref5) {
131
- var editorView = _ref5.editorView;
133
+ usePluginHook: function usePluginHook(_ref6) {
134
+ var editorView = _ref6.editorView;
132
135
  var _useAnalyticsEvents = useAnalyticsEvents(),
133
136
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
134
137
  useLayoutEffect(function () {
@@ -148,10 +151,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
148
151
  }
149
152
  }];
150
153
  },
151
- onEditorViewStateUpdated: function onEditorViewStateUpdated(_ref6) {
152
- var originalTransaction = _ref6.originalTransaction,
153
- transactions = _ref6.transactions,
154
- newEditorState = _ref6.newEditorState;
154
+ onEditorViewStateUpdated: function onEditorViewStateUpdated(_ref7) {
155
+ var originalTransaction = _ref7.originalTransaction,
156
+ transactions = _ref7.transactions,
157
+ newEditorState = _ref7.newEditorState;
155
158
  var pluginState = analyticsPluginKey.getState(newEditorState);
156
159
  if (!pluginState || !pluginState.createAnalyticsEvent) {
157
160
  return;
@@ -172,9 +175,9 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
172
175
  }
173
176
  var createAnalyticsEvent = pluginState.createAnalyticsEvent;
174
177
  var undoAnaltyicsEventTransformer = generateUndoRedoInputSoucePayload(originalTransaction);
175
- steps.forEach(function (_ref7) {
176
- var payload = _ref7.payload,
177
- channel = _ref7.channel;
178
+ steps.forEach(function (_ref8) {
179
+ var payload = _ref8.payload,
180
+ channel = _ref8.channel;
178
181
  var nextPayload = undoAnaltyicsEventTransformer(payload);
179
182
  fireAnalyticsEvent(createAnalyticsEvent)({
180
183
  payload: nextPayload,
@@ -184,10 +187,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
184
187
  }
185
188
  };
186
189
  };
187
- export function extendPayload(_ref8) {
188
- var payload = _ref8.payload,
189
- duration = _ref8.duration,
190
- distortedDuration = _ref8.distortedDuration;
190
+ export function extendPayload(_ref9) {
191
+ var payload = _ref9.payload,
192
+ duration = _ref9.duration,
193
+ distortedDuration = _ref9.distortedDuration;
191
194
  return _objectSpread(_objectSpread({}, payload), {}, {
192
195
  attributes: _objectSpread(_objectSpread({}, payload.attributes), {}, {
193
196
  duration: duration,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-analytics",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Analytics plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -34,7 +34,7 @@
34
34
  "@atlaskit/adf-schema": "28.1.2",
35
35
  "@atlaskit/analytics-listeners": "^8.6.0",
36
36
  "@atlaskit/analytics-next": "^9.0.0",
37
- "@atlaskit/editor-common": "^74.52.0",
37
+ "@atlaskit/editor-common": "^74.53.0",
38
38
  "@atlaskit/editor-plugin-feature-flags": "^0.1.0",
39
39
  "@atlaskit/editor-prosemirror": "1.1.0",
40
40
  "@atlaskit/editor-tables": "^2.2.0",
@@ -0,0 +1,46 @@
1
+ ## API Report File for "@atlaskit/editor-plugin-analytics"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ import { AnalyticsEventPayload } from '@atlaskit/editor-common/analytics';
8
+ import type { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
9
+ import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
10
+ import type { FeatureFlagsPlugin } from '@atlaskit/editor-plugin-feature-flags';
11
+ import type { NextEditorPlugin } from '@atlaskit/editor-common/types';
12
+ import type { PerformanceTracking } from '@atlaskit/editor-common/types';
13
+ import type { Transaction } from '@atlaskit/editor-prosemirror/state';
14
+
15
+ // @public (undocumented)
16
+ export type AnalyticsPlugin = NextEditorPlugin<'analytics', {
17
+ pluginConfiguration: AnalyticsPluginOptions;
18
+ sharedState: {
19
+ createAnalyticsEvent: CreateUIAnalyticsEvent | null;
20
+ attachAnalyticsEvent: CreateAttachPayloadIntoTransaction | null;
21
+ };
22
+ dependencies: [FeatureFlagsPlugin];
23
+ actions: EditorAnalyticsAPI;
24
+ }>;
25
+
26
+ // @public (undocumented)
27
+ export const analyticsPlugin: AnalyticsPlugin;
28
+
29
+ // @public (undocumented)
30
+ export interface AnalyticsPluginOptions {
31
+ // (undocumented)
32
+ createAnalyticsEvent?: CreateUIAnalyticsEvent;
33
+ // (undocumented)
34
+ performanceTracking?: PerformanceTracking;
35
+ }
36
+
37
+ // @public (undocumented)
38
+ export type CreateAttachPayloadIntoTransaction = (props: {
39
+ payload: AnalyticsEventPayload;
40
+ tr: Transaction;
41
+ channel: string;
42
+ }) => void;
43
+
44
+ // (No @packageDocumentation comment for this package)
45
+
46
+ ```