@atlaskit/editor-plugin-analytics 0.1.6 → 0.2.0
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 +40 -0
- package/README.md +25 -2
- package/dist/cjs/analytics-api/map-attributes.js +2 -2
- package/dist/cjs/plugin.js +31 -24
- package/dist/cjs/undo-redo-input-source.js +2 -2
- package/dist/es2019/plugin.js +12 -5
- package/dist/esm/analytics-api/map-attributes.js +2 -2
- package/dist/esm/plugin.js +31 -24
- package/dist/esm/undo-redo-input-source.js +2 -2
- package/dist/types/plugin.d.ts +4 -0
- package/dist/types-ts4.5/plugin.d.ts +4 -0
- package/package.json +4 -4
- package/report.api.md +1 -1
- package/tmp/api-report-tmp.d.ts +46 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-analytics
|
|
2
2
|
|
|
3
|
+
## 0.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`ad3c5c21079`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ad3c5c21079) - Updating all plugins with minor version to correct issue with semver.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
|
|
13
|
+
## 0.1.7
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [`8467bdcdf4f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8467bdcdf4f) - Removing `dependencies` prop from PluginInjectionAPI and changing
|
|
18
|
+
signature of `NextEditorPlugin`.
|
|
19
|
+
|
|
20
|
+
Previously a `NextEditorPlugin` would be consumed as so:
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
const plugin: NextEditorPlugin< ... > = (config, api) => {
|
|
24
|
+
// Can use api like so:
|
|
25
|
+
api.dependencies.core.actions.execute( ... )
|
|
26
|
+
return { ... }
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Now these have become named parameters like so and the `pluginInjectionAPI` is used
|
|
31
|
+
without the `dependencies` prop:
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
const plugin: NextEditorPlugin< ... > = ({ config, api }) => {
|
|
35
|
+
// Can use api like so:
|
|
36
|
+
api.core.actions.execute( ... )
|
|
37
|
+
return { ... }
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
- Updated dependencies
|
|
42
|
+
|
|
3
43
|
## 0.1.6
|
|
4
44
|
|
|
5
45
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,7 +1,30 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Editor plugin analytics
|
|
2
2
|
|
|
3
3
|
Analytics plugin for @atlaskit/editor-core
|
|
4
4
|
|
|
5
|
+
**Note:** This component is designed for internal Atlassian development.
|
|
6
|
+
External contributors will be able to use this component but will not be able to submit issues.
|
|
7
|
+
|
|
8
|
+
## Install
|
|
9
|
+
---
|
|
10
|
+
- **Install** - *yarn add @atlaskit/editor-plugin-analytics*
|
|
11
|
+
- **npm** - [@atlaskit/editor-plugin-analytics](https://www.npmjs.com/package/@atlaskit/editor-plugin-analytics)
|
|
12
|
+
- **Source** - [Bitbucket](https://bitbucket.org/atlassian/atlassian-frontend/src/master/packages/editor/editor-plugin-analytics)
|
|
13
|
+
- **Bundle** - [unpkg.com](https://unpkg.com/@atlaskit/editor-plugin-analytics/dist/)
|
|
14
|
+
|
|
5
15
|
## Usage
|
|
16
|
+
---
|
|
17
|
+
**Internal use only**
|
|
18
|
+
|
|
19
|
+
@atlaskit/editor-plugin-analytics is intended for internal use by the @atlaskit/editor-core and as a plugin dependency of the Editor within your product.
|
|
20
|
+
|
|
21
|
+
Direct use of this component is not supported.
|
|
22
|
+
|
|
23
|
+
Please see [Atlaskit - Editor plugin analytics](https://atlaskit.atlassian.com/packages/editor/editor-plugin-analytics) for documentation and examples for this package.
|
|
6
24
|
|
|
7
|
-
|
|
25
|
+
## Support
|
|
26
|
+
---
|
|
27
|
+
For internal Atlassian, visit the slack channel [#help-editor](https://atlassian.slack.com/archives/CFG3PSQ9E) for support or visit [go/editor-help](https://go/editor-help) to submit a bug.
|
|
28
|
+
## License
|
|
29
|
+
---
|
|
30
|
+
Please see [Atlassian Frontend - License](https://developer.atlassian.com/cloud/framework/atlassian-frontend/#license) for more licensing information.
|
|
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.mapActionSubjectIdToAttributes = mapActionSubjectIdToAttributes;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
10
|
-
function ownKeys(
|
|
11
|
-
function _objectSpread(
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
12
|
function mapActionSubjectIdToAttributes(payload) {
|
|
13
13
|
var documentInserted = payload.action === _analytics.ACTION.INSERTED && payload.actionSubject === _analytics.ACTION_SUBJECT.DOCUMENT;
|
|
14
14
|
var textFormatted = payload.action === _analytics.ACTION.FORMATTED && payload.actionSubject === _analytics.ACTION_SUBJECT.TEXT;
|
package/dist/cjs/plugin.js
CHANGED
|
@@ -21,8 +21,8 @@ var _undoRedoInputSource = require("./undo-redo-input-source");
|
|
|
21
21
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
22
22
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
23
23
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
24
|
-
function ownKeys(
|
|
25
|
-
function _objectSpread(
|
|
24
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
25
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26
26
|
function createPlugin(options, featureFlags) {
|
|
27
27
|
if (!options) {
|
|
28
28
|
return;
|
|
@@ -95,9 +95,16 @@ function createPlugin(options, featureFlags) {
|
|
|
95
95
|
}
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
/**
|
|
99
|
+
* Analytics plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
|
|
100
|
+
* from `@atlaskit/editor-core`.
|
|
101
|
+
*/
|
|
102
|
+
var analyticsPlugin = function analyticsPlugin(_ref3) {
|
|
103
|
+
var _api$featureFlags;
|
|
104
|
+
var _ref3$config = _ref3.config,
|
|
105
|
+
options = _ref3$config === void 0 ? {} : _ref3$config,
|
|
106
|
+
api = _ref3.api;
|
|
107
|
+
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
108
|
return {
|
|
102
109
|
name: 'analytics',
|
|
103
110
|
getSharedState: function getSharedState(editorState) {
|
|
@@ -108,8 +115,8 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
|
|
|
108
115
|
attachAnalyticsEvent: null
|
|
109
116
|
};
|
|
110
117
|
}
|
|
111
|
-
var
|
|
112
|
-
createAnalyticsEvent =
|
|
118
|
+
var _ref4 = (_analyticsPluginKey$g = _pluginKey.analyticsPluginKey.getState(editorState)) !== null && _analyticsPluginKey$g !== void 0 ? _analyticsPluginKey$g : {},
|
|
119
|
+
createAnalyticsEvent = _ref4.createAnalyticsEvent;
|
|
113
120
|
return {
|
|
114
121
|
createAnalyticsEvent: createAnalyticsEvent,
|
|
115
122
|
attachAnalyticsEvent: (0, _attachPayloadIntoTransaction.createAttachPayloadIntoTransaction)(editorState.selection)
|
|
@@ -119,10 +126,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
|
|
|
119
126
|
attachAnalyticsEvent: function attachAnalyticsEvent(payload) {
|
|
120
127
|
var channel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _analyticsListeners.FabricChannel.editor;
|
|
121
128
|
return function (tr) {
|
|
122
|
-
var _api$
|
|
123
|
-
var
|
|
124
|
-
createAnalyticsEvent =
|
|
125
|
-
attachAnalyticsEvent =
|
|
129
|
+
var _api$analytics$shared, _api$analytics;
|
|
130
|
+
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 : {},
|
|
131
|
+
createAnalyticsEvent = _ref5.createAnalyticsEvent,
|
|
132
|
+
attachAnalyticsEvent = _ref5.attachAnalyticsEvent;
|
|
126
133
|
if (!tr || !createAnalyticsEvent || !attachAnalyticsEvent) {
|
|
127
134
|
return false;
|
|
128
135
|
}
|
|
@@ -135,8 +142,8 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
|
|
|
135
142
|
};
|
|
136
143
|
}
|
|
137
144
|
},
|
|
138
|
-
usePluginHook: function usePluginHook(
|
|
139
|
-
var editorView =
|
|
145
|
+
usePluginHook: function usePluginHook(_ref6) {
|
|
146
|
+
var editorView = _ref6.editorView;
|
|
140
147
|
var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
141
148
|
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
142
149
|
(0, _react.useLayoutEffect)(function () {
|
|
@@ -156,10 +163,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
|
|
|
156
163
|
}
|
|
157
164
|
}];
|
|
158
165
|
},
|
|
159
|
-
onEditorViewStateUpdated: function onEditorViewStateUpdated(
|
|
160
|
-
var originalTransaction =
|
|
161
|
-
transactions =
|
|
162
|
-
newEditorState =
|
|
166
|
+
onEditorViewStateUpdated: function onEditorViewStateUpdated(_ref7) {
|
|
167
|
+
var originalTransaction = _ref7.originalTransaction,
|
|
168
|
+
transactions = _ref7.transactions,
|
|
169
|
+
newEditorState = _ref7.newEditorState;
|
|
163
170
|
var pluginState = _pluginKey.analyticsPluginKey.getState(newEditorState);
|
|
164
171
|
if (!pluginState || !pluginState.createAnalyticsEvent) {
|
|
165
172
|
return;
|
|
@@ -180,9 +187,9 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
|
|
|
180
187
|
}
|
|
181
188
|
var createAnalyticsEvent = pluginState.createAnalyticsEvent;
|
|
182
189
|
var undoAnaltyicsEventTransformer = (0, _undoRedoInputSource.generateUndoRedoInputSoucePayload)(originalTransaction);
|
|
183
|
-
steps.forEach(function (
|
|
184
|
-
var payload =
|
|
185
|
-
channel =
|
|
190
|
+
steps.forEach(function (_ref8) {
|
|
191
|
+
var payload = _ref8.payload,
|
|
192
|
+
channel = _ref8.channel;
|
|
186
193
|
var nextPayload = undoAnaltyicsEventTransformer(payload);
|
|
187
194
|
(0, _analytics.fireAnalyticsEvent)(createAnalyticsEvent)({
|
|
188
195
|
payload: nextPayload,
|
|
@@ -193,10 +200,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
|
|
|
193
200
|
};
|
|
194
201
|
};
|
|
195
202
|
exports.analyticsPlugin = analyticsPlugin;
|
|
196
|
-
function extendPayload(
|
|
197
|
-
var payload =
|
|
198
|
-
duration =
|
|
199
|
-
distortedDuration =
|
|
203
|
+
function extendPayload(_ref9) {
|
|
204
|
+
var payload = _ref9.payload,
|
|
205
|
+
duration = _ref9.duration,
|
|
206
|
+
distortedDuration = _ref9.distortedDuration;
|
|
200
207
|
return _objectSpread(_objectSpread({}, payload), {}, {
|
|
201
208
|
attributes: _objectSpread(_objectSpread({}, payload.attributes), {}, {
|
|
202
209
|
duration: duration,
|
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.generateUndoRedoInputSoucePayload = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
function ownKeys(
|
|
10
|
-
function _objectSpread(
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
11
|
var getUndoRedoInputSource = function getUndoRedoInputSource(tr) {
|
|
12
12
|
var _tr$getMeta;
|
|
13
13
|
// TODO: Please, do not copy or use this kind of code below
|
package/dist/es2019/plugin.js
CHANGED
|
@@ -73,9 +73,16 @@ function createPlugin(options, featureFlags) {
|
|
|
73
73
|
}
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
/**
|
|
77
|
+
* Analytics plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
|
|
78
|
+
* from `@atlaskit/editor-core`.
|
|
79
|
+
*/
|
|
80
|
+
const analyticsPlugin = ({
|
|
81
|
+
config: options = {},
|
|
82
|
+
api
|
|
83
|
+
}) => {
|
|
84
|
+
var _api$featureFlags;
|
|
85
|
+
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
86
|
return {
|
|
80
87
|
name: 'analytics',
|
|
81
88
|
getSharedState: editorState => {
|
|
@@ -96,11 +103,11 @@ const analyticsPlugin = (options, api) => {
|
|
|
96
103
|
},
|
|
97
104
|
actions: {
|
|
98
105
|
attachAnalyticsEvent: (payload, channel = FabricChannel.editor) => tr => {
|
|
99
|
-
var _api$
|
|
106
|
+
var _api$analytics$shared, _api$analytics;
|
|
100
107
|
const {
|
|
101
108
|
createAnalyticsEvent,
|
|
102
109
|
attachAnalyticsEvent
|
|
103
|
-
} = (_api$
|
|
110
|
+
} = (_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
111
|
if (!tr || !createAnalyticsEvent || !attachAnalyticsEvent) {
|
|
105
112
|
return false;
|
|
106
113
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(
|
|
3
|
-
function _objectSpread(
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
4
|
import { ACTION, ACTION_SUBJECT } from '@atlaskit/editor-common/analytics';
|
|
5
5
|
export function mapActionSubjectIdToAttributes(payload) {
|
|
6
6
|
var documentInserted = payload.action === ACTION.INSERTED && payload.actionSubject === ACTION_SUBJECT.DOCUMENT;
|
package/dist/esm/plugin.js
CHANGED
|
@@ -3,8 +3,8 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
3
3
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
4
4
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5
5
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
6
|
-
function ownKeys(
|
|
7
|
-
function _objectSpread(
|
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
8
|
import { useLayoutEffect } from 'react';
|
|
9
9
|
import { AnalyticsStep } from '@atlaskit/adf-schema/steps';
|
|
10
10
|
import { FabricChannel } from '@atlaskit/analytics-listeners';
|
|
@@ -87,9 +87,16 @@ function createPlugin(options, featureFlags) {
|
|
|
87
87
|
}
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
/**
|
|
91
|
+
* Analytics plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
|
|
92
|
+
* from `@atlaskit/editor-core`.
|
|
93
|
+
*/
|
|
94
|
+
var analyticsPlugin = function analyticsPlugin(_ref3) {
|
|
95
|
+
var _api$featureFlags;
|
|
96
|
+
var _ref3$config = _ref3.config,
|
|
97
|
+
options = _ref3$config === void 0 ? {} : _ref3$config,
|
|
98
|
+
api = _ref3.api;
|
|
99
|
+
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
100
|
return {
|
|
94
101
|
name: 'analytics',
|
|
95
102
|
getSharedState: function getSharedState(editorState) {
|
|
@@ -100,8 +107,8 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
|
|
|
100
107
|
attachAnalyticsEvent: null
|
|
101
108
|
};
|
|
102
109
|
}
|
|
103
|
-
var
|
|
104
|
-
createAnalyticsEvent =
|
|
110
|
+
var _ref4 = (_analyticsPluginKey$g = analyticsPluginKey.getState(editorState)) !== null && _analyticsPluginKey$g !== void 0 ? _analyticsPluginKey$g : {},
|
|
111
|
+
createAnalyticsEvent = _ref4.createAnalyticsEvent;
|
|
105
112
|
return {
|
|
106
113
|
createAnalyticsEvent: createAnalyticsEvent,
|
|
107
114
|
attachAnalyticsEvent: createAttachPayloadIntoTransaction(editorState.selection)
|
|
@@ -111,10 +118,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
|
|
|
111
118
|
attachAnalyticsEvent: function attachAnalyticsEvent(payload) {
|
|
112
119
|
var channel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : FabricChannel.editor;
|
|
113
120
|
return function (tr) {
|
|
114
|
-
var _api$
|
|
115
|
-
var
|
|
116
|
-
createAnalyticsEvent =
|
|
117
|
-
attachAnalyticsEvent =
|
|
121
|
+
var _api$analytics$shared, _api$analytics;
|
|
122
|
+
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 : {},
|
|
123
|
+
createAnalyticsEvent = _ref5.createAnalyticsEvent,
|
|
124
|
+
attachAnalyticsEvent = _ref5.attachAnalyticsEvent;
|
|
118
125
|
if (!tr || !createAnalyticsEvent || !attachAnalyticsEvent) {
|
|
119
126
|
return false;
|
|
120
127
|
}
|
|
@@ -127,8 +134,8 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
|
|
|
127
134
|
};
|
|
128
135
|
}
|
|
129
136
|
},
|
|
130
|
-
usePluginHook: function usePluginHook(
|
|
131
|
-
var editorView =
|
|
137
|
+
usePluginHook: function usePluginHook(_ref6) {
|
|
138
|
+
var editorView = _ref6.editorView;
|
|
132
139
|
var _useAnalyticsEvents = useAnalyticsEvents(),
|
|
133
140
|
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
134
141
|
useLayoutEffect(function () {
|
|
@@ -148,10 +155,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
|
|
|
148
155
|
}
|
|
149
156
|
}];
|
|
150
157
|
},
|
|
151
|
-
onEditorViewStateUpdated: function onEditorViewStateUpdated(
|
|
152
|
-
var originalTransaction =
|
|
153
|
-
transactions =
|
|
154
|
-
newEditorState =
|
|
158
|
+
onEditorViewStateUpdated: function onEditorViewStateUpdated(_ref7) {
|
|
159
|
+
var originalTransaction = _ref7.originalTransaction,
|
|
160
|
+
transactions = _ref7.transactions,
|
|
161
|
+
newEditorState = _ref7.newEditorState;
|
|
155
162
|
var pluginState = analyticsPluginKey.getState(newEditorState);
|
|
156
163
|
if (!pluginState || !pluginState.createAnalyticsEvent) {
|
|
157
164
|
return;
|
|
@@ -172,9 +179,9 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
|
|
|
172
179
|
}
|
|
173
180
|
var createAnalyticsEvent = pluginState.createAnalyticsEvent;
|
|
174
181
|
var undoAnaltyicsEventTransformer = generateUndoRedoInputSoucePayload(originalTransaction);
|
|
175
|
-
steps.forEach(function (
|
|
176
|
-
var payload =
|
|
177
|
-
channel =
|
|
182
|
+
steps.forEach(function (_ref8) {
|
|
183
|
+
var payload = _ref8.payload,
|
|
184
|
+
channel = _ref8.channel;
|
|
178
185
|
var nextPayload = undoAnaltyicsEventTransformer(payload);
|
|
179
186
|
fireAnalyticsEvent(createAnalyticsEvent)({
|
|
180
187
|
payload: nextPayload,
|
|
@@ -184,10 +191,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
|
|
|
184
191
|
}
|
|
185
192
|
};
|
|
186
193
|
};
|
|
187
|
-
export function extendPayload(
|
|
188
|
-
var payload =
|
|
189
|
-
duration =
|
|
190
|
-
distortedDuration =
|
|
194
|
+
export function extendPayload(_ref9) {
|
|
195
|
+
var payload = _ref9.payload,
|
|
196
|
+
duration = _ref9.duration,
|
|
197
|
+
distortedDuration = _ref9.distortedDuration;
|
|
191
198
|
return _objectSpread(_objectSpread({}, payload), {}, {
|
|
192
199
|
attributes: _objectSpread(_objectSpread({}, payload.attributes), {}, {
|
|
193
200
|
duration: duration,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(
|
|
3
|
-
function _objectSpread(
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
4
|
var getUndoRedoInputSource = function getUndoRedoInputSource(tr) {
|
|
5
5
|
var _tr$getMeta;
|
|
6
6
|
// TODO: Please, do not copy or use this kind of code below
|
package/dist/types/plugin.d.ts
CHANGED
|
@@ -16,6 +16,10 @@ export type AnalyticsPlugin = NextEditorPlugin<'analytics', {
|
|
|
16
16
|
dependencies: [FeatureFlagsPlugin];
|
|
17
17
|
actions: EditorAnalyticsAPI;
|
|
18
18
|
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Analytics plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
|
|
21
|
+
* from `@atlaskit/editor-core`.
|
|
22
|
+
*/
|
|
19
23
|
declare const analyticsPlugin: AnalyticsPlugin;
|
|
20
24
|
export declare function extendPayload({ payload, duration, distortedDuration, }: {
|
|
21
25
|
payload: AnalyticsEventPayload;
|
|
@@ -18,6 +18,10 @@ export type AnalyticsPlugin = NextEditorPlugin<'analytics', {
|
|
|
18
18
|
];
|
|
19
19
|
actions: EditorAnalyticsAPI;
|
|
20
20
|
}>;
|
|
21
|
+
/**
|
|
22
|
+
* Analytics plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
|
|
23
|
+
* from `@atlaskit/editor-core`.
|
|
24
|
+
*/
|
|
21
25
|
declare const analyticsPlugin: AnalyticsPlugin;
|
|
22
26
|
export declare function extendPayload({ payload, duration, distortedDuration, }: {
|
|
23
27
|
payload: AnalyticsEventPayload;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-analytics",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Analytics plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"registry": "https://registry.npmjs.org/"
|
|
9
9
|
},
|
|
10
10
|
"atlassian": {
|
|
11
|
-
"team": "Editor",
|
|
11
|
+
"team": "Editor: Lego",
|
|
12
12
|
"singleton": true,
|
|
13
13
|
"releaseModel": "continuous"
|
|
14
14
|
},
|
|
@@ -34,8 +34,8 @@
|
|
|
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.
|
|
38
|
-
"@atlaskit/editor-plugin-feature-flags": "^0.
|
|
37
|
+
"@atlaskit/editor-common": "^74.55.0",
|
|
38
|
+
"@atlaskit/editor-plugin-feature-flags": "^0.2.0",
|
|
39
39
|
"@atlaskit/editor-prosemirror": "1.1.0",
|
|
40
40
|
"@atlaskit/editor-tables": "^2.2.0",
|
|
41
41
|
"@babel/runtime": "^7.0.0"
|
package/report.api.md
CHANGED
|
@@ -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
|
|
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
|
+
```
|