@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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 2.9.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#124652](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/124652)
8
+ [`265b4500eb956`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/265b4500eb956) -
9
+ Extract ADF creation related code and move into InsertButton
10
+
11
+ ## 2.9.0
12
+
13
+ ### Minor Changes
14
+
15
+ - [#123321](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/123321)
16
+ [`f932f3070f30d`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/f932f3070f30d) -
17
+ Added `react-sweet-state` which will be fully integrated in issue like table in the next
18
+ changeset.
19
+
3
20
  ## 2.8.0
4
21
 
5
22
  ### Minor Changes
@@ -12,7 +12,9 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
12
12
  var _react = require("react");
13
13
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
14
14
  var _linkClientExtension = require("@atlaskit/link-client-extension");
15
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
16
  var _analytics = require("../analytics");
17
+ var _state = require("../state");
16
18
  var _useErrorLogger2 = _interopRequireDefault(require("./useErrorLogger"));
17
19
  var useDatasourceTableState = exports.useDatasourceTableState = function useDatasourceTableState(_ref) {
18
20
  var datasourceId = _ref.datasourceId,
@@ -25,6 +27,8 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
25
27
  datasourceId: datasourceId
26
28
  }),
27
29
  captureError = _useErrorLogger.captureError;
30
+ var _useDatasourceActions = (0, _state.useDatasourceActions)(),
31
+ onAddItems = _useDatasourceActions.onAddItems;
28
32
  var idFieldCount = 1;
29
33
  var keyFieldCount = 1;
30
34
  var _useState = (0, _react.useState)([]),
@@ -52,42 +56,45 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
52
56
  _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
53
57
  authDetails = _useState12[0],
54
58
  setAuthDetails = _useState12[1];
55
- var _useState13 = (0, _react.useState)([]),
59
+ var _useState13 = (0, _react.useState)(initialEmptyArray),
56
60
  _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
57
61
  responseItems = _useState14[0],
58
62
  setResponseItems = _useState14[1];
59
- var _useState15 = (0, _react.useState)(true),
63
+ var _useState15 = (0, _react.useState)(initialEmptyArray),
60
64
  _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
61
- hasNextPage = _useState16[0],
62
- setHasNextPage = _useState16[1];
63
- var _useState17 = (0, _react.useState)(undefined),
65
+ setResponseItemIds = _useState16[1];
66
+ var _useState17 = (0, _react.useState)(true),
64
67
  _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
65
- nextCursor = _useState18[0],
66
- setNextCursor = _useState18[1];
67
- var _useState19 = (0, _react.useState)([]),
68
+ hasNextPage = _useState18[0],
69
+ setHasNextPage = _useState18[1];
70
+ var _useState19 = (0, _react.useState)(undefined),
68
71
  _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
69
- columns = _useState20[0],
70
- setColumns = _useState20[1];
71
- var _useState21 = (0, _react.useState)(undefined),
72
+ nextCursor = _useState20[0],
73
+ setNextCursor = _useState20[1];
74
+ var _useState21 = (0, _react.useState)([]),
72
75
  _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
73
- totalCount = _useState22[0],
74
- setTotalCount = _useState22[1];
75
- var _useState23 = (0, _react.useState)(false),
76
+ columns = _useState22[0],
77
+ setColumns = _useState22[1];
78
+ var _useState23 = (0, _react.useState)(undefined),
76
79
  _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
77
- shouldForceRequest = _useState24[0],
78
- setShouldForceRequest = _useState24[1];
79
- var _useState25 = (0, _react.useState)([]),
80
+ totalCount = _useState24[0],
81
+ setTotalCount = _useState24[1];
82
+ var _useState25 = (0, _react.useState)(false),
80
83
  _useState26 = (0, _slicedToArray2.default)(_useState25, 2),
81
- destinationObjectTypes = _useState26[0],
82
- setDestinationObjectTypes = _useState26[1];
83
- var _useState27 = (0, _react.useState)(),
84
+ shouldForceRequest = _useState26[0],
85
+ setShouldForceRequest = _useState26[1];
86
+ var _useState27 = (0, _react.useState)([]),
84
87
  _useState28 = (0, _slicedToArray2.default)(_useState27, 2),
