@atlaskit/link-datasource 2.9.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 (34) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/ui/common/modal/datasource-modal/createDatasourceModal.js +55 -0
  3. package/dist/cjs/ui/common/modal/datasources-table-in-modal-preview/index.js +13 -2
  4. package/dist/cjs/ui/common/modal/insert-button/index.js +5 -4
  5. package/dist/cjs/ui/confluence-search-modal/modal/index.js +35 -39
  6. package/dist/cjs/ui/jira-issues-modal/modal/index.js +141 -211
  7. package/dist/es2019/ui/common/modal/datasource-context/index.js +1 -1
  8. package/dist/es2019/ui/common/modal/datasource-modal/createDatasourceModal.js +51 -0
  9. package/dist/es2019/ui/common/modal/datasources-table-in-modal-preview/index.js +9 -2
  10. package/dist/es2019/ui/common/modal/insert-button/index.js +5 -4
  11. package/dist/es2019/ui/confluence-search-modal/modal/index.js +35 -39
  12. package/dist/es2019/ui/jira-issues-modal/modal/index.js +133 -202
  13. package/dist/esm/ui/common/modal/datasource-modal/createDatasourceModal.js +48 -0
  14. package/dist/esm/ui/common/modal/datasources-table-in-modal-preview/index.js +10 -2
  15. package/dist/esm/ui/common/modal/insert-button/index.js +5 -4
  16. package/dist/esm/ui/confluence-search-modal/modal/index.js +38 -42
  17. package/dist/esm/ui/jira-issues-modal/modal/index.js +146 -216
  18. package/dist/types/common/types.d.ts +2 -1
  19. package/dist/types/ui/common/modal/datasource-context/index.d.ts +9 -12
  20. package/dist/types/ui/common/modal/datasource-modal/createDatasourceModal.d.ts +15 -0
  21. package/dist/types/ui/common/modal/insert-button/index.d.ts +4 -2
  22. package/dist/types/ui/confluence-search-modal/modal/index.d.ts +3 -4
  23. package/dist/types/ui/confluence-search-modal/types.d.ts +6 -1
  24. package/dist/types/ui/jira-issues-modal/modal/index.d.ts +3 -3
  25. package/dist/types/ui/jira-issues-modal/types.d.ts +3 -0
  26. package/dist/types-ts4.5/common/types.d.ts +2 -1
  27. package/dist/types-ts4.5/ui/common/modal/datasource-context/index.d.ts +9 -12
  28. package/dist/types-ts4.5/ui/common/modal/datasource-modal/createDatasourceModal.d.ts +15 -0
  29. package/dist/types-ts4.5/ui/common/modal/insert-button/index.d.ts +4 -2
  30. package/dist/types-ts4.5/ui/confluence-search-modal/modal/index.d.ts +3 -4
  31. package/dist/types-ts4.5/ui/confluence-search-modal/types.d.ts +6 -1
  32. package/dist/types-ts4.5/ui/jira-issues-modal/modal/index.d.ts +3 -3
  33. package/dist/types-ts4.5/ui/jira-issues-modal/types.d.ts +3 -0
  34. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
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
+
3
11
  ## 2.9.0
4
12
 
5
13
  ### Minor Changes
@@ -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,
@@ -34,6 +34,7 @@ var _contentContainer = require("../../common/modal/content-container");
34
34
  var _countViewSmartLink = require("../../common/modal/count-view-smart-link");
35
35
  var _datasourceContext = require("../../common/modal/datasource-context");
36
36
  var _datasourceModal = require("../../common/modal/datasource-modal");
37
+ var _createDatasourceModal = require("../../common/modal/datasource-modal/createDatasourceModal");
37
38
  var _datasourcesTableInModalPreview = _interopRequireDefault(require("../../common/modal/datasources-table-in-modal-preview"));
38
39
  var _insertButton = require("../../common/modal/insert-button");
39
40
  var _modeSwitcher = require("../../common/modal/mode-switcher");
@@ -50,7 +51,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
50
51
  * @jsxRuntime classic
51
52
  * @jsx jsx
