@atlaskit/link-datasource 1.0.17 → 1.0.19

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/analytics/constants.js +7 -2
  3. package/dist/cjs/analytics/types.js +30 -0
  4. package/dist/cjs/analytics/utils.js +4 -3
  5. package/dist/cjs/ui/assets-modal/modal/index.js +1 -1
  6. package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +2 -5
  7. package/dist/cjs/ui/jira-issues-modal/initial-state-view/assets/initial-state-svg.js +241 -0
  8. package/dist/cjs/ui/jira-issues-modal/initial-state-view/index.js +47 -0
  9. package/dist/cjs/ui/jira-issues-modal/initial-state-view/messages.js +25 -0
  10. package/dist/cjs/ui/jira-issues-modal/modal/index.js +103 -25
  11. package/dist/es2019/analytics/constants.js +5 -1
  12. package/dist/es2019/analytics/types.js +21 -0
  13. package/dist/es2019/analytics/utils.js +4 -3
  14. package/dist/es2019/ui/assets-modal/modal/index.js +1 -1
  15. package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +2 -5
  16. package/dist/es2019/ui/jira-issues-modal/initial-state-view/assets/initial-state-svg.js +231 -0
  17. package/dist/es2019/ui/jira-issues-modal/initial-state-view/index.js +41 -0
  18. package/dist/es2019/ui/jira-issues-modal/initial-state-view/messages.js +18 -0
  19. package/dist/es2019/ui/jira-issues-modal/modal/index.js +98 -20
  20. package/dist/esm/analytics/constants.js +5 -1
  21. package/dist/esm/analytics/types.js +21 -0
  22. package/dist/esm/analytics/utils.js +4 -3
  23. package/dist/esm/ui/assets-modal/modal/index.js +1 -1
  24. package/dist/esm/ui/datasource-table-view/datasourceTableView.js +2 -5
  25. package/dist/esm/ui/jira-issues-modal/initial-state-view/assets/initial-state-svg.js +233 -0
  26. package/dist/esm/ui/jira-issues-modal/initial-state-view/index.js +40 -0
  27. package/dist/esm/ui/jira-issues-modal/initial-state-view/messages.js +18 -0
  28. package/dist/esm/ui/jira-issues-modal/modal/index.js +103 -26
  29. package/dist/types/analytics/constants.d.ts +2 -0
  30. package/dist/types/analytics/generated/analytics.types.d.ts +6 -1
  31. package/dist/types/analytics/types.d.ts +18 -0
  32. package/dist/types/analytics/utils.d.ts +2 -1
  33. package/dist/types/ui/jira-issues-modal/initial-state-view/assets/initial-state-svg.d.ts +2 -0
  34. package/dist/types/ui/jira-issues-modal/initial-state-view/index.d.ts +3 -0
  35. package/dist/types/ui/jira-issues-modal/initial-state-view/messages.d.ts +17 -0
  36. package/dist/types/ui/jira-issues-modal/modal/index.d.ts +6 -0
  37. package/dist/types-ts4.5/analytics/constants.d.ts +2 -0
  38. package/dist/types-ts4.5/analytics/generated/analytics.types.d.ts +6 -1
  39. package/dist/types-ts4.5/analytics/types.d.ts +18 -0
  40. package/dist/types-ts4.5/analytics/utils.d.ts +2 -1
  41. package/dist/types-ts4.5/ui/jira-issues-modal/initial-state-view/assets/initial-state-svg.d.ts +2 -0
  42. package/dist/types-ts4.5/ui/jira-issues-modal/initial-state-view/index.d.ts +3 -0
  43. package/dist/types-ts4.5/ui/jira-issues-modal/initial-state-view/messages.d.ts +17 -0
  44. package/dist/types-ts4.5/ui/jira-issues-modal/modal/index.d.ts +6 -0
  45. package/package.json +6 -6
@@ -1,5 +1,5 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
1
  import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
4
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
5
  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; }
@@ -13,7 +13,10 @@ import { withAnalyticsContext } from '@atlaskit/analytics-next';
13
13
  import Button from '@atlaskit/button/standard-button';
