@atlaskit/link-datasource 2.5.5 → 2.5.7

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 (33) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/ui/common/modal/datasource-context/DatasourceContext.js +18 -0
  3. package/dist/cjs/ui/common/modal/datasource-context/DatasourceContextProvider.js +35 -0
  4. package/dist/cjs/ui/common/modal/search-count/index.js +40 -9
  5. package/dist/cjs/ui/confluence-search-modal/modal/ModalOld.js +451 -0
  6. package/dist/cjs/ui/confluence-search-modal/modal/index.js +18 -23
  7. package/dist/cjs/ui/datasources-table-in-modal-preview/index.js +26 -0
  8. package/dist/cjs/ui/table-footer/index.js +10 -2
  9. package/dist/es2019/ui/common/modal/datasource-context/DatasourceContext.js +9 -0
  10. package/dist/es2019/ui/common/modal/datasource-context/DatasourceContextProvider.js +27 -0
  11. package/dist/es2019/ui/common/modal/search-count/index.js +34 -2
  12. package/dist/es2019/ui/confluence-search-modal/modal/ModalOld.js +426 -0
  13. package/dist/es2019/ui/confluence-search-modal/modal/index.js +33 -37
  14. package/dist/es2019/ui/datasources-table-in-modal-preview/index.js +20 -0
  15. package/dist/es2019/ui/table-footer/index.js +7 -2
  16. package/dist/esm/ui/common/modal/datasource-context/DatasourceContext.js +9 -0
  17. package/dist/esm/ui/common/modal/datasource-context/DatasourceContextProvider.js +26 -0
  18. package/dist/esm/ui/common/modal/search-count/index.js +40 -9
  19. package/dist/esm/ui/confluence-search-modal/modal/ModalOld.js +447 -0
  20. package/dist/esm/ui/confluence-search-modal/modal/index.js +19 -24
  21. package/dist/esm/ui/datasources-table-in-modal-preview/index.js +19 -0
  22. package/dist/esm/ui/table-footer/index.js +7 -2
  23. package/dist/types/ui/common/modal/datasource-context/DatasourceContext.d.ts +11 -0
  24. package/dist/types/ui/common/modal/datasource-context/DatasourceContextProvider.d.ts +10 -0
  25. package/dist/types/ui/common/modal/search-count/index.d.ts +5 -0
  26. package/dist/types/ui/confluence-search-modal/modal/ModalOld.d.ts +3 -0
  27. package/dist/types/ui/datasources-table-in-modal-preview/index.d.ts +20 -0
  28. package/dist/types-ts4.5/ui/common/modal/datasource-context/DatasourceContext.d.ts +11 -0
  29. package/dist/types-ts4.5/ui/common/modal/datasource-context/DatasourceContextProvider.d.ts +10 -0
  30. package/dist/types-ts4.5/ui/common/modal/search-count/index.d.ts +5 -0
  31. package/dist/types-ts4.5/ui/confluence-search-modal/modal/ModalOld.d.ts +3 -0
  32. package/dist/types-ts4.5/ui/datasources-table-in-modal-preview/index.d.ts +20 -0
  33. package/package.json +11 -5
@@ -11,7 +11,7 @@ var _react = require("react");
11
11
  var _react2 = require("@emotion/react");
12
12
  var _reactIntlNext = require("react-intl-next");
13
13
  var _analyticsNext = require("@atlaskit/analytics-next");
14
- var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
14
+ var _button = _interopRequireDefault(require("@atlaskit/button"));
15
15
  var _intlMessagesProvider = require("@atlaskit/intl-messages-provider");
16
16
  var _modalDialog = require("@atlaskit/modal-dialog");
17
17
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
@@ -34,17 +34,19 @@ var _initialStateView = require("../../common/initial-state-view");
34
34
  var _cancelButton = require("../../common/modal/cancel-button");
35
35
  var _contentContainer = require("../../common/modal/content-container");
36
36
  var _countViewSmartLink = require("../../common/modal/count-view-smart-link");
37
+ var _DatasourceContext = require("../../common/modal/datasource-context/DatasourceContext");
38
+ var _DatasourceContextProvider = require("../../common/modal/datasource-context/DatasourceContextProvider");
37
39
  var _datasourceModal = require("../../common/modal/datasource-modal");
38
40
  var _displayViewDropDown = require("../../common/modal/display-view-dropdown/display-view-drop-down");
39
41
  var _searchCount = _interopRequireDefault(require("../../common/modal/search-count"));
40
42
  var _siteSelector = require("../../common/modal/site-selector");
43
+ var _datasourcesTableInModalPreview = _interopRequireDefault(require("../../datasources-table-in-modal-preview"));
41
44
  var _issueLikeTable = require("../../issue-like-table");