85
- extensionKey = _useState28[0],
86
- setExtensionKey = _useState28[1];
87
- var _useState29 = (0, _react.useState)(undefined),
88
+ destinationObjectTypes = _useState28[0],
89
+ setDestinationObjectTypes = _useState28[1];
90
+ var _useState29 = (0, _react.useState)(),
88
91
  _useState30 = (0, _slicedToArray2.default)(_useState29, 2),
89
- providerName = _useState30[0],
90
- setProviderName = _useState30[1];
92
+ extensionKey = _useState30[0],
93
+ setExtensionKey = _useState30[1];
94
+ var _useState31 = (0, _react.useState)(undefined),
95
+ _useState32 = (0, _slicedToArray2.default)(_useState31, 2),
96
+ providerName = _useState32[0],
97
+ setProviderName = _useState32[1];
91
98
  var abortController = (0, _react.useRef)(new AbortController());
92
99
  var _useDatasourceClientE = (0, _linkClientExtension.useDatasourceClientExtension)(),
93
100
  getDatasourceData = _useDatasourceClientE.getDatasourceData,
@@ -215,6 +222,7 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
215
222
  nextPageCursor,
216
223
  _totalCount,
217
224
  schema,
225
+ newIds,
218
226
  isUserLoadingNextPage,
219
227
  currentLoadedItemCount,
220
228
  newlyLoadedItemCount,
@@ -289,6 +297,12 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
289
297
  }
290
298
  return [].concat((0, _toConsumableArray2.default)(currentResponseItems), (0, _toConsumableArray2.default)(items));
291
299
  });
300
+ if ((0, _platformFeatureFlags.fg)('enable_datasource_react_sweet_state')) {
301
+ newIds = onAddItems(items);
302
+ setResponseItemIds(function (currentIds) {
303
+ return [].concat((0, _toConsumableArray2.default)(currentIds), (0, _toConsumableArray2.default)(newIds));
304
+ });
305
+ }
292
306
  setHasNextPage(Boolean(nextPageCursor));
293
307
  if (fieldKeys.length > 0) {
294
308
  setLastRequestedFieldKeys(fieldKeys);
@@ -296,9 +310,9 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
296
310
  if ((isSchemaFromData && schema || fullSchema.properties.length > 0) && items.length > 0) {
297
311
  applySchemaProperties(schema || fullSchema, fieldKeys);
298
312
  }
299
- isUserLoadingNextPage = (responseItems === null || responseItems === void 0 ? void 0 : responseItems.length) !== 0 && !shouldRequestFirstPage;
313
+ isUserLoadingNextPage = responseItems.length !== 0 && !shouldRequestFirstPage;
300
314
  if (isUserLoadingNextPage) {
301
- currentLoadedItemCount = (responseItems === null || responseItems === void 0 ? void 0 : responseItems.length) || 0;
315
+ currentLoadedItemCount = responseItems.length;
302
316
  newlyLoadedItemCount = (items === null || items === void 0 ? void 0 : items.length) || 0;
303
317
  fireEvent('track.nextItem.loaded', {
304
318
  extensionKey: _extensionKey,
@@ -307,41 +321,42 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
307
321
  });
308
322
  }
309
323
  setStatus('resolved');
310
- _context2.next = 57;
324
+ _context2.next = 58;
311
325
  break;
312
- case 45:
313
- _context2.prev = 45;
326
+ case 46:
327
+ _context2.prev = 46;
314
328
  _context2.t0 = _context2["catch"](10);
315
329
  if (!(_context2.t0.message === 'Aborted')) {
316
- _context2.next = 49;
330
+ _context2.next = 50;
317
331
  break;
318
332
  }
319
333
  return _context2.abrupt("return");
320
- case 49:
334
+ case 50:
321
335
  captureError('onNextPage', _context2.t0);
322
336
  if (!(_context2.t0 instanceof Response && _context2.t0.status === 401)) {
323
- _context2.next = 53;
337
+ _context2.next = 54;
324
338
  break;
325
339
  }
326
340
  setStatus('unauthorized');
327
341
  return _context2.abrupt("return");
328
- case 53:
342
+ case 54:
329
343
  if (!(_context2.t0 instanceof Response && _context2.t0.status === 403)) {
330
- _context2.next = 56;
344
+ _context2.next = 57;
331
345
  break;
332
346
  }
333
347
  setStatus('forbidden');
334
348
  return _context2.abrupt("return");
335
- case 56:
336
- setStatus('rejected');
337
349
  case 57:
350
+ setStatus('rejected');
351
+ case 58:
338
352
  case "end":
339
353
  return _context2.stop();
340
354
  }