14
14
  import Modal, { ModalBody, ModalFooter, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
15
15
  import { B400, N0, N40, N800 } from '@atlaskit/theme/colors';
16
- import { useDatasourceAnalyticsEvents } from '../../../analytics';
16
+ import { EVENT_CHANNEL, useDatasourceAnalyticsEvents } from '../../../analytics';
17
+ import { packageMetaData } from '../../../analytics/constants';
18
+ import { DatasourceAction, DatasourceDisplay } from '../../../analytics/types';
19
+ import { mapSearchMethod } from '../../../analytics/utils';
17
20
  import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
18
21
  import { getAvailableJiraSites } from '../../../services/getAvailableJiraSites';
19
22
  import { AccessRequired } from '../../common/error-state/access-required';
@@ -21,7 +24,8 @@ import { ModalLoadingError } from '../../common/error-state/modal-loading-error'
21
24
  import { NoResults } from '../../common/error-state/no-results';
22
25
  import { EmptyState, IssueLikeDataTableView } from '../../issue-like-table';
23
26
  import LinkRenderType from '../../issue-like-table/render-type/link';
24
- import { getInitialSearchMethod, JiraSearchContainer } from '../jira-search-container';
27
+ import { InitialStateView } from '../initial-state-view';
28
+ import { JiraSearchContainer } from '../jira-search-container';
25
29
  import { ModeSwitcher } from '../mode-switcher';
26
30
  import { JiraSiteSelector } from '../site-selector';
27
31
  import { modalMessages } from './messages';
@@ -50,6 +54,28 @@ var issueCountStyles = css({
50
54
  var smartLinkContainerStyles = css({
51
55
  paddingLeft: '1px'
52
56
  });
57
+ var getDisplayValue = function getDisplayValue(currentViewMode, itemCount) {
58
+ if (currentViewMode === 'count') {
59
+ return DatasourceDisplay.DATASOURCE_INLINE;
60
+ }
61
+ return itemCount > 1 ? DatasourceDisplay.DATASOURCE_TABLE : DatasourceDisplay.INLINE;
62
+ };
63
+
64
+ /**
65
+ * This method should be called when one atomic action is performed on columns: adding new item, removing one item, changing items order.
66
+ * The assumption is that since only one action is changed at each time, we don't have to verify the actual contents of the lists.
67
+ */
68
+ export var getColumnAction = function getColumnAction(oldVisibleColumnKeys, newVisibleColumnKeys) {
69
+ var newColumnSize = newVisibleColumnKeys.length;
70
+ var oldColumnSize = oldVisibleColumnKeys.length;
71
+ if (newColumnSize > oldColumnSize) {
72
+ return DatasourceAction.COLUMN_ADDED;
73
+ } else if (newColumnSize < oldColumnSize) {
74
+ return DatasourceAction.COLUMN_REMOVED;
75
+ } else {
76
+ return DatasourceAction.COLUMN_REORDERED;
77
+ }
78
+ };
53
79
  export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
54
80
  var datasourceId = props.datasourceId,
55
81
  initialParameters = props.parameters,
@@ -72,17 +98,22 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
72
98
  _useState8 = _slicedToArray(_useState7, 2),
73
99
  jql = _useState8[0],
74
100
  setJql = _useState8[1];
75
- var isParametersSet = !!(jql && cloudId);
101
+ var _useState9 = useState(initialVisibleColumnKeys),
102
+ _useState10 = _slicedToArray(_useState9, 2),
103
+ visibleColumnKeys = _useState10[0],
104
+ setVisibleColumnKeys = _useState10[1];
105
+
106
+ // analytics related parameters
107
+ var searchCount = useRef(0);
108
+ var userInteractionActions = useRef(new Set());
109
+ var lastSearchMethodRef = useRef(null);
76
110
  var parameters = useMemo(function () {
77
111
  return !!cloudId ? {
78
112
  cloudId: cloudId,
79
113
  jql: jql || ''
80
114
  } : undefined;
81
115
  }, [cloudId, jql]);
82
- var _useState9 = useState(initialVisibleColumnKeys),
83
- _useState10 = _slicedToArray(_useState9, 2),
84
- visibleColumnKeys = _useState10[0],
85
- setVisibleColumnKeys = _useState10[1];
116
+ var isParametersSet = !!(jql && cloudId);
86
117
  var _useDatasourceTableSt = useDatasourceTableState({
87
118
  datasourceId: datasourceId,
88
119
  parameters: isParametersSet ? parameters : undefined,
@@ -96,8 +127,10 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
96
127
  columns = _useDatasourceTableSt.columns,
97
128
  defaultVisibleColumnKeys = _useDatasourceTableSt.defaultVisibleColumnKeys,
98
129
  loadDatasourceDetails = _useDatasourceTableSt.loadDatasourceDetails,
99
- totalCount = _useDatasourceTableSt.totalCount;
100
- var lastSearchMethodRef = useRef(getInitialSearchMethod(parameters === null || parameters === void 0 ? void 0 : parameters.jql));
130
+ totalCount = _useDatasourceTableSt.totalCount,
131
+ _useDatasourceTableSt2 = _useDatasourceTableSt.extensionKey,
132
+ extensionKey = _useDatasourceTableSt2 === void 0 ? null : _useDatasourceTableSt2,
133
+ destinationObjectTypes = _useDatasourceTableSt.destinationObjectTypes;
101
134
  var _useIntl = useIntl(),
102
135
  formatMessage = _useIntl.formatMessage;
103
136
  var _useDatasourceAnalyti = useDatasourceAnalyticsEvents(),
@@ -107,6 +140,13 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
107
140
  return jiraSite.cloudId === cloudId;
108
141
  }) || availableSites[0];
109
142
  }, [availableSites, cloudId]);
143
+ var buttonClickedAnalyticsPayload = useMemo(function () {
144
+ return {
145
+ extensionKey: extensionKey,
146
+ destinationObjectTypes: destinationObjectTypes,
147
+ actions: userInteractionActions.current
148
+ };
149
+ }, [destinationObjectTypes, extensionKey]);
110
150
  var resolvedWithNoResults = status === 'resolved' && !responseItems.length;
111
151
  var jqlUrl = selectedJiraSite && jql && "".concat(selectedJiraSite.url, "/issues/?jql=").concat(encodeURI(jql));
112
152
  var isInsertDisabled = !isParametersSet || status === 'rejected' || status === 'unauthorized' || status === 'loading' || resolvedWithNoResults;
@@ -151,13 +191,28 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
151
191
  }