42
- var _useColumnResize2 = require("../../issue-like-table/use-column-resize");
43
- var _useColumnWrapping2 = require("../../issue-like-table/use-column-wrapping");
44
45
  var _utils = require("../../issue-like-table/utils");
45
46
  var _confluenceSearchContainer = _interopRequireDefault(require("../confluence-search-container"));
46
47
  var _confluenceSearchInitialStateSvg = require("./confluence-search-initial-state-svg");
47
48
  var _messages = require("./messages");
49
+ var _ModalOld = require("./ModalOld");
48
50
  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; }
49
51
  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; } /** @jsx jsx */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
50
52
  var inputContainerStyles = (0, _primitives.xcss)({
@@ -54,8 +56,6 @@ var inputContainerStyles = (0, _primitives.xcss)({
54
56
  });
55
57
  var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConfigModal(props) {
56
58
  var datasourceId = props.datasourceId,
57
- initialColumnCustomSizes = props.columnCustomSizes,
58
- initialWrappedColumnKeys = props.wrappedColumnKeys,
59
59
  onCancel = props.onCancel,
60
60
  onInsert = props.onInsert,
61
61
  _props$viewMode = props.viewMode,
@@ -178,12 +178,6 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
178
178
  setVisibleColumnKeys(newVisibleColumnKeys);
179
179
  }, [initialVisibleColumnKeys, defaultVisibleColumnKeys]);
180
180
  var siteSelectorLabel = availableSites && availableSites.length > 1 ? _messages.confluenceSearchModalMessages.insertIssuesTitleManySites : _messages.confluenceSearchModalMessages.insertIssuesTitle;
181
- var _useColumnResize = (0, _useColumnResize2.useColumnResize)(initialColumnCustomSizes),
182
- columnCustomSizes = _useColumnResize.columnCustomSizes,
183
- onColumnResize = _useColumnResize.onColumnResize;
184
- var _useColumnWrapping = (0, _useColumnWrapping2.useColumnWrapping)(initialWrappedColumnKeys),
185
- wrappedColumnKeys = _useColumnWrapping.wrappedColumnKeys,
186
- onWrappedColumnChange = _useColumnWrapping.onWrappedColumnChange;
187
181
 
188
182
  // TODO: common functionality of all modals refactor in EDM-9573
189
183
  var handleVisibleColumnKeysChange = (0, _react.useCallback)(function () {
@@ -193,13 +187,10 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
193
187
  visibleColumnCount.current = newVisibleColumnKeys.length;
194
188
  setVisibleColumnKeys(newVisibleColumnKeys);
195
189
  }, [visibleColumnKeys, userInteractions]);
196
-
197
- // TODO: further refactoring in EDM-9573
198
- // https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/82725/overview?commentId=6798258
199
190
  var confluenceSearchTable = (0, _react.useMemo)(function () {
200
191
  return (0, _react2.jsx)(_contentContainer.ContentContainer, {
201
192
  withTableBorder: true
202
- }, (0, _react2.jsx)(_issueLikeTable.IssueLikeDataTableView, {
193
+ }, (0, _react2.jsx)(_datasourcesTableInModalPreview.default, {
203
194
  testId: "confluence-search-datasource-table",
204
195
  status: status,
205
196
  columns: columns,
@@ -209,13 +200,9 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
209
200
  onNextPage: onNextPage,
210
201
  onLoadDatasourceDetails: loadDatasourceDetails,
211
202
  onVisibleColumnKeysChange: handleVisibleColumnKeysChange,
212
- extensionKey: extensionKey,
213
- columnCustomSizes: columnCustomSizes,
214
- onColumnResize: onColumnResize,
215
- wrappedColumnKeys: wrappedColumnKeys,
216
- onWrappedColumnChange: (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource-word_wrap') ? onWrappedColumnChange : undefined
203
+ extensionKey: extensionKey
217
204
  }));
218
- }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
205
+ }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey]);
219
206
  var resolvedWithNoResults = status === 'resolved' && !responseItems.length;
220
207
  var hasConfluenceSearchParams = selectedConfluenceSite && searchString;
221
208
  var selectedConfluenceSiteUrl = selectedConfluenceSite === null || selectedConfluenceSite === void 0 ? void 0 : selectedConfluenceSite.url;
@@ -317,6 +304,9 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
317
304
  }
318
305
  }, [confluenceSearchUrl, selectedConfluenceSiteUrl, status, urlBeingEdited]);
319
306
  var shouldShowResultsCount = !!totalCount && currentViewMode === 'table';