341
- }, _callee2, null, [[10, 45]]);
342
- })), [captureError, parameters, fieldKeys, nextCursor, getDatasourceData, datasourceId, responseItems, applySchemaProperties, fireEvent, fullSchema, initialEmptyArray]);
355
+ }, _callee2, null, [[10, 46]]);
356
+ })), [captureError, parameters, fieldKeys, nextCursor, responseItems, setResponseItemIds, onAddItems, getDatasourceData, datasourceId, applySchemaProperties, fireEvent, fullSchema, initialEmptyArray]);
343
357
  var reset = (0, _react.useCallback)(function (options) {
344
358
  setResponseItems(initialEmptyArray);
359
+ setResponseItemIds(initialEmptyArray);
345
360
  setHasNextPage(true);
346
361
  setNextCursor(undefined);
347
362
  setTotalCount(undefined);
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useDatasourceItem = exports.useDatasourceActions = exports.actions = exports.StoreContainer = exports.Store = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _reactSweetState = require("react-sweet-state");
13
+ var _uuid = require("uuid");
14
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
+ 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; }
16
+ 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) { (0, _defineProperty2.default)(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; }
17
+ var getInitialState = function getInitialState() {
18
+ return {
19
+ items: {}
20
+ };
21
+ };
22
+ var actions = exports.actions = {
23
+ onAddItems: function onAddItems(items) {
24
+ return function (_ref) {
25
+ var setState = _ref.setState,
26
+ getState = _ref.getState;
27
+ var oldItems = _objectSpread({}, getState().items);
28
+ var _items$reduce = items.reduce(function (_ref2, item) {
29
+ var _item$ari;
30
+ var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
31
+ ids = _ref3[0],
32
+ itemMap = _ref3[1];
33
+ var ari = typeof ((_item$ari = item['ari']) === null || _item$ari === void 0 ? void 0 : _item$ari.data) === 'string' ? item['ari'].data : undefined;
34
+ var id = ari !== null && ari !== void 0 ? ari : (0, _uuid.v4)();
35
+ return [[].concat((0, _toConsumableArray2.default)(ids), [id]), _objectSpread(_objectSpread({}, itemMap), {}, (0, _defineProperty2.default)({}, id, _objectSpread(_objectSpread({}, oldItems[id]), item)))];
36
+ }, [[], oldItems]),
37
+ _items$reduce2 = (0, _slicedToArray2.default)(_items$reduce, 2),
38
+ newItemIds = _items$reduce2[0],
39
+ newItems = _items$reduce2[1];
40
+ setState({
41
+ items: newItems
42
+ });
43
+ return newItemIds;
44
+ };
45
+ }
46
+ };
47
+ var Store = exports.Store = (0, _reactSweetState.createStore)({
48
+ name: 'datasource-store',
49
+ initialState: getInitialState(),
50
+ actions: actions
51
+ });
52
+ var useDatasourceItem = exports.useDatasourceItem = (0, _reactSweetState.createStateHook)(Store, {
53
+ selector: function selector(state, _ref4) {
54
+ var id = _ref4.id;
55
+ return state.items[id];
56
+ }
57
+ });
58
+ var useDatasourceActions = exports.useDatasourceActions = (0, _reactSweetState.createActionsHook)(Store);
59
+ var Container = (0, _reactSweetState.createContainer)(Store);
60
+ var StoreContainer = exports.StoreContainer = function StoreContainer(_ref5) {
61
+ var children = _ref5.children;
62
+ if ((0, _platformFeatureFlags.fg)('enable_datasource_react_sweet_state')) {
63
+ return /*#__PURE__*/_react.default.createElement(Container, {
64
+ scope: "datasource"
65
+ }, children);
66
+ }
67
+ return children;
68
+ };
@@ -30,6 +30,7 @@ var _useAssetsClient2 = require("../../../hooks/useAssetsClient");
30
30
  var _useDatasourceTableState = require("../../../hooks/useDatasourceTableState");
31
31
  var _en = _interopRequireDefault(require("../../../i18n/en"));
32
32
  var _cmdbService = require("../../../services/cmdbService.utils");
33
+ var _state = require("../../../state");
33
34
  var _accessRequired = require("../../../ui/common/error-state/access-required");
34
35
  var _modalLoadingError = require("../../common/error-state/modal-loading-error");
35
36
  var _cancelButton = require("../../common/modal/cancel-button");
@@ -66,7 +67,9 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
66
67
  schemaId = _useState4[0],
67
68
  setSchemaId = _useState4[1];
68
69
  var apiVersion = initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.version;
69
- var _useState5 = (0, _react.useState)((0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource-assets_add_version_parameter') && apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys),
70
+ var _useState5 = (0, _react.useState)(
71
+ // eslint-disable-next-line @atlaskit/platform/no-preconditioning
72
+ (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-assets_add_version_parameter') && apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys),
70
73
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
71
74
  visibleColumnKeys = _useState6[0],
72
75
  setVisibleColumnKeys = _useState6[1];
@@ -125,7 +128,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
125
128
  aql: aql || '',
126
129
  schemaId: schemaId || '',
127
130
  workspaceId: workspaceId || ''
128
- }, (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource-assets_add_version_parameter') ? {
131
+ }, (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-assets_add_version_parameter') ? {
129
132
  version: VERSION_TWO
130
133
  } : {});
131
134
  }, [aql, schemaId, workspaceId]);
@@ -209,7 +212,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
209
212
  setIsNewSearch(false);
210
213
  }, []);