152
192
  }, [cloudId, selectedJiraSite]);
153
193
  var onSearch = useCallback(function (newParameters, searchMethod) {
194
+ searchCount.current++;
154
195
  lastSearchMethodRef.current = searchMethod;
196
+ if (jql !== newParameters.jql) {
197
+ userInteractionActions.current.add(DatasourceAction.QUERY_UPDATED);
198
+ }
155
199
  setJql(newParameters.jql);
156
200
  reset({
157
201
  shouldForceRequest: true
158
202
  });
159
- }, [reset]);
203
+ }, [jql, reset]);
204
+ var onCancelClick = useCallback(function (e, analyticEvent) {
205
+ analyticEvent.update({
206
+ eventType: 'ui',
207
+ actionSubjectId: 'cancel',
208
+ attributes: _objectSpread(_objectSpread({}, buttonClickedAnalyticsPayload), {}, {
209
+ searchCount: searchCount.current
210
+ })
211
+ }).fire(EVENT_CHANNEL);
212
+ onCancel();
213
+ }, [buttonClickedAnalyticsPayload, onCancel]);
160
214
  var onSiteSelection = useCallback(function (site) {
215
+ userInteractionActions.current.add(DatasourceAction.INSTANCE_UPDATED);
161
216
  setCloudId(site.cloudId);
162
217
  reset({
163
218
  shouldForceRequest: true
@@ -167,13 +222,25 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
167
222
  var _data$key, _data$key$data;
168
223
  var _responseItems = _slicedToArray(responseItems, 1),
169
224
  data = _responseItems[0];
170
- // agrement with BE that we will use `key` for rendering smartlink
225
+ // agreement with BE that we will use `key` for rendering smartlink
171
226
  return data === null || data === void 0 ? void 0 : (_data$key = data.key) === null || _data$key === void 0 ? void 0 : (_data$key$data = _data$key.data) === null || _data$key$data === void 0 ? void 0 : _data$key$data.url;
172
227
  }, [responseItems]);
173
- var onInsertPressed = useCallback(function () {
228
+ var onInsertPressed = useCallback(function (e, analyticEvent) {
174
229
  if (!isParametersSet || !jql || !selectedJiraSite) {
175
230
  return;
176
231
  }
232
+ var insertButtonClickedEvent = analyticEvent.update({
233
+ actionSubjectId: 'insert',
234
+ attributes: _objectSpread(_objectSpread({}, buttonClickedAnalyticsPayload), {}, {
235
+ totalItemCount: totalCount || 0,
236
+ displayedColumnCount: (visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.length) || 0,
237
+ display: getDisplayValue(currentViewMode, totalCount || 0),
238
+ searchCount: searchCount.current,
239
+ searchMethod: mapSearchMethod(lastSearchMethodRef.current)
240
+ }),
241
+ eventType: 'ui'
242
+ });
243
+ insertButtonClickedEvent.fire(EVENT_CHANNEL);
177
244
  var firstIssueUrl = retrieveUrlForSmartCardRender();
178
245
  if (currentViewMode === 'count') {
179
246
  onInsert({
@@ -215,10 +282,21 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
215
282
  }
216
283
  });
217
284
  }
218
- }, [isParametersSet, jql, jqlUrl, selectedJiraSite, retrieveUrlForSmartCardRender, currentViewMode, responseItems.length, onInsert, datasourceId, cloudId, visibleColumnKeys]);
285
+ }, [isParametersSet, jql, selectedJiraSite, buttonClickedAnalyticsPayload, totalCount, visibleColumnKeys, currentViewMode, retrieveUrlForSmartCardRender, responseItems.length, onInsert, jqlUrl, datasourceId, cloudId]);
219
286
  var handleViewModeChange = function handleViewModeChange(selectedMode) {
287
+ userInteractionActions.current.add(DatasourceAction.DISPLAY_VIEW_CHANGED);
220
288
  setCurrentViewMode(selectedMode);
221
289
  };
290
+ var handleOnNextPage = useCallback(function () {
291
+ userInteractionActions.current.add(DatasourceAction.NEXT_PAGE_SCROLLED);
292
+ onNextPage();
293
+ }, [onNextPage]);
294
+ var handleVisibleColumnKeysChange = useCallback(function () {
295
+ var newVisibleColumnKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
296
+ var columnAction = getColumnAction(visibleColumnKeys || [], newVisibleColumnKeys);
297
+ userInteractionActions.current.add(columnAction);
298
+ setVisibleColumnKeys(newVisibleColumnKeys);
299
+ }, [visibleColumnKeys]);
222
300
  var issueLikeDataTableView = useMemo(function () {
223
301
  return jsx("div", {
224
302
  css: contentContainerStyles
@@ -229,11 +307,11 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
229
307
  items: responseItems,
230
308
  hasNextPage: hasNextPage,
231
309
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
232
- onNextPage: onNextPage,
310
+ onNextPage: handleOnNextPage,
233
311
  onLoadDatasourceDetails: loadDatasourceDetails,
234
- onVisibleColumnKeysChange: setVisibleColumnKeys
312
+ onVisibleColumnKeysChange: handleVisibleColumnKeysChange
235
313
  }));
236
- }, [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, responseItems, status, visibleColumnKeys]);
314
+ }, [columns, defaultVisibleColumnKeys, hasNextPage, handleVisibleColumnKeysChange, loadDatasourceDetails, handleOnNextPage, responseItems, status, visibleColumnKeys]);
237
315
  var renderCountModeContent = useCallback(function () {
238
316
  var url = selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url;
239
317
  if (status === 'unauthorized') {
@@ -271,9 +349,10 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
271
349
  // persist the empty state when making the initial /data request which contains the columns
272
350
  return jsx("div", {
273
351
  css: contentContainerStyles
274
- }, jsx(EmptyState, {
275
- testId: "jira-jql-datasource-modal--empty-state"
276
- }));
352
+ }, !!jql ? jsx(EmptyState, {
353
+ testId: "jira-jql-datasource-modal--empty-state",
354
+ isLoading: true
355
+ }) : jsx(InitialStateView, null));
277
356
  }