307
+ var _useDatasourceContext = (0, _DatasourceContext.useDatasourceContext)(),
308
+ columnCustomSizes = _useDatasourceContext.columnCustomSizes,
309
+ wrappedColumnKeys = _useDatasourceContext.wrappedColumnKeys;
320
310
  var onInsertPressed = (0, _react.useCallback)(function (e, analyticsEvent) {
321
311
  var _insertButtonClickedE;
322
312
  if (!isParametersSet || !cloudId || !confluenceSearchUrl) {
@@ -445,7 +435,7 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
445
435
  onCancel: onCancel,
446
436
  getAnalyticsPayload: getCancelButtonAnalyticsPayload,
447
437
  testId: "confluence-search-modal--cancel-button"
448
- }), !hasNoConfluenceSites && (0, _react2.jsx)(_standardButton.default, {
438
+ }), !hasNoConfluenceSites && (0, _react2.jsx)(_button.default, {
449
439
  appearance: "primary",
450
440
  onClick: onInsertPressed,
451
441
  isDisabled: isInsertDisabled,
@@ -462,5 +452,10 @@ var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
462
452
  attributes: _objectSpread({}, analyticsContextAttributes)
463
453
  });
464
454
  var ConfluenceSearchConfigModal = exports.ConfluenceSearchConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(function (props) {
465
- return (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(_userInteractions.UserInteractionsProvider, null, (0, _react2.jsx)(PlainConfluenceSearchConfigModal, props)));
455
+ return (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(_userInteractions.UserInteractionsProvider, null, (0, _platformFeatureFlags.fg)('platform.linking-platform.datasources.use-refactored-config-modal') ? (0, _react2.jsx)(_DatasourceContextProvider.DatasourceContextProvider, {
456
+ initialColumnCustomSizes: props.columnCustomSizes,
457
+ initialWrappedColumnKeys: props.wrappedColumnKeys
458
+ }, (0, _react2.jsx)(PlainConfluenceSearchConfigModal, props)) :
459
+ // TODO on cleanup 'use-refactored-config-modal' ff, delete `ModalOld.tsx` as well
460
+ (0, _react2.jsx)(_ModalOld.PlainConfluenceSearchConfigModal, props)));
466
461
  });
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
+ var _DatasourceContext = require("../common/modal/datasource-context/DatasourceContext");
12
+ var _issueLikeTable = require("../issue-like-table");
13
+ var Table = function Table(props) {
14
+ var _useDatasourceContext = (0, _DatasourceContext.useDatasourceContext)(),
15
+ columnCustomSizes = _useDatasourceContext.columnCustomSizes,
16
+ onColumnResize = _useDatasourceContext.onColumnResize,
17
+ wrappedColumnKeys = _useDatasourceContext.wrappedColumnKeys,
18
+ onWrappedColumnChange = _useDatasourceContext.onWrappedColumnChange;
19
+ return /*#__PURE__*/_react.default.createElement(_issueLikeTable.IssueLikeDataTableView, (0, _extends2.default)({}, props, {
20
+ columnCustomSizes: columnCustomSizes,
21
+ onColumnResize: onColumnResize,
22
+ wrappedColumnKeys: wrappedColumnKeys,
23
+ onWrappedColumnChange: (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-word_wrap') ? onWrappedColumnChange : undefined
24
+ }));
25
+ };
26
+ var _default = exports.default = Table;
@@ -1,6 +1,7 @@
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
  });
@@ -12,13 +13,16 @@ var _styled = _interopRequireDefault(require("@emotion/styled"));
12
13
  var _reactIntlNext = require("react-intl-next");
13
14
  var _button = _interopRequireDefault(require("@atlaskit/button"));
14
15
  var _refresh = _interopRequireDefault(require("@atlaskit/icon/glyph/refresh"));
16
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
17
  var _primitives = require("@atlaskit/primitives");
16
18
  var _colors = require("@atlaskit/theme/colors");
17
19
  var _assetsModal = require("../assets-modal");
18
- var _searchCount = _interopRequireDefault(require("../common/modal/search-count"));
20
+ var _searchCount = _interopRequireWildcard(require("../common/modal/search-count"));
19
21
  var _messages = require("./messages");
20
22
  var _poweredByJsmAssets = require("./powered-by-jsm-assets");
21
23
  var _syncInfo = require("./sync-info");
24
+ 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); }
25
+ 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; }
22
26
  /** @jsx jsx */
23
27
 
