@atlaskit/link-datasource 2.9.1 → 2.9.2

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 +10 -0
  2. package/dist/cjs/hooks/useDatasourceTableState.js +2 -0
  3. package/dist/cjs/ui/assets-modal/modal/index.js +2 -0
  4. package/dist/cjs/ui/assets-modal/modal/render-assets-content/index.js +3 -1
  5. package/dist/cjs/ui/common/modal/datasources-table-in-modal-preview/index.js +2 -0
  6. package/dist/cjs/ui/confluence-search-modal/modal/ModalOld.js +3 -1
  7. package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +2 -0
  8. package/dist/cjs/ui/issue-like-table/index.js +56 -66
  9. package/dist/cjs/ui/issue-like-table/styled.js +25 -3
  10. package/dist/cjs/ui/issue-like-table/table-cell-content/index.js +54 -0
  11. package/dist/cjs/ui/issue-like-table/truncate-text-tag/index.js +32 -0
  12. package/dist/cjs/ui/jira-issues-modal/modal/ModalOld.js +3 -1
  13. package/dist/es2019/hooks/useDatasourceTableState.js +2 -1
  14. package/dist/es2019/ui/assets-modal/modal/index.js +2 -0
  15. package/dist/es2019/ui/assets-modal/modal/render-assets-content/index.js +3 -1
  16. package/dist/es2019/ui/common/modal/datasources-table-in-modal-preview/index.js +2 -0
  17. package/dist/es2019/ui/confluence-search-modal/modal/ModalOld.js +3 -1
  18. package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +2 -0
  19. package/dist/es2019/ui/issue-like-table/index.js +32 -52
  20. package/dist/es2019/ui/issue-like-table/styled.js +33 -0
  21. package/dist/es2019/ui/issue-like-table/table-cell-content/index.js +44 -0
  22. package/dist/es2019/ui/issue-like-table/truncate-text-tag/index.js +21 -0
  23. package/dist/es2019/ui/jira-issues-modal/modal/ModalOld.js +3 -1
  24. package/dist/esm/hooks/useDatasourceTableState.js +2 -0
  25. package/dist/esm/ui/assets-modal/modal/index.js +2 -0
  26. package/dist/esm/ui/assets-modal/modal/render-assets-content/index.js +3 -1
  27. package/dist/esm/ui/common/modal/datasources-table-in-modal-preview/index.js +2 -0
  28. package/dist/esm/ui/confluence-search-modal/modal/ModalOld.js +3 -1
  29. package/dist/esm/ui/datasource-table-view/datasourceTableView.js +2 -0
  30. package/dist/esm/ui/issue-like-table/index.js +53 -61
  31. package/dist/esm/ui/issue-like-table/styled.js +24 -2
  32. package/dist/esm/ui/issue-like-table/table-cell-content/index.js +47 -0
  33. package/dist/esm/ui/issue-like-table/truncate-text-tag/index.js +21 -0
  34. package/dist/esm/ui/jira-issues-modal/modal/ModalOld.js +3 -1
  35. package/dist/types/hooks/useDatasourceTableState.d.ts +2 -0
  36. package/dist/types/ui/assets-modal/modal/render-assets-content/index.d.ts +1 -0
  37. package/dist/types/ui/issue-like-table/index.d.ts +1 -17
  38. package/dist/types/ui/issue-like-table/styled.d.ts +4 -0
  39. package/dist/types/ui/issue-like-table/table-cell-content/index.d.ts +12 -0
  40. package/dist/types/ui/issue-like-table/truncate-text-tag/index.d.ts +6 -0
  41. package/dist/types/ui/issue-like-table/types.d.ts +20 -1
  42. package/dist/types-ts4.5/hooks/useDatasourceTableState.d.ts +2 -0
  43. package/dist/types-ts4.5/ui/assets-modal/modal/render-assets-content/index.d.ts +1 -0
  44. package/dist/types-ts4.5/ui/issue-like-table/index.d.ts +1 -17
  45. package/dist/types-ts4.5/ui/issue-like-table/styled.d.ts +4 -0
  46. package/dist/types-ts4.5/ui/issue-like-table/table-cell-content/index.d.ts +12 -0
  47. package/dist/types-ts4.5/ui/issue-like-table/truncate-text-tag/index.d.ts +6 -0
  48. package/dist/types-ts4.5/ui/issue-like-table/types.d.ts +20 -1
  49. package/examples-helpers/buildIssueLikeTable.tsx +2 -0
  50. package/package.json +8 -8
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 2.9.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#126362](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/126362)
8
+ [`9e45954d2bba0`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/9e45954d2bba0) -
9
+ We are testing refactoring datasource table view to use react-sweet-state behind a feature flag.
10
+ If this is successful it will be available in a later release.
11
+ - Updated dependencies
12
+
3
13
  ## 2.9.1