278
357
  var firstIssueUrl = retrieveUrlForSmartCardRender();
279
358
  if (responseItems.length === 1 && firstIssueUrl) {
@@ -284,7 +363,7 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
284
363
  }));
285
364
  }
286
365
  return issueLikeDataTableView;
287
- }, [status, columns.length, resolvedWithNoResults, jqlUrl, retrieveUrlForSmartCardRender, responseItems.length, issueLikeDataTableView, selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.displayName]);
366
+ }, [status, jqlUrl, resolvedWithNoResults, columns.length, retrieveUrlForSmartCardRender, responseItems.length, issueLikeDataTableView, selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.displayName, jql]);
288
367
  return jsx(ModalTransition, null, jsx(Modal, {
289
368
  testId: 'jira-jql-datasource-modal',
290
369
  onClose: onCancel,
@@ -327,7 +406,7 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
327
406
  }
328
407
  }))), jsx(Button, {
329
408
  appearance: "default",
330
- onClick: onCancel
409
+ onClick: onCancelClick
331
410
  }, jsx(FormattedMessage, modalMessages.cancelButtonText)), jsx(Button, {
332
411
  appearance: "primary",
333
412
  onClick: onInsertPressed,
@@ -338,11 +417,9 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
338
417
  var analyticsContextAttributes = {
339
418
  dataProvider: 'jira-issues'
340
419
  };
341
- var analyticsContextData = {
342
- packageName: "@atlaskit/link-datasource",
343
- packageVersion: "1.0.17",
420
+ var analyticsContextData = _objectSpread(_objectSpread({}, packageMetaData), {}, {
344
421
  source: 'datasourceConfigModal'
345
- };
422
+ });
346
423
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
347
424
  attributes: _objectSpread({}, analyticsContextAttributes)
348
425
  });