24
28
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
@@ -78,7 +82,11 @@ var TableFooter = exports.TableFooter = function TableFooter(_ref) {
78
82
  // ensure correct positioning since 'justify-content: space-between' is used).
79
83
  return onRefresh || showItemCount ? (0, _react2.jsx)(FooterWrapper, {
80
84
  "data-testid": "table-footer"
81
- }, (0, _react2.jsx)(TopBorderWrapper, null, showItemCount && (0, _react2.jsx)(_primitives.Flex, null, (0, _react2.jsx)(_searchCount.default, {
85
+ }, (0, _react2.jsx)(TopBorderWrapper, null, showItemCount && (0, _react2.jsx)(_primitives.Flex, null, datasourceId === _assetsModal.ASSETS_LIST_OF_LINKS_DATASOURCE_ID && (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource.limit-total-results_8wqcd') ? (0, _react2.jsx)(_searchCount.AssetsItemCount, {
86
+ searchCount: itemCount,
87
+ url: url,
88
+ testId: "item-count"
89
+ }) : (0, _react2.jsx)(_searchCount.default, {
82
90
  searchCount: itemCount,
83
91
  url: url,
84
92
  prefixTextType: "item",
@@ -0,0 +1,9 @@
1
+ import React, { useContext } from 'react';
2
+ export const DatasourceContext = /*#__PURE__*/React.createContext(null);
3
+ export const useDatasourceContext = () => {
4
+ const value = useContext(DatasourceContext);
5
+ if (!value) {
6
+ throw new Error('useDatasourceStore must be used within DatasourceContextProvider');
7
+ }
8
+ return value;
9
+ };
@@ -0,0 +1,27 @@
1
+ import React, { useMemo } from 'react';
2
+ import { useColumnResize } from '../../../issue-like-table/use-column-resize';
3
+ import { useColumnWrapping } from '../../../issue-like-table/use-column-wrapping';
4
+ import { DatasourceContext } from './DatasourceContext';
5
+ export const DatasourceContextProvider = ({
6
+ children,
7
+ initialColumnCustomSizes,
8
+ initialWrappedColumnKeys
9
+ }) => {
10
+ const {
11
+ columnCustomSizes,
12
+ onColumnResize
13
+ } = useColumnResize(initialColumnCustomSizes);
14
+ const {
15
+ wrappedColumnKeys,
16
+ onWrappedColumnChange
17
+ } = useColumnWrapping(initialWrappedColumnKeys);
18
+ const contextValue = useMemo(() => ({
19
+ columnCustomSizes,
20
+ onColumnResize,
21
+ wrappedColumnKeys,
22
+ onWrappedColumnChange
23
+ }), [columnCustomSizes, onColumnResize, onWrappedColumnChange, wrappedColumnKeys]);
24
+ return /*#__PURE__*/React.createElement(DatasourceContext.Provider, {
25
+ value: contextValue
26
+ }, children);
27
+ };
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
3
  import { FormattedMessage, FormattedNumber } from 'react-intl-next';
4
4
  import Heading from '@atlaskit/heading';
5
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
6
6
  import { Flex, xcss } from '@atlaskit/primitives';
7
7
  import LinkUrl from '@atlaskit/smart-card/link-url';
8
8
  import { N800 } from '@atlaskit/theme/colors';
@@ -13,6 +13,38 @@ import { searchCountMessages } from './messages';
13
13
  const searchCountStyles = xcss({
14
14
  flex: 1
15
15
  });
16
+ export const AssetsItemCount = ({
17
+ searchCount,
18
+ url,
19
+ testId
20
+ }) => {
21
+ let capCount = searchCount >= 1000;
22
+ let displayCount = capCount ? 1000 : searchCount;
23
+ let countModifier = capCount ? '+' : '';
24
+ return /*#__PURE__*/React.createElement(Flex, {
25
+ testId: testId,
26
+ xcss: searchCountStyles,
27
+ alignItems: "center"
28
+ }, /*#__PURE__*/React.createElement(LinkUrl, {
29
+ href: url,
30
+ target: "_blank",
31
+ testId: "item-count-url"
32
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
33
+ ,
34
+ style: {
35
+ color: `var(--ds-text-accent-gray, ${N800})`,
36
+ textDecoration: !url ? 'none' : ''
37
+ }
38
+ }, /*#__PURE__*/React.createElement(Heading, {
39
+ level: "h200"
40
+ }, /*#__PURE__*/React.createElement(FormattedNumber, {
41
+ value: displayCount
42
+ }), countModifier, ' ', /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, footerMessages.itemText, {
43
+ values: {
44
+ itemCount: searchCount
45
+ }
46
+ })))));
47
+ };
16
48
  const TableSearchCount = ({
17
49
  url,
18
50
  searchCount,
@@ -35,7 +67,7 @@ const TableSearchCount = ({
35
67
  }
36
68
  }, /*#__PURE__*/React.createElement(Heading, {
37
69
  level: "h200"
38
- }, getBooleanFF('platform.linking-platform.datasource.total-count-i18n-single-key') ? /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, searchCountMessages[`${prefixTextType}CountText`], {
70
+ }, fg('platform.linking-platform.datasource.total-count-i18n-single-key') ? /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, searchCountMessages[`${prefixTextType}CountText`], {
39
71
  values: {
40
72
  searchCount
41
73
  }