52
53
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
53
- var DEFAULT_VIEW_MODE = 'table';
54
54
  var inputContainerStyles = (0, _primitives.xcss)({
55
55
  alignItems: 'baseline',
56
56
  display: 'flex',
@@ -78,32 +78,44 @@ var useUpdateParametersOnFormUpdate = function useUpdateParametersOnFormUpdate(c
78
78
  };
79
79
  var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConfigModal(props) {
80
80
  var onCancel = props.onCancel,
81
- initialParameters = props.parameters,
82
81
  urlBeingEdited = props.url,
83
82
  _props$disableDisplay = props.disableDisplayDropdown,
84
83
  disableDisplayDropdown = _props$disableDisplay === void 0 ? false : _props$disableDisplay,
85
84
  overrideParameters = props.overrideParameters;
86
85
  var _useViewModeContext = (0, _useViewModeContext2.useViewModeContext)(),
87
86
  currentViewMode = _useViewModeContext.currentViewMode;
88
- 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),
89
101
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
90
102
  cloudId = _useState2[0],
91
103
  setCloudId = _useState2[1];
92
104
  var _useAvailableSites = (0, _useAvailableSites2.useAvailableSites)('confluence', cloudId),
93
105
  availableSites = _useAvailableSites.availableSites,
94
106
  selectedConfluenceSite = _useAvailableSites.selectedSite;
95
- 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),
96
108
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
97
109
  searchString = _useState4[0],
98
110
  setSearchString = _useState4[1];
99
- 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) || []),
100
112
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
101
113
  contributorAccountIds = _useState6[0],
102
114
  setContributorAccountIds = _useState6[1];
103
- var _useState7 = (0, _react.useState)(initialParameters !== null && initialParameters !== void 0 && initialParameters.lastModified ? {
104
- value: initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModified,
105
- from: initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.lastModifiedFrom,
106
- 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
107
119
  } : undefined),
108
120
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
109
121
  lastModified = _useState8[0],
@@ -113,19 +125,6 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
113
125
  var searchCount = (0, _react.useRef)(0);
114
126
  var userInteractions = (0, _userInteractions.useUserInteractions)();
115
127
  useUpdateParametersOnFormUpdate(cloudId, searchString, lastModified, contributorAccountIds, overrideParameters);
116
- var _useDatasourceContext2 = (0, _datasourceContext.useDatasourceContext)(),
117
- visibleColumnKeys = _useDatasourceContext2.visibleColumnKeys,
118
- _useDatasourceContext3 = _useDatasourceContext2.tableState,
119
- reset = _useDatasourceContext3.reset,
120
- status = _useDatasourceContext3.status,
121
- responseItems = _useDatasourceContext3.responseItems,
122
- _useDatasourceContext4 = _useDatasourceContext3.extensionKey,
123
- extensionKey = _useDatasourceContext4 === void 0 ? null : _useDatasourceContext4,
124
- destinationObjectTypes = _useDatasourceContext3.destinationObjectTypes,
125
- totalCount = _useDatasourceContext3.totalCount,
126
- columns = _useDatasourceContext3.columns,
127
- visibleColumnCount = _useDatasourceContext2.visibleColumnCount,
128
- parameters = _useDatasourceContext2.parameters;
129
128
  var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
130
129
  fireEvent = _useDatasourceAnalyti.fireEvent;
131
130
  var hasNoConfluenceSites = availableSites && availableSites.length === 0;
@@ -319,7 +318,7 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
319
318
  }, (0, _react2.jsx)(_confluenceSearchContainer.default, {
320
319
  isSearching: status === 'loading',
321
320
  onSearch: onSearch,
322
- parameters: isValidParameters(parameters) ? parameters : {
321
+ parameters: parameters && isValidParameters(parameters) ? parameters : {
323
322
  cloudId: ''
324
323
  }
325
324
  })), currentViewMode === 'inline' ? renderInlineLinkModalContent() : renderTableModalContent()) : (0, _react2.jsx)(_noInstances.NoInstancesView, {
@@ -350,19 +349,16 @@ var analyticsContextData = _objectSpread(_objectSpread({}, _constants.componentM
350
349
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
351
350
  attributes: _objectSpread({}, analyticsContextAttributes)
352
351
  });
353
- var ConfluenceSearchConfigModal = exports.ConfluenceSearchConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(function (props) {
354
- var _props$viewMode;
355
- return (0, _react2.jsx)(_state.StoreContainer, null, (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, {
356
- datasourceId: props.datasourceId,
357
- initialVisibleColumnKeys: props.visibleColumnKeys,
358
- initialColumnCustomSizes: props.columnCustomSizes,
359
- initialWrappedColumnKeys: props.wrappedColumnKeys,
360
- initialParameters: props.parameters,
361
- isValidParameters: isValidParameters,
362
- onInsert: props.onInsert
363
- }, (0, _react2.jsx)(_useViewModeContext2.DatasourceViewModeProvider, {
364
- viewMode: (_props$viewMode = props.viewMode) !== null && _props$viewMode !== void 0 ? _props$viewMode : DEFAULT_VIEW_MODE
365
- }, (0, _react2.jsx)(PlainConfluenceSearchConfigModal, props))) :
366
- // TODO on cleanup 'use-refactored-config-modal' ff, delete `ModalOld.tsx` as well
367
- (0, _react2.jsx)(_ModalOld.PlainConfluenceSearchConfigModal, props))));
368
- });
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
+ };