@atlaskit/link-datasource 1.2.3 → 1.2.4

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 (43) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/analytics/constants.js +1 -1
  3. package/dist/cjs/analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience.js +18 -0
  4. package/dist/cjs/analytics/ufoExperiences/{useDataRenderedUfoExperience.js → hooks/useDataRenderedUfoExperience.js} +1 -1
  5. package/dist/cjs/analytics/ufoExperiences/index.js +9 -1
  6. package/dist/cjs/ui/assets-modal/modal/index.js +1 -1
  7. package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +5 -2
  8. package/dist/cjs/ui/issue-like-table/column-picker/index.js +12 -1
  9. package/dist/cjs/ui/issue-like-table/index.js +22 -12
  10. package/dist/cjs/ui/jira-issues-modal/modal/index.js +6 -3
  11. package/dist/es2019/analytics/constants.js +1 -1
  12. package/dist/es2019/analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience.js +11 -0
  13. package/dist/es2019/analytics/ufoExperiences/{useDataRenderedUfoExperience.js → hooks/useDataRenderedUfoExperience.js} +1 -1
  14. package/dist/es2019/analytics/ufoExperiences/index.js +9 -1
  15. package/dist/es2019/ui/assets-modal/modal/index.js +1 -1
  16. package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +5 -2
  17. package/dist/es2019/ui/issue-like-table/column-picker/index.js +12 -1
  18. package/dist/es2019/ui/issue-like-table/index.js +14 -4
  19. package/dist/es2019/ui/jira-issues-modal/modal/index.js +6 -3
  20. package/dist/esm/analytics/constants.js +1 -1
  21. package/dist/esm/analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience.js +11 -0
  22. package/dist/esm/analytics/ufoExperiences/{useDataRenderedUfoExperience.js → hooks/useDataRenderedUfoExperience.js} +1 -1
  23. package/dist/esm/analytics/ufoExperiences/index.js +9 -1
  24. package/dist/esm/ui/assets-modal/modal/index.js +1 -1
  25. package/dist/esm/ui/datasource-table-view/datasourceTableView.js +5 -2
  26. package/dist/esm/ui/issue-like-table/column-picker/index.js +12 -1
  27. package/dist/esm/ui/issue-like-table/index.js +23 -13
  28. package/dist/esm/ui/jira-issues-modal/modal/index.js +6 -3
  29. package/dist/types/analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience.d.ts +2 -0
  30. package/dist/types/analytics/ufoExperiences/types.d.ts +7 -1
  31. package/dist/types/ui/issue-like-table/column-picker/index.d.ts +1 -1
  32. package/dist/types/ui/issue-like-table/column-picker/types.d.ts +1 -0
  33. package/dist/types/ui/issue-like-table/index.d.ts +1 -1
  34. package/dist/types/ui/issue-like-table/types.d.ts +4 -0
  35. package/dist/types-ts4.5/analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience.d.ts +2 -0
  36. package/dist/types-ts4.5/analytics/ufoExperiences/types.d.ts +7 -1
  37. package/dist/types-ts4.5/ui/issue-like-table/column-picker/index.d.ts +1 -1
  38. package/dist/types-ts4.5/ui/issue-like-table/column-picker/types.d.ts +1 -0
  39. package/dist/types-ts4.5/ui/issue-like-table/index.d.ts +1 -1
  40. package/dist/types-ts4.5/ui/issue-like-table/types.d.ts +4 -0
  41. package/package.json +1 -1
  42. /package/dist/types/analytics/ufoExperiences/{useDataRenderedUfoExperience.d.ts → hooks/useDataRenderedUfoExperience.d.ts} +0 -0
  43. /package/dist/types-ts4.5/analytics/ufoExperiences/{useDataRenderedUfoExperience.d.ts → hooks/useDataRenderedUfoExperience.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 1.2.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`172f52c6df8`](https://bitbucket.org/atlassian/atlassian-frontend/commits/172f52c6df8) - Add UFO metrics to measure column picker performance
8
+
3
9
  ## 1.2.3
4
10
 
5
11
  ### Patch Changes
@@ -8,6 +8,6 @@ var EVENT_CHANNEL = 'media';
8
8
  exports.EVENT_CHANNEL = EVENT_CHANNEL;
9
9
  var packageMetaData = {
10
10
  packageName: "@atlaskit/link-datasource",
11
- packageVersion: "1.2.3"
11
+ packageVersion: "1.2.4"
12
12
  };
13
13
  exports.packageMetaData = packageMetaData;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useColumnPickerRenderedFailedUfoExperience = void 0;
7
+ var _react = require("react");
8
+ var _index = require("../index");
9
+ var useColumnPickerRenderedFailedUfoExperience = function useColumnPickerRenderedFailedUfoExperience(status, experienceId) {
10
+ (0, _react.useEffect)(function () {
11
+ if (status === 'rejected' && experienceId) {
12
+ (0, _index.failUfoExperience)({
13
+ name: 'column-picker-rendered'
14
+ }, experienceId);
15
+ }
16
+ }, [experienceId, status]);
17
+ };
18
+ exports.useColumnPickerRenderedFailedUfoExperience = useColumnPickerRenderedFailedUfoExperience;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useDataRenderedUfoExperience = void 0;
7
7
  var _react = require("react");
8
- var _index = require("./index");
8
+ var _index = require("../index");
9
9
  /**
10
10
  * Hook to mark DataRendered UFO experience as either Success or Failure
11
11
  * 1. Success when
@@ -12,8 +12,16 @@ var datasourcePageSegmentLoadExperienceConfig = {
12
12
  type: _ufo.ExperienceTypes.Load,
13
13
  performanceType: _ufo.ExperiencePerformanceTypes.PageSegmentLoad
14
14
  };
15
+ var columnPickerCustomExperienceConfig = {
16
+ platform: {
17
+ component: 'datasource'
18
+ },
19
+ type: _ufo.ExperienceTypes.Operation,
20
+ performanceType: _ufo.ExperiencePerformanceTypes.Custom
21
+ };
15
22
  var ufoExperiences = {
16
- 'datasource-rendered': new _ufo.ConcurrentExperience('datasource-rendered', datasourcePageSegmentLoadExperienceConfig)
23
+ 'datasource-rendered': new _ufo.ConcurrentExperience('datasource-rendered', datasourcePageSegmentLoadExperienceConfig),
24
+ 'column-picker-rendered': new _ufo.ConcurrentExperience('column-picker-rendered', columnPickerCustomExperienceConfig)
17
25
  };
18
26
  var startUfoExperience = function startUfoExperience(_ref, id) {
19
27
  var name = _ref.name,
@@ -231,7 +231,7 @@ var analyticsContextAttributes = {
231
231
  };
232
232
  var analyticsContextData = {
233
233
  packageName: "@atlaskit/link-datasource",
234
- packageVersion: "1.2.3",
234
+ packageVersion: "1.2.4",
235
235
  source: 'datasourceConfigModal'
236
236
  };
237
237
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
@@ -12,7 +12,8 @@ var _analyticsNext = require("@atlaskit/analytics-next");
12
12
  var _analytics = require("../../analytics");
13
13
  var _constants = require("../../analytics/constants");
14
14
  var _ufoExperiences = require("../../analytics/ufoExperiences");
15
- var _useDataRenderedUfoExperience = require("../../analytics/ufoExperiences/useDataRenderedUfoExperience");
15
+ var _useColumnPickerRenderedFailedUfoExperience = require("../../analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience");
16
+ var _useDataRenderedUfoExperience = require("../../analytics/ufoExperiences/hooks/useDataRenderedUfoExperience");
16
17
  var _useDatasourceTableState = require("../../hooks/useDatasourceTableState");
17
18
  var _accessRequired = require("../common/error-state/access-required");
18
19
  var _loadingError = require("../common/error-state/loading-error");
@@ -88,6 +89,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
88
89
  }, tableRenderInstanceId);
89
90
  }
90
91
  }, [datasourceId, parameters, status, tableRenderInstanceId, visibleColumnKeys]);
92
+ (0, _useColumnPickerRenderedFailedUfoExperience.useColumnPickerRenderedFailedUfoExperience)(status, tableRenderInstanceId);
91
93
  (0, _useDataRenderedUfoExperience.useDataRenderedUfoExperience)({
92
94
  status: status,
93
95
  experienceId: tableRenderInstanceId,
@@ -131,7 +133,8 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
131
133
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
132
134
  onVisibleColumnKeysChange: onVisibleColumnKeysChange,
133
135
  scrollableContainerHeight: 590,
134
- parentContainerRenderInstanceId: tableRenderInstanceId
136
+ parentContainerRenderInstanceId: tableRenderInstanceId,
137
+ extensionKey: extensionKey
135
138
  }) : (0, _react2.jsx)(_emptyState.default, {
136
139
  testId: "datasource-table-view-skeleton",
137
140
  isCompact: true,
@@ -16,6 +16,7 @@ var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-
16
16
  var _board = _interopRequireDefault(require("@atlaskit/icon/glyph/board"));
17
17
  var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
18
18
  var _select = require("@atlaskit/select");
19
+ var _ufoExperiences = require("../../../analytics/ufoExperiences");
19
20
  var _concatenatedMenuList = require("./concatenated-menu-list");
20
21
  var _messages = require("./messages");
21
22
  var _excluded = ["isOpen"];
@@ -24,7 +25,8 @@ var ColumnPicker = function ColumnPicker(_ref) {
24
25
  var columns = _ref.columns,
25
26
  selectedColumnKeys = _ref.selectedColumnKeys,
26
27
  onSelectedColumnKeysChange = _ref.onSelectedColumnKeysChange,
27
- onOpen = _ref.onOpen;
28
+ onOpen = _ref.onOpen,
29
+ parentContainerRenderInstanceId = _ref.parentContainerRenderInstanceId;
28
30
  var intl = (0, _reactIntlNext.useIntl)();
29
31
  var _useState = (0, _react.useState)([]),
30
32
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -102,6 +104,15 @@ var ColumnPicker = function ColumnPicker(_ref) {
102
104
  pickerRef === null || pickerRef === void 0 ? void 0 : (_pickerRef$current = pickerRef.current) === null || _pickerRef$current === void 0 ? void 0 : (_pickerRef$current$se = _pickerRef$current.selectRef) === null || _pickerRef$current$se === void 0 ? void 0 : (_pickerRef$current$se2 = _pickerRef$current$se.inputRef) === null || _pickerRef$current$se2 === void 0 ? void 0 : _pickerRef$current$se2.focus();
103
105
  }
104
106
  }, [allOptions]);
107
+ (0, _react.useEffect)(function () {
108
+ if (allOptions.length) {
109
+ if (parentContainerRenderInstanceId) {
110
+ (0, _ufoExperiences.succeedUfoExperience)({
111
+ name: 'column-picker-rendered'
112
+ }, parentContainerRenderInstanceId);
113
+ }
114
+ }
115
+ }, [allOptions, parentContainerRenderInstanceId]);
105
116
  return (0, _react2.jsx)(_select.PopupSelect, {
106
117
  classNamePrefix: 'column-picker-popup',
107
118
  testId: 'column-picker-popup',
@@ -124,7 +124,8 @@ var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
124
124
  status = _ref2.status,
125
125
  hasNextPage = _ref2.hasNextPage,
126
126
  scrollableContainerHeight = _ref2.scrollableContainerHeight,
127
- parentContainerRenderInstanceId = _ref2.parentContainerRenderInstanceId;
127
+ parentContainerRenderInstanceId = _ref2.parentContainerRenderInstanceId,
128
+ extensionKey = _ref2.extensionKey;
128
129
  var tableId = (0, _react.useMemo)(function () {
129
130
  return Symbol('unique-id');
130
131
  }, []);
@@ -317,23 +318,31 @@ var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
317
318
  }
318
319
  return _context.abrupt("return");
319
320
  case 2:
320
- _context.prev = 2;
321
- _context.next = 5;
321
+ if (parentContainerRenderInstanceId) {
322
+ (0, _ufoExperiences.startUfoExperience)({
323
+ name: 'column-picker-rendered',
324
+ metadata: {
325
+ extensionKey: extensionKey !== null && extensionKey !== void 0 ? extensionKey : undefined
326
+ }
327
+ }, parentContainerRenderInstanceId);
328
+ }
329
+ _context.prev = 3;
330
+ _context.next = 6;
322
331
  return onLoadDatasourceDetails();
323
- case 5:
332
+ case 6:
324
333
  setHasFullSchema(true);
325
- _context.next = 11;
334
+ _context.next = 12;
326
335
  break;
327
- case 8:
328
- _context.prev = 8;
329
- _context.t0 = _context["catch"](2);
336
+ case 9:
337
+ _context.prev = 9;
338
+ _context.t0 = _context["catch"](3);
330
339
  setHasFullSchema(false);
331
- case 11:
340
+ case 12:
332
341
  case "end":
333
342
  return _context.stop();
334
343
  }
335
- }, _callee, null, [[2, 8]]);
336
- })), [hasFullSchema, onLoadDatasourceDetails]);
344
+ }, _callee, null, [[3, 9]]);
345
+ })), [parentContainerRenderInstanceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
337
346
  return (0, _react2.jsx)("div", {
338
347
  ref: containerRef,
339
348
  css: scrollableContainerHeight ? scrollableContainerStyles : null,
@@ -396,7 +405,8 @@ var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
396
405
  columns: hasFullSchema ? orderedColumns : [],
397
406
  selectedColumnKeys: hasFullSchema ? visibleColumnKeys : [],
398
407
  onSelectedColumnKeysChange: onSelectedColumnKeysChange,
399
- onOpen: handlePickerOpen
408
+ onOpen: handlePickerOpen,
409
+ parentContainerRenderInstanceId: parentContainerRenderInstanceId
400
410
  })))), (0, _react2.jsx)("tbody", {
401
411
  css: noDefaultBorderStyles,
402
412
  "data-testid": testId && "".concat(testId, "--body")
@@ -23,7 +23,8 @@ var _analytics = require("../../../analytics");
23
23
  var _constants = require("../../../analytics/constants");
24
24
  var _types = require("../../../analytics/types");
25
25
  var _ufoExperiences = require("../../../analytics/ufoExperiences");
26
- var _useDataRenderedUfoExperience = require("../../../analytics/ufoExperiences/useDataRenderedUfoExperience");
26
+ var _useColumnPickerRenderedFailedUfoExperience = require("../../../analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience");
27
+ var _useDataRenderedUfoExperience = require("../../../analytics/ufoExperiences/hooks/useDataRenderedUfoExperience");
27
28
  var _utils = require("../../../analytics/utils");
28
29
  var _useDatasourceTableState = require("../../../hooks/useDatasourceTableState");
29
30
  var _getAvailableJiraSites = require("../../../services/getAvailableJiraSites");
@@ -274,6 +275,7 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
274
275
  fireCountViewedEvent();
275
276
  }
276
277
  }, [currentViewMode, status, fireIssueViewAnalytics, fireCountViewedEvent]);
278
+ (0, _useColumnPickerRenderedFailedUfoExperience.useColumnPickerRenderedFailedUfoExperience)(status, modalRenderInstanceId);
277
279
  var onSearch = (0, _react.useCallback)(function (newParameters, searchMethod) {
278
280
  searchCount.current++;
279
281
  lastSearchMethodRef.current = searchMethod;
@@ -399,9 +401,10 @@ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
399
401
  onNextPage: handleOnNextPage,
400
402
  onLoadDatasourceDetails: loadDatasourceDetails,
401
403
  onVisibleColumnKeysChange: handleVisibleColumnKeysChange,
402
- parentContainerRenderInstanceId: modalRenderInstanceId
404
+ parentContainerRenderInstanceId: modalRenderInstanceId,
405
+ extensionKey: extensionKey
403
406
  }));
404
- }, [columns, defaultVisibleColumnKeys, handleOnNextPage, handleVisibleColumnKeysChange, hasNextPage, loadDatasourceDetails, modalRenderInstanceId, responseItems, status, visibleColumnKeys]);
407
+ }, [columns, defaultVisibleColumnKeys, handleOnNextPage, handleVisibleColumnKeysChange, hasNextPage, loadDatasourceDetails, modalRenderInstanceId, responseItems, status, visibleColumnKeys, extensionKey]);
405
408
  var renderCountModeContent = (0, _react.useCallback)(function () {
406
409
  var url = selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url;
407
410
  if (status === 'unauthorized') {
@@ -1,5 +1,5 @@
1
1
  export const EVENT_CHANNEL = 'media';
2
2
  export const packageMetaData = {
3
3
  packageName: "@atlaskit/link-datasource",
4
- packageVersion: "1.2.3"
4
+ packageVersion: "1.2.4"
5
5
  };
@@ -0,0 +1,11 @@
1
+ import { useEffect } from 'react';
2
+ import { failUfoExperience } from '../index';
3
+ export const useColumnPickerRenderedFailedUfoExperience = (status, experienceId) => {
4
+ useEffect(() => {
5
+ if (status === 'rejected' && experienceId) {
6
+ failUfoExperience({
7
+ name: 'column-picker-rendered'
8
+ }, experienceId);
9
+ }
10
+ }, [experienceId, status]);
11
+ };
@@ -1,5 +1,5 @@
1
1
  import { useEffect } from 'react';
2
- import { addMetadataToExperience, failUfoExperience, succeedUfoExperience } from './index';
2
+ import { addMetadataToExperience, failUfoExperience, succeedUfoExperience } from '../index';
3
3
  /**
4
4
  * Hook to mark DataRendered UFO experience as either Success or Failure
5
5
  * 1. Success when
@@ -6,8 +6,16 @@ const datasourcePageSegmentLoadExperienceConfig = {
6
6
  type: ExperienceTypes.Load,
7
7
  performanceType: ExperiencePerformanceTypes.PageSegmentLoad
8
8
  };
9
+ const columnPickerCustomExperienceConfig = {
10
+ platform: {
11
+ component: 'datasource'
12
+ },
13
+ type: ExperienceTypes.Operation,
14
+ performanceType: ExperiencePerformanceTypes.Custom
15
+ };
9
16
  const ufoExperiences = {
10
- 'datasource-rendered': new ConcurrentExperience('datasource-rendered', datasourcePageSegmentLoadExperienceConfig)
17
+ 'datasource-rendered': new ConcurrentExperience('datasource-rendered', datasourcePageSegmentLoadExperienceConfig),
18
+ 'column-picker-rendered': new ConcurrentExperience('column-picker-rendered', columnPickerCustomExperienceConfig)
11
19
  };
12
20
  export const startUfoExperience = ({
13
21
  name,
@@ -205,7 +205,7 @@ const analyticsContextAttributes = {
205
205
  };
206
206
  const analyticsContextData = {
207
207
  packageName: "@atlaskit/link-datasource",
208
- packageVersion: "1.2.3",
208
+ packageVersion: "1.2.4",
209
209
  source: 'datasourceConfigModal'
210
210
  };
211
211
  const contextData = {
@@ -6,7 +6,8 @@ import { withAnalyticsContext } from '@atlaskit/analytics-next';
6
6
  import { useDatasourceAnalyticsEvents } from '../../analytics';
7
7
  import { packageMetaData } from '../../analytics/constants';
8
8
  import { startUfoExperience } from '../../analytics/ufoExperiences';
9
- import { useDataRenderedUfoExperience } from '../../analytics/ufoExperiences/useDataRenderedUfoExperience';
9
+ import { useColumnPickerRenderedFailedUfoExperience } from '../../analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience';
10
+ import { useDataRenderedUfoExperience } from '../../analytics/ufoExperiences/hooks/useDataRenderedUfoExperience';
10
11
  import { useDatasourceTableState } from '../../hooks/useDatasourceTableState';
11
12
  import { AccessRequired } from '../common/error-state/access-required';
12
13
  import { LoadingError } from '../common/error-state/loading-error';
@@ -83,6 +84,7 @@ const DatasourceTableViewWithoutAnalytics = ({
83
84
  }, tableRenderInstanceId);
84
85
  }
85
86
  }, [datasourceId, parameters, status, tableRenderInstanceId, visibleColumnKeys]);
87
+ useColumnPickerRenderedFailedUfoExperience(status, tableRenderInstanceId);
86
88
  useDataRenderedUfoExperience({
87
89
  status,
88
90
  experienceId: tableRenderInstanceId,
@@ -126,7 +128,8 @@ const DatasourceTableViewWithoutAnalytics = ({
126
128
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
127
129
  onVisibleColumnKeysChange: onVisibleColumnKeysChange,
128
130
  scrollableContainerHeight: 590,
129
- parentContainerRenderInstanceId: tableRenderInstanceId
131
+ parentContainerRenderInstanceId: tableRenderInstanceId,
132
+ extensionKey: extensionKey
130
133
  }) : jsx(EmptyState, {
131
134
  testId: "datasource-table-view-skeleton",
132
135
  isCompact: true,
@@ -7,13 +7,15 @@ import Button from '@atlaskit/button/standard-button';
7
7
  import BoardIcon from '@atlaskit/icon/glyph/board';
8
8
  import ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';
9
9
  import { CheckboxOption, createFilter, PopupSelect } from '@atlaskit/select';
10
+ import { succeedUfoExperience } from '../../../analytics/ufoExperiences';
10
11
  import { ConcatenatedMenuList } from './concatenated-menu-list';
11
12
  import { columnPickerMessages } from './messages';
12
13
  export const ColumnPicker = ({
13
14
  columns,
14
15
  selectedColumnKeys,
15
16
  onSelectedColumnKeysChange,
16
- onOpen
17
+ onOpen,
18
+ parentContainerRenderInstanceId
17
19
  }) => {
18
20
  const intl = useIntl();
19
21
  const [allOptions, setAllOptions] = useState([]);
@@ -77,6 +79,15 @@ export const ColumnPicker = ({
77
79
  pickerRef === null || pickerRef === void 0 ? void 0 : (_pickerRef$current = pickerRef.current) === null || _pickerRef$current === void 0 ? void 0 : (_pickerRef$current$se = _pickerRef$current.selectRef) === null || _pickerRef$current$se === void 0 ? void 0 : (_pickerRef$current$se2 = _pickerRef$current$se.inputRef) === null || _pickerRef$current$se2 === void 0 ? void 0 : _pickerRef$current$se2.focus();
78
80
  }
79
81
  }, [allOptions]);
82
+ useEffect(() => {
83
+ if (allOptions.length) {
84
+ if (parentContainerRenderInstanceId) {
85
+ succeedUfoExperience({
86
+ name: 'column-picker-rendered'
87
+ }, parentContainerRenderInstanceId);
88
+ }
89
+ }
90
+ }, [allOptions, parentContainerRenderInstanceId]);
80
91
  return jsx(PopupSelect, {
81
92
  classNamePrefix: 'column-picker-popup',
82
93
  testId: 'column-picker-popup',
@@ -12,7 +12,7 @@ import { monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/adapter/el
12
12
  import { combine } from '@atlaskit/pragmatic-drag-and-drop/util/combine';
13
13
  import { N40 } from '@atlaskit/theme/colors';
14
14
  import Tooltip from '@atlaskit/tooltip';
15
- import { succeedUfoExperience } from '../../analytics/ufoExperiences';
15
+ import { startUfoExperience, succeedUfoExperience } from '../../analytics/ufoExperiences';
16
16
  import { ColumnPicker } from './column-picker';
17
17
  import { DragColumnPreview } from './drag-column-preview';
18
18
  import { DraggableTableHeading } from './draggable-table-heading';
@@ -125,7 +125,8 @@ export const IssueLikeDataTableView = ({
125
125
  status,
126
126
  hasNextPage,
127
127
  scrollableContainerHeight,
128
- parentContainerRenderInstanceId
128
+ parentContainerRenderInstanceId,
129
+ extensionKey
129
130
  }) => {
130
131
  const tableId = useMemo(() => Symbol('unique-id'), []);
131
132
  const [lastRowElement, setLastRowElement] = useState(null);
@@ -287,13 +288,21 @@ export const IssueLikeDataTableView = ({
287
288
  if (hasFullSchema) {
288
289
  return;
289
290
  }
291
+ if (parentContainerRenderInstanceId) {
292
+ startUfoExperience({
293
+ name: 'column-picker-rendered',
294
+ metadata: {
295
+ extensionKey: extensionKey !== null && extensionKey !== void 0 ? extensionKey : undefined
296
+ }
297
+ }, parentContainerRenderInstanceId);
298
+ }
290
299
  try {
291
300
  await onLoadDatasourceDetails();
292
301
  setHasFullSchema(true);
293
302
  } catch (e) {
294
303
  setHasFullSchema(false);
295
304
  }
296
- }, [hasFullSchema, onLoadDatasourceDetails]);
305
+ }, [parentContainerRenderInstanceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
297
306
  return jsx("div", {
298
307
  ref: containerRef,
299
308
  css: scrollableContainerHeight ? scrollableContainerStyles : null,
@@ -357,7 +366,8 @@ export const IssueLikeDataTableView = ({
357
366
  columns: hasFullSchema ? orderedColumns : [],
358
367
  selectedColumnKeys: hasFullSchema ? visibleColumnKeys : [],
359
368
  onSelectedColumnKeysChange: onSelectedColumnKeysChange,
360
- onOpen: handlePickerOpen
369
+ onOpen: handlePickerOpen,
370
+ parentContainerRenderInstanceId: parentContainerRenderInstanceId
361
371
  })))), jsx("tbody", {
362
372
  css: noDefaultBorderStyles,
363
373
  "data-testid": testId && `${testId}--body`
@@ -12,7 +12,8 @@ import { EVENT_CHANNEL, useDatasourceAnalyticsEvents } from '../../../analytics'
12
12
  import { packageMetaData } from '../../../analytics/constants';
13
13
  import { DatasourceAction, DatasourceDisplay } from '../../../analytics/types';
14
14
  import { startUfoExperience } from '../../../analytics/ufoExperiences';
15
- import { useDataRenderedUfoExperience } from '../../../analytics/ufoExperiences/useDataRenderedUfoExperience';
15
+ import { useColumnPickerRenderedFailedUfoExperience } from '../../../analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience';
16
+ import { useDataRenderedUfoExperience } from '../../../analytics/ufoExperiences/hooks/useDataRenderedUfoExperience';
16
17
  import { mapSearchMethod } from '../../../analytics/utils';
17
18
  import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
18
19
  import { getAvailableJiraSites } from '../../../services/getAvailableJiraSites';
@@ -228,6 +229,7 @@ export const PlainJiraIssuesConfigModal = props => {
228
229
  fireCountViewedEvent();
229
230
  }
230
231
  }, [currentViewMode, status, fireIssueViewAnalytics, fireCountViewedEvent]);
232
+ useColumnPickerRenderedFailedUfoExperience(status, modalRenderInstanceId);
231
233
  const onSearch = useCallback((newParameters, searchMethod) => {
232
234
  searchCount.current++;
233
235
  lastSearchMethodRef.current = searchMethod;
@@ -350,8 +352,9 @@ export const PlainJiraIssuesConfigModal = props => {
350
352
  onNextPage: handleOnNextPage,
351
353
  onLoadDatasourceDetails: loadDatasourceDetails,
352
354
  onVisibleColumnKeysChange: handleVisibleColumnKeysChange,
353
- parentContainerRenderInstanceId: modalRenderInstanceId
354
- })), [columns, defaultVisibleColumnKeys, handleOnNextPage, handleVisibleColumnKeysChange, hasNextPage, loadDatasourceDetails, modalRenderInstanceId, responseItems, status, visibleColumnKeys]);
355
+ parentContainerRenderInstanceId: modalRenderInstanceId,
356
+ extensionKey: extensionKey
357
+ })), [columns, defaultVisibleColumnKeys, handleOnNextPage, handleVisibleColumnKeysChange, hasNextPage, loadDatasourceDetails, modalRenderInstanceId, responseItems, status, visibleColumnKeys, extensionKey]);
355
358
  const renderCountModeContent = useCallback(() => {
356
359
  const url = selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url;
357
360
  if (status === 'unauthorized') {
@@ -1,5 +1,5 @@
1
1
  export var EVENT_CHANNEL = 'media';
2
2
  export var packageMetaData = {
3
3
  packageName: "@atlaskit/link-datasource",
4
- packageVersion: "1.2.3"
4
+ packageVersion: "1.2.4"
5
5
  };
@@ -0,0 +1,11 @@
1
+ import { useEffect } from 'react';
2
+ import { failUfoExperience } from '../index';
3
+ export var useColumnPickerRenderedFailedUfoExperience = function useColumnPickerRenderedFailedUfoExperience(status, experienceId) {
4
+ useEffect(function () {
5
+ if (status === 'rejected' && experienceId) {
6
+ failUfoExperience({
7
+ name: 'column-picker-rendered'
8
+ }, experienceId);
9
+ }
10
+ }, [experienceId, status]);
11
+ };
@@ -1,5 +1,5 @@
1
1
  import { useEffect } from 'react';
2
- import { addMetadataToExperience, failUfoExperience, succeedUfoExperience } from './index';
2
+ import { addMetadataToExperience, failUfoExperience, succeedUfoExperience } from '../index';
3
3
  /**
4
4
  * Hook to mark DataRendered UFO experience as either Success or Failure
5
5
  * 1. Success when
@@ -6,8 +6,16 @@ var datasourcePageSegmentLoadExperienceConfig = {
6
6
  type: ExperienceTypes.Load,
7
7
  performanceType: ExperiencePerformanceTypes.PageSegmentLoad
8
8
  };
9
+ var columnPickerCustomExperienceConfig = {
10
+ platform: {
11
+ component: 'datasource'
12
+ },
13
+ type: ExperienceTypes.Operation,
14
+ performanceType: ExperiencePerformanceTypes.Custom
15
+ };
9
16
  var ufoExperiences = {
10
- 'datasource-rendered': new ConcurrentExperience('datasource-rendered', datasourcePageSegmentLoadExperienceConfig)
17
+ 'datasource-rendered': new ConcurrentExperience('datasource-rendered', datasourcePageSegmentLoadExperienceConfig),
18
+ 'column-picker-rendered': new ConcurrentExperience('column-picker-rendered', columnPickerCustomExperienceConfig)
11
19
  };
12
20
  export var startUfoExperience = function startUfoExperience(_ref, id) {
13
21
  var name = _ref.name,
@@ -222,7 +222,7 @@ var analyticsContextAttributes = {
222
222
  };
223
223
  var analyticsContextData = {
224
224
  packageName: "@atlaskit/link-datasource",
225
- packageVersion: "1.2.3",
225
+ packageVersion: "1.2.4",
226
226
  source: 'datasourceConfigModal'
227
227
  };
228
228
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
@@ -6,7 +6,8 @@ import { withAnalyticsContext } from '@atlaskit/analytics-next';
6
6
  import { useDatasourceAnalyticsEvents } from '../../analytics';
7
7
  import { packageMetaData } from '../../analytics/constants';
8
8
  import { startUfoExperience } from '../../analytics/ufoExperiences';
9
- import { useDataRenderedUfoExperience } from '../../analytics/ufoExperiences/useDataRenderedUfoExperience';
9
+ import { useColumnPickerRenderedFailedUfoExperience } from '../../analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience';
10
+ import { useDataRenderedUfoExperience } from '../../analytics/ufoExperiences/hooks/useDataRenderedUfoExperience';
10
11
  import { useDatasourceTableState } from '../../hooks/useDatasourceTableState';
11
12
  import { AccessRequired } from '../common/error-state/access-required';
12
13
  import { LoadingError } from '../common/error-state/loading-error';
@@ -80,6 +81,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
80
81
  }, tableRenderInstanceId);
81
82
  }
82
83
  }, [datasourceId, parameters, status, tableRenderInstanceId, visibleColumnKeys]);
84
+ useColumnPickerRenderedFailedUfoExperience(status, tableRenderInstanceId);
83
85
  useDataRenderedUfoExperience({
84
86
  status: status,
85
87
  experienceId: tableRenderInstanceId,
@@ -123,7 +125,8 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
123
125
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
124
126
  onVisibleColumnKeysChange: onVisibleColumnKeysChange,
125
127
  scrollableContainerHeight: 590,
126
- parentContainerRenderInstanceId: tableRenderInstanceId
128
+ parentContainerRenderInstanceId: tableRenderInstanceId,
129
+ extensionKey: extensionKey
127
130
  }) : jsx(EmptyState, {
128
131
  testId: "datasource-table-view-skeleton",
129
132
  isCompact: true,
@@ -11,13 +11,15 @@ import Button from '@atlaskit/button/standard-button';
11
11
  import BoardIcon from '@atlaskit/icon/glyph/board';
12
12
  import ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';
13
13
  import { CheckboxOption, createFilter, PopupSelect } from '@atlaskit/select';
14
+ import { succeedUfoExperience } from '../../../analytics/ufoExperiences';
14
15
  import { ConcatenatedMenuList } from './concatenated-menu-list';
15
16
  import { columnPickerMessages } from './messages';
16
17
  export var ColumnPicker = function ColumnPicker(_ref) {
17
18
  var columns = _ref.columns,
18
19
  selectedColumnKeys = _ref.selectedColumnKeys,
19
20
  onSelectedColumnKeysChange = _ref.onSelectedColumnKeysChange,
20
- onOpen = _ref.onOpen;
21
+ onOpen = _ref.onOpen,
22
+ parentContainerRenderInstanceId = _ref.parentContainerRenderInstanceId;
21
23
  var intl = useIntl();
22
24
  var _useState = useState([]),
23
25
  _useState2 = _slicedToArray(_useState, 2),
@@ -95,6 +97,15 @@ export var ColumnPicker = function ColumnPicker(_ref) {
95
97
  pickerRef === null || pickerRef === void 0 ? void 0 : (_pickerRef$current = pickerRef.current) === null || _pickerRef$current === void 0 ? void 0 : (_pickerRef$current$se = _pickerRef$current.selectRef) === null || _pickerRef$current$se === void 0 ? void 0 : (_pickerRef$current$se2 = _pickerRef$current$se.inputRef) === null || _pickerRef$current$se2 === void 0 ? void 0 : _pickerRef$current$se2.focus();
96
98
  }
97
99
  }, [allOptions]);
100
+ useEffect(function () {
101
+ if (allOptions.length) {
102
+ if (parentContainerRenderInstanceId) {
103
+ succeedUfoExperience({
104
+ name: 'column-picker-rendered'
105
+ }, parentContainerRenderInstanceId);
106
+ }
107
+ }
108
+ }, [allOptions, parentContainerRenderInstanceId]);
98
109
  return jsx(PopupSelect, {
99
110
  classNamePrefix: 'column-picker-popup',
100
111
  testId: 'column-picker-popup',
@@ -21,7 +21,7 @@ import { monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/adapter/el
21
21
  import { combine } from '@atlaskit/pragmatic-drag-and-drop/util/combine';
22
22
  import { N40 } from '@atlaskit/theme/colors';
23
23
  import Tooltip from '@atlaskit/tooltip';
24
- import { succeedUfoExperience } from '../../analytics/ufoExperiences';
24
+ import { startUfoExperience, succeedUfoExperience } from '../../analytics/ufoExperiences';
25
25
  import { ColumnPicker } from './column-picker';
26
26
  import { DragColumnPreview } from './drag-column-preview';
27
27
  import { DraggableTableHeading } from './draggable-table-heading';
@@ -117,7 +117,8 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
117
117
  status = _ref2.status,
118
118
  hasNextPage = _ref2.hasNextPage,
119
119
  scrollableContainerHeight = _ref2.scrollableContainerHeight,
120
- parentContainerRenderInstanceId = _ref2.parentContainerRenderInstanceId;
120
+ parentContainerRenderInstanceId = _ref2.parentContainerRenderInstanceId,
121
+ extensionKey = _ref2.extensionKey;
121
122
  var tableId = useMemo(function () {
122
123
  return Symbol('unique-id');
123
124
  }, []);
@@ -310,23 +311,31 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
310
311
  }
311
312
  return _context.abrupt("return");
312
313
  case 2:
313
- _context.prev = 2;
314
- _context.next = 5;
314
+ if (parentContainerRenderInstanceId) {
315
+ startUfoExperience({
316
+ name: 'column-picker-rendered',
317
+ metadata: {
318
+ extensionKey: extensionKey !== null && extensionKey !== void 0 ? extensionKey : undefined
319
+ }
320
+ }, parentContainerRenderInstanceId);
321
+ }
322
+ _context.prev = 3;
323
+ _context.next = 6;
315
324
  return onLoadDatasourceDetails();
316
- case 5:
325
+ case 6:
317
326
  setHasFullSchema(true);
318
- _context.next = 11;
327
+ _context.next = 12;
319
328
  break;
320
- case 8:
321
- _context.prev = 8;
322
- _context.t0 = _context["catch"](2);
329
+ case 9:
330
+ _context.prev = 9;
331
+ _context.t0 = _context["catch"](3);
323
332
  setHasFullSchema(false);
324
- case 11:
333
+ case 12:
325
334
  case "end":
326
335
  return _context.stop();
327
336
  }
328
- }, _callee, null, [[2, 8]]);
329
- })), [hasFullSchema, onLoadDatasourceDetails]);
337
+ }, _callee, null, [[3, 9]]);
338
+ })), [parentContainerRenderInstanceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
330
339
  return jsx("div", {
331
340
  ref: containerRef,
332
341
  css: scrollableContainerHeight ? scrollableContainerStyles : null,
@@ -389,7 +398,8 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
389
398
  columns: hasFullSchema ? orderedColumns : [],
390
399
  selectedColumnKeys: hasFullSchema ? visibleColumnKeys : [],
391
400
  onSelectedColumnKeysChange: onSelectedColumnKeysChange,
392
- onOpen: handlePickerOpen
401
+ onOpen: handlePickerOpen,
402
+ parentContainerRenderInstanceId: parentContainerRenderInstanceId
393
403
  })))), jsx("tbody", {
394
404
  css: noDefaultBorderStyles,
395
405
  "data-testid": testId && "".concat(testId, "--body")
@@ -18,7 +18,8 @@ import { EVENT_CHANNEL, useDatasourceAnalyticsEvents } from '../../../analytics'
18
18
  import { packageMetaData } from '../../../analytics/constants';
19
19
  import { DatasourceAction, DatasourceDisplay } from '../../../analytics/types';
20
20
  import { startUfoExperience } from '../../../analytics/ufoExperiences';
21
- import { useDataRenderedUfoExperience } from '../../../analytics/ufoExperiences/useDataRenderedUfoExperience';
21
+ import { useColumnPickerRenderedFailedUfoExperience } from '../../../analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience';
22
+ import { useDataRenderedUfoExperience } from '../../../analytics/ufoExperiences/hooks/useDataRenderedUfoExperience';
22
23
  import { mapSearchMethod } from '../../../analytics/utils';
23
24
  import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
24
25
  import { getAvailableJiraSites } from '../../../services/getAvailableJiraSites';
@@ -264,6 +265,7 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
264
265
  fireCountViewedEvent();
265
266
  }
266
267
  }, [currentViewMode, status, fireIssueViewAnalytics, fireCountViewedEvent]);
268
+ useColumnPickerRenderedFailedUfoExperience(status, modalRenderInstanceId);
267
269
  var onSearch = useCallback(function (newParameters, searchMethod) {
268
270
  searchCount.current++;
269
271
  lastSearchMethodRef.current = searchMethod;
@@ -389,9 +391,10 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
389
391
  onNextPage: handleOnNextPage,
390
392
  onLoadDatasourceDetails: loadDatasourceDetails,
391
393
  onVisibleColumnKeysChange: handleVisibleColumnKeysChange,
392
- parentContainerRenderInstanceId: modalRenderInstanceId
394
+ parentContainerRenderInstanceId: modalRenderInstanceId,
395
+ extensionKey: extensionKey
393
396
  }));
394
- }, [columns, defaultVisibleColumnKeys, handleOnNextPage, handleVisibleColumnKeysChange, hasNextPage, loadDatasourceDetails, modalRenderInstanceId, responseItems, status, visibleColumnKeys]);
397
+ }, [columns, defaultVisibleColumnKeys, handleOnNextPage, handleVisibleColumnKeysChange, hasNextPage, loadDatasourceDetails, modalRenderInstanceId, responseItems, status, visibleColumnKeys, extensionKey]);
395
398
  var renderCountModeContent = useCallback(function () {
396
399
  var url = selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url;
397
400
  if (status === 'unauthorized') {
@@ -0,0 +1,2 @@
1
+ import { DatasourceTableStatusType } from '@atlaskit/linking-types';
2
+ export declare const useColumnPickerRenderedFailedUfoExperience: (status: DatasourceTableStatusType, experienceId: string) => void;
@@ -4,5 +4,11 @@ interface DatasourceRendered {
4
4
  extensionKey?: string;
5
5
  };
6
6
  }
7
- export type UfoExperience = DatasourceRendered;
7
+ interface ColumnPickerRendered {
8
+ name: 'column-picker-rendered';
9
+ metadata?: {
10
+ extensionKey?: string;
11
+ };
12
+ }
13
+ export type UfoExperience = DatasourceRendered | ColumnPickerRendered;
8
14
  export {};
@@ -1,3 +1,3 @@
1
1
  import { jsx } from '@emotion/react';
2
2
  import { ColumnPickerProps } from './types';
3
- export declare const ColumnPicker: ({ columns, selectedColumnKeys, onSelectedColumnKeysChange, onOpen, }: ColumnPickerProps) => jsx.JSX.Element;
3
+ export declare const ColumnPicker: ({ columns, selectedColumnKeys, onSelectedColumnKeysChange, onOpen, parentContainerRenderInstanceId, }: ColumnPickerProps) => jsx.JSX.Element;
@@ -4,4 +4,5 @@ export type ColumnPickerProps = {
4
4
  selectedColumnKeys: string[];
5
5
  onSelectedColumnKeysChange: (selectedColumnKeys: string[]) => void;
6
6
  onOpen?: () => void;
7
+ parentContainerRenderInstanceId?: string;
7
8
  };
@@ -12,5 +12,5 @@ export interface RowCellType {
12
12
  content?: React.ReactNode | string;
13
13
  maxWidth?: number;
14
14
  }
15
- export declare const IssueLikeDataTableView: ({ testId, onNextPage, onLoadDatasourceDetails, items, columns, renderItem, visibleColumnKeys, onVisibleColumnKeysChange, status, hasNextPage, scrollableContainerHeight, parentContainerRenderInstanceId, }: IssueLikeDataTableViewProps) => jsx.JSX.Element;
15
+ export declare const IssueLikeDataTableView: ({ testId, onNextPage, onLoadDatasourceDetails, items, columns, renderItem, visibleColumnKeys, onVisibleColumnKeysChange, status, hasNextPage, scrollableContainerHeight, parentContainerRenderInstanceId, extensionKey, }: IssueLikeDataTableViewProps) => jsx.JSX.Element;
16
16
  export declare const EmptyState: ({ isCompact, isLoading, testId }: import("./empty-state").Props) => jsx.JSX.Element;
@@ -8,6 +8,10 @@ export interface IssueLikeDataTableViewProps {
8
8
  * Unique ID to indicate parent component instance to be used for UFO experiences
9
9
  */
10
10
  parentContainerRenderInstanceId?: string;
11
+ /**
12
+ * Datasource extension key. Optional as value may not have been returned yet
13
+ */
14
+ extensionKey?: string | null;
11
15
  /**
12
16
  * All available columns/properties.
13
17
  * Consumer should not reorder these columns to align with `visibleColumnKeys`.
@@ -0,0 +1,2 @@
1
+ import { DatasourceTableStatusType } from '@atlaskit/linking-types';
2
+ export declare const useColumnPickerRenderedFailedUfoExperience: (status: DatasourceTableStatusType, experienceId: string) => void;
@@ -4,5 +4,11 @@ interface DatasourceRendered {
4
4
  extensionKey?: string;
5
5
  };
6
6
  }
7
- export type UfoExperience = DatasourceRendered;
7
+ interface ColumnPickerRendered {
8
+ name: 'column-picker-rendered';
9
+ metadata?: {
10
+ extensionKey?: string;
11
+ };
12
+ }
13
+ export type UfoExperience = DatasourceRendered | ColumnPickerRendered;
8
14
  export {};
@@ -1,3 +1,3 @@
1
1
  import { jsx } from '@emotion/react';
2
2
  import { ColumnPickerProps } from './types';
3
- export declare const ColumnPicker: ({ columns, selectedColumnKeys, onSelectedColumnKeysChange, onOpen, }: ColumnPickerProps) => jsx.JSX.Element;
3
+ export declare const ColumnPicker: ({ columns, selectedColumnKeys, onSelectedColumnKeysChange, onOpen, parentContainerRenderInstanceId, }: ColumnPickerProps) => jsx.JSX.Element;
@@ -4,4 +4,5 @@ export type ColumnPickerProps = {
4
4
  selectedColumnKeys: string[];
5
5
  onSelectedColumnKeysChange: (selectedColumnKeys: string[]) => void;
6
6
  onOpen?: () => void;
7
+ parentContainerRenderInstanceId?: string;
7
8
  };
@@ -12,5 +12,5 @@ export interface RowCellType {
12
12
  content?: React.ReactNode | string;
13
13
  maxWidth?: number;
14
14
  }
15
- export declare const IssueLikeDataTableView: ({ testId, onNextPage, onLoadDatasourceDetails, items, columns, renderItem, visibleColumnKeys, onVisibleColumnKeysChange, status, hasNextPage, scrollableContainerHeight, parentContainerRenderInstanceId, }: IssueLikeDataTableViewProps) => jsx.JSX.Element;
15
+ export declare const IssueLikeDataTableView: ({ testId, onNextPage, onLoadDatasourceDetails, items, columns, renderItem, visibleColumnKeys, onVisibleColumnKeysChange, status, hasNextPage, scrollableContainerHeight, parentContainerRenderInstanceId, extensionKey, }: IssueLikeDataTableViewProps) => jsx.JSX.Element;
16
16
  export declare const EmptyState: ({ isCompact, isLoading, testId }: import("./empty-state").Props) => jsx.JSX.Element;
@@ -8,6 +8,10 @@ export interface IssueLikeDataTableViewProps {
8
8
  * Unique ID to indicate parent component instance to be used for UFO experiences
9
9
  */
10
10
  parentContainerRenderInstanceId?: string;
11
+ /**
12
+ * Datasource extension key. Optional as value may not have been returned yet
13
+ */
14
+ extensionKey?: string | null;
11
15
  /**
12
16
  * All available columns/properties.
13
17
  * Consumer should not reorder these columns to align with `visibleColumnKeys`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "1.2.3",
3
+ "version": "1.2.4",
4
4
  "description": "UI Components to support linking platform dataset feature",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"