@atlaskit/link-datasource 2.8.0 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/hooks/useDatasourceTableState.js +54 -39
  3. package/dist/cjs/state/index.js +68 -0
  4. package/dist/cjs/ui/assets-modal/modal/index.js +8 -5
  5. package/dist/cjs/ui/common/modal/datasource-modal/createDatasourceModal.js +55 -0
  6. package/dist/cjs/ui/common/modal/datasources-table-in-modal-preview/index.js +13 -2
  7. package/dist/cjs/ui/common/modal/insert-button/index.js +5 -4
  8. package/dist/cjs/ui/confluence-search-modal/modal/index.js +36 -39
  9. package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +3 -2
  10. package/dist/cjs/ui/jira-issues-modal/modal/index.js +142 -211
  11. package/dist/es2019/hooks/useDatasourceTableState.js +15 -5
  12. package/dist/es2019/state/index.js +55 -0
  13. package/dist/es2019/ui/assets-modal/modal/index.js +9 -6
  14. package/dist/es2019/ui/common/modal/datasource-context/index.js +1 -1
  15. package/dist/es2019/ui/common/modal/datasource-modal/createDatasourceModal.js +51 -0
  16. package/dist/es2019/ui/common/modal/datasources-table-in-modal-preview/index.js +9 -2
  17. package/dist/es2019/ui/common/modal/insert-button/index.js +5 -4
  18. package/dist/es2019/ui/confluence-search-modal/modal/index.js +36 -39
  19. package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +4 -3
  20. package/dist/es2019/ui/jira-issues-modal/modal/index.js +134 -202
  21. package/dist/esm/hooks/useDatasourceTableState.js +54 -39
  22. package/dist/esm/state/index.js +61 -0
  23. package/dist/esm/ui/assets-modal/modal/index.js +9 -6
  24. package/dist/esm/ui/common/modal/datasource-modal/createDatasourceModal.js +48 -0
  25. package/dist/esm/ui/common/modal/datasources-table-in-modal-preview/index.js +10 -2
  26. package/dist/esm/ui/common/modal/insert-button/index.js +5 -4
  27. package/dist/esm/ui/confluence-search-modal/modal/index.js +39 -42
  28. package/dist/esm/ui/datasource-table-view/datasourceTableView.js +4 -3
  29. package/dist/esm/ui/jira-issues-modal/modal/index.js +147 -216
  30. package/dist/types/common/types.d.ts +2 -1
  31. package/dist/types/state/index.d.ts +21 -0
  32. package/dist/types/ui/common/modal/datasource-context/index.d.ts +9 -12
  33. package/dist/types/ui/common/modal/datasource-modal/createDatasourceModal.d.ts +15 -0
  34. package/dist/types/ui/common/modal/insert-button/index.d.ts +4 -2
  35. package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.d.ts +1 -1
  36. package/dist/types/ui/confluence-search-modal/modal/index.d.ts +3 -4
  37. package/dist/types/ui/confluence-search-modal/types.d.ts +6 -1
  38. package/dist/types/ui/jira-issues-modal/modal/index.d.ts +3 -3
  39. package/dist/types/ui/jira-issues-modal/types.d.ts +3 -0
  40. package/dist/types-ts4.5/common/types.d.ts +2 -1
  41. package/dist/types-ts4.5/state/index.d.ts +21 -0
  42. package/dist/types-ts4.5/ui/common/modal/datasource-context/index.d.ts +9 -12
  43. package/dist/types-ts4.5/ui/common/modal/datasource-modal/createDatasourceModal.d.ts +15 -0
  44. package/dist/types-ts4.5/ui/common/modal/insert-button/index.d.ts +4 -2
  45. package/dist/types-ts4.5/ui/confluence-search-modal/basic-filters/filters/date-range-picker/PopupComponent.d.ts +1 -1
  46. package/dist/types-ts4.5/ui/confluence-search-modal/modal/index.d.ts +3 -4
  47. package/dist/types-ts4.5/ui/confluence-search-modal/types.d.ts +6 -1
  48. package/dist/types-ts4.5/ui/jira-issues-modal/modal/index.d.ts +3 -3
  49. package/dist/types-ts4.5/ui/jira-issues-modal/types.d.ts +3 -0
  50. package/package.json +5 -1
