@atlaskit/link-datasource 2.11.15 → 2.12.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cjs/hooks/useDatasourceTableState.js +5 -3
  3. package/dist/cjs/state/index.js +2 -1
  4. package/dist/cjs/ui/common/modal/datasource-modal/createDatasourceModal.js +4 -2
  5. package/dist/cjs/ui/common/modal/mode-switcher/index.js +6 -2
  6. package/dist/cjs/ui/common/modal/mode-switcher/useViewModeContext.js +4 -2
  7. package/dist/cjs/ui/confluence-search-modal/modal/index.js +1 -3
  8. package/dist/cjs/ui/issue-like-table/table-cell-content/inline-edit.js +14 -3
  9. package/dist/cjs/ui/jira-issues-modal/modal/ModalOld.js +4 -2
  10. package/dist/es2019/hooks/useDatasourceTableState.js +4 -3
  11. package/dist/es2019/state/index.js +2 -1
  12. package/dist/es2019/ui/common/modal/datasource-modal/createDatasourceModal.js +4 -2
  13. package/dist/es2019/ui/common/modal/mode-switcher/index.js +6 -2
  14. package/dist/es2019/ui/common/modal/mode-switcher/useViewModeContext.js +4 -2
  15. package/dist/es2019/ui/confluence-search-modal/modal/index.js +1 -2
  16. package/dist/es2019/ui/issue-like-table/table-cell-content/inline-edit.js +15 -1
  17. package/dist/es2019/ui/jira-issues-modal/modal/ModalOld.js +3 -2
  18. package/dist/esm/hooks/useDatasourceTableState.js +5 -3
  19. package/dist/esm/state/index.js +2 -1
  20. package/dist/esm/ui/common/modal/datasource-modal/createDatasourceModal.js +4 -2
  21. package/dist/esm/ui/common/modal/mode-switcher/index.js +6 -2
  22. package/dist/esm/ui/common/modal/mode-switcher/useViewModeContext.js +4 -2
  23. package/dist/esm/ui/confluence-search-modal/modal/index.js +1 -3
  24. package/dist/esm/ui/issue-like-table/table-cell-content/inline-edit.js +14 -3
  25. package/dist/esm/ui/jira-issues-modal/modal/ModalOld.js +4 -2
  26. package/dist/types/analytics/generated/analytics.types.d.ts +10 -2
  27. package/dist/types/common/types.d.ts +2 -0
  28. package/dist/types/hooks/useErrorLogger.d.ts +2 -1
  29. package/dist/types/state/actions/index.d.ts +2 -2
  30. package/dist/types/state/index.d.ts +4 -3
  31. package/dist/types/ui/common/modal/mode-switcher/index.d.ts +1 -1
  32. package/dist/types/ui/common/modal/mode-switcher/useViewModeContext.d.ts +3 -1
  33. package/dist/types/ui/confluence-search-modal/types.d.ts +0 -2
  34. package/dist/types-ts4.5/analytics/generated/analytics.types.d.ts +10 -2
  35. package/dist/types-ts4.5/common/types.d.ts +2 -0
  36. package/dist/types-ts4.5/hooks/useErrorLogger.d.ts +2 -1
  37. package/dist/types-ts4.5/state/actions/index.d.ts +2 -2
  38. package/dist/types-ts4.5/state/index.d.ts +4 -3
  39. package/dist/types-ts4.5/ui/common/modal/mode-switcher/index.d.ts +1 -1
  40. package/dist/types-ts4.5/ui/common/modal/mode-switcher/useViewModeContext.d.ts +3 -1
  41. package/dist/types-ts4.5/ui/confluence-search-modal/types.d.ts +0 -2
  42. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 2.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#137119](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/137119)
8
+ [`39898be3befdd`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/39898be3befdd) -
9
+ Expose `disableDisplayDropdown` Prop for JiraIssuesConfigModal
10
+
11
+ ### Patch Changes
12
+
13
+ - [#136467](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/136467)
14
+ [`121a4c6220928`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/121a4c6220928) -
15
+ Fire event when user clicks on inline edit
16
+ - Updated dependencies
17
+
18
+ ## 2.11.16
19
+
20
+ ### Patch Changes
21
+
22
+ - [#136744](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/136744)
23
+ [`04df6a1d732b5`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/04df6a1d732b5) -
24
+ Fix errorLocation analytic attribute typing
25
+
3
26
  ## 2.11.15
4
27
 
5
28
  ### Patch Changes
@@ -232,6 +232,7 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
232
232
  _totalCount,
233
233
  schema,
234
234
  integrationKey,
235
+ entityType,
235
236
  newIds,
236
237
  aris,
237
238
  isUserLoadingNextPage,
@@ -314,7 +315,8 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
314
315
  * Product is typed as any.
315
316
  */
316
317
  integrationKey = product;
317
- newIds = onAddItems(items, typeof integrationKey === 'string' ? integrationKey : undefined);
318
+ entityType = _destinationObjectTypes !== null && _destinationObjectTypes !== void 0 && _destinationObjectTypes.length ? _destinationObjectTypes[0] : undefined;
319
+ newIds = onAddItems(items, typeof integrationKey === 'string' ? integrationKey : undefined, entityType);
318
320
  setResponseItemIds(function (currentIds) {
319
321
  return [].concat((0, _toConsumableArray2.default)(currentIds), (0, _toConsumableArray2.default)(newIds));
320
322
  });
@@ -325,12 +327,12 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
325
327
  var _item$ari;
326
328
  return typeof ((_item$ari = item.ari) === null || _item$ari === void 0 ? void 0 : _item$ari.data) === 'string' ? [].concat((0, _toConsumableArray2.default)(acc), [item.ari.data]) : acc;
327
329
  }, []);
328
- if (aris.length && _destinationObjectTypes.length) {
330
+ if (aris.length && entityType) {
329
331
  discoverActions({
330
332
  aris: aris,
331
333
  integrationKey: integrationKey,
332
334
  fieldKeys: fieldKeys,
333
- entityType: _destinationObjectTypes[0]
335
+ entityType: entityType
334
336
  });
335
337
  }
336
338
  }
@@ -38,7 +38,7 @@ var actions = exports.actions = {
38
38
  });
39
39
  };
40
40
  },