4
14
 
5
15
  ### Patch Changes
@@ -62,6 +62,7 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
62
62
  setResponseItems = _useState14[1];
63
63
  var _useState15 = (0, _react.useState)(initialEmptyArray),
64
64
  _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
65
+ responseItemIds = _useState16[0],
65
66
  setResponseItemIds = _useState16[1];
66
67
  var _useState17 = (0, _react.useState)(true),
67
68
  _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
@@ -422,6 +423,7 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
422
423
  status: status,
423
424
  onNextPage: onNextPage,
424
425
  responseItems: responseItems,
426
+ responseItemIds: responseItemIds,
425
427
  reset: reset,
426
428
  loadDatasourceDetails: loadDatasourceDetails,
427
429
  hasNextPage: hasNextPage,
@@ -141,6 +141,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
141
141
  status = _useDatasourceTableSt.status,
142
142
  onNextPage = _useDatasourceTableSt.onNextPage,
143
143
  responseItems = _useDatasourceTableSt.responseItems,
144
+ responseItemIds = _useDatasourceTableSt.responseItemIds,
144
145
  reset = _useDatasourceTableSt.reset,
145
146
  loadDatasourceDetails = _useDatasourceTableSt.loadDatasourceDetails,
146
147
  hasNextPage = _useDatasourceTableSt.hasNextPage,
@@ -358,6 +359,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
358
359
  isFetchingInitialData: assetsClientLoading,
359
360
  status: status,
360
361
  responseItems: responseItems,
362
+ responseItemIds: responseItemIds,
361
363
  visibleColumnKeys: visibleColumnKeys,
362
364
  onVisibleColumnKeysChange: onVisibleColumnKeysChange,
363
365
  datasourceId: datasourceId,
@@ -74,6 +74,7 @@ var LoadingView = function LoadingView() {
74
74
  var RenderAssetsContent = exports.RenderAssetsContent = function RenderAssetsContent(props) {
75
75
  var status = props.status,
76
76
  responseItems = props.responseItems,
77
+ responseItemIds = props.responseItemIds,
77
78
  visibleColumnKeys = props.visibleColumnKeys,
78
79
  onNextPage = props.onNextPage,
79
80
  hasNextPage = props.hasNextPage,
@@ -91,13 +92,14 @@ var RenderAssetsContent = exports.RenderAssetsContent = function RenderAssetsCon
91
92
  status: status,
92
93
  columns: columns,
93
94
  items: responseItems,
95
+ itemIds: responseItemIds,
94
96
  hasNextPage: hasNextPage,
95
97
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
96
98
  onNextPage: onNextPage,
97
99
  onLoadDatasourceDetails: loadDatasourceDetails,
98
100
  onVisibleColumnKeysChange: onVisibleColumnKeysChange
99
101
  }));