@@ -0,0 +1,61 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ import React from 'react';
7
+ import { createActionsHook, createContainer, createStateHook, createStore } from 'react-sweet-state';
8
+ import { v4 as uuidv4 } from 'uuid';
9
+ import { fg } from '@atlaskit/platform-feature-flags';
10
+ var getInitialState = function getInitialState() {
11
+ return {
12
+ items: {}
13
+ };
14
+ };
15
+ export var actions = {
16
+ onAddItems: function onAddItems(items) {
17
+ return function (_ref) {
18
+ var setState = _ref.setState,
19
+ getState = _ref.getState;
20
+ var oldItems = _objectSpread({}, getState().items);
21
+ var _items$reduce = items.reduce(function (_ref2, item) {
22
+ var _item$ari;
23
+ var _ref3 = _slicedToArray(_ref2, 2),
24
+ ids = _ref3[0],
25
+ itemMap = _ref3[1];
26
+ var ari = typeof ((_item$ari = item['ari']) === null || _item$ari === void 0 ? void 0 : _item$ari.data) === 'string' ? item['ari'].data : undefined;
27
+ var id = ari !== null && ari !== void 0 ? ari : uuidv4();
28
+ return [[].concat(_toConsumableArray(ids), [id]), _objectSpread(_objectSpread({}, itemMap), {}, _defineProperty({}, id, _objectSpread(_objectSpread({}, oldItems[id]), item)))];
29
+ }, [[], oldItems]),
30
+ _items$reduce2 = _slicedToArray(_items$reduce, 2),
31
+ newItemIds = _items$reduce2[0],
32
+ newItems = _items$reduce2[1];
33
+ setState({
34
+ items: newItems
35
+ });
36
+ return newItemIds;
37
+ };
38
+ }
39
+ };
40
+ export var Store = createStore({
41
+ name: 'datasource-store',
42
+ initialState: getInitialState(),
43
+ actions: actions
44
+ });
45
+ export var useDatasourceItem = createStateHook(Store, {
46
+ selector: function selector(state, _ref4) {
47
+ var id = _ref4.id;
48
+ return state.items[id];
49
+ }
50
+ });
51
+ export var useDatasourceActions = createActionsHook(Store);
52
+ var Container = createContainer(Store);
53
+ export var StoreContainer = function StoreContainer(_ref5) {
54
+ var children = _ref5.children;
55
+ if (fg('enable_datasource_react_sweet_state')) {
56
+ return /*#__PURE__*/React.createElement(Container, {
57
+ scope: "datasource"
58
+ }, children);
59
+ }
60
+ return children;
61
+ };
@@ -16,7 +16,7 @@ import { withAnalyticsContext } from '@atlaskit/analytics-next';
16
16
  import Button from '@atlaskit/button/standard-button';
17
17
  import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