41
- onAddItems: function onAddItems(items, integrationKey) {
41
+ onAddItems: function onAddItems(items, integrationKey, entityType) {
42
42
  return function (_ref2) {
43
43
  var setState = _ref2.setState,
44
44
  getState = _ref2.getState;
@@ -52,6 +52,7 @@ var actions = exports.actions = {
52
52
  var id = ari !== null && ari !== void 0 ? ari : (0, _uuid.v4)();
53
53
  return [[].concat((0, _toConsumableArray2.default)(ids), [id]), _objectSpread(_objectSpread({}, itemMap), {}, (0, _defineProperty2.default)({}, id, {
54
54
  ari: ari,
55
+ entityType: entityType,
55
56
  integrationKey: integrationKey,
56
57
  data: _objectSpread(_objectSpread({}, (_oldItems$id = oldItems[id]) === null || _oldItems$id === void 0 ? void 0 : _oldItems$id.data), item)
57
58
  }))];
@@ -31,7 +31,8 @@ var createDatasourceModal = exports.createDatasourceModal = function createDatas
31
31
  wrappedColumnKeys = props.wrappedColumnKeys,
32
32
  parameters = props.parameters,
33
33
  onInsert = props.onInsert,
34
- viewMode = props.viewMode;
34
+ viewMode = props.viewMode,
35
+ disableDisplayDropdown = props.disableDisplayDropdown;
35
36
  return (0, _react2.jsx)(_analyticsNext.AnalyticsContext, {
36
37
  data: {
37
38
  source: 'datasourceConfigModal',
@@ -49,7 +50,8 @@ var createDatasourceModal = exports.createDatasourceModal = function createDatas
49
50
  isValidParameters: isValidParameters,
50
51
  onInsert: onInsert
51
52
  }, (0, _react2.jsx)(_useViewModeContext.DatasourceViewModeProvider, {
52
- viewMode: viewMode !== null && viewMode !== void 0 ? viewMode : DEFAULT_VIEW_MODE
53
+ viewMode: viewMode !== null && viewMode !== void 0 ? viewMode : DEFAULT_VIEW_MODE,
54
+ disableDisplayDropdown: disableDisplayDropdown || false
53
55
  }, (0, _react2.jsx)(ModalContent, props))))));
54
56
  };
55
57
  };
@@ -121,10 +121,14 @@ var ModeSwitcher = exports.ModeSwitcher = function ModeSwitcher(props) {
121
121
  })) : null;
122
122
  };