@@ -1 +1,3 @@
1
+ import { PackageMetaDataType } from './generated/analytics.types';
1
2
  export declare const EVENT_CHANNEL = "media";
3
+ export declare const packageMetaData: PackageMetaDataType;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates Typescript types for analytics events from analytics.spec.yaml
5
5
  *
6
- * @codegen <<SignedSource::cebde8a5da8d6359c36559622f48971b>>
6
+ * @codegen <<SignedSource::2d36fde4f879983a499f53e3fb70509b>>
7
7
  * @codegenCommand yarn workspace @atlassian/analytics-tooling run analytics:codegen link-datasource
8
8
  */
9
9
  export type PackageMetaDataType = {
@@ -37,9 +37,14 @@ export type ButtonClickedInsertAttributesType = {
37
37
  display: 'datasource_inline' | 'datasource_table' | 'inline';
38
38
  destinationObjectTypes: unknown[];
39
39
  searchMethod: 'datasource_search_query' | 'datasource_basic_filter' | 'datasource_saved_filter' | null;
40
+ extensionKey: string | null;
41
+ actions: unknown[];
40
42
  };
41
43
  export type ButtonClickedCancelAttributesType = {
42
44
  searchCount: number;
45
+ destinationObjectTypes: unknown[];
46
+ extensionKey: string | null;
47
+ actions: unknown[];
43
48
  };
44
49
  export type LinkClickedSingleItemAttributesType = {
45
50
  extensionKey: string | null;
@@ -0,0 +1,18 @@
1
+ export declare enum DatasourceAction {
2
+ COLUMN_ADDED = "column added",
3
+ COLUMN_REMOVED = "column removed",
4
+ COLUMN_REORDERED = "column reordered",
5
+ INSTANCE_UPDATED = "instance updated",
6
+ QUERY_UPDATED = "query updated",
7
+ DISPLAY_VIEW_CHANGED = "display view changed",
8
+ NEXT_PAGE_SCROLLED = "next page scrolled"
9
+ }
10
+ export declare enum DatasourceDisplay {
11
+ DATASOURCE_TABLE = "datasource_table",
12
+ DATASOURCE_INLINE = "datasource_inline",
13
+ INLINE = "inline"
14
+ }
15
+ export declare enum DatasourceSearchMethod {
16
+ DATASOURCE_BASIC_FILTER = "datasource_basic_filter",
17
+ DATASOURCE_SEARCH_QUERY = "datasource_search_query"
18
+ }
@@ -1,2 +1,3 @@
1
1
  import type { JiraSearchMethod } from '../common/types';
2
- export declare const mapSearchMethod: (searchMethod: JiraSearchMethod) => "datasource_search_query" | "datasource_basic_filter" | "unknown";
2
+ import { DatasourceSearchMethod } from './types';
3
+ export declare const mapSearchMethod: (searchMethod: JiraSearchMethod | null) => DatasourceSearchMethod | null;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const InitialStateSVG: () => JSX.Element;
@@ -0,0 +1,3 @@
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/react';
3
+ export declare const InitialStateView: () => jsx.JSX.Element;
@@ -0,0 +1,17 @@
1
+ export declare const initialStateViewMessages: {
2
+ searchTitle: {
3
+ id: string;
4
+ description: string;
5
+ defaultMessage: string;
6
+ };
7
+ searchDescription: {
8
+ id: string;
9
+ description: string;
10
+ defaultMessage: string;
11
+ };
12
+ learnMoreLink: {
13
+ id: string;
14
+ description: string;
15
+ defaultMessage: string;
16
+ };
17
+ };
@@ -1,5 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { jsx } from '@emotion/react';
3
+ import { DatasourceAction } from '../../../analytics/types';
3
4
  import { JiraIssuesConfigModalProps } from '../types';
5
+ /**
6
+ * This method should be called when one atomic action is performed on columns: adding new item, removing one item, changing items order.
7
+ * The assumption is that since only one action is changed at each time, we don't have to verify the actual contents of the lists.
8
+ */
9
+ export declare const getColumnAction: (oldVisibleColumnKeys: string[], newVisibleColumnKeys: string[]) => DatasourceAction;
4
10
  export declare const PlainJiraIssuesConfigModal: (props: JiraIssuesConfigModalProps) => jsx.JSX.Element;
5
11
  export declare const JiraIssuesConfigModal: import("react").ForwardRefExoticComponent<JiraIssuesConfigModalProps & import("@atlaskit/analytics-next").WithContextProps & import("react").RefAttributes<any>>;
@@ -1 +1,3 @@
1
+ import { PackageMetaDataType } from './generated/analytics.types';
1
2
  export declare const EVENT_CHANNEL = "media";
3
+ export declare const packageMetaData: PackageMetaDataType;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates Typescript types for analytics events from analytics.spec.yaml
5
5
  *
6
- * @codegen <<SignedSource::cebde8a5da8d6359c36559622f48971b>>
6
+ * @codegen <<SignedSource::2d36fde4f879983a499f53e3fb70509b>>
7
7
  * @codegenCommand yarn workspace @atlassian/analytics-tooling run analytics:codegen link-datasource
8
8
  */
9
9
  export type PackageMetaDataType = {
@@ -37,9 +37,14 @@ export type ButtonClickedInsertAttributesType = {
37
37
  display: 'datasource_inline' | 'datasource_table' | 'inline';
38
38
  destinationObjectTypes: unknown[];
39
39
  searchMethod: 'datasource_search_query' | 'datasource_basic_filter' | 'datasource_saved_filter' | null;
40
+ extensionKey: string | null;
41
+ actions: unknown[];
40
42
  };
41
43
  export type ButtonClickedCancelAttributesType = {
42
44
  searchCount: number;
45
+ destinationObjectTypes: unknown[];
46
+ extensionKey: string | null;
47
+ actions: unknown[];
43
48
  };
44
49
  export type LinkClickedSingleItemAttributesType = {
45
50
  extensionKey: string | null;
@@ -0,0 +1,18 @@
1
+ export declare enum DatasourceAction {
2
+ COLUMN_ADDED = "column added",
3
+ COLUMN_REMOVED = "column removed",
4
+ COLUMN_REORDERED = "column reordered",
5
+ INSTANCE_UPDATED = "instance updated",
6
+ QUERY_UPDATED = "query updated",
7
+ DISPLAY_VIEW_CHANGED = "display view changed",
8
+ NEXT_PAGE_SCROLLED = "next page scrolled"
9
+ }
10
+ export declare enum DatasourceDisplay {
11
+ DATASOURCE_TABLE = "datasource_table",
12
+ DATASOURCE_INLINE = "datasource_inline",
13
+ INLINE = "inline"
14
+ }
15
+ export declare enum DatasourceSearchMethod {
16
+ DATASOURCE_BASIC_FILTER = "datasource_basic_filter",
17
+ DATASOURCE_SEARCH_QUERY = "datasource_search_query"
18
+ }
@@ -1,2 +1,3 @@
1
1
  import type { JiraSearchMethod } from '../common/types';
2
- export declare const mapSearchMethod: (searchMethod: JiraSearchMethod) => "datasource_search_query" | "datasource_basic_filter" | "unknown";
2
+ import { DatasourceSearchMethod } from './types';
3
+ export declare const mapSearchMethod: (searchMethod: JiraSearchMethod | null) => DatasourceSearchMethod | null;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const InitialStateSVG: () => JSX.Element;
@@ -0,0 +1,3 @@
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/react';
3
+ export declare const InitialStateView: () => jsx.JSX.Element;
@@ -0,0 +1,17 @@
1
+ export declare const initialStateViewMessages: {
2
+ searchTitle: {
3
+ id: string;
4
+ description: string;
5
+ defaultMessage: string;
6
+ };
7
+ searchDescription: {
8
+ id: string;
9
+ description: string;
10
+ defaultMessage: string;
11
+ };
12
+ learnMoreLink: {
13
+ id: string;
14
+ description: string;
15
+ defaultMessage: string;
16
+ };
17
+ };
@@ -1,5 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { jsx } from '@emotion/react';
3
+ import { DatasourceAction } from '../../../analytics/types';
3
4
  import { JiraIssuesConfigModalProps } from '../types';
5
+ /**
6
+ * This method should be called when one atomic action is performed on columns: adding new item, removing one item, changing items order.
7
+ * The assumption is that since only one action is changed at each time, we don't have to verify the actual contents of the lists.
8
+ */
9
+ export declare const getColumnAction: (oldVisibleColumnKeys: string[], newVisibleColumnKeys: string[]) => DatasourceAction;
4
10
  export declare const PlainJiraIssuesConfigModal: (props: JiraIssuesConfigModalProps) => jsx.JSX.Element;
5
11
  export declare const JiraIssuesConfigModal: import("react").ForwardRefExoticComponent<JiraIssuesConfigModalProps & import("@atlaskit/analytics-next").WithContextProps & import("react").RefAttributes<any>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "1.0.17",
3
+ "version": "1.0.19",
4
4
  "description": "UI Components to support linking platform dataset feature",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -33,8 +33,8 @@
33
33
  "@atlaskit/adf-schema": "28.1.2",
34
34
  "@atlaskit/analytics-next": "^9.1.3",
35
35
  "@atlaskit/avatar": "^21.3.0",
36
- "@atlaskit/button": "^16.9.0",
37
- "@atlaskit/dropdown-menu": "^11.12.0",
36
+ "@atlaskit/button": "^16.10.0",
37
+ "@atlaskit/dropdown-menu": "^11.13.0",
38
38
  "@atlaskit/editor-prosemirror": "1.1.0",
39
39
  "@atlaskit/empty-state": "^7.5.0",
40
40
  "@atlaskit/form": "^8.11.0",
@@ -53,12 +53,12 @@
53
53
  "@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-autoscroll": "^0.6.0",
54
54
  "@atlaskit/pragmatic-drag-and-drop-react-indicator": "^0.16.0",
55
55
  "@atlaskit/select": "^16.5.0",
56
- "@atlaskit/smart-card": "^26.20.0",
56
+ "@atlaskit/smart-card": "^26.23.0",
57
57
  "@atlaskit/spinner": "^15.5.0",
58
- "@atlaskit/tag": "^11.5.0",
58
+ "@atlaskit/tag": "^11.6.0",
59
59
  "@atlaskit/textfield": "5.6.6",
60
60
  "@atlaskit/theme": "^12.6.0",
61
- "@atlaskit/tokens": "^1.20.0",
61
+ "@atlaskit/tokens": "^1.21.0",
62
62
  "@atlaskit/tooltip": "^17.8.0",
63
63
  "@atlassianlabs/jql-editor": "^2.0.1",
64
64
  "@babel/runtime": "^7.0.0",