18
18
  import { ModalBody, ModalFooter, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
19
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
19
+ import { fg } from '@atlaskit/platform-feature-flags';
20
20
  import { EVENT_CHANNEL, useDatasourceAnalyticsEvents } from '../../../analytics';
21
21
  import { componentMetadata } from '../../../analytics/constants';
22
22
  import { DatasourceAction, DatasourceDisplay, DatasourceSearchMethod } from '../../../analytics/types';
@@ -31,6 +31,7 @@ import { useAssetsClient } from '../../../hooks/useAssetsClient';
31
31
  import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
32
32
  import i18nEN from '../../../i18n/en';
33
33
  import { PermissionError } from '../../../services/cmdbService.utils';
34
+ import { StoreContainer } from '../../../state';
34
35
  import { AccessRequired } from '../../../ui/common/error-state/access-required';
35
36
  import { ModalLoadingError } from '../../common/error-state/modal-loading-error';
36
37
  import { CancelButton } from '../../common/modal/cancel-button';
@@ -62,7 +63,9 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
62
63
  schemaId = _useState4[0],
63
64
  setSchemaId = _useState4[1];
64
65
  var apiVersion = initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.version;
65
- var _useState5 = useState(getBooleanFF('platform.linking-platform.datasource-assets_add_version_parameter') && apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys),
66
+ var _useState5 = useState(
67
+ // eslint-disable-next-line @atlaskit/platform/no-preconditioning
68
+ fg('platform.linking-platform.datasource-assets_add_version_parameter') && apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys),
66
69
  _useState6 = _slicedToArray(_useState5, 2),
67
70
  visibleColumnKeys = _useState6[0],
68
71
  setVisibleColumnKeys = _useState6[1];
@@ -121,7 +124,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
121
124
  aql: aql || '',
122
125
  schemaId: schemaId || '',
123
126
  workspaceId: workspaceId || ''
124
- }, getBooleanFF('platform.linking-platform.datasource-assets_add_version_parameter') ? {
127
+ }, fg('platform.linking-platform.datasource-assets_add_version_parameter') ? {
125
128
  version: VERSION_TWO
126
129
  } : {});
127
130
  }, [aql, schemaId, workspaceId]);
@@ -205,7 +208,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
205
208
  setIsNewSearch(false);
206
209
  }, []);
207
210
  useEffect(function () {
208
- if (getBooleanFF('platform.linking-platform.datasource-assets_add_version_parameter')) {
211
+ if (fg('platform.linking-platform.datasource-assets_add_version_parameter')) {
209
212
  var newVisibleColumnKeys = initialVisibleColumnKeys && initialVisibleColumnKeys.length > 0 && apiVersion === VERSION_TWO ? initialVisibleColumnKeys : defaultVisibleColumnKeys;
210
213
  setVisibleColumnKeys(newVisibleColumnKeys);
211
214
  } else {
@@ -264,7 +267,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
264
267
  workspaceId: workspaceId,
265
268
  aql: aql,
266
269
  schemaId: schemaId
267
- }, getBooleanFF('platform.linking-platform.datasource-assets_add_version_parameter') ? {
270
+ }, fg('platform.linking-platform.datasource-assets_add_version_parameter') ? {
268
271
  version: VERSION_TWO
269
272
  } : {}),
270
273
  views: [{
@@ -386,5 +389,5 @@ var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
386
389
  attributes: _objectSpread({}, analyticsContextAttributes)
387
390
  });
388
391
  export var AssetsConfigModal = withAnalyticsContext(contextData)(function (props) {
389
- return jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(PlainAssetsConfigModal, props)));
392
+ return jsx(StoreContainer, null, jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(PlainAssetsConfigModal, props))));
390
393
  });
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+
6
+ import React from 'react';
7
+
8
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
9
+ import { jsx } from '@emotion/react';
10
+ import { AnalyticsContext } from '@atlaskit/analytics-next';
11
+ import { DatasourceExperienceIdProvider } from '../../../../contexts/datasource-experience-id';
12
+ import { UserInteractionsProvider } from '../../../../contexts/user-interactions';
13
+ import { DatasourceContextProvider } from '../datasource-context';
14
+ import { DatasourceViewModeProvider } from '../mode-switcher/useViewModeContext';
15
+ var DEFAULT_VIEW_MODE = 'table';
16
+ export var createDatasourceModal = function createDatasourceModal(_ref) {
17
+ var isValidParameters = _ref.isValidParameters,
18
+ dataProvider = _ref.dataProvider,
19
+ ModalContent = _ref.component;
20
+ return function (props) {
21
+ var datasourceId = props.datasourceId,
22
+ visibleColumnKeys = props.visibleColumnKeys,
23
+ columnCustomSizes = props.columnCustomSizes,
24
+ wrappedColumnKeys = props.wrappedColumnKeys,
25
+ parameters = props.parameters,
26
+ onInsert = props.onInsert,
27
+ viewMode = props.viewMode;
28
+ return jsx(AnalyticsContext, {
29
+ data: {
30
+ source: 'datasourceConfigModal',
31
+ component: 'datasourceConfigModal',
32
+ attributes: {
33
+ dataProvider: dataProvider
34
+ }
35
+ }
36
+ }, jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(DatasourceContextProvider, {
37
+ datasourceId: datasourceId,
38
+ initialVisibleColumnKeys: visibleColumnKeys,
39
+ initialColumnCustomSizes: columnCustomSizes,
40
+ initialWrappedColumnKeys: wrappedColumnKeys,
41
+ initialParameters: parameters,
42
+ isValidParameters: isValidParameters,
43
+ onInsert: onInsert
44
+ }, jsx(DatasourceViewModeProvider, {
45
+ viewMode: viewMode !== null && viewMode !== void 0 ? viewMode : DEFAULT_VIEW_MODE
46
+ }, jsx(ModalContent, props))))));
47
+ };
48
+ };
@@ -1,6 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import React from 'react';
2
+ import React, { useCallback } from 'react';
3
3
  import { fg } from '@atlaskit/platform-feature-flags';