123
123
  var DatasourceViewModeDropDown = exports.DatasourceViewModeDropDown = function DatasourceViewModeDropDown() {
124
+ var userInteractions = (0, _userInteractions.useUserInteractions)();
124
125
  var _useViewModeContext = (0, _useViewModeContext2.useViewModeContext)(),
125
126
  currentViewMode = _useViewModeContext.currentViewMode,
126
- setCurrentViewMode = _useViewModeContext.setCurrentViewMode;
127
- var userInteractions = (0, _userInteractions.useUserInteractions)();
127
+ setCurrentViewMode = _useViewModeContext.setCurrentViewMode,
128
+ disableDisplayDropdown = _useViewModeContext.disableDisplayDropdown;
129
+ if (disableDisplayDropdown) {
130
+ return null;
131
+ }
128
132
  var handleViewModeChange = function handleViewModeChange(selectedMode) {
129
133
  userInteractions.add(_types.DatasourceAction.DISPLAY_VIEW_CHANGED);
130
134
  setCurrentViewMode(selectedMode);
@@ -21,6 +21,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
21
21
  var ViewModeContext = /*#__PURE__*/(0, _react.createContext)(null);
22
22
  var DatasourceViewModeProvider = exports.DatasourceViewModeProvider = function DatasourceViewModeProvider(_ref) {
23
23
  var initialViewMode = _ref.viewMode,
24
+ disableDisplayDropdown = _ref.disableDisplayDropdown,
24
25
  children = _ref.children;
25
26
  var _useState = (0, _react.useState)(initialViewMode),
26
27
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -29,9 +30,10 @@ var DatasourceViewModeProvider = exports.DatasourceViewModeProvider = function D
29
30
  var value = (0, _react.useMemo)(function () {
30
31
  return {
31
32
  currentViewMode: currentViewMode,
32
- setCurrentViewMode: setCurrentViewMode
33
+ setCurrentViewMode: setCurrentViewMode,
34
+ disableDisplayDropdown: disableDisplayDropdown
33
35
  };
34
- }, [currentViewMode, setCurrentViewMode]);
36
+ }, [currentViewMode, setCurrentViewMode, disableDisplayDropdown]);
35
37
  return (0, _react2.jsx)(ViewModeContext.Provider, {
36
38
  value: value
37
39
  }, children);
@@ -79,8 +79,6 @@ var useUpdateParametersOnFormUpdate = function useUpdateParametersOnFormUpdate(c
79
79
  var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConfigModal(props) {
80
80
  var onCancel = props.onCancel,
81
81
  urlBeingEdited = props.url,
82
- _props$disableDisplay = props.disableDisplayDropdown,
83
- disableDisplayDropdown = _props$disableDisplay === void 0 ? false : _props$disableDisplay,
84
82
  overrideParameters = props.overrideParameters;
85
83
  var _useViewModeContext = (0, _useViewModeContext2.useViewModeContext)(),
86
84
  currentViewMode = _useViewModeContext.currentViewMode;
@@ -313,7 +311,7 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
313
311
  selectedSite: selectedConfluenceSite,
314
312
  testId: "confluence-search-datasource-modal--site-selector",
315
313
  label: siteSelectorLabel
316
- })), !hasNoConfluenceSites && !disableDisplayDropdown && (0, _react2.jsx)(_modeSwitcher.DatasourceViewModeDropDown, null)), (0, _react2.jsx)(_modalDialog.ModalBody, null, !hasNoConfluenceSites ? (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_primitives.Box, {
314
+ })), !hasNoConfluenceSites && (0, _react2.jsx)(_modeSwitcher.DatasourceViewModeDropDown, null)), (0, _react2.jsx)(_modalDialog.ModalBody, null, !hasNoConfluenceSites ? (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_primitives.Box, {
317
315
  xcss: inputContainerStyles
318
316
  }, (0, _react2.jsx)(_confluenceSearchContainer.default, {
319
317
  isSearching: status === 'loading',
@@ -50,6 +50,9 @@ var InlineEdit = exports.InlineEdit = function InlineEdit(_ref) {
50
50
  var item = (0, _state.useDatasourceItem)({
51
51
  id: ari
52
52
  });
53
+ var _ref2 = item || {},
54
+ entityType = _ref2.entityType,
55
+ integrationKey = _ref2.integrationKey;
53
56
  var _useDatasourceTableFl = (0, _useDatasourceTableFlag.useDatasourceTableFlag)(),
54
57
  showErrorFlag = _useDatasourceTableFl.showErrorFlag;
55
58
  var _useDatasourceActions = (0, _state.useDatasourceActions)(),
@@ -78,6 +81,16 @@ var InlineEdit = exports.InlineEdit = function InlineEdit(_ref) {
78
81
  });
79
82
  setIsEditing(false);
80
83
  }, [item, datasourceTypeWithValues.type, columnKey, onUpdateItem, ari, execute, fireEvent, showErrorFlag]);
84
+ var onEdit = (0, _react.useCallback)(function () {
85
+ setIsEditing(true);
86
+ if (integrationKey && entityType) {
87
+ fireEvent('ui.inlineEdit.clicked.datasource', {
88
+ integrationKey: integrationKey,
89
+ entityType: entityType,
90
+ fieldKey: columnKey
91
+ });
92
+ }
93
+ }, [columnKey, entityType, fireEvent, integrationKey]);
81
94
  return /*#__PURE__*/_react.default.createElement(_primitives.Box, {
82
95
  xcss: editContainerStyles
83
96
  }, /*#__PURE__*/_react.default.createElement(_inlineEdit.default, (0, _extends2.default)({}, (0, _editType.editType)(datasourceTypeWithValues), {
@@ -87,9 +100,7 @@ var InlineEdit = exports.InlineEdit = function InlineEdit(_ref) {
87
100
  },
88
101
  readViewFitContainerWidth: true,
89
102
  isEditing: isEditing,
90
- onEdit: function onEdit() {
91
- return setIsEditing(true);
92
- },
103
+ onEdit: onEdit,
93
104
  onCancel: function onCancel() {
94
105
  return setIsEditing(false);
95
106
  },
@@ -73,7 +73,9 @@ var PlainJiraIssuesConfigModalOld = exports.PlainJiraIssuesConfigModalOld = func
73
73
  viewMode = _props$viewMode === void 0 ? 'table' : _props$viewMode,
74
74
  initialParameters = props.parameters,
75
75
  urlBeingEdited = props.url,
76
- initialVisibleColumnKeys = props.visibleColumnKeys;
76
+ initialVisibleColumnKeys = props.visibleColumnKeys,
77
+ _props$disableDisplay = props.disableDisplayDropdown,
78
+ disableDisplayDropdown = _props$disableDisplay === void 0 ? false : _props$disableDisplay;
77
79
  var _useState = (0, _react.useState)(viewMode),
78
80
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
79
81
  currentViewMode = _useState2[0],
@@ -463,7 +465,7 @@ var PlainJiraIssuesConfigModalOld = exports.PlainJiraIssuesConfigModalOld = func
463
465
  selectedSite: selectedJiraSite,
464
466
  testId: "jira-datasource-modal--site-selector",
465
467
  label: siteSelectorLabel
466
- })), !hasNoJiraSites && (0, _react2.jsx)(_displayViewDropDown.DisplayViewDropDown, {
468
+ })), !hasNoJiraSites && !disableDisplayDropdown && (0, _react2.jsx)(_displayViewDropDown.DisplayViewDropDown, {
467
469
  onViewModeChange: handleViewModeChange,
468
470
  viewMode: currentViewMode
469
471
  })), (0, _react2.jsx)(_modalDialog.ModalBody, null, !hasNoJiraSites ? (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_jiraSearchContainer.JiraSearchContainer, {
@@ -199,7 +199,8 @@ export const useDatasourceTableState = ({
199
199
  * Product is typed as any.
200
200
  */
201
201
  const integrationKey = product;
202
- const newIds = onAddItems(items, typeof integrationKey === 'string' ? integrationKey : undefined);
202
+ const entityType = destinationObjectTypes !== null && destinationObjectTypes !== void 0 && destinationObjectTypes.length ? destinationObjectTypes[0] : undefined;
203
+ const newIds = onAddItems(items, typeof integrationKey === 'string' ? integrationKey : undefined, entityType);
203
204
  setResponseItemIds(currentIds => [...currentIds, ...newIds]);
204
205
  if (fg('platform-datasources-enable-two-way-sync')) {
205
206
  if (!isFedRamp()) {
@@ -208,12 +209,12 @@ export const useDatasourceTableState = ({
208
209
  var _item$ari;
209
210
  return typeof ((_item$ari = item.ari) === null || _item$ari === void 0 ? void 0 : _item$ari.data) === 'string' ? [...acc, item.ari.data] : acc;
210
211
  }, []);
211
- if (aris.length && destinationObjectTypes.length) {
212
+ if (aris.length && entityType) {
212
213
  discoverActions({
213
214
  aris,
214
215
  integrationKey,
215
216
  fieldKeys,
216
- entityType: destinationObjectTypes[0]
217
+ entityType
217
218
  });
218
219
  }
219
220
  }
@@ -30,7 +30,7 @@ export const actions = {
30
30
  }
31
31
  });
32
32
  },
33
- onAddItems: (items, integrationKey) => ({
33
+ onAddItems: (items, integrationKey, entityType) => ({
34
34
  setState,
35
35
  getState
36
36
  }) => {
@@ -45,6 +45,7 @@ export const actions = {
45
45
  ...itemMap,
46
46
  [id]: {
47
47
  ari,
48
+ entityType,
48
49
  integrationKey,
49
50
  data: {
50
51
  ...((_oldItems$id = oldItems[id]) === null || _oldItems$id === void 0 ? void 0 : _oldItems$id.data),
@@ -26,7 +26,8 @@ export const createDatasourceModal = ({
26
26
  wrappedColumnKeys,
27
27
  parameters,
28
28
  onInsert,
29
- viewMode
29
+ viewMode,
30
+ disableDisplayDropdown
30
31
  } = props;
31
32
  return jsx(AnalyticsContext, {
32
33
  data: {
@@ -45,7 +46,8 @@ export const createDatasourceModal = ({
45
46
  isValidParameters: isValidParameters,
46
47
  onInsert: onInsert
47
48
  }, jsx(DatasourceViewModeProvider, {
48
- viewMode: viewMode !== null && viewMode !== void 0 ? viewMode : DEFAULT_VIEW_MODE
49
+ viewMode: viewMode !== null && viewMode !== void 0 ? viewMode : DEFAULT_VIEW_MODE,
50
+ disableDisplayDropdown: disableDisplayDropdown || false
49
51
  }, jsx(ModalContent, props))))));
50
52
  };
51
53
  };
@@ -113,11 +113,15 @@ export const ModeSwitcher = props => {
113
113
  })) : null;
114
114
  };
115
115
  export const DatasourceViewModeDropDown = () => {
116
+ const userInteractions = useUserInteractions();
116
117
  const {
117
118
  currentViewMode,
118
- setCurrentViewMode
119
+ setCurrentViewMode,
120
+ disableDisplayDropdown
119
121
  } = useViewModeContext();
120
- const userInteractions = useUserInteractions();
122
+ if (disableDisplayDropdown) {
123
+ return null;
124
+ }
121
125
  const handleViewModeChange = selectedMode => {
122
126
  userInteractions.add(DatasourceAction.DISPLAY_VIEW_CHANGED);
123
127
  setCurrentViewMode(selectedMode);
@@ -9,13 +9,15 @@ import { jsx } from '@emotion/react';
9
9
  const ViewModeContext = /*#__PURE__*/createContext(null);
10
10
  export const DatasourceViewModeProvider = ({
11
11
  viewMode: initialViewMode,
12
+ disableDisplayDropdown,
12
13
  children
13
14
  }) => {
14
15
  const [currentViewMode, setCurrentViewMode] = useState(initialViewMode);
15
16
  const value = useMemo(() => ({
16
17
  currentViewMode,
17
- setCurrentViewMode
18
- }), [currentViewMode, setCurrentViewMode]);
18
+ setCurrentViewMode,
19
+ disableDisplayDropdown
20
+ }), [currentViewMode, setCurrentViewMode, disableDisplayDropdown]);
19
21
  return jsx(ViewModeContext.Provider, {
20
22
  value: value
21
23
  }, children);
@@ -76,7 +76,6 @@ export const PlainConfluenceSearchConfigModal = props => {
76
76
  const {
77
77
  onCancel,
78
78
  url: urlBeingEdited,
79
- disableDisplayDropdown = false,
80
79
  overrideParameters
81
80
  } = props;
82
81
  const {
@@ -300,7 +299,7 @@ export const PlainConfluenceSearchConfigModal = props => {
300
299
  selectedSite: selectedConfluenceSite,
301
300
  testId: "confluence-search-datasource-modal--site-selector",
302
301
  label: siteSelectorLabel
303
- })), !hasNoConfluenceSites && !disableDisplayDropdown && jsx(DatasourceViewModeDropDown, null)), jsx(ModalBody, null, !hasNoConfluenceSites ? jsx(Fragment, null, jsx(Box, {
302
+ })), !hasNoConfluenceSites && jsx(DatasourceViewModeDropDown, null)), jsx(ModalBody, null, !hasNoConfluenceSites ? jsx(Fragment, null, jsx(Box, {
304
303
  xcss: inputContainerStyles
305
304
  }, jsx(ConfluenceSearchContainer, {
306
305
  isSearching: status === 'loading',
@@ -36,6 +36,10 @@ export const InlineEdit = ({
36
36
  const item = useDatasourceItem({
37
37
  id: ari
38
38
  });
39
+ const {
40
+ entityType,
41
+ integrationKey
42
+ } = item || {};
39
43
  const {
40
44
  showErrorFlag
41
45
  } = useDatasourceTableFlag();
@@ -67,6 +71,16 @@ export const InlineEdit = ({
67
71
  });
68
72
  setIsEditing(false);
69
73
  }, [item, datasourceTypeWithValues.type, columnKey, onUpdateItem, ari, execute, fireEvent, showErrorFlag]);
74
+ const onEdit = useCallback(() => {
75
+ setIsEditing(true);
76
+ if (integrationKey && entityType) {
77
+ fireEvent('ui.inlineEdit.clicked.datasource', {
78
+ integrationKey,
79
+ entityType,
80
+ fieldKey: columnKey
81
+ });
82
+ }
83
+ }, [columnKey, entityType, fireEvent, integrationKey]);
70
84
  return /*#__PURE__*/React.createElement(Box, {
71
85
  xcss: editContainerStyles
72
86
  }, /*#__PURE__*/React.createElement(AKInlineEdit, _extends({}, editType(datasourceTypeWithValues), {
@@ -74,7 +88,7 @@ export const InlineEdit = ({
74
88
  readView: () => readView,
75
89
  readViewFitContainerWidth: true,
76
90
  isEditing: isEditing,
77
- onEdit: () => setIsEditing(true),
91
+ onEdit: onEdit,
78
92
  onCancel: () => setIsEditing(false),
79
93
  onConfirm: onCommitUpdate
80
94
  })));
@@ -66,7 +66,8 @@ export const PlainJiraIssuesConfigModalOld = props => {
66
66
  viewMode = 'table',
67
67
  parameters: initialParameters,
68
68
  url: urlBeingEdited,
69
- visibleColumnKeys: initialVisibleColumnKeys
69
+ visibleColumnKeys: initialVisibleColumnKeys,
70
+ disableDisplayDropdown = false
70
71
  } = props;
71
72
  const [currentViewMode, setCurrentViewMode] = useState(viewMode);
72
73
  const [cloudId, setCloudId] = useState(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.cloudId);
@@ -447,7 +448,7 @@ export const PlainJiraIssuesConfigModalOld = props => {
447
448
  selectedSite: selectedJiraSite,
448
449
  testId: "jira-datasource-modal--site-selector",
449
450
  label: siteSelectorLabel
450
- })), !hasNoJiraSites && jsx(DisplayViewDropDown, {
451
+ })), !hasNoJiraSites && !disableDisplayDropdown && jsx(DisplayViewDropDown, {
451
452
  onViewModeChange: handleViewModeChange,
452
453
  viewMode: currentViewMode
453
454
  })), jsx(ModalBody, null, !hasNoJiraSites ? jsx(Fragment, null, jsx(JiraSearchContainer, {
@@ -225,6 +225,7 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
225
225
  _totalCount,
226
226
  schema,
227
227
  integrationKey,
228
+ entityType,
228
229
  newIds,
229
230
  aris,
230
231
  isUserLoadingNextPage,
@@ -307,7 +308,8 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
307
308
  * Product is typed as any.
308
309
  */
309
310
  integrationKey = product;
310
- newIds = onAddItems(items, typeof integrationKey === 'string' ? integrationKey : undefined);
311
+ entityType = _destinationObjectTypes !== null && _destinationObjectTypes !== void 0 && _destinationObjectTypes.length ? _destinationObjectTypes[0] : undefined;
312
+ newIds = onAddItems(items, typeof integrationKey === 'string' ? integrationKey : undefined, entityType);
311
313
  setResponseItemIds(function (currentIds) {
312
314
  return [].concat(_toConsumableArray(currentIds), _toConsumableArray(newIds));
313
315
  });
@@ -318,12 +320,12 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
318
320
  var _item$ari;
319
321
  return typeof ((_item$ari = item.ari) === null || _item$ari === void 0 ? void 0 : _item$ari.data) === 'string' ? [].concat(_toConsumableArray(acc), [item.ari.data]) : acc;
320
322
  }, []);
321
- if (aris.length && _destinationObjectTypes.length) {
323
+ if (aris.length && entityType) {
322
324
  discoverActions({
323
325
  aris: aris,
324
326
  integrationKey: integrationKey,
325
327
  fieldKeys: fieldKeys,
326
- entityType: _destinationObjectTypes[0]
328
+ entityType: entityType
327
329
  });
328
330
  }
329
331
  }
@@ -31,7 +31,7 @@ export var actions = {
31
31
  });
32
32
  };
33
33
  },
34
- onAddItems: function onAddItems(items, integrationKey) {
34
+ onAddItems: function onAddItems(items, integrationKey, entityType) {
35
35
  return function (_ref2) {
36
36
  var setState = _ref2.setState,
37
37
  getState = _ref2.getState;
@@ -45,6 +45,7 @@ export var actions = {
45
45
  var id = ari !== null && ari !== void 0 ? ari : uuidv4();
46
46
  return [[].concat(_toConsumableArray(ids), [id]), _objectSpread(_objectSpread({}, itemMap), {}, _defineProperty({}, id, {
47
47
  ari: ari,
48
+ entityType: entityType,
48
49
  integrationKey: integrationKey,
49
50
  data: _objectSpread(_objectSpread({}, (_oldItems$id = oldItems[id]) === null || _oldItems$id === void 0 ? void 0 : _oldItems$id.data), item)
50
51
  }))];
@@ -24,7 +24,8 @@ export var createDatasourceModal = function createDatasourceModal(_ref) {
24
24
  wrappedColumnKeys = props.wrappedColumnKeys,
25
25
  parameters = props.parameters,
26
26
  onInsert = props.onInsert,
27
- viewMode = props.viewMode;
27
+ viewMode = props.viewMode,
28
+ disableDisplayDropdown = props.disableDisplayDropdown;
28
29
  return jsx(AnalyticsContext, {
29
30
  data: {
30
31
  source: 'datasourceConfigModal',
@@ -42,7 +43,8 @@ export var createDatasourceModal = function createDatasourceModal(_ref) {
42
43
  isValidParameters: isValidParameters,
43
44
  onInsert: onInsert
44
45
  }, jsx(DatasourceViewModeProvider, {
45
- viewMode: viewMode !== null && viewMode !== void 0 ? viewMode : DEFAULT_VIEW_MODE
46
+ viewMode: viewMode !== null && viewMode !== void 0 ? viewMode : DEFAULT_VIEW_MODE,
47
+ disableDisplayDropdown: disableDisplayDropdown || false
46
48
  }, jsx(ModalContent, props))))));
47
49
  };
48
50
  };
@@ -113,10 +113,14 @@ export var ModeSwitcher = function ModeSwitcher(props) {
113
113
  })) : null;
114
114
  };
115
115
  export var DatasourceViewModeDropDown = function DatasourceViewModeDropDown() {
116
+ var userInteractions = useUserInteractions();
116
117
  var _useViewModeContext = useViewModeContext(),
117
118
  currentViewMode = _useViewModeContext.currentViewMode,
118
- setCurrentViewMode = _useViewModeContext.setCurrentViewMode;
119
- var userInteractions = useUserInteractions();
119
+ setCurrentViewMode = _useViewModeContext.setCurrentViewMode,
120
+ disableDisplayDropdown = _useViewModeContext.disableDisplayDropdown;
121
+ if (disableDisplayDropdown) {
122
+ return null;
123
+ }
120
124
  var handleViewModeChange = function handleViewModeChange(selectedMode) {
121
125
  userInteractions.add(DatasourceAction.DISPLAY_VIEW_CHANGED);
122
126
  setCurrentViewMode(selectedMode);
@@ -10,6 +10,7 @@ import { jsx } from '@emotion/react';
10
10
  var ViewModeContext = /*#__PURE__*/createContext(null);
11
11
  export var DatasourceViewModeProvider = function DatasourceViewModeProvider(_ref) {
12
12
  var initialViewMode = _ref.viewMode,
13
+ disableDisplayDropdown = _ref.disableDisplayDropdown,
13
14
  children = _ref.children;
14
15
  var _useState = useState(initialViewMode),
15
16
  _useState2 = _slicedToArray(_useState, 2),
@@ -18,9 +19,10 @@ export var DatasourceViewModeProvider = function DatasourceViewModeProvider(_ref
18
19
  var value = useMemo(function () {
19
20
  return {
20
21
  currentViewMode: currentViewMode,
21
- setCurrentViewMode: setCurrentViewMode
22
+ setCurrentViewMode: setCurrentViewMode,
23
+ disableDisplayDropdown: disableDisplayDropdown
22
24
  };
23
- }, [currentViewMode, setCurrentViewMode]);
25
+ }, [currentViewMode, setCurrentViewMode, disableDisplayDropdown]);
24
26
  return jsx(ViewModeContext.Provider, {
25
27
  value: value
26
28
  }, children);
@@ -76,8 +76,6 @@ var useUpdateParametersOnFormUpdate = function useUpdateParametersOnFormUpdate(c
76
76
  export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConfigModal(props) {
77
77
  var onCancel = props.onCancel,
78
78
  urlBeingEdited = props.url,
79
- _props$disableDisplay = props.disableDisplayDropdown,
80
- disableDisplayDropdown = _props$disableDisplay === void 0 ? false : _props$disableDisplay,
81
79
  overrideParameters = props.overrideParameters;
82
80
  var _useViewModeContext = useViewModeContext(),
83
81
  currentViewMode = _useViewModeContext.currentViewMode;
@@ -310,7 +308,7 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
310
308
  selectedSite: selectedConfluenceSite,
311
309
  testId: "confluence-search-datasource-modal--site-selector",
312
310
  label: siteSelectorLabel
313
- })), !hasNoConfluenceSites && !disableDisplayDropdown && jsx(DatasourceViewModeDropDown, null)), jsx(ModalBody, null, !hasNoConfluenceSites ? jsx(Fragment, null, jsx(Box, {
311
+ })), !hasNoConfluenceSites && jsx(DatasourceViewModeDropDown, null)), jsx(ModalBody, null, !hasNoConfluenceSites ? jsx(Fragment, null, jsx(Box, {
314
312
  xcss: inputContainerStyles
315
313
  }, jsx(ConfluenceSearchContainer, {
316
314
  isSearching: status === 'loading',
@@ -40,6 +40,9 @@ export var InlineEdit = function InlineEdit(_ref) {
40
40
  var item = useDatasourceItem({
41
41
  id: ari
42
42
  });
43
+ var _ref2 = item || {},
44
+ entityType = _ref2.entityType,
45
+ integrationKey = _ref2.integrationKey;
43
46
  var _useDatasourceTableFl = useDatasourceTableFlag(),
44
47
  showErrorFlag = _useDatasourceTableFl.showErrorFlag;
45
48
  var _useDatasourceActions = useDatasourceActions(),
@@ -68,6 +71,16 @@ export var InlineEdit = function InlineEdit(_ref) {
68
71
  });
69
72
  setIsEditing(false);
70
73
  }, [item, datasourceTypeWithValues.type, columnKey, onUpdateItem, ari, execute, fireEvent, showErrorFlag]);
74
+ var onEdit = useCallback(function () {
75
+ setIsEditing(true);
76
+ if (integrationKey && entityType) {
77
+ fireEvent('ui.inlineEdit.clicked.datasource', {
78
+ integrationKey: integrationKey,
79
+ entityType: entityType,
80
+ fieldKey: columnKey
81
+ });
82
+ }
83
+ }, [columnKey, entityType, fireEvent, integrationKey]);
71
84
  return /*#__PURE__*/React.createElement(Box, {
72
85
  xcss: editContainerStyles
73
86
  }, /*#__PURE__*/React.createElement(AKInlineEdit, _extends({}, editType(datasourceTypeWithValues), {
@@ -77,9 +90,7 @@ export var InlineEdit = function InlineEdit(_ref) {
77
90
  },
78
91
  readViewFitContainerWidth: true,
79
92
  isEditing: isEditing,
80
- onEdit: function onEdit() {
81
- return setIsEditing(true);
82
- },
93
+ onEdit: onEdit,
83
94
  onCancel: function onCancel() {
84
95
  return setIsEditing(false);
85
96
  },
@@ -70,7 +70,9 @@ export var PlainJiraIssuesConfigModalOld = function PlainJiraIssuesConfigModalOl
70
70
  viewMode = _props$viewMode === void 0 ? 'table' : _props$viewMode,
71
71
  initialParameters = props.parameters,
72
72
  urlBeingEdited = props.url,
73
- initialVisibleColumnKeys = props.visibleColumnKeys;
73
+ initialVisibleColumnKeys = props.visibleColumnKeys,
74
+ _props$disableDisplay = props.disableDisplayDropdown,
75
+ disableDisplayDropdown = _props$disableDisplay === void 0 ? false : _props$disableDisplay;
74
76
  var _useState = useState(viewMode),
75
77
  _useState2 = _slicedToArray(_useState, 2),
76
78
  currentViewMode = _useState2[0],
@@ -460,7 +462,7 @@ export var PlainJiraIssuesConfigModalOld = function PlainJiraIssuesConfigModalOl
460
462
  selectedSite: selectedJiraSite,
461
463
  testId: "jira-datasource-modal--site-selector",
462
464
  label: siteSelectorLabel
463
- })), !hasNoJiraSites && jsx(DisplayViewDropDown, {
465
+ })), !hasNoJiraSites && !disableDisplayDropdown && jsx(DisplayViewDropDown, {
464
466
  onViewModeChange: handleViewModeChange,
465
467
  viewMode: currentViewMode
466
468
  })), jsx(ModalBody, null, !hasNoJiraSites ? jsx(Fragment, null, jsx(JiraSearchContainer, {
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates Typescript types for analytics events from analytics.spec.yaml
5
5
  *
6
- * @codegen <<SignedSource::b545a6ba498c7d701c956e5ca94c24cf>>
6
+ * @codegen <<SignedSource::bd4a9ac1dd6f3a586ddf6c80d30b68fd>>
7
7
  * @codegenCommand yarn workspace @atlassian/analytics-tooling run analytics:codegen link-datasource
8
8
  */
9
9
  export type ComponentMetaDataType = {
@@ -68,7 +68,7 @@ export type DatasourceRenderSuccessAttributesType = {
68
68
  };
69
69
  export type DatasourceRenderFailureAttributesType = {};
70
70
  export type DatasourceOperationFailedAttributesType = {
71
- errorLocation: string | null;
71
+ errorLocation: 'ProviderOnAuthRequest' | 'loadDatasourceDetails' | 'onNextPage' | 'actionDiscovery' | 'actionExecution' | null;
72
72
  traceId: string | null;
73
73
  status: number | null;
74
74
  };
@@ -152,6 +152,11 @@ export type ActionDiscoverySuccessAttributesType = {
152
152
  datasourceId: string | null;
153
153
  };
154
154
  export type FormSubmittedInlineEditAttributesType = {};
155
+ export type InlineEditClickedDatasourceAttributesType = {
156
+ entityType: string;
157
+ integrationKey: string;
158
+ fieldKey: string;
159
+ };
155
160
  export type AnalyticsEventAttributes = {
156
161
  /**
157
162
  * Fires when user sees modal dialog. */
@@ -270,5 +275,8 @@ export type AnalyticsEventAttributes = {
270
275
  /**
271
276
  * Fired when the user initiates an update via inline edit through enter key press or submit */
272
277
  'ui.form.submitted.inlineEdit': FormSubmittedInlineEditAttributesType;
278
+ /**
279
+ * Fired when inline edit is clicked to show edit mode */
280
+ 'ui.inlineEdit.clicked.datasource': InlineEditClickedDatasourceAttributesType;
273
281
  };
274
282
  export type EventKey = keyof AnalyticsEventAttributes;
@@ -25,4 +25,6 @@ export type ConfigModalProps<ADF, Parameters> = {
25
25
  * - Inline = Presents a smart link that shows the count of query results. However, if there's only one result, it converts to an inline smart link of that issue.
26
26
  */
27
27
  viewMode?: DisplayViewModes;
28
+ /** Disable the view mode display dropdown */
29
+ disableDisplayDropdown?: boolean;
28
30
  } & Partial<Pick<IssueLikeDataTableViewProps, 'visibleColumnKeys' | 'wrappedColumnKeys' | 'columnCustomSizes'>>;
@@ -1,3 +1,4 @@
1
+ import { type DatasourceOperationFailedAttributesType } from '../analytics/generated/analytics.types';
1
2
  /**
2
3
  * This function is just a wrapper around captureException that checks if the enable-sentry-client FF is enabled
3
4
  * and error is instanceof Error. We have to override the type of error from captureException to unknown so we use
@@ -14,6 +15,6 @@ interface UseErrorLoggerPropsActions {
14
15
  }
15
16
  export type UseErrorLoggerProps = UseErrorLoggerPropsDatasource | UseErrorLoggerPropsActions;
16
17
  declare const useErrorLogger: (loggerProps: UseErrorLoggerProps) => {
17
- captureError: (errorLocation: string, error: unknown) => void;
18
+ captureError: (errorLocation: DatasourceOperationFailedAttributesType['errorLocation'], error: unknown) => void;
18
19
  };
19
20
  export default useErrorLogger;
@@ -1,7 +1,7 @@
1
1
  import { type Action } from 'react-sweet-state';
2
2
  import { useDatasourceClientExtension } from '@atlaskit/link-client-extension';
3
3
  import type { ActionsDiscoveryRequest, AtomicActionInterface } from '@atlaskit/linking-types';
4
- import { type EventKey } from '../../../src/analytics/generated/analytics.types';
4
+ import { type DatasourceOperationFailedAttributesType, type EventKey } from '../../../src/analytics/generated/analytics.types';
5
5
  import type createEventPayload from '../../../src/analytics/generated/create-event-payload';
6
6
  type IntegrationKey = string;
7
7
  type FieldKey = string;
@@ -49,7 +49,7 @@ export interface ActionsStoreState {
49
49
  interface Client {
50
50
  getDatasourceActionsAndPermissions: ReturnType<typeof useDatasourceClientExtension>['getDatasourceActionsAndPermissions'];
51
51
  }
52
- type AnalyticsCaptureError = (errorLocation: string, error: unknown) => void;
52
+ type AnalyticsCaptureError = (errorLocation: DatasourceOperationFailedAttributesType['errorLocation'], error: unknown) => void;
53
53
  type AnalyticsFireEvent = <K extends EventKey>(...params: Parameters<typeof createEventPayload<K>>) => void;
54
54
  interface UseDiscoverActionsProps {
55
55
  captureError: AnalyticsCaptureError;
@@ -4,6 +4,7 @@ import type { DatasourceDataResponseItem } from '@atlaskit/linking-types';
4
4
  type UniqueIdentifier = string;
5
5
  interface DatasourceItem {
6
6
  ari: string | undefined;
7
+ entityType: string | undefined;
7
8
  integrationKey: string | undefined;
8
9
  data: DatasourceDataResponseItem;
9
10
  }
@@ -12,18 +13,18 @@ export interface State {
12
13
  }
13
14
  export declare const actions: {
14
15
  onUpdateItem: (id: string, data: DatasourceDataResponseItem) => Action<State, void, void>;
15
- onAddItems: (items: DatasourceDataResponseItem[], integrationKey: string | undefined) => Action<State, void, string[]>;
16
+ onAddItems: (items: DatasourceDataResponseItem[], integrationKey: string | undefined, entityType: string | undefined) => Action<State, void, string[]>;
16
17
  };
17
18
  export declare const Store: import("react-sweet-state").Store<State, {
18
19
  onUpdateItem: (id: string, data: DatasourceDataResponseItem) => Action<State, void, void>;
19
- onAddItems: (items: DatasourceDataResponseItem[], integrationKey: string | undefined) => Action<State, void, string[]>;
20
+ onAddItems: (items: DatasourceDataResponseItem[], integrationKey: string | undefined, entityType: string | undefined) => Action<State, void, string[]>;
20
21
  }>;
21
22
  export declare const useDatasourceItem: import("react-sweet-state").HookStateFunction<DatasourceItem | undefined, {
22
23
  id: string;
23
24
  }>;
24
25
  export declare const useDatasourceActions: import("react-sweet-state").HookActionsFunction<import("react-sweet-state").BoundActions<State, {
25
26
  onUpdateItem: (id: string, data: DatasourceDataResponseItem) => Action<State, void, void>;
26
- onAddItems: (items: DatasourceDataResponseItem[], integrationKey: string | undefined) => Action<State, void, string[]>;
27
+ onAddItems: (items: DatasourceDataResponseItem[], integrationKey: string | undefined, entityType: string | undefined) => Action<State, void, string[]>;
27
28
  }>>;
28
29
  export declare const StoreContainer: ({ children }: {
29
30
  children: JSX.Element;
@@ -13,4 +13,4 @@ export interface ModeSwitcherProps<T extends string = string> {
13
13
  selectedOptionValue?: string;
14
14
  }
15
15
  export declare const ModeSwitcher: <T extends string = string>(props: ModeSwitcherProps<T>) => jsx.JSX.Element | null;
16
- export declare const DatasourceViewModeDropDown: () => jsx.JSX.Element;
16
+ export declare const DatasourceViewModeDropDown: () => jsx.JSX.Element | null;
@@ -8,9 +8,11 @@ import type { DisplayViewModes } from '../../../../common/types';
8
8
  interface ViewModeHookState {
9
9
  currentViewMode: DisplayViewModes;
10
10
  setCurrentViewMode: (selectedMode: DisplayViewModes) => void;
11
+ disableDisplayDropdown: boolean;
11
12
  }
12
- export declare const DatasourceViewModeProvider: ({ viewMode: initialViewMode, children, }: {
13
+ export declare const DatasourceViewModeProvider: ({ viewMode: initialViewMode, disableDisplayDropdown, children, }: {
13
14
  viewMode: DisplayViewModes;
15
+ disableDisplayDropdown: boolean;
14
16
  children: React.ReactNode;
15
17
  }) => jsx.JSX.Element;
16
18
  export declare const useViewModeContext: () => ViewModeHookState;
@@ -4,11 +4,9 @@ import { type ConfigModalProps } from '../../common/types';
4
4
  import { type ConnectedConfigModalProps } from '../common/modal/datasource-modal/createDatasourceModal';
5
5
  import { type DateRangeType } from '../common/modal/popup-select/types';
6
6
  export interface ConfluenceSearchConfigModalProps extends ConfigModalProps<InlineCardAdf | ConfluenceSearchDatasourceAdf, DatasourceParameters | ConfluenceSearchDatasourceParameters> {
7
- disableDisplayDropdown?: boolean;
8
7
  overrideParameters?: Pick<ConfluenceSearchDatasourceParameters, 'entityTypes'>;
9
8
  }
10
9
  export interface ConnectedConfluenceSearchConfigModalProps extends ConnectedConfigModalProps<ConfluenceSearchDatasourceParameters> {
11
- disableDisplayDropdown?: boolean;
12
10
  overrideParameters?: Pick<ConfluenceSearchDatasourceParameters, 'entityTypes'>;
13
11
  }
14
12
  export type ConfluenceSearchDatasourceParameters = {
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates Typescript types for analytics events from analytics.spec.yaml
5
5
  *
6
- * @codegen <<SignedSource::b545a6ba498c7d701c956e5ca94c24cf>>
6
+ * @codegen <<SignedSource::bd4a9ac1dd6f3a586ddf6c80d30b68fd>>
7
7
  * @codegenCommand yarn workspace @atlassian/analytics-tooling run analytics:codegen link-datasource
8
8
  */
9
9
  export type ComponentMetaDataType = {
@@ -68,7 +68,7 @@ export type DatasourceRenderSuccessAttributesType = {
68
68
  };
69
69
  export type DatasourceRenderFailureAttributesType = {};
70
70
  export type DatasourceOperationFailedAttributesType = {
71
- errorLocation: string | null;
71
+ errorLocation: 'ProviderOnAuthRequest' | 'loadDatasourceDetails' | 'onNextPage' | 'actionDiscovery' | 'actionExecution' | null;
72
72
  traceId: string | null;
73
73
  status: number | null;
74
74
  };
@@ -152,6 +152,11 @@ export type ActionDiscoverySuccessAttributesType = {
152
152
  datasourceId: string | null;
153
153
  };
154
154
  export type FormSubmittedInlineEditAttributesType = {};
155
+ export type InlineEditClickedDatasourceAttributesType = {
156
+ entityType: string;
157
+ integrationKey: string;
158
+ fieldKey: string;
159
+ };
155
160
  export type AnalyticsEventAttributes = {
156
161
  /**
157
162
  * Fires when user sees modal dialog. */
@@ -270,5 +275,8 @@ export type AnalyticsEventAttributes = {
270
275
  /**
271
276
  * Fired when the user initiates an update via inline edit through enter key press or submit */
272
277
  'ui.form.submitted.inlineEdit': FormSubmittedInlineEditAttributesType;
278
+ /**
279
+ * Fired when inline edit is clicked to show edit mode */
280
+ 'ui.inlineEdit.clicked.datasource': InlineEditClickedDatasourceAttributesType;
273
281
  };
274
282
  export type EventKey = keyof AnalyticsEventAttributes;
@@ -25,4 +25,6 @@ export type ConfigModalProps<ADF, Parameters> = {
25
25
  * - Inline = Presents a smart link that shows the count of query results. However, if there's only one result, it converts to an inline smart link of that issue.
26
26
  */
27
27
  viewMode?: DisplayViewModes;
28
+ /** Disable the view mode display dropdown */
29
+ disableDisplayDropdown?: boolean;
28
30
  } & Partial<Pick<IssueLikeDataTableViewProps, 'visibleColumnKeys' | 'wrappedColumnKeys' | 'columnCustomSizes'>>;
@@ -1,3 +1,4 @@
1
+ import { type DatasourceOperationFailedAttributesType } from '../analytics/generated/analytics.types';
1
2
  /**
2
3
  * This function is just a wrapper around captureException that checks if the enable-sentry-client FF is enabled
3
4
  * and error is instanceof Error. We have to override the type of error from captureException to unknown so we use
@@ -14,6 +15,6 @@ interface UseErrorLoggerPropsActions {
14
15
  }
15
16
  export type UseErrorLoggerProps = UseErrorLoggerPropsDatasource | UseErrorLoggerPropsActions;
16
17
  declare const useErrorLogger: (loggerProps: UseErrorLoggerProps) => {
17
- captureError: (errorLocation: string, error: unknown) => void;
18
+ captureError: (errorLocation: DatasourceOperationFailedAttributesType['errorLocation'], error: unknown) => void;
18
19
  };
19
20
  export default useErrorLogger;
@@ -1,7 +1,7 @@
1
1
  import { type Action } from 'react-sweet-state';
2
2
  import { useDatasourceClientExtension } from '@atlaskit/link-client-extension';
3
3
  import type { ActionsDiscoveryRequest, AtomicActionInterface } from '@atlaskit/linking-types';
4
- import { type EventKey } from '../../../src/analytics/generated/analytics.types';
4
+ import { type DatasourceOperationFailedAttributesType, type EventKey } from '../../../src/analytics/generated/analytics.types';
5
5
  import type createEventPayload from '../../../src/analytics/generated/create-event-payload';
6
6
  type IntegrationKey = string;
7
7
  type FieldKey = string;
@@ -49,7 +49,7 @@ export interface ActionsStoreState {
49
49
  interface Client {
50
50
  getDatasourceActionsAndPermissions: ReturnType<typeof useDatasourceClientExtension>['getDatasourceActionsAndPermissions'];
51
51
  }
52
- type AnalyticsCaptureError = (errorLocation: string, error: unknown) => void;
52
+ type AnalyticsCaptureError = (errorLocation: DatasourceOperationFailedAttributesType['errorLocation'], error: unknown) => void;
53
53
  type AnalyticsFireEvent = <K extends EventKey>(...params: Parameters<typeof createEventPayload<K>>) => void;
54
54
  interface UseDiscoverActionsProps {
55
55
  captureError: AnalyticsCaptureError;
@@ -4,6 +4,7 @@ import type { DatasourceDataResponseItem } from '@atlaskit/linking-types';
4
4
  type UniqueIdentifier = string;
5
5
  interface DatasourceItem {
6
6
  ari: string | undefined;
7
+ entityType: string | undefined;
7
8
  integrationKey: string | undefined;
8
9
  data: DatasourceDataResponseItem;
9
10
  }
@@ -12,18 +13,18 @@ export interface State {
12
13
  }
13
14
  export declare const actions: {
14
15
  onUpdateItem: (id: string, data: DatasourceDataResponseItem) => Action<State, void, void>;
15
- onAddItems: (items: DatasourceDataResponseItem[], integrationKey: string | undefined) => Action<State, void, string[]>;
16
+ onAddItems: (items: DatasourceDataResponseItem[], integrationKey: string | undefined, entityType: string | undefined) => Action<State, void, string[]>;
16
17
  };
17
18
  export declare const Store: import("react-sweet-state").Store<State, {
18
19
  onUpdateItem: (id: string, data: DatasourceDataResponseItem) => Action<State, void, void>;
19
- onAddItems: (items: DatasourceDataResponseItem[], integrationKey: string | undefined) => Action<State, void, string[]>;
20
+ onAddItems: (items: DatasourceDataResponseItem[], integrationKey: string | undefined, entityType: string | undefined) => Action<State, void, string[]>;
20
21
  }>;
21
22
  export declare const useDatasourceItem: import("react-sweet-state").HookStateFunction<DatasourceItem | undefined, {
22
23
  id: string;
23
24
  }>;
24
25
  export declare const useDatasourceActions: import("react-sweet-state").HookActionsFunction<import("react-sweet-state").BoundActions<State, {
25
26
  onUpdateItem: (id: string, data: DatasourceDataResponseItem) => Action<State, void, void>;
26
- onAddItems: (items: DatasourceDataResponseItem[], integrationKey: string | undefined) => Action<State, void, string[]>;
27
+ onAddItems: (items: DatasourceDataResponseItem[], integrationKey: string | undefined, entityType: string | undefined) => Action<State, void, string[]>;
27
28
  }>>;
28
29
  export declare const StoreContainer: ({ children }: {
29
30
  children: JSX.Element;
@@ -13,4 +13,4 @@ export interface ModeSwitcherProps<T extends string = string> {
13
13
  selectedOptionValue?: string;
14
14
  }
15
15
  export declare const ModeSwitcher: <T extends string = string>(props: ModeSwitcherProps<T>) => jsx.JSX.Element | null;
16
- export declare const DatasourceViewModeDropDown: () => jsx.JSX.Element;
16
+ export declare const DatasourceViewModeDropDown: () => jsx.JSX.Element | null;
@@ -8,9 +8,11 @@ import type { DisplayViewModes } from '../../../../common/types';
8
8
  interface ViewModeHookState {
9
9
  currentViewMode: DisplayViewModes;
10
10
  setCurrentViewMode: (selectedMode: DisplayViewModes) => void;
11
+ disableDisplayDropdown: boolean;
11
12
  }
12
- export declare const DatasourceViewModeProvider: ({ viewMode: initialViewMode, children, }: {
13
+ export declare const DatasourceViewModeProvider: ({ viewMode: initialViewMode, disableDisplayDropdown, children, }: {
13
14
  viewMode: DisplayViewModes;
15
+ disableDisplayDropdown: boolean;
14
16
  children: React.ReactNode;
15
17
  }) => jsx.JSX.Element;
16
18
  export declare const useViewModeContext: () => ViewModeHookState;
@@ -4,11 +4,9 @@ import { type ConfigModalProps } from '../../common/types';
4
4
  import { type ConnectedConfigModalProps } from '../common/modal/datasource-modal/createDatasourceModal';
5
5
  import { type DateRangeType } from '../common/modal/popup-select/types';
6
6
  export interface ConfluenceSearchConfigModalProps extends ConfigModalProps<InlineCardAdf | ConfluenceSearchDatasourceAdf, DatasourceParameters | ConfluenceSearchDatasourceParameters> {
7
- disableDisplayDropdown?: boolean;
8
7
  overrideParameters?: Pick<ConfluenceSearchDatasourceParameters, 'entityTypes'>;
9
8
  }
10
9
  export interface ConnectedConfluenceSearchConfigModalProps extends ConnectedConfigModalProps<ConfluenceSearchDatasourceParameters> {
11
- disableDisplayDropdown?: boolean;
12
10
  overrideParameters?: Pick<ConfluenceSearchDatasourceParameters, 'entityTypes'>;
13
11
  }
14
12
  export type ConfluenceSearchDatasourceParameters = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "2.11.15",
3
+ "version": "2.12.0",
4
4
  "description": "UI Components to support linking platform dataset feature",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -54,8 +54,8 @@
54
54
  "@atlaskit/inline-edit": "^13.7.0",
55
55
  "@atlaskit/intl-messages-provider": "^1.0.0",
56
56
  "@atlaskit/jql-ast": "^3.3.0",
57
- "@atlaskit/jql-editor": "^4.6.0",
58
- "@atlaskit/jql-editor-autocomplete-rest": "^2.0.0",
57
+ "@atlaskit/jql-editor": "^4.7.0",
58
+ "@atlaskit/jql-editor-autocomplete-rest": "^2.1.0",
59
59
  "@atlaskit/layering": "^0.4.0",
60
60
  "@atlaskit/link-client-extension": "^2.3.0",
61
61
  "@atlaskit/linking-common": "^5.11.0",
@@ -72,7 +72,7 @@
72
72
  "@atlaskit/pragmatic-drag-and-drop-react-drop-indicator": "^1.1.0",
73
73
  "@atlaskit/primitives": "^12.1.0",
74
74
  "@atlaskit/select": "^17.15.0",
75
- "@atlaskit/smart-card": "^27.19.0",
75
+ "@atlaskit/smart-card": "^27.20.0",
76
76
  "@atlaskit/smart-user-picker": "6.10.2",
77
77
  "@atlaskit/spinner": "^16.3.0",
78
78
  "@atlaskit/tag": "^12.5.0",