211
214
  (0, _react.useEffect)(function () {
212
- if ((0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource-assets_add_version_parameter')) {
215
+ if ((0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-assets_add_version_parameter')) {
213
216
  var newVisibleColumnKeys = initialVisibleColumnKeys && initialVisibleColumnKeys.length > 0 && apiVersion === VERSION_TWO ? initialVisibleColumnKeys : defaultVisibleColumnKeys;
214
217
  setVisibleColumnKeys(newVisibleColumnKeys);
215
218
  } else {
@@ -268,7 +271,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
268
271
  workspaceId: workspaceId,
269
272
  aql: aql,
270
273
  schemaId: schemaId
271
- }, (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource-assets_add_version_parameter') ? {
274
+ }, (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-assets_add_version_parameter') ? {
272
275
  version: VERSION_TWO
273
276
  } : {}),
274
277
  views: [{
@@ -390,5 +393,5 @@ var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
390
393
  attributes: _objectSpread({}, analyticsContextAttributes)
391
394
  });
392
395
  var AssetsConfigModal = exports.AssetsConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(function (props) {
393
- return (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(_userInteractions.UserInteractionsProvider, null, (0, _react2.jsx)(PlainAssetsConfigModal, props)));
396
+ return (0, _react2.jsx)(_state.StoreContainer, null, (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(_userInteractions.UserInteractionsProvider, null, (0, _react2.jsx)(PlainAssetsConfigModal, props))));
394
397
  });
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createDatasourceModal = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@emotion/react");
10
+ var _analyticsNext = require("@atlaskit/analytics-next");
11
+ var _datasourceExperienceId = require("../../../../contexts/datasource-experience-id");
12
+ var _userInteractions = require("../../../../contexts/user-interactions");
13
+ var _datasourceContext = require("../datasource-context");
14
+ var _useViewModeContext = require("../mode-switcher/useViewModeContext");
15
+ /**
16
+ * @jsxRuntime classic
17
+ * @jsx jsx
18
+ */
19
+
20
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
21
+
22
+ var DEFAULT_VIEW_MODE = 'table';
23
+ var createDatasourceModal = exports.createDatasourceModal = function createDatasourceModal(_ref) {
24
+ var isValidParameters = _ref.isValidParameters,
25
+ dataProvider = _ref.dataProvider,
26
+ ModalContent = _ref.component;
27
+ return function (props) {
28
+ var datasourceId = props.datasourceId,
29
+ visibleColumnKeys = props.visibleColumnKeys,
30
+ columnCustomSizes = props.columnCustomSizes,
31
+ wrappedColumnKeys = props.wrappedColumnKeys,
32
+ parameters = props.parameters,
33
+ onInsert = props.onInsert,
34
+ viewMode = props.viewMode;
35
+ return (0, _react2.jsx)(_analyticsNext.AnalyticsContext, {
36
+ data: {
37
+ source: 'datasourceConfigModal',
38
+ component: 'datasourceConfigModal',
39
+ attributes: {
40
+ dataProvider: dataProvider
41
+ }
42
+ }
43
+ }, (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(_userInteractions.UserInteractionsProvider, null, (0, _react2.jsx)(_datasourceContext.DatasourceContextProvider, {
44
+ datasourceId: datasourceId,
45
+ initialVisibleColumnKeys: visibleColumnKeys,
46
+ initialColumnCustomSizes: columnCustomSizes,
47
+ initialWrappedColumnKeys: wrappedColumnKeys,
48
+ initialParameters: parameters,
49
+ isValidParameters: isValidParameters,
50
+ onInsert: onInsert
51
+ }, (0, _react2.jsx)(_useViewModeContext.DatasourceViewModeProvider, {
52
+ viewMode: viewMode !== null && viewMode !== void 0 ? viewMode : DEFAULT_VIEW_MODE
53
+ }, (0, _react2.jsx)(ModalContent, props))))));
54
+ };
55
+ };
@@ -1,15 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
10
11
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
+ var _types = require("../../../../analytics/types");
13
+ var _userInteractions = require("../../../../contexts/user-interactions");
11
14
  var _issueLikeTable = require("../../../issue-like-table");
12
15
  var _datasourceContext = require("../datasource-context");
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
18
  var Table = function Table(props) {
14
19
  var _useDatasourceContext = (0, _datasourceContext.useDatasourceContext)(),
15
20
  columnCustomSizes = _useDatasourceContext.columnCustomSizes,
@@ -28,13 +33,19 @@ var Table = function Table(props) {
28
33
  loadDatasourceDetails = _useDatasourceContext2.loadDatasourceDetails,
29
34
  _useDatasourceContext3 = _useDatasourceContext2.extensionKey,
30
35
  extensionKey = _useDatasourceContext3 === void 0 ? null : _useDatasourceContext3;
36
+ var userInteractions = (0, _userInteractions.useUserInteractions)();
37
+ var handleOnNextPage = (0, _react.useCallback)(function () {
38
+ var onNextPageProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
39
+ userInteractions.add(_types.DatasourceAction.NEXT_PAGE_SCROLLED);
40
+ onNextPage(onNextPageProps);
41
+ }, [onNextPage, userInteractions]);
31
42
  return /*#__PURE__*/_react.default.createElement(_issueLikeTable.IssueLikeDataTableView, (0, _extends2.default)({}, props, {
32
43
  status: status,
33
44
  columns: columns,
34
45
  items: responseItems,
35
46
  hasNextPage: hasNextPage,
36
47
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
37
- onNextPage: onNextPage,
48
+ onNextPage: handleOnNextPage,
38
49
  onLoadDatasourceDetails: loadDatasourceDetails,
39
50
  onVisibleColumnKeysChange: onVisibleColumnKeysChange,
40
51
  extensionKey: extensionKey,
@@ -24,6 +24,7 @@ var InsertButton = exports.InsertButton = function InsertButton(_ref) {
24
24
  var testId = _ref.testId,
25
25
  url = _ref.url,
26
26
  getAnalyticsPayload = _ref.getAnalyticsPayload,
27
+ overwriteParameters = _ref.overwriteParameters,
27
28
  children = _ref.children;
28
29
  var _useDatasourceContext = (0, _datasourceContext.useDatasourceContext)(),
29
30
  datasourceId = _useDatasourceContext.datasourceId,
@@ -48,13 +49,13 @@ var InsertButton = exports.InsertButton = function InsertButton(_ref) {
48
49
  }
49
50
  var insertButtonClickedEvent = analyticsEvent.update({
50
51
  actionSubjectId: 'insert',
51
- attributes: _objectSpread(_objectSpread({}, getAnalyticsPayload()), {}, {
52
+ attributes: _objectSpread({
52
53
  totalItemCount: totalCount || 0,
53
54
  displayedColumnCount: visibleColumnCount.current,
54
55
  display: currentViewMode === 'inline' ? _types.DatasourceDisplay.DATASOURCE_INLINE : _types.DatasourceDisplay.DATASOURCE_TABLE,
55
56
  searchMethod: _types.DatasourceSearchMethod.DATASOURCE_SEARCH_QUERY,
56
57
  actions: userInteractions.get()
57
- }),
58
+ }, getAnalyticsPayload()),
58
59
  eventType: 'ui'
59
60
  });
60
61
  var consumerEvent = (_insertButtonClickedE = insertButtonClickedEvent.clone()) !== null && _insertButtonClickedE !== void 0 ? _insertButtonClickedE : undefined;
@@ -69,7 +70,7 @@ var InsertButton = exports.InsertButton = function InsertButton(_ref) {
69
70
  } else {
70
71
  onInsert((0, _adf.buildDatasourceAdf)({
71
72
  id: datasourceId,
72
- parameters: parameters,
73
+ parameters: overwriteParameters ? overwriteParameters(parameters) : parameters,
73
74
  views: [{
74
75
  type: 'table',
75
76
  properties: {
@@ -88,7 +89,7 @@ var InsertButton = exports.InsertButton = function InsertButton(_ref) {
88
89
  }]
89
90
  }, url), consumerEvent);
90
91
  }
91
- }, [isValidParameters, parameters, url, getAnalyticsPayload, totalCount, visibleColumnCount, currentViewMode, userInteractions, onInsert, datasourceId, visibleColumnKeys, columnCustomSizes, wrappedColumnKeys]);
92
+ }, [columnCustomSizes, currentViewMode, datasourceId, getAnalyticsPayload, isValidParameters, onInsert, overwriteParameters, parameters, totalCount, url, userInteractions, visibleColumnCount, visibleColumnKeys, wrappedColumnKeys]);
92
93
  return (0, _react2.jsx)(_standardButton.default, {
93
94
  appearance: "primary",
94
95
  onClick: onInsertPressed,
@@ -23,6 +23,7 @@ var _datasourceExperienceId = require("../../../contexts/datasource-experience-i
23
23
  var _userInteractions = require("../../../contexts/user-interactions");
24
24
  var _en = _interopRequireDefault(require("../../../i18n/en"));
25
25
  var _useAvailableSites2 = require("../../../services/useAvailableSites");
26
+ var _state = require("../../../state");
26
27
  var _accessRequired = require("../../common/error-state/access-required");
27
28
  var _modalLoadingError = require("../../common/error-state/modal-loading-error");
28
29
  var _noInstances = require("../../common/error-state/no-instances");
@@ -33,6 +34,7 @@ var _contentContainer = require("../../common/modal/content-container");
33
34
  var _countViewSmartLink = require("../../common/modal/count-view-smart-link");
34
35
  var _datasourceContext = require("../../common/modal/datasource-context");
35
36
  var _datasourceModal = require("../../common/modal/datasource-modal");
37
+ var _createDatasourceModal = require("../../common/modal/datasource-modal/createDatasourceModal");
36
38
  var _datasourcesTableInModalPreview = _interopRequireDefault(require("../../common/modal/datasources-table-in-modal-preview"));
37
39
  var _insertButton = require("../../common/modal/insert-button");
38
40
  var _modeSwitcher = require("../../common/modal/mode-switcher");
@@ -49,7 +51,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
49
51
  * @jsxRuntime classic
50
52
  * @jsx jsx
51
53
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
52
- var DEFAULT_VIEW_MODE = 'table';
53
54
  var inputContainerStyles = (0, _primitives.xcss)({
54
55
  alignItems: 'baseline',
55
56
  display: 'flex',
@@ -77,32 +78,44 @@ var useUpdateParametersOnFormUpdate = function useUpdateParametersOnFormUpdate(c
77
78
  };
78
79
  var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConfigModal(props) {
79
80
  var onCancel = props.onCancel,
80
- initialParameters = props.parameters,
81
81
  urlBeingEdited = props.url,
82
82
  _props$disableDisplay = props.disableDisplayDropdown,
83
83
  disableDisplayDropdown = _props$disableDisplay === void 0 ? false : _props$disableDisplay,
84
84
  overrideParameters = props.overrideParameters;
85
85
  var _useViewModeContext = (0, _useViewModeContext2.useViewModeContext)(),
86
86
  currentViewMode = _useViewModeContext.currentViewMode;
87
- var _useState = (0, _react.useState)(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.cloudId),
87
+ var _useDatasourceContext2 = (0, _datasourceContext.useDatasourceContext)(),
88
+ visibleColumnKeys = _useDatasourceContext2.visibleColumnKeys,
89
+ _useDatasourceContext3 = _useDatasourceContext2.tableState,
90
+ reset = _useDatasourceContext3.reset,
91
+ status = _useDatasourceContext3.status,
92
+ responseItems = _useDatasourceContext3.responseItems,
93
+ _useDatasourceContext4 = _useDatasourceContext3.extensionKey,
94
+ extensionKey = _useDatasourceContext4 === void 0 ? null : _useDatasourceContext4,
95
+ destinationObjectTypes = _useDatasourceContext3.destinationObjectTypes,
96
+ totalCount = _useDatasourceContext3.totalCount,
97
+ columns = _useDatasourceContext3.columns,
98
+ visibleColumnCount = _useDatasourceContext2.visibleColumnCount,
99
+ parameters = _useDatasourceContext2.parameters;
100
+ var _useState = (0, _react.useState)(parameters === null || parameters === void 0 ? void 0 : parameters.cloudId),
88
101
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
89
102
  cloudId = _useState2[0],
90
103
  setCloudId = _useState2[1];
91
104
  var _useAvailableSites = (0, _useAvailableSites2.useAvailableSites)('confluence', cloudId),
92
105
  availableSites = _useAvailableSites.availableSites,
93
106
  selectedConfluenceSite = _useAvailableSites.selectedSite;
94
- var _useState3 = (0, _react.useState)(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.searchString),
107
+ var _useState3 = (0, _react.useState)(parameters === null || parameters === void 0 ? void 0 : parameters.searchString),
95
108
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
96
109
  searchString = _useState4[0],
97
110
  setSearchString = _useState4[1];
98
- var _useState5 = (0, _react.useState)((initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.contributorAccountIds) || []),
111
+ var _useState5 = (0, _react.useState)((parameters === null || parameters === void 0 ? void 0 : parameters.contributorAccountIds) || []),
99
112
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
100
113
  contributorAccountIds = _useState6[0],
101
114
  setContributorAccountIds = _useState6[1];
102
- var _useState7 = (0, _react.useState)(initialParameters !== null && initialParameters !== void 0 && initialParameters.lastModified ? {
103
- value: initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModified,
104
- from: initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModifiedFrom,
105
- to: initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModifiedTo
115
+ var _useState7 = (0, _react.useState)(parameters !== null && parameters !== void 0 && parameters.lastModified ? {
116
+ value: parameters === null || parameters === void 0 ? void 0 : parameters.lastModified,
117
+ from: parameters === null || parameters === void 0 ? void 0 : parameters.lastModifiedFrom,
118
+ to: parameters === null || parameters === void 0 ? void 0 : parameters.lastModifiedTo
106
119
  } : undefined),
107
120
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
108
121
  lastModified = _useState8[0],
@@ -112,19 +125,6 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
112
125
  var searchCount = (0, _react.useRef)(0);
113
126
  var userInteractions = (0, _userInteractions.useUserInteractions)();
114
127
  useUpdateParametersOnFormUpdate(cloudId, searchString, lastModified, contributorAccountIds, overrideParameters);
115
- var _useDatasourceContext2 = (0, _datasourceContext.useDatasourceContext)(),
116
- visibleColumnKeys = _useDatasourceContext2.visibleColumnKeys,
117
- _useDatasourceContext3 = _useDatasourceContext2.tableState,
118
- reset = _useDatasourceContext3.reset,
119
- status = _useDatasourceContext3.status,
120
- responseItems = _useDatasourceContext3.responseItems,
121
- _useDatasourceContext4 = _useDatasourceContext3.extensionKey,
122
- extensionKey = _useDatasourceContext4 === void 0 ? null : _useDatasourceContext4,
123
- destinationObjectTypes = _useDatasourceContext3.destinationObjectTypes,
124
- totalCount = _useDatasourceContext3.totalCount,
125
- columns = _useDatasourceContext3.columns,
126
- visibleColumnCount = _useDatasourceContext2.visibleColumnCount,
127
- parameters = _useDatasourceContext2.parameters;
128
128
  var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
129
129
  fireEvent = _useDatasourceAnalyti.fireEvent;
130
130
  var hasNoConfluenceSites = availableSites && availableSites.length === 0;
@@ -318,7 +318,7 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
318
318
  }, (0, _react2.jsx)(_confluenceSearchContainer.default, {
319
319
  isSearching: status === 'loading',
320
320
  onSearch: onSearch,
321
- parameters: isValidParameters(parameters) ? parameters : {
321
+ parameters: parameters && isValidParameters(parameters) ? parameters : {
322
322
  cloudId: ''
323
323
  }
324
324
  })), currentViewMode === 'inline' ? renderInlineLinkModalContent() : renderTableModalContent()) : (0, _react2.jsx)(_noInstances.NoInstancesView, {
@@ -349,19 +349,16 @@ var analyticsContextData = _objectSpread(_objectSpread({}, _constants.componentM
349
349
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
350
350
  attributes: _objectSpread({}, analyticsContextAttributes)
351
351
  });
352
- var ConfluenceSearchConfigModal = exports.ConfluenceSearchConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(function (props) {
353
- var _props$viewMode;
354
- return (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(_userInteractions.UserInteractionsProvider, null, (0, _platformFeatureFlags.fg)('platform-datasources-use-refactored-config-modal') ? (0, _react2.jsx)(_datasourceContext.DatasourceContextProvider, {
355
- datasourceId: props.datasourceId,
356
- initialVisibleColumnKeys: props.visibleColumnKeys,
357
- initialColumnCustomSizes: props.columnCustomSizes,
358
- initialWrappedColumnKeys: props.wrappedColumnKeys,
359
- initialParameters: props.parameters,
360
- isValidParameters: isValidParameters,
361
- onInsert: props.onInsert
362
- }, (0, _react2.jsx)(_useViewModeContext2.DatasourceViewModeProvider, {
363
- viewMode: (_props$viewMode = props.viewMode) !== null && _props$viewMode !== void 0 ? _props$viewMode : DEFAULT_VIEW_MODE
364
- }, (0, _react2.jsx)(PlainConfluenceSearchConfigModal, props))) :
365
- // TODO on cleanup 'use-refactored-config-modal' ff, delete `ModalOld.tsx` as well
366
- (0, _react2.jsx)(_ModalOld.PlainConfluenceSearchConfigModal, props)));
367
- });
352
+ var ConnectedConfluenceSearchConfigModal = (0, _createDatasourceModal.createDatasourceModal)({
353
+ isValidParameters: isValidParameters,
354
+ dataProvider: 'confluence-search',
355
+ component: PlainConfluenceSearchConfigModal
356
+ });
357
+ var ConfluenceSearchConfigModal = exports.ConfluenceSearchConfigModal = function ConfluenceSearchConfigModal(props) {
358
+ if ((0, _platformFeatureFlags.fg)('platform-datasources-use-refactored-config-modal')) {
359
+ return (0, _react2.jsx)(_state.StoreContainer, null, (0, _react2.jsx)(ConnectedConfluenceSearchConfigModal, props));
360
+ }
361
+ return (0, _react2.jsx)(_state.StoreContainer, null, (0, _react2.jsx)(_analyticsNext.AnalyticsContext, {
362
+ data: contextData
363
+ }, (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(_userInteractions.UserInteractionsProvider, null, (0, _react2.jsx)(_ModalOld.PlainConfluenceSearchConfigModal, props)))));
364
+ };
@@ -19,6 +19,7 @@ var _fetchMessagesForLocale = require("../../common/utils/locale/fetch-messages-
19
19
  var _datasourceExperienceId = require("../../contexts/datasource-experience-id");
20
20
  var _useDatasourceTableState = require("../../hooks/useDatasourceTableState");
21
21
  var _en = _interopRequireDefault(require("../../i18n/en"));
22
+ var _state = require("../../state");
22
23
  var _styled = require("../../ui/issue-like-table/styled");
23
24
  var _assetsModal = require("../assets-modal");
24
25
  var _accessRequired = require("../common/error-state/access-required");
@@ -121,7 +122,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
121
122
  var forcedReset = (0, _react.useCallback)(function () {
122
123
  reset({
123
124
  shouldForceRequest: true,
124
- shouldResetColumns: (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource-assets_update_refresh_button_dt3qk') && datasourceId === _assetsModal.ASSETS_LIST_OF_LINKS_DATASOURCE_ID
125
+ shouldResetColumns: (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-assets_update_refresh_button_dt3qk') && datasourceId === _assetsModal.ASSETS_LIST_OF_LINKS_DATASOURCE_ID
125
126
  });
126
127
  }, [reset, datasourceId]);
127
128
  var onRefresh = (0, _react.useCallback)(function () {
@@ -192,5 +193,5 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
192
193
  })));
193
194
  };
194
195
  var DatasourceTableView = exports.DatasourceTableView = (0, _analyticsNext.withAnalyticsContext)(_constants.componentMetadata.tableView)(function (props) {
195
- return (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(DatasourceTableViewWithoutAnalytics, props));
196
+ return (0, _react2.jsx)(_state.StoreContainer, null, (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(DatasourceTableViewWithoutAnalytics, props)));
196
197
  });