4
+ import { DatasourceAction } from '../../../../analytics/types';
5
+ import { useUserInteractions } from '../../../../contexts/user-interactions';
4
6
  import { IssueLikeDataTableView } from '../../../issue-like-table';
5
7
  import { useDatasourceContext } from '../datasource-context';
6
8
  var Table = function Table(props) {
@@ -21,13 +23,19 @@ var Table = function Table(props) {
21
23
  loadDatasourceDetails = _useDatasourceContext2.loadDatasourceDetails,
22
24
  _useDatasourceContext3 = _useDatasourceContext2.extensionKey,
23
25
  extensionKey = _useDatasourceContext3 === void 0 ? null : _useDatasourceContext3;
26
+ var userInteractions = useUserInteractions();
27
+ var handleOnNextPage = useCallback(function () {
28
+ var onNextPageProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
29
+ userInteractions.add(DatasourceAction.NEXT_PAGE_SCROLLED);
30
+ onNextPage(onNextPageProps);
31
+ }, [onNextPage, userInteractions]);
24
32
  return /*#__PURE__*/React.createElement(IssueLikeDataTableView, _extends({}, props, {
25
33
  status: status,
26
34
  columns: columns,
27
35
  items: responseItems,
28
36
  hasNextPage: hasNextPage,
29
37
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
30
- onNextPage: onNextPage,
38
+ onNextPage: handleOnNextPage,
31
39
  onLoadDatasourceDetails: loadDatasourceDetails,
32
40
  onVisibleColumnKeysChange: onVisibleColumnKeysChange,
33
41
  extensionKey: extensionKey,
@@ -21,6 +21,7 @@ export var InsertButton = function InsertButton(_ref) {
21
21
  var testId = _ref.testId,
22
22
  url = _ref.url,
23
23
  getAnalyticsPayload = _ref.getAnalyticsPayload,
24
+ overwriteParameters = _ref.overwriteParameters,
24
25
  children = _ref.children;
25
26
  var _useDatasourceContext = useDatasourceContext(),
26
27
  datasourceId = _useDatasourceContext.datasourceId,
@@ -45,13 +46,13 @@ export var InsertButton = function InsertButton(_ref) {
45
46
  }
46
47
  var insertButtonClickedEvent = analyticsEvent.update({
47
48
  actionSubjectId: 'insert',
48
- attributes: _objectSpread(_objectSpread({}, getAnalyticsPayload()), {}, {
49
+ attributes: _objectSpread({
49
50
  totalItemCount: totalCount || 0,
50
51
  displayedColumnCount: visibleColumnCount.current,
51
52
  display: currentViewMode === 'inline' ? DatasourceDisplay.DATASOURCE_INLINE : DatasourceDisplay.DATASOURCE_TABLE,
52
53
  searchMethod: DatasourceSearchMethod.DATASOURCE_SEARCH_QUERY,
53
54
  actions: userInteractions.get()
54
- }),
55
+ }, getAnalyticsPayload()),
55
56
  eventType: 'ui'
56
57
  });
57
58
  var consumerEvent = (_insertButtonClickedE = insertButtonClickedEvent.clone()) !== null && _insertButtonClickedE !== void 0 ? _insertButtonClickedE : undefined;
@@ -66,7 +67,7 @@ export var InsertButton = function InsertButton(_ref) {
66
67
  } else {
67
68
  onInsert(buildDatasourceAdf({
68
69
  id: datasourceId,
69
- parameters: parameters,
70
+ parameters: overwriteParameters ? overwriteParameters(parameters) : parameters,
70
71
  views: [{
71
72
  type: 'table',
72
73
  properties: {
@@ -85,7 +86,7 @@ export var InsertButton = function InsertButton(_ref) {
85
86
  }]
86
87
  }, url), consumerEvent);
87
88
  }
88
- }, [isValidParameters, parameters, url, getAnalyticsPayload, totalCount, visibleColumnCount, currentViewMode, userInteractions, onInsert, datasourceId, visibleColumnKeys, columnCustomSizes, wrappedColumnKeys]);
89
+ }, [columnCustomSizes, currentViewMode, datasourceId, getAnalyticsPayload, isValidParameters, onInsert, overwriteParameters, parameters, totalCount, url, userInteractions, visibleColumnCount, visibleColumnKeys, wrappedColumnKeys]);
89
90
  return jsx(Button, {
90
91
  appearance: "primary",
91
92
  onClick: onInsertPressed,
@@ -12,7 +12,7 @@ import { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'rea
12
12
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
13
13
  import { jsx } from '@emotion/react';
14
14
  import { FormattedMessage } from 'react-intl-next';
15
- import { withAnalyticsContext } from '@atlaskit/analytics-next';
15
+ import { AnalyticsContext } from '@atlaskit/analytics-next';
16
16
  import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
17
17
  import { ModalBody, ModalFooter, ModalHeader, ModalTitle } from '@atlaskit/modal-dialog';
18
18
  import { fg } from '@atlaskit/platform-feature-flags';
@@ -25,6 +25,7 @@ import { DatasourceExperienceIdProvider } from '../../../contexts/datasource-exp
25
25
  import { UserInteractionsProvider, useUserInteractions } from '../../../contexts/user-interactions';
26
26
  import i18nEN from '../../../i18n/en';
27
27
  import { useAvailableSites } from '../../../services/useAvailableSites';
28
+ import { StoreContainer } from '../../../state';
28
29
  import { AccessRequired } from '../../common/error-state/access-required';
29
30
  import { ModalLoadingError } from '../../common/error-state/modal-loading-error';
30
31
  import { NoInstancesView } from '../../common/error-state/no-instances';
@@ -33,12 +34,13 @@ import { InitialStateView } from '../../common/initial-state-view';
33
34
  import { CancelButton } from '../../common/modal/cancel-button';
34
35
  import { ContentContainer } from '../../common/modal/content-container';
35
36
  import { SmartCardPlaceholder, SmartLink } from '../../common/modal/count-view-smart-link';
36
- import { DatasourceContextProvider, useDatasourceContext } from '../../common/modal/datasource-context';
37
+ import { useDatasourceContext } from '../../common/modal/datasource-context';
37
38
  import { DatasourceModal } from '../../common/modal/datasource-modal';
39
+ import { createDatasourceModal } from '../../common/modal/datasource-modal/createDatasourceModal';
38
40
  import DatasourcesTableInModalPreview from '../../common/modal/datasources-table-in-modal-preview';
39
41
  import { InsertButton } from '../../common/modal/insert-button';
40
42
  import { DatasourceViewModeDropDown } from '../../common/modal/mode-switcher';
41
- import { DatasourceViewModeProvider, useViewModeContext } from '../../common/modal/mode-switcher/useViewModeContext';
43
+ import { useViewModeContext } from '../../common/modal/mode-switcher/useViewModeContext';
42
44
  import TableSearchCount from '../../common/modal/search-count';
43
45
  import { SiteSelector } from '../../common/modal/site-selector';
44
46
  import { EmptyState } from '../../issue-like-table';
@@ -46,7 +48,6 @@ import ConfluenceSearchContainer from '../confluence-search-container';
46
48
  import { ConfluenceSearchInitialStateSVG } from './confluence-search-initial-state-svg';
47
49
  import { confluenceSearchModalMessages } from './messages';
48
50
  import { PlainConfluenceSearchConfigModal as PlainConfluenceSearchConfigModalOld } from './ModalOld';
49
- var DEFAULT_VIEW_MODE = 'table';
50
51
  var inputContainerStyles = xcss({
51
52
  alignItems: 'baseline',
52
53
  display: 'flex',
@@ -74,32 +75,44 @@ var useUpdateParametersOnFormUpdate = function useUpdateParametersOnFormUpdate(c
74
75
  };
75
76
  export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConfigModal(props) {
76
77
  var onCancel = props.onCancel,
77
- initialParameters = props.parameters,
78
78
  urlBeingEdited = props.url,
79
79
  _props$disableDisplay = props.disableDisplayDropdown,
80
80
  disableDisplayDropdown = _props$disableDisplay === void 0 ? false : _props$disableDisplay,
81
81
  overrideParameters = props.overrideParameters;
82
82
  var _useViewModeContext = useViewModeContext(),
83
83
  currentViewMode = _useViewModeContext.currentViewMode;
84
- var _useState = useState(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.cloudId),
84
+ var _useDatasourceContext2 = useDatasourceContext(),
85
+ visibleColumnKeys = _useDatasourceContext2.visibleColumnKeys,
86
+ _useDatasourceContext3 = _useDatasourceContext2.tableState,
87
+ reset = _useDatasourceContext3.reset,
88
+ status = _useDatasourceContext3.status,
89
+ responseItems = _useDatasourceContext3.responseItems,
90
+ _useDatasourceContext4 = _useDatasourceContext3.extensionKey,
91
+ extensionKey = _useDatasourceContext4 === void 0 ? null : _useDatasourceContext4,
92
+ destinationObjectTypes = _useDatasourceContext3.destinationObjectTypes,
93
+ totalCount = _useDatasourceContext3.totalCount,
94
+ columns = _useDatasourceContext3.columns,
95
+ visibleColumnCount = _useDatasourceContext2.visibleColumnCount,
96
+ parameters = _useDatasourceContext2.parameters;
97
+ var _useState = useState(parameters === null || parameters === void 0 ? void 0 : parameters.cloudId),
85
98
  _useState2 = _slicedToArray(_useState, 2),
86
99
  cloudId = _useState2[0],
87
100
  setCloudId = _useState2[1];
88
101
  var _useAvailableSites = useAvailableSites('confluence', cloudId),
89
102
  availableSites = _useAvailableSites.availableSites,
90
103
  selectedConfluenceSite = _useAvailableSites.selectedSite;
91
- var _useState3 = useState(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.searchString),
104
+ var _useState3 = useState(parameters === null || parameters === void 0 ? void 0 : parameters.searchString),
92
105
  _useState4 = _slicedToArray(_useState3, 2),
93
106
  searchString = _useState4[0],
94
107
  setSearchString = _useState4[1];
95
- var _useState5 = useState((initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.contributorAccountIds) || []),
108
+ var _useState5 = useState((parameters === null || parameters === void 0 ? void 0 : parameters.contributorAccountIds) || []),
96
109
  _useState6 = _slicedToArray(_useState5, 2),
97
110
  contributorAccountIds = _useState6[0],
98
111
  setContributorAccountIds = _useState6[1];
99
- var _useState7 = useState(initialParameters !== null && initialParameters !== void 0 && initialParameters.lastModified ? {
100
- value: initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModified,
101
- from: initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModifiedFrom,
102
- to: initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModifiedTo
112
+ var _useState7 = useState(parameters !== null && parameters !== void 0 && parameters.lastModified ? {
113
+ value: parameters === null || parameters === void 0 ? void 0 : parameters.lastModified,
114
+ from: parameters === null || parameters === void 0 ? void 0 : parameters.lastModifiedFrom,
115
+ to: parameters === null || parameters === void 0 ? void 0 : parameters.lastModifiedTo
103
116
  } : undefined),
104
117
  _useState8 = _slicedToArray(_useState7, 2),
105
118
  lastModified = _useState8[0],
@@ -109,19 +122,6 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
109
122
  var searchCount = useRef(0);
110
123
  var userInteractions = useUserInteractions();
111
124
  useUpdateParametersOnFormUpdate(cloudId, searchString, lastModified, contributorAccountIds, overrideParameters);
112
- var _useDatasourceContext2 = useDatasourceContext(),
113
- visibleColumnKeys = _useDatasourceContext2.visibleColumnKeys,
114
- _useDatasourceContext3 = _useDatasourceContext2.tableState,
115
- reset = _useDatasourceContext3.reset,
116
- status = _useDatasourceContext3.status,
117
- responseItems = _useDatasourceContext3.responseItems,
118
- _useDatasourceContext4 = _useDatasourceContext3.extensionKey,
119
- extensionKey = _useDatasourceContext4 === void 0 ? null : _useDatasourceContext4,
120
- destinationObjectTypes = _useDatasourceContext3.destinationObjectTypes,
121
- totalCount = _useDatasourceContext3.totalCount,
122
- columns = _useDatasourceContext3.columns,
123
- visibleColumnCount = _useDatasourceContext2.visibleColumnCount,
124
- parameters = _useDatasourceContext2.parameters;
125
125
  var _useDatasourceAnalyti = useDatasourceAnalyticsEvents(),
126
126
  fireEvent = _useDatasourceAnalyti.fireEvent;
127
127
  var hasNoConfluenceSites = availableSites && availableSites.length === 0;
@@ -315,7 +315,7 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
315
315
  }, jsx(ConfluenceSearchContainer, {
316
316
  isSearching: status === 'loading',
317
317
  onSearch: onSearch,
318
- parameters: isValidParameters(parameters) ? parameters : {
318
+ parameters: parameters && isValidParameters(parameters) ? parameters : {
319
319
  cloudId: ''
320
320
  }
321
321
  })), currentViewMode === 'inline' ? renderInlineLinkModalContent() : renderTableModalContent()) : jsx(NoInstancesView, {
@@ -346,19 +346,16 @@ var analyticsContextData = _objectSpread(_objectSpread({}, componentMetadata.con
346
346
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
347
347
  attributes: _objectSpread({}, analyticsContextAttributes)
348
348
  });
349
- export var ConfluenceSearchConfigModal = withAnalyticsContext(contextData)(function (props) {
350
- var _props$viewMode;
351
- return jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, fg('platform-datasources-use-refactored-config-modal') ? jsx(DatasourceContextProvider, {
352
- datasourceId: props.datasourceId,
353
- initialVisibleColumnKeys: props.visibleColumnKeys,
354
- initialColumnCustomSizes: props.columnCustomSizes,
355
- initialWrappedColumnKeys: props.wrappedColumnKeys,
356
- initialParameters: props.parameters,
357
- isValidParameters: isValidParameters,
358
- onInsert: props.onInsert
359
- }, jsx(DatasourceViewModeProvider, {
360
- viewMode: (_props$viewMode = props.viewMode) !== null && _props$viewMode !== void 0 ? _props$viewMode : DEFAULT_VIEW_MODE
361
- }, jsx(PlainConfluenceSearchConfigModal, props))) :
362
- // TODO on cleanup 'use-refactored-config-modal' ff, delete `ModalOld.tsx` as well
363
- jsx(PlainConfluenceSearchConfigModalOld, props)));
364
- });
349
+ var ConnectedConfluenceSearchConfigModal = createDatasourceModal({
350
+ isValidParameters: isValidParameters,
351
+ dataProvider: 'confluence-search',
352
+ component: PlainConfluenceSearchConfigModal
353
+ });
354
+ export var ConfluenceSearchConfigModal = function ConfluenceSearchConfigModal(props) {
355
+ if (fg('platform-datasources-use-refactored-config-modal')) {
356
+ return jsx(StoreContainer, null, jsx(ConnectedConfluenceSearchConfigModal, props));
357
+ }
358
+ return jsx(StoreContainer, null, jsx(AnalyticsContext, {
359
+ data: contextData
360
+ }, jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(PlainConfluenceSearchConfigModalOld, props)))));
361
+ };
@@ -8,7 +8,7 @@ import { useCallback, useEffect, useRef } from 'react';
8
8
  import { css, jsx } from '@emotion/react';
9
9
  import { withAnalyticsContext } from '@atlaskit/analytics-next';
10
10
  import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
11
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
11
+ import { fg } from '@atlaskit/platform-feature-flags';
12
12
  import { useDatasourceAnalyticsEvents } from '../../analytics';
13
13
  import { componentMetadata } from '../../analytics/constants';
14
14
  import { startUfoExperience } from '../../analytics/ufoExperiences';
@@ -18,6 +18,7 @@ import { fetchMessagesForLocale } from '../../common/utils/locale/fetch-messages
18
18
  import { DatasourceExperienceIdProvider, useDatasourceExperienceId } from '../../contexts/datasource-experience-id';
19
19
  import { useDatasourceTableState } from '../../hooks/useDatasourceTableState';
20
20
  import i18nEN from '../../i18n/en';
21
+ import { StoreContainer } from '../../state';
21
22
  import { ScrollableContainerHeight } from '../../ui/issue-like-table/styled';
22
23
  import { ASSETS_LIST_OF_LINKS_DATASOURCE_ID } from '../assets-modal';
23
24
  import { AccessRequired } from '../common/error-state/access-required';
@@ -113,7 +114,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
113
114
  var forcedReset = useCallback(function () {
114
115
  reset({
115
116
  shouldForceRequest: true,
116
- shouldResetColumns: getBooleanFF('platform.linking-platform.datasource-assets_update_refresh_button_dt3qk') && datasourceId === ASSETS_LIST_OF_LINKS_DATASOURCE_ID
117
+ shouldResetColumns: fg('platform.linking-platform.datasource-assets_update_refresh_button_dt3qk') && datasourceId === ASSETS_LIST_OF_LINKS_DATASOURCE_ID
117
118
  });
118
119
  }, [reset, datasourceId]);
119
120
  var onRefresh = useCallback(function () {
@@ -184,5 +185,5 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
184
185
  })));
185
186
  };
186
187
  export var DatasourceTableView = withAnalyticsContext(componentMetadata.tableView)(function (props) {
187
- return jsx(DatasourceExperienceIdProvider, null, jsx(DatasourceTableViewWithoutAnalytics, props));
188
+ return jsx(StoreContainer, null, jsx(DatasourceExperienceIdProvider, null, jsx(DatasourceTableViewWithoutAnalytics, props)));
188
189
  });