100
- }, [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, status, visibleColumnKeys]);
102
+ }, [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, responseItemIds, status, visibleColumnKeys]);
101
103
  var renderAssetsContentView = (0, _react.useCallback)(function () {
102
104
  if (isFetchingInitialData) {
103
105
  // Placing this check first as it's a priority before all others
@@ -27,6 +27,7 @@ var Table = function Table(props) {
27
27
  status = _useDatasourceContext2.status,
28
28
  onNextPage = _useDatasourceContext2.onNextPage,
29
29
  responseItems = _useDatasourceContext2.responseItems,
30
+ responseItemIds = _useDatasourceContext2.responseItemIds,
30
31
  hasNextPage = _useDatasourceContext2.hasNextPage,
31
32
  columns = _useDatasourceContext2.columns,
32
33
  defaultVisibleColumnKeys = _useDatasourceContext2.defaultVisibleColumnKeys,
@@ -43,6 +44,7 @@ var Table = function Table(props) {
43
44
  status: status,
44
45
  columns: columns,
45
46
  items: responseItems,
47
+ itemIds: responseItemIds,
46
48
  hasNextPage: hasNextPage,
47
49
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
48
50
  onNextPage: handleOnNextPage,
@@ -132,6 +132,7 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
132
132
  status = _useDatasourceTableSt.status,
133
133
  onNextPage = _useDatasourceTableSt.onNextPage,
134
134
  responseItems = _useDatasourceTableSt.responseItems,
135
+ responseItemIds = _useDatasourceTableSt.responseItemIds,
135
136
  hasNextPage = _useDatasourceTableSt.hasNextPage,
136
137
  columns = _useDatasourceTableSt.columns,
137
138
  defaultVisibleColumnKeys = _useDatasourceTableSt.defaultVisibleColumnKeys,
@@ -204,6 +205,7 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
204
205
  status: status,
205
206
  columns: columns,
206
207
  items: responseItems,
208
+ itemIds: responseItemIds,
207
209
  hasNextPage: hasNextPage,
208
210
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
209
211
  onNextPage: onNextPage,
@@ -215,7 +217,7 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
215
217
  wrappedColumnKeys: wrappedColumnKeys,
216
218
  onWrappedColumnChange: (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-word_wrap') ? onWrappedColumnChange : undefined
217
219
  }));
218
- }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
220
+ }, [status, columns, responseItems, responseItemIds, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
219
221
  var resolvedWithNoResults = status === 'resolved' && !responseItems.length;
220
222
  var hasConfluenceSearchParams = selectedConfluenceSite && searchString;
221
223
  var selectedConfluenceSiteUrl = selectedConfluenceSite === null || selectedConfluenceSite === void 0 ? void 0 : selectedConfluenceSite.url;
@@ -58,6 +58,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
58
58
  status = _useDatasourceTableSt.status,
59
59
  onNextPage = _useDatasourceTableSt.onNextPage,
60
60
  responseItems = _useDatasourceTableSt.responseItems,
61
+ responseItemIds = _useDatasourceTableSt.responseItemIds,
61
62
  hasNextPage = _useDatasourceTableSt.hasNextPage,
62
63
  columns = _useDatasourceTableSt.columns,
63
64
  defaultVisibleColumnKeys = _useDatasourceTableSt.defaultVisibleColumnKeys,
@@ -169,6 +170,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
169
170
  testId: 'datasource-table-view',
170
171
  hasNextPage: hasNextPage,
171
172
  items: responseItems,
173
+ itemIds: responseItemIds,
172
174
  onNextPage: onNextPage,
173
175
  onLoadDatasourceDetails: loadDatasourceDetails,
174
176
  status: status,
@@ -8,7 +8,6 @@ exports.scrollableContainerShadowsCssComponents = exports.getOrderedColumns = ex
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
13
  var _react = require("react");
@@ -18,6 +17,7 @@ var _debounce = _interopRequireDefault(require("lodash/debounce"));
18
17
  var _reactIntlNext = require("react-intl-next");
19
18
  var _tinyInvariant = _interopRequireDefault(require("tiny-invariant"));
20
19
  var _linkingCommon = require("@atlaskit/linking-common");
20
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
21
21
  var _closestEdge = require("@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge");
22
22
  var _reorderWithEdge = require("@atlaskit/pragmatic-drag-and-drop-hitbox/util/reorder-with-edge");
23
23
  var _pragmaticDragAndDropReactBeautifulDndAutoscroll = require("@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-autoscroll");
@@ -36,17 +36,16 @@ var _draggableTableHeading = require("./draggable-table-heading");
36
36
  var _emptyState = _interopRequireDefault(require("./empty-state"));
37
37
  var _renderType = require("./render-type");
38
38
  var _styled2 = require("./styled");
39
+ var _tableCellContent = require("./table-cell-content");
40
+ var _truncateTextTag = require("./truncate-text-tag");
39
41
  var _useIsOnScreen = require("./useIsOnScreen");
40
42
  var _utils = require("./utils");
41
- var _styled$td;
42
- /**
43
+ 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; }
44
+ 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; } /**
43
45
  * @jsxRuntime classic
44
46
  * @jsx jsx
45
- */
46
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
47
+ */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
47
48
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
48
- 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
- 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; }
50
49
  var tableSidePadding = "var(--ds-space-200, 16px)";
51
50
  var tableHeadStyles = (0, _react2.css)({
52
51
  background: "var(--ds-elevation-surface-current, #FFF)",
@@ -55,11 +54,6 @@ var tableHeadStyles = (0, _react2.css)({
55
54
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
56
55
  zIndex: _zindex.stickyTableHeadersIndex
57
56
  });
58
- var truncateTextStyles = (0, _react2.css)({
59
- overflow: 'hidden',
60
- textOverflow: 'ellipsis',
61
- whiteSpace: 'nowrap'
62
- });
63
57
  var columnPickerWidth = 80;
64
58
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
65
59
  var ColumnPickerHeader = _styled.default.th((0, _defineProperty2.default)({}, "".concat((0, _styled2.withTablePluginHeaderPrefix)('&:last-of-type')), {
@@ -83,28 +77,6 @@ var truncateStyles = (0, _react2.css)({
83
77
  textOverflow: 'ellipsis',
84
78
  whiteSpace: 'nowrap'
85
79
  });
86
-
87
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
88
- var TableCell = _styled.default.td((_styled$td = {}, (0, _defineProperty2.default)(_styled$td, "".concat((0, _styled2.withTablePluginBodyPrefix)()), {
89
- /* First section here is to override things editor table plugin css defines */
90
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
91
- font: _styled2.fieldTextFontSize,
92
- padding: "var(--ds-space-050, 4px)".concat(" ", "var(--ds-space-100, 8px)"),
93
- border: 0,
94
- minWidth: 'auto',
95
- verticalAlign: 'inherit',
96
- boxSizing: 'border-box',
97
- borderRight: "0.5px solid ".concat("var(--ds-border, ".concat(_colors.N40, ")")),
98
- borderBottom: "0.5px solid ".concat("var(--ds-border, ".concat(_colors.N40, ")")),
99
- overflow: 'hidden'
100
- }), (0, _defineProperty2.default)(_styled$td, "".concat((0, _styled2.withTablePluginBodyPrefix)('&:first-child')), {
101
- paddingLeft: "var(--ds-space-100, 8px)"
102
- }), (0, _defineProperty2.default)(_styled$td, "".concat((0, _styled2.withTablePluginBodyPrefix)('&:last-child')), {
103
- borderRight: 0,
104
- paddingRight: "var(--ds-space-100, 8px)"
105
- }), (0, _defineProperty2.default)(_styled$td, "& [data-testid='inline-card-icon-and-title'], " + "& [data-testid='button-connect-account'] > span", {
106
- whiteSpace: 'unset'
107
- }), _styled$td));
108
80
  var tableContainerStyles = (0, _react2.css)({
109
81
  borderRadius: 'inherit',
110
82
  borderBottomLeftRadius: 0,
@@ -280,18 +252,12 @@ function getDefaultColumnWidth(key, type) {
280
252
  return DEFAULT_WIDTH;
281
253
  }
282
254
  }
283
- var TruncateTextTag = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
284
- return (0, _react2.jsx)("span", (0, _extends2.default)({
285
- css: truncateTextStyles
286
- }, props, {
287
- ref: ref
288
- }), props.children);
289
- });
290
255
  var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLikeDataTableView(_ref5) {
291
256
  var testId = _ref5.testId,
292
257
  onNextPage = _ref5.onNextPage,
293
258
  onLoadDatasourceDetails = _ref5.onLoadDatasourceDetails,
294
259
  items = _ref5.items,
260
+ itemIds = _ref5.itemIds,
295
261
  columns = _ref5.columns,
296
262
  _ref5$renderItem = _ref5.renderItem,
297
263
  renderItem = _ref5$renderItem === void 0 ? _renderType.renderType : _ref5$renderItem,
@@ -400,14 +366,15 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
400
366
  return {
401
367
  key: 'loading',
402
368
  cells: headerColumns.map(function (column) {
403
- return _objectSpread(_objectSpread({}, column), {}, {
369
+ return {
404
370
  content: (0, _react2.jsx)(_linkingCommon.Skeleton, {
405
371
  borderRadius: 8,
406
372
  width: "100%",
407
373
  height: 14,
408
374
  testId: "issues-table-row-loading"
409
- })
410
- });
375
+ }),
376
+ key: column.key
377
+ };
411
378
  })
412
379
  };
413
380
  }, [headerColumns]);
@@ -493,13 +460,36 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
493
460
  }));
494
461
  }, [visibleColumnKeys, onVisibleColumnKeysChange, tableId, hasData]);
495
462
  var tableRows = (0, _react.useMemo)(function () {
496
- return items.map(function (newRowData, rowIndex) {
463
+ return (0, _platformFeatureFlags.fg)('enable_datasource_react_sweet_state') ? itemIds.map(function (id, rowIndex) {
497
464
  return {
498
- key: "".concat(identityColumnKey && newRowData[identityColumnKey] && newRowData[identityColumnKey].data || rowIndex),
465
+ key: id,
499
466
  cells: visibleSortedColumns.map(function (_ref12, cellIndex) {
500
- var _newRowData$key;
501
467
  var key = _ref12.key,
502
468
  type = _ref12.type;
469
+ return {
470
+ key: key,
471
+ columnKey: key,
472
+ content: (0, _react2.jsx)(_tableCellContent.TableCellContent, {
473
+ id: id,
474
+ columnKey: key,
475
+ columnType: type,
476
+ wrappedColumnKeys: wrappedColumnKeys,
477
+ renderItem: renderItem
478
+ }),
479
+ width: getColumnWidth(key, type, cellIndex === visibleSortedColumns.length - 1)
480
+ };
481
+ }),
482
+ ref: rowIndex === items.length - 1 ? function (el) {
483
+ return setLastRowElement(el);
484
+ } : undefined
485
+ };
486
+ }) : items.map(function (newRowData, rowIndex) {
487
+ return {
488
+ key: "".concat(identityColumnKey && newRowData[identityColumnKey] && newRowData[identityColumnKey].data || rowIndex),
489
+ cells: visibleSortedColumns.map(function (_ref13, cellIndex) {
490
+ var _newRowData$key;
491
+ var key = _ref13.key,
492
+ type = _ref13.type;
503
493
  // Need to make sure we keep falsy values like 0 and '', as well as the boolean false.
504
494
  var value = (_newRowData$key = newRowData[key]) === null || _newRowData$key === void 0 ? void 0 : _newRowData$key.data;
505
495
  var values = Array.isArray(value) ? value : [value];
@@ -518,7 +508,7 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
518
508
  var contentComponent = stringifiedContent && !(wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 && wrappedColumnKeys.includes(key)) ? (0, _react2.jsx)(_tooltip.default
519
509
  // @ts-ignore: [PIT-1685] Fails in post-office due to backwards incompatibility issue with React 18
520
510
  , {
521
- tag: TruncateTextTag,
511
+ tag: _truncateTextTag.TruncateTextTag,
522
512
  content: stringifiedContent,
523
513
  testId: "issues-table-cell-tooltip"
524
514
  }, renderedValues) : renderedValues;
@@ -533,7 +523,7 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
533
523
  } : undefined
534
524
  };
535
525
  });
536
- }, [items, visibleSortedColumns, renderItem, wrappedColumnKeys, getColumnWidth, intl.formatMessage, intl.formatDate]);
526
+ }, [items, itemIds, renderItem, wrappedColumnKeys, visibleSortedColumns, getColumnWidth, intl.formatMessage, intl.formatDate]);
537
527
  var rows = (0, _react.useMemo)(function () {
538
528
  if (status !== 'loading') {
539
529
  return tableRows;
@@ -624,10 +614,10 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
624
614
  className: !!onVisibleColumnKeysChange ? 'has-column-picker' : ''
625
615
  }, (0, _react2.jsx)("tr", {
626
616
  ref: tableHeaderRowRef
627
- }, headerColumns.map(function (_ref14, cellIndex) {
628
- var key = _ref14.key,
629
- content = _ref14.content,
630
- width = _ref14.width;
617
+ }, headerColumns.map(function (_ref15, cellIndex) {
618
+ var key = _ref15.key,
619
+ content = _ref15.content,
620
+ width = _ref15.width;
631
621
  var heading = (0, _react2.jsx)(_tooltip.default, {
632
622
  content: content,
633
623
  tag: "span",
@@ -644,10 +634,10 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
644
634
  }
645
635
  if (isEditable) {
646
636
  var _containerRef$current3;
647
- var previewRows = tableRows.map(function (_ref15) {
648
- var cells = _ref15.cells;
649
- var cell = cells.find(function (_ref16) {
650
- var cellKey = _ref16.key;
637
+ var previewRows = tableRows.map(function (_ref16) {
638
+ var cells = _ref16.cells;
639
+ var cell = cells.find(function (_ref17) {
640
+ var cellKey = _ref17.key;
651
641
  return cellKey === key;
652
642
  });
653
643
  if (cell) {
@@ -690,18 +680,18 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
690
680
  })))), (0, _react2.jsx)("tbody", {
691
681
  css: noDefaultBorderStyles,
692
682
  "data-testid": testId && "".concat(testId, "--body")
693
- }, rows.map(function (_ref17) {
694
- var key = _ref17.key,
695
- cells = _ref17.cells,
696
- ref = _ref17.ref;
683
+ }, rows.map(function (_ref18) {
684
+ var key = _ref18.key,
685
+ cells = _ref18.cells,
686
+ ref = _ref18.ref;
697
687
  return (0, _react2.jsx)("tr", {
698
688
  key: key,
699
689
  "data-testid": testId && "".concat(testId, "--row-").concat(key),
700
690
  ref: ref
701
- }, cells.map(function (_ref18, cellIndex) {
702
- var cellKey = _ref18.key,
703
- content = _ref18.content,
704
- width = _ref18.width;
691
+ }, cells.map(function (_ref19, cellIndex) {
692
+ var cellKey = _ref19.key,
693
+ content = _ref19.content,
694
+ width = _ref19.width;
705
695
  var isLastCell = cellIndex === cells.length - 1;
706
696
  var loadingRowStyle = (0, _utils.getWidthCss)({
707
697
  shouldUseWidth: shouldUseWidth,
@@ -713,7 +703,7 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
713
703
  paddingBlock: "var(--ds-space-100, 8px)"
714
704
  });
715
705
  }
716
- return (0, _react2.jsx)(TableCell, {
706
+ return (0, _react2.jsx)(_styled2.TableCell, {
717
707
  key: cellKey,
718
708
  "data-testid": testId && "".concat(testId, "--cell-").concat(cellIndex),
719
709
  colSpan: isEditable && isLastCell ? 2 : undefined
@@ -4,12 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.withTablePluginPrefix = exports.withTablePluginHeaderPrefix = exports.withTablePluginBodyPrefix = exports.fieldTextFontSize = exports.TableHeading = exports.Table = exports.ScrollableContainerHeight = void 0;
7
+ exports.withTablePluginPrefix = exports.withTablePluginHeaderPrefix = exports.withTablePluginBodyPrefix = exports.fieldTextFontSize = exports.TableHeading = exports.TableCell = exports.Table = exports.ScrollableContainerHeight = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
10
  var _colors = require("@atlaskit/theme/colors");
11
11
  var _typography = require("@atlaskit/theme/typography");
12
- var _styled$th; // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
12
+ var _styled$th, _styled$td; // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
13
13
  var ScrollableContainerHeight = exports.ScrollableContainerHeight = 590;
14
14
  var fieldTextFontSize = exports.fieldTextFontSize = "var(--ds-font-body, ".concat(_typography.fontFallback.body.medium, ")");
15
15
 
@@ -71,4 +71,26 @@ var TableHeading = exports.TableHeading = _styled.default.th((_styled$th = {}, (
71
71
  whiteSpace: 'normal',
72
72
  overflow: 'hidden',
73
73
  wordWrap: 'break-word'
74
- }), _styled$th));
74
+ }), _styled$th));
75
+
76
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles, @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
77
+ var TableCell = exports.TableCell = _styled.default.td((_styled$td = {}, (0, _defineProperty2.default)(_styled$td, "".concat(withTablePluginBodyPrefix()), {
78
+ /* First section here is to override things editor table plugin css defines */
79
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
80
+ font: fieldTextFontSize,
81
+ padding: "var(--ds-space-050, 4px)".concat(" ", "var(--ds-space-100, 8px)"),
82
+ border: 0,
83
+ minWidth: 'auto',
84
+ verticalAlign: 'inherit',
85
+ boxSizing: 'border-box',
86
+ borderRight: "0.5px solid ".concat("var(--ds-border, ".concat(_colors.N40, ")")),
87
+ borderBottom: "0.5px solid ".concat("var(--ds-border, ".concat(_colors.N40, ")")),
88
+ overflow: 'hidden'
89
+ }), (0, _defineProperty2.default)(_styled$td, "".concat(withTablePluginBodyPrefix('&:first-child')), {
90
+ paddingLeft: "var(--ds-space-100, 8px)"
91
+ }), (0, _defineProperty2.default)(_styled$td, "".concat(withTablePluginBodyPrefix('&:last-child')), {
92
+ borderRight: 0,
93
+ paddingRight: "var(--ds-space-100, 8px)"
94
+ }), (0, _defineProperty2.default)(_styled$td, "& [data-testid='inline-card-icon-and-title'], " + "& [data-testid='button-connect-account'] > span", {
95
+ whiteSpace: 'unset'
96
+ }), _styled$td));
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.TableCellContent = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactIntlNext = require("react-intl-next");
10
+ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
11
+ var _state = require("../../../state");
12
+ var _renderType = require("../render-type");
13
+ var _truncateTextTag = require("../truncate-text-tag");
14
+ var TableCellContent = exports.TableCellContent = function TableCellContent(_ref) {
15
+ var _rowData$columnKey;
16
+ var columnKey = _ref.columnKey,
17
+ columnType = _ref.columnType,
18
+ id = _ref.id,
19
+ renderItem = _ref.renderItem,
20
+ wrappedColumnKeys = _ref.wrappedColumnKeys;
21
+ var intl = (0, _reactIntlNext.useIntl)();
22
+ var rowData = (0, _state.useDatasourceItem)({
23
+ id: id
24
+ });
25
+ if (!rowData || !columnKey || !rowData[columnKey]) {
26
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
27
+ }
28
+
29
+ // Need to make sure we keep falsy values like 0 and '', as well as the boolean false.
30
+ var value = (_rowData$columnKey = rowData[columnKey]) === null || _rowData$columnKey === void 0 ? void 0 : _rowData$columnKey.data;
31
+ var values = Array.isArray(value) ? value : [value];
32
+ var renderedValues = renderItem({
33
+ type: columnType,
34
+ values: values
35
+ });
36
+ var stringifiedContent = values.map(function (value) {
37
+ return (0, _renderType.stringifyType)({
38
+ type: columnType,
39
+ value: value
40
+ }, intl.formatMessage, intl.formatDate);
41
+ }).filter(function (value) {
42
+ return value !== '';
43
+ }).join(', ');
44
+ if (stringifiedContent && !(wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 && wrappedColumnKeys.includes(columnKey))) {
45
+ return /*#__PURE__*/_react.default.createElement(_tooltip.default
46
+ // @ts-ignore: [PIT-1685] Fails in post-office due to backwards incompatibility issue with React 18
47
+ , {
48
+ tag: _truncateTextTag.TruncateTextTag,
49
+ content: stringifiedContent,
50
+ testId: "issues-table-cell-tooltip"
51
+ }, renderedValues);
52
+ }
53
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderedValues);
54
+ };
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TruncateTextTag = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _react2 = require("@emotion/react");
12
+ 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); }
13
+ 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; }
14
+ /**
15
+ * @jsxRuntime classic
16
+ * @jsx jsx
17
+ */
18
+
19
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
20
+
21
+ var truncateTextStyles = (0, _react2.css)({
22
+ overflow: 'hidden',
23
+ textOverflow: 'ellipsis',
24
+ whiteSpace: 'nowrap'
25
+ });
26
+ var TruncateTextTag = exports.TruncateTextTag = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
27
+ return (0, _react2.jsx)("span", (0, _extends2.default)({
28
+ css: truncateTextStyles
29
+ }, props, {
30
+ ref: ref
31
+ }), props.children);
32
+ });
@@ -132,6 +132,7 @@ var PlainJiraIssuesConfigModalOld = exports.PlainJiraIssuesConfigModalOld = func
132
132
  status = _useDatasourceTableSt.status,
133
133
  onNextPage = _useDatasourceTableSt.onNextPage,
134
134
  responseItems = _useDatasourceTableSt.responseItems,
135
+ responseItemIds = _useDatasourceTableSt.responseItemIds,
135
136
  hasNextPage = _useDatasourceTableSt.hasNextPage,
136
137
  columns = _useDatasourceTableSt.columns,
137
138
  defaultVisibleColumnKeys = _useDatasourceTableSt.defaultVisibleColumnKeys,
@@ -369,6 +370,7 @@ var PlainJiraIssuesConfigModalOld = exports.PlainJiraIssuesConfigModalOld = func
369
370
  status: status,
370
371
  columns: columns,
371
372
  items: responseItems,
373
+ itemIds: responseItemIds,
372
374
  hasNextPage: hasNextPage,
373
375
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
374
376
  onNextPage: handleOnNextPage,
@@ -380,7 +382,7 @@ var PlainJiraIssuesConfigModalOld = exports.PlainJiraIssuesConfigModalOld = func
380
382
  wrappedColumnKeys: wrappedColumnKeys,
381
383
  onWrappedColumnChange: (0, _platformFeatureFlags.fg)('platform.linking-platform.datasource-word_wrap') ? onWrappedColumnChange : undefined
382
384
  }));
383
- }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, handleOnNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
385
+ }, [status, columns, responseItems, responseItemIds, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, handleOnNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
384
386
  var renderCountModeContent = (0, _react.useCallback)(function () {
385
387
  var selectedJiraSiteUrl = selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url;
386
388
  if (status === 'unauthorized') {
@@ -32,7 +32,7 @@ export const useDatasourceTableState = ({
32
32
  const [status, setStatus] = useState('empty');
33
33
  const [authDetails, setAuthDetails] = useState([]);
34
34
  const [responseItems, setResponseItems] = useState(initialEmptyArray);
35
- const [, setResponseItemIds] = useState(initialEmptyArray);
35
+ const [responseItemIds, setResponseItemIds] = useState(initialEmptyArray);
36
36
  const [hasNextPage, setHasNextPage] = useState(true);
37
37
  const [nextCursor, setNextCursor] = useState(undefined);
38
38
  const [columns, setColumns] = useState([]);
@@ -291,6 +291,7 @@ export const useDatasourceTableState = ({
291
291
  status,
292
292
  onNextPage,
293
293
  responseItems,
294
+ responseItemIds,
294
295
  reset,
295
296
  loadDatasourceDetails,
296
297
  hasNextPage,
@@ -117,6 +117,7 @@ const PlainAssetsConfigModal = props => {
117
117
  status,
118
118
  onNextPage,
119
119
  responseItems,
120
+ responseItemIds,
120
121
  reset,
121
122
  loadDatasourceDetails,
122
123
  hasNextPage,
@@ -339,6 +340,7 @@ const PlainAssetsConfigModal = props => {
339
340
  isFetchingInitialData: assetsClientLoading,
340
341
  status: status,
341
342
  responseItems: responseItems,
343
+ responseItemIds: responseItemIds,
342
344
  visibleColumnKeys: visibleColumnKeys,
343
345
  onVisibleColumnKeysChange: onVisibleColumnKeysChange,
344
346
  datasourceId: datasourceId,
@@ -58,6 +58,7 @@ export const RenderAssetsContent = props => {
58
58
  const {
59
59
  status,
60
60
  responseItems,
61
+ responseItemIds,
61
62
  visibleColumnKeys,
62
63
  onNextPage,
63
64
  hasNextPage,
@@ -75,12 +76,13 @@ export const RenderAssetsContent = props => {
75
76
  status: status,
76
77
  columns: columns,
77
78
  items: responseItems,
79
+ itemIds: responseItemIds,
78
80
  hasNextPage: hasNextPage,
79
81
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
80
82
  onNextPage: onNextPage,
81
83
  onLoadDatasourceDetails: loadDatasourceDetails,
82
84
  onVisibleColumnKeysChange: onVisibleColumnKeysChange
83
- })), [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, status, visibleColumnKeys]);
85
+ })), [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, responseItemIds, status, visibleColumnKeys]);
84
86
  const renderAssetsContentView = useCallback(() => {
85
87
  if (isFetchingInitialData) {
86
88
  // Placing this check first as it's a priority before all others
@@ -17,6 +17,7 @@ const Table = props => {
17
17
  status,
18
18
  onNextPage,
19
19
  responseItems,
20
+ responseItemIds,
20
21
  hasNextPage,
21
22
  columns,
22
23
  defaultVisibleColumnKeys,
@@ -33,6 +34,7 @@ const Table = props => {
33
34
  status: status,
34
35
  columns: columns,
35
36
  items: responseItems,
37
+ itemIds: responseItemIds,
36
38
  hasNextPage: hasNextPage,
37
39
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
38
40
  onNextPage: handleOnNextPage,
@@ -101,6 +101,7 @@ export const PlainConfluenceSearchConfigModal = props => {
101
101
  status,
102
102
  onNextPage,
103
103
  responseItems,
104
+ responseItemIds,
104
105
  hasNextPage,
105
106
  columns,
106
107
  defaultVisibleColumnKeys,
@@ -178,6 +179,7 @@ export const PlainConfluenceSearchConfigModal = props => {
178
179
  status: status,
179
180
  columns: columns,
180
181
  items: responseItems,
182
+ itemIds: responseItemIds,
181
183
  hasNextPage: hasNextPage,
182
184
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
183
185
  onNextPage: onNextPage,
@@ -188,7 +190,7 @@ export const PlainConfluenceSearchConfigModal = props => {
188
190
  onColumnResize: onColumnResize,
189
191
  wrappedColumnKeys: wrappedColumnKeys,
190
192
  onWrappedColumnChange: fg('platform.linking-platform.datasource-word_wrap') ? onWrappedColumnChange : undefined
191
- })), [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
193
+ })), [status, columns, responseItems, responseItemIds, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
192
194
  const resolvedWithNoResults = status === 'resolved' && !responseItems.length;
193
195
  const hasConfluenceSearchParams = selectedConfluenceSite && searchString;
194
196
  const selectedConfluenceSiteUrl = selectedConfluenceSite === null || selectedConfluenceSite === void 0 ? void 0 : selectedConfluenceSite.url;
@@ -47,6 +47,7 @@ const DatasourceTableViewWithoutAnalytics = ({
47
47
  status,
48
48
  onNextPage,
49
49
  responseItems,
50
+ responseItemIds,
50
51
  hasNextPage,
51
52
  columns,
52
53
  defaultVisibleColumnKeys,
@@ -163,6 +164,7 @@ const DatasourceTableViewWithoutAnalytics = ({
163
164
  testId: 'datasource-table-view',
164
165
  hasNextPage: hasNextPage,
165
166
  items: responseItems,
167
+ itemIds: responseItemIds,
166
168
  onNextPage: onNextPage,
167
169
  onLoadDatasourceDetails: loadDatasourceDetails,
168
170
  status: status,