@atlaskit/link-picker 1.7.0 → 1.7.1

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,11 @@
1
1
  # @atlaskit/link-picker
2
2
 
3
+ ## 1.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`e900714203d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e900714203d) - Add "form submitted" analytics event.
8
+
3
9
  ## 1.7.0
4
10
 
5
11
  ### Minor Changes
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ /**
9
+ * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
10
+ *
11
+ * Generates analytics utilities from the package analytics spec yaml
12
+ *
13
+ * @codegen <<SignedSource::0cc1b4d9c22b31491ded3e581114ab2c>>
14
+ * @codegenCommand yarn workspace @atlaskit/link-picker run codegen-analytics
15
+ */
16
+ function createEventPayload(eventKey, attributes) {
17
+ var event = eventKey.split('.');
18
+ return {
19
+ eventType: 'ui',
20
+ actionSubject: event[0],
21
+ action: event[1],
22
+ actionSubjectId: event[2],
23
+ attributes: attributes
24
+ };
25
+ }
26
+
27
+ var _default = createEventPayload;
28
+ exports.default = _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.COMPONENT_NAME = exports.ANALYTICS_CHANNEL = void 0;
7
+ var ANALYTICS_CHANNEL = 'media';
8
+ exports.ANALYTICS_CHANNEL = ANALYTICS_CHANNEL;
9
+ var COMPONENT_NAME = 'LinkPicker';
10
+ exports.COMPONENT_NAME = COMPONENT_NAME;
@@ -15,6 +15,8 @@ var _analyticsNext = require("@atlaskit/analytics-next");
15
15
 
16
16
  var _reactLooselyLazy = require("react-loosely-lazy");
17
17
 
18
+ var _constants = require("../common/constants");
19
+
18
20
  var _version = require("../version.json");
19
21
 
20
22
  var _errorBoundaryFallback = require("./error-boundary-fallback");
@@ -25,12 +27,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
27
 
26
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(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; }
27
29
 
28
- var COMPONENT_NAME = 'LinkPicker';
29
- var ANALYTICS_CHANNEL = 'media';
30
30
  var PACKAGE_DATA = {
31
31
  packageName: _version.name,
32
32
  packageVersion: _version.version,
33
- componentName: COMPONENT_NAME
33
+ componentName: _constants.COMPONENT_NAME
34
34
  };
35
35
  var LazyLinkPicker = (0, _reactLooselyLazy.lazyForPaint)(function () {
36
36
  return Promise.resolve().then(function () {
@@ -39,7 +39,7 @@ var LazyLinkPicker = (0, _reactLooselyLazy.lazyForPaint)(function () {
39
39
  });
40
40
  var ComposedLinkPicker = /*#__PURE__*/(0, _react.memo)(function (props) {
41
41
  return /*#__PURE__*/_react.default.createElement(_analyticsNext.AnalyticsErrorBoundary, {
42
- channel: ANALYTICS_CHANNEL,
42
+ channel: _constants.ANALYTICS_CHANNEL,
43
43
  data: PACKAGE_DATA,
44
44
  ErrorComponent: _errorBoundaryFallback.ErrorBoundaryFallback
45
45
  }, /*#__PURE__*/_react.default.createElement(_reactLooselyLazy.LazySuspense, {
@@ -21,6 +21,8 @@ var _react2 = require("@emotion/react");
21
21
 
22
22
  var _reactIntlNext = require("react-intl-next");
23
23
 
24
+ var _analyticsNext = require("@atlaskit/analytics-next");
25
+
24
26
  var _button = _interopRequireWildcard(require("@atlaskit/button"));
25
27
 
26
28
  var _form = require("@atlaskit/form");
@@ -31,6 +33,10 @@ var _tabs = _interopRequireWildcard(require("@atlaskit/tabs"));
31
33
 
32
34
  var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"));
33
35
 
36
+ var _analytics = _interopRequireDefault(require("../../analytics.codegen"));
37
+
38
+ var _constants = require("../../common/constants");
39
+
34
40
  var _usePlugins2 = require("../../services/use-plugins");
35
41
 
36
42
  var _useSearchQuery = require("../../services/use-search-query");
@@ -116,6 +122,9 @@ function LinkPicker(_ref) {
116
122
  initUrl = _ref.url,
117
123
  initDisplayText = _ref.displayText;
118
124
 
125
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
126
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
127
+
119
128
  var _useReducer = (0, _react.useReducer)(reducer, _objectSpread(_objectSpread({}, initState), {}, {
120
129
  url: (0, _url2.normalizeUrl)(initUrl) || '',
121
130
  displayText: initDisplayText || ''
@@ -217,6 +226,8 @@ function LinkPicker(_ref) {
217
226
  }
218
227
  }, [activeIndex, items]);
219
228
  var handleInsert = (0, _react.useCallback)(function (url, title, inputType) {
229
+ var event = createAnalyticsEvent((0, _analytics.default)('form.submitted.linkPicker', {}));
230
+ event.fire(_constants.ANALYTICS_CHANNEL);
220
231
  onSubmit(_objectSpread({
221
232
  url: url,
222
233
  displayText: displayText || null,
@@ -227,7 +238,7 @@ function LinkPicker(_ref) {
227
238
  }, inputType === 'manual' ? {
228
239
  rawUrl: state.url
229
240
  } : {}));
230
- }, [displayText, onSubmit, state.url]);
241
+ }, [displayText, onSubmit, state.url, createAnalyticsEvent]);
231
242
  var handleSelected = (0, _react.useCallback)(function (objectId) {
232
243
  var selectedItem = items === null || items === void 0 ? void 0 : items.find(function (item) {
233
244
  return item.objectId === objectId;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
+ *
4
+ * Generates analytics utilities from the package analytics spec yaml
5
+ *
6
+ * @codegen <<SignedSource::0cc1b4d9c22b31491ded3e581114ab2c>>
7
+ * @codegenCommand yarn workspace @atlaskit/link-picker run codegen-analytics
8
+ */
9
+ function createEventPayload(eventKey, attributes) {
10
+ const event = eventKey.split('.');
11
+ return {
12
+ eventType: 'ui',
13
+ actionSubject: event[0],
14
+ action: event[1],
15
+ actionSubjectId: event[2],
16
+ attributes: attributes
17
+ };
18
+ }
19
+
20
+ export default createEventPayload;
@@ -0,0 +1,2 @@
1
+ export const ANALYTICS_CHANNEL = 'media';
2
+ export const COMPONENT_NAME = 'LinkPicker';
@@ -1,11 +1,10 @@
1
1
  import React, { memo } from 'react';
2
2
  import { AnalyticsErrorBoundary } from '@atlaskit/analytics-next';
3
3
  import { LazySuspense, lazyForPaint } from 'react-loosely-lazy';
4
+ import { COMPONENT_NAME, ANALYTICS_CHANNEL } from '../common/constants';
4
5
  import { name as packageName, version as packageVersion } from '../version.json';
5
6
  import { ErrorBoundaryFallback } from './error-boundary-fallback';
6
7
  import { LoaderFallback } from './loader-fallback';
7
- const COMPONENT_NAME = 'LinkPicker';
8
- const ANALYTICS_CHANNEL = 'media';
9
8
  const PACKAGE_DATA = {
10
9
  packageName,
11
10
  packageVersion,
@@ -4,11 +4,14 @@ import _extends from "@babel/runtime/helpers/extends";
4
4
  import { Fragment, useCallback, useLayoutEffect, useReducer } from 'react';
5
5
  import { jsx } from '@emotion/react';
6
6
  import { useIntl, FormattedMessage } from 'react-intl-next';
7
+ import { useAnalyticsEvents } from '@atlaskit/analytics-next';
7
8
  import Button, { ButtonGroup } from '@atlaskit/button';
8
9
  import { FormFooter } from '@atlaskit/form';
9
10
  import EditorSearchIcon from '@atlaskit/icon/glyph/editor/search';
10
11
  import Tabs, { Tab, TabList } from '@atlaskit/tabs';
11
12
  import VisuallyHidden from '@atlaskit/visually-hidden';
13
+ import createEventPayload from '../../analytics.codegen';
14
+ import { ANALYTICS_CHANNEL } from '../../common/constants';
12
15
  import { usePlugins } from '../../services/use-plugins';
13
16
  import { useSearchQuery } from '../../services/use-search-query';
14
17
  import { messages } from './messages';
@@ -74,6 +77,9 @@ function LinkPicker({
74
77
  }) {
75
78
  var _queryState$query, _items$length, _errorFallback;
76
79
 
80
+ const {
81
+ createAnalyticsEvent
82
+ } = useAnalyticsEvents();
77
83
  const [state, dispatch] = useReducer(reducer, { ...initState,
78
84
  url: normalizeUrl(initUrl) || '',
79
85
  displayText: initDisplayText || ''
@@ -172,6 +178,8 @@ function LinkPicker({
172
178
  }
173
179
  }, [activeIndex, items]);
174
180
  const handleInsert = useCallback((url, title, inputType) => {
181
+ const event = createAnalyticsEvent(createEventPayload('form.submitted.linkPicker', {}));
182
+ event.fire(ANALYTICS_CHANNEL);
175
183
  onSubmit({
176
184
  url,
177
185
  displayText: displayText || null,
@@ -183,7 +191,7 @@ function LinkPicker({
183
191
  rawUrl: state.url
184
192
  } : {})
185
193
  });
186
- }, [displayText, onSubmit, state.url]);
194
+ }, [displayText, onSubmit, state.url, createAnalyticsEvent]);
187
195
  const handleSelected = useCallback(objectId => {
188
196
  const selectedItem = items === null || items === void 0 ? void 0 : items.find(item => item.objectId === objectId);
189
197
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
+ *
4
+ * Generates analytics utilities from the package analytics spec yaml
5
+ *
6
+ * @codegen <<SignedSource::0cc1b4d9c22b31491ded3e581114ab2c>>
7
+ * @codegenCommand yarn workspace @atlaskit/link-picker run codegen-analytics
8
+ */
9
+ function createEventPayload(eventKey, attributes) {
10
+ var event = eventKey.split('.');
11
+ return {
12
+ eventType: 'ui',
13
+ actionSubject: event[0],
14
+ action: event[1],
15
+ actionSubjectId: event[2],
16
+ attributes: attributes
17
+ };
18
+ }
19
+
20
+ export default createEventPayload;
@@ -0,0 +1,2 @@
1
+ export var ANALYTICS_CHANNEL = 'media';
2
+ export var COMPONENT_NAME = 'LinkPicker';
@@ -1,11 +1,10 @@
1
1
  import React, { memo } from 'react';
2
2
  import { AnalyticsErrorBoundary } from '@atlaskit/analytics-next';
3
3
  import { LazySuspense, lazyForPaint } from 'react-loosely-lazy';
4
+ import { COMPONENT_NAME, ANALYTICS_CHANNEL } from '../common/constants';
4
5
  import { name as packageName, version as packageVersion } from '../version.json';
5
6
  import { ErrorBoundaryFallback } from './error-boundary-fallback';
6
7
  import { LoaderFallback } from './loader-fallback';
7
- var COMPONENT_NAME = 'LinkPicker';
8
- var ANALYTICS_CHANNEL = 'media';
9
8
  var PACKAGE_DATA = {
10
9
  packageName: packageName,
11
10
  packageVersion: packageVersion,
@@ -10,11 +10,14 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
10
10
  import { Fragment, useCallback, useLayoutEffect, useReducer } from 'react';
11
11
  import { jsx } from '@emotion/react';
12
12
  import { useIntl, FormattedMessage } from 'react-intl-next';
13
+ import { useAnalyticsEvents } from '@atlaskit/analytics-next';
13
14
  import Button, { ButtonGroup } from '@atlaskit/button';
14
15
  import { FormFooter } from '@atlaskit/form';
15
16
  import EditorSearchIcon from '@atlaskit/icon/glyph/editor/search';
16
17
  import Tabs, { Tab, TabList } from '@atlaskit/tabs';
17
18
  import VisuallyHidden from '@atlaskit/visually-hidden';
19
+ import createEventPayload from '../../analytics.codegen';
20
+ import { ANALYTICS_CHANNEL } from '../../common/constants';
18
21
  import { usePlugins } from '../../services/use-plugins';
19
22
  import { useSearchQuery } from '../../services/use-search-query';
20
23
  import { messages } from './messages';
@@ -77,6 +80,9 @@ function LinkPicker(_ref) {
77
80
  initUrl = _ref.url,
78
81
  initDisplayText = _ref.displayText;
79
82
 
83
+ var _useAnalyticsEvents = useAnalyticsEvents(),
84
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
85
+
80
86
  var _useReducer = useReducer(reducer, _objectSpread(_objectSpread({}, initState), {}, {
81
87
  url: normalizeUrl(initUrl) || '',
82
88
  displayText: initDisplayText || ''
@@ -178,6 +184,8 @@ function LinkPicker(_ref) {
178
184
  }
179
185
  }, [activeIndex, items]);
180
186
  var handleInsert = useCallback(function (url, title, inputType) {
187
+ var event = createAnalyticsEvent(createEventPayload('form.submitted.linkPicker', {}));
188
+ event.fire(ANALYTICS_CHANNEL);
181
189
  onSubmit(_objectSpread({
182
190
  url: url,
183
191
  displayText: displayText || null,
@@ -188,7 +196,7 @@ function LinkPicker(_ref) {
188
196
  }, inputType === 'manual' ? {
189
197
  rawUrl: state.url
190
198
  } : {}));
191
- }, [displayText, onSubmit, state.url]);
199
+ }, [displayText, onSubmit, state.url, createAnalyticsEvent]);
192
200
  var handleSelected = useCallback(function (objectId) {
193
201
  var selectedItem = items === null || items === void 0 ? void 0 : items.find(function (item) {
194
202
  return item.objectId === objectId;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
+ *
4
+ * Generates analytics utilities from the package analytics spec yaml
5
+ *
6
+ * @codegen <<SignedSource::0cc1b4d9c22b31491ded3e581114ab2c>>
7
+ * @codegenCommand yarn workspace @atlaskit/link-picker run codegen-analytics
8
+ */
9
+ declare type FormSubmittedLinkPickerAttributesType = {};
10
+ declare type AnalyticsEventAttributes = {
11
+ 'form.submitted.linkPicker': FormSubmittedLinkPickerAttributesType;
12
+ };
13
+ declare function createEventPayload<K extends keyof AnalyticsEventAttributes>(eventKey: K, attributes: AnalyticsEventAttributes[K]): {
14
+ eventType: string;
15
+ actionSubject: string;
16
+ action: string;
17
+ actionSubjectId: string;
18
+ attributes: AnalyticsEventAttributes[K];
19
+ };
20
+ export default createEventPayload;
@@ -0,0 +1,2 @@
1
+ export declare const ANALYTICS_CHANNEL = "media";
2
+ export declare const COMPONENT_NAME = "LinkPicker";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
4
4
  "description": "Standalone link picker",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "publishConfig": {
@@ -26,7 +26,8 @@
26
26
  ".": "./src/index.ts"
27
27
  },
28
28
  "scripts": {
29
- "ak-postbuild": "ls -d dist/* | grep -v dist/types | xargs -n 1 copyfiles -u 1 -V src/**/*.svg"
29
+ "ak-postbuild": "ls -d dist/* | grep -v dist/types | xargs -n 1 copyfiles -u 1 -V src/**/*.svg",
30
+ "codegen-analytics": "ts-node --project ../../../tsconfig.node.json ./scripts/build/codegen-analytics"
30
31
  },
31
32
  "dependencies": {
32
33
  "@atlaskit/analytics-next": "^8.3.1",
@@ -52,6 +53,7 @@
52
53
  "react-intl-next": "npm:react-intl@^5.18.1"
53
54
  },
54
55
  "devDependencies": {
56
+ "@af/codegen": "*",
55
57
  "@atlaskit/activity-provider": "^2.3.2",
56
58
  "@atlaskit/docs": "*",
57
59
  "@atlaskit/link-test-helpers": "^1.4.0",
@@ -63,15 +65,19 @@
63
65
  "@atlassian/atlassian-frontend-prettier-config-1.0.0": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.0",
64
66
  "@atlassian/link-picker-atlassian-plugin": "^17.0.0",
65
67
  "@atlassian/link-picker-plugins": "^4.0.0",
68
+ "@atlassian/recent-work-client": "^1.5.0",
66
69
  "@atlassian/search-provider": "^2.3.0",
67
70
  "@testing-library/dom": "^7.7.3",
68
71
  "@testing-library/jest-dom": "^4.1.0",
69
72
  "@testing-library/react": "^8.0.1",
70
73
  "@testing-library/react-hooks": "^1.0.4",
71
74
  "@testing-library/user-event": "10.4.0",
75
+ "@types/js-yaml": "^3.12.5",
72
76
  "enzyme": "^3.10.0",
73
77
  "fetch-mock": "^8.0.0",
78
+ "js-yaml": "^3.13.1",
74
79
  "mockdate": "^3.0.2",
80
+ "prettier": "^2.1.1",
75
81
  "react-dom": "^16.8.0",
76
82
  "sinon": "^2.2.0",
77
83
  "typescript": "4.2.4"