@atlaskit/link-datasource 2.0.3 → 2.0.4

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 (26) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/ui/confluence-search-modal/modal/index.js +8 -20
  3. package/dist/cjs/ui/issue-like-table/use-column-resize/index.js +25 -0
  4. package/dist/cjs/ui/issue-like-table/use-column-wrapping/index.js +29 -0
  5. package/dist/cjs/ui/jira-issues-modal/modal/index.js +9 -21
  6. package/dist/cjs/ui/table-footer/index.js +1 -2
  7. package/dist/es2019/ui/confluence-search-modal/modal/index.js +10 -17
  8. package/dist/es2019/ui/issue-like-table/use-column-resize/index.js +14 -0
  9. package/dist/es2019/ui/issue-like-table/use-column-wrapping/index.js +17 -0
  10. package/dist/es2019/ui/jira-issues-modal/modal/index.js +10 -17
  11. package/dist/es2019/ui/table-footer/index.js +1 -2
  12. package/dist/esm/ui/confluence-search-modal/modal/index.js +8 -20
  13. package/dist/esm/ui/issue-like-table/use-column-resize/index.js +18 -0
  14. package/dist/esm/ui/issue-like-table/use-column-wrapping/index.js +22 -0
  15. package/dist/esm/ui/jira-issues-modal/modal/index.js +10 -22
  16. package/dist/esm/ui/table-footer/index.js +1 -2
  17. package/dist/types/ui/issue-like-table/types.d.ts +2 -2
  18. package/dist/types/ui/issue-like-table/use-column-resize/index.d.ts +5 -0
  19. package/dist/types/ui/issue-like-table/use-column-wrapping/index.d.ts +4 -0
  20. package/dist/types/ui/jira-issues-modal/modal/index.d.ts +1 -1
  21. package/dist/types-ts4.5/ui/issue-like-table/types.d.ts +2 -2
  22. package/dist/types-ts4.5/ui/issue-like-table/use-column-resize/index.d.ts +5 -0
  23. package/dist/types-ts4.5/ui/issue-like-table/use-column-wrapping/index.d.ts +4 -0
  24. package/dist/types-ts4.5/ui/jira-issues-modal/modal/index.d.ts +1 -1
  25. package/examples-helpers/useCommonTableProps.tsx +8 -24
  26. package/package.json +2 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 2.0.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [#97036](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/97036)
8
+ [`e5916b757500`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/e5916b757500) -
9
+ Power by Assets FF cleanup
10
+ - [#98096](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/98096)
11
+ [`56ced02c4cfe`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/56ced02c4cfe) -
12
+ Minor internal refactor to column resizing. No expected functional changes.
13
+ - [#97626](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/97626)
14
+ [`6cce587bf7c2`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/6cce587bf7c2) -
15
+ Minor internal refactor to column wrapping. No expected functional changes.
16
+
3
17
  ## 2.0.3
4
18
 
5
19
  ### Patch Changes
@@ -43,6 +43,8 @@ var _countViewSmartLink = require("../../common/modal/count-view-smart-link");
43
43
  var _displayViewDropDown = require("../../common/modal/display-view-dropdown/display-view-drop-down");
44
44
  var _siteSelector = require("../../common/modal/site-selector");
45
45
  var _issueLikeTable = require("../../issue-like-table");
46
+ var _useColumnResize2 = require("../../issue-like-table/use-column-resize");
47
+ var _useColumnWrapping2 = require("../../issue-like-table/use-column-wrapping");
46
48
  var _confluenceSearchContainer = _interopRequireDefault(require("../confluence-search-container"));
47
49
  var _confluenceSearchInitialStateSvg = require("./confluence-search-initial-state-svg");
48
50
  var _messages = require("./messages");
@@ -242,26 +244,12 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
242
244
  setVisibleColumnKeys(newVisibleColumnKeys);
243
245
  }, [initialVisibleColumnKeys, defaultVisibleColumnKeys]);
244
246
  var siteSelectorLabel = availableSites && availableSites.length > 1 ? _messages.confluenceSearchModalMessages.insertIssuesTitleManySites : _messages.confluenceSearchModalMessages.insertIssuesTitle;
245
- var _useState15 = (0, _react.useState)(initialColumnCustomSizes),
246
- _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
247
- columnCustomSizes = _useState16[0],
248
- setColumnCustomSizes = _useState16[1];
249
- var onColumnResize = (0, _react.useCallback)(function (key, width) {
250
- setColumnCustomSizes(_objectSpread(_objectSpread({}, columnCustomSizes), {}, (0, _defineProperty2.default)({}, key, width)));
251
- }, [columnCustomSizes]);
252
- var _useState17 = (0, _react.useState)(initialWrappedColumnKeys),
253
- _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
254
- wrappedColumnKeys = _useState18[0],
255
- setWrappedColumnKeys = _useState18[1];
256
- var onWrappedColumnChange = (0, _react.useCallback)(function (key, isWrapped) {
257
- var set = new Set(wrappedColumnKeys);
258
- if (isWrapped) {
259
- set.add(key);
260
- } else {
261
- set.delete(key);
262
- }
263
- setWrappedColumnKeys(Array.from(set));
264
- }, [wrappedColumnKeys]);
247
+ var _useColumnResize = (0, _useColumnResize2.useColumnResize)(initialColumnCustomSizes),
248
+ columnCustomSizes = _useColumnResize.columnCustomSizes,
249
+ onColumnResize = _useColumnResize.onColumnResize;
250
+ var _useColumnWrapping = (0, _useColumnWrapping2.useColumnWrapping)(initialWrappedColumnKeys),
251
+ wrappedColumnKeys = _useColumnWrapping.wrappedColumnKeys,
252
+ onWrappedColumnChange = _useColumnWrapping.onWrappedColumnChange;
265
253
 
266
254
  // TODO: common functionality of all modals refactor in EDM-9573
267
255
  var handleVisibleColumnKeysChange = (0, _react.useCallback)(function () {
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useColumnResize = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = require("react");
11
+ 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; }
12
+ 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; }
13
+ var useColumnResize = exports.useColumnResize = function useColumnResize(initialColumnCustomSizes) {
14
+ var _useState = (0, _react.useState)(initialColumnCustomSizes),
15
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
16
+ columnCustomSizes = _useState2[0],
17
+ setColumnCustomSizes = _useState2[1];
18
+ var onColumnResize = (0, _react.useCallback)(function (key, width) {
19
+ setColumnCustomSizes(_objectSpread(_objectSpread({}, columnCustomSizes), {}, (0, _defineProperty2.default)({}, key, width)));
20
+ }, [columnCustomSizes]);
21
+ return {
22
+ columnCustomSizes: columnCustomSizes,
23
+ onColumnResize: onColumnResize
24
+ };
25
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useColumnWrapping = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var useColumnWrapping = exports.useColumnWrapping = function useColumnWrapping() {
11
+ var initialWrappedColumnKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
12
+ var _useState = (0, _react.useState)(initialWrappedColumnKeys),
13
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
14
+ wrappedColumnKeys = _useState2[0],
15
+ setWrappedColumnKeys = _useState2[1];
16
+ var onWrappedColumnChange = (0, _react.useCallback)(function (key, isWrapped) {
17
+ var set = new Set(wrappedColumnKeys);
18
+ if (isWrapped) {
19
+ set.add(key);
20
+ } else {
21
+ set.delete(key);
22
+ }
23
+ setWrappedColumnKeys(Array.from(set));
24
+ }, [wrappedColumnKeys]);
25
+ return {
26
+ wrappedColumnKeys: wrappedColumnKeys,
27
+ onWrappedColumnChange: onWrappedColumnChange
28
+ };
29
+ };
@@ -8,9 +8,9 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.getColumnAction = exports.PlainJiraIssuesConfigModal = exports.JiraIssuesConfigModal = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
13
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
15
  var _react = require("react");
16
16
  var _react2 = require("@emotion/react");
@@ -48,6 +48,8 @@ var _countViewSmartLink = require("../../common/modal/count-view-smart-link");
48
48
  var _displayViewDropDown = require("../../common/modal/display-view-dropdown/display-view-drop-down");
49
49
  var _siteSelector = require("../../common/modal/site-selector");
50
50
  var _issueLikeTable = require("../../issue-like-table");
51
+ var _useColumnResize2 = require("../../issue-like-table/use-column-resize");
52
+ var _useColumnWrapping2 = require("../../issue-like-table/use-column-wrapping");
51
53
  var _ui = require("../basic-filters/ui");
52
54
  var _isQueryTooComplex = require("../basic-filters/utils/isQueryTooComplex");
53
55
  var _jiraSearchContainer = require("../jira-search-container");
@@ -139,26 +141,12 @@ var PlainJiraIssuesConfigModal = exports.PlainJiraIssuesConfigModal = function P
139
141
  } : undefined;
140
142
  }, [cloudId, jql]);
141
143
  var isParametersSet = !!(jql && cloudId);
142
- var _useState15 = (0, _react.useState)(initialColumnCustomSizes),
143
- _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
144
- columnCustomSizes = _useState16[0],
145
- setColumnCustomSizes = _useState16[1];
146
- var onColumnResize = (0, _react.useCallback)(function (key, width) {
147
- setColumnCustomSizes(_objectSpread(_objectSpread({}, columnCustomSizes), {}, (0, _defineProperty2.default)({}, key, width)));
148
- }, [columnCustomSizes]);
149
- var _useState17 = (0, _react.useState)(initialWrappedColumnKeys),
150
- _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
151
- wrappedColumnKeys = _useState18[0],
152
- setWrappedColumnKeys = _useState18[1];
153
- var onWrappedColumnChange = (0, _react.useCallback)(function (key, isWrapped) {
154
- var set = new Set(wrappedColumnKeys);
155
- if (isWrapped) {
156
- set.add(key);
157
- } else {
158
- set.delete(key);
159
- }
160
- setWrappedColumnKeys(Array.from(set));
161
- }, [wrappedColumnKeys]);
144
+ var _useColumnResize = (0, _useColumnResize2.useColumnResize)(initialColumnCustomSizes),
145
+ columnCustomSizes = _useColumnResize.columnCustomSizes,
146
+ onColumnResize = _useColumnResize.onColumnResize;
147
+ var _useColumnWrapping = (0, _useColumnWrapping2.useColumnWrapping)(initialWrappedColumnKeys),
148
+ wrappedColumnKeys = _useColumnWrapping.wrappedColumnKeys,
149
+ onWrappedColumnChange = _useColumnWrapping.onWrappedColumnChange;
162
150
  var _useDatasourceTableSt = (0, _useDatasourceTableState.useDatasourceTableState)({
163
151
  datasourceId: datasourceId,
164
152
  parameters: isParametersSet ? parameters : undefined,
@@ -14,7 +14,6 @@ var _reactIntlNext = require("react-intl-next");
14
14
  var _button = _interopRequireDefault(require("@atlaskit/button"));
15
15
  var _heading = _interopRequireDefault(require("@atlaskit/heading"));
16
16
  var _refresh = _interopRequireDefault(require("@atlaskit/icon/glyph/refresh"));
17
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
17
  var _linkUrl = _interopRequireDefault(require("@atlaskit/smart-card/link-url"));
19
18
  var _colors = require("@atlaskit/theme/colors");
20
19
  var _assetsModal = require("../assets-modal");
@@ -92,7 +91,7 @@ var TableFooter = exports.TableFooter = function TableFooter(_ref) {
92
91
  values: {
93
92
  itemCount: itemCount
94
93
  }
95
- }))))), (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource-assets_objects_add_jsm_promotional_tag') && datasourceId === _assetsModal.ASSETS_LIST_OF_LINKS_DATASOURCE_ID ? (0, _react2.jsx)(_poweredByJsmAssets.PoweredByJSMAssets, {
94
+ }))))), datasourceId === _assetsModal.ASSETS_LIST_OF_LINKS_DATASOURCE_ID ? (0, _react2.jsx)(_poweredByJsmAssets.PoweredByJSMAssets, {
96
95
  text: intl.formatMessage(_messages.footerMessages.powerByJSM)
97
96
  }) : null, (0, _react2.jsx)(SyncWrapper, null, onRefresh && (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(SyncTextWrapper, {
98
97
  "data-testid": "sync-text"
@@ -31,6 +31,8 @@ import { SmartCardPlaceholder, SmartLink } from '../../common/modal/count-view-s
31
31
  import { DisplayViewDropDown } from '../../common/modal/display-view-dropdown/display-view-drop-down';
32
32
  import { SiteSelector } from '../../common/modal/site-selector';
33
33
  import { EmptyState, IssueLikeDataTableView } from '../../issue-like-table';
34
+ import { useColumnResize } from '../../issue-like-table/use-column-resize';
35
+ import { useColumnWrapping } from '../../issue-like-table/use-column-wrapping';
34
36
  import ConfluenceSearchContainer from '../confluence-search-container';
35
37
  import { ConfluenceSearchInitialStateSVG } from './confluence-search-initial-state-svg';
36
38
  import { confluenceSearchModalMessages } from './messages';
@@ -182,23 +184,14 @@ export const PlainConfluenceSearchConfigModal = props => {
182
184
  setVisibleColumnKeys(newVisibleColumnKeys);
183
185
  }, [initialVisibleColumnKeys, defaultVisibleColumnKeys]);
184
186
  const siteSelectorLabel = availableSites && availableSites.length > 1 ? confluenceSearchModalMessages.insertIssuesTitleManySites : confluenceSearchModalMessages.insertIssuesTitle;
185
- const [columnCustomSizes, setColumnCustomSizes] = useState(initialColumnCustomSizes);
186
- const onColumnResize = useCallback((key, width) => {
187
- setColumnCustomSizes({
188
- ...columnCustomSizes,
189
- [key]: width
190
- });
191
- }, [columnCustomSizes]);
192
- const [wrappedColumnKeys, setWrappedColumnKeys] = useState(initialWrappedColumnKeys);
193
- const onWrappedColumnChange = useCallback((key, isWrapped) => {
194
- const set = new Set(wrappedColumnKeys);
195
- if (isWrapped) {
196
- set.add(key);
197
- } else {
198
- set.delete(key);
199
- }
200
- setWrappedColumnKeys(Array.from(set));
201
- }, [wrappedColumnKeys]);
187
+ const {
188
+ columnCustomSizes,
189
+ onColumnResize
190
+ } = useColumnResize(initialColumnCustomSizes);
191
+ const {
192
+ wrappedColumnKeys,
193
+ onWrappedColumnChange
194
+ } = useColumnWrapping(initialWrappedColumnKeys);
202
195
 
203
196
  // TODO: common functionality of all modals refactor in EDM-9573
204
197
  const handleVisibleColumnKeysChange = useCallback((newVisibleColumnKeys = []) => {
@@ -0,0 +1,14 @@
1
+ import { useCallback, useState } from 'react';
2
+ export const useColumnResize = initialColumnCustomSizes => {
3
+ const [columnCustomSizes, setColumnCustomSizes] = useState(initialColumnCustomSizes);
4
+ const onColumnResize = useCallback((key, width) => {
5
+ setColumnCustomSizes({
6
+ ...columnCustomSizes,
7
+ [key]: width
8
+ });
9
+ }, [columnCustomSizes]);
10
+ return {
11
+ columnCustomSizes,
12
+ onColumnResize
13
+ };
14
+ };
@@ -0,0 +1,17 @@
1
+ import { useCallback, useState } from 'react';
2
+ export const useColumnWrapping = (initialWrappedColumnKeys = []) => {
3
+ const [wrappedColumnKeys, setWrappedColumnKeys] = useState(initialWrappedColumnKeys);
4
+ const onWrappedColumnChange = useCallback((key, isWrapped) => {
5
+ const set = new Set(wrappedColumnKeys);
6
+ if (isWrapped) {
7
+ set.add(key);
8
+ } else {
9
+ set.delete(key);
10
+ }
11
+ setWrappedColumnKeys(Array.from(set));
12
+ }, [wrappedColumnKeys]);
13
+ return {
14
+ wrappedColumnKeys,
15
+ onWrappedColumnChange
16
+ };
17
+ };
@@ -36,6 +36,8 @@ import { SmartCardPlaceholder, SmartLink } from '../../common/modal/count-view-s
36
36
  import { DisplayViewDropDown } from '../../common/modal/display-view-dropdown/display-view-drop-down';
37
37
  import { SiteSelector } from '../../common/modal/site-selector';
38
38
  import { EmptyState, IssueLikeDataTableView } from '../../issue-like-table';
39
+ import { useColumnResize } from '../../issue-like-table/use-column-resize';
40
+ import { useColumnWrapping } from '../../issue-like-table/use-column-wrapping';
39
41
  import { availableBasicFilterTypes } from '../basic-filters/ui';
40
42
  import { isQueryTooComplex } from '../basic-filters/utils/isQueryTooComplex';
41
43
  import { JiraSearchContainer } from '../jira-search-container';
@@ -101,23 +103,14 @@ export const PlainJiraIssuesConfigModal = props => {
101
103
  jql: jql || ''
102
104
  } : undefined, [cloudId, jql]);
103
105
  const isParametersSet = !!(jql && cloudId);
104
- const [columnCustomSizes, setColumnCustomSizes] = useState(initialColumnCustomSizes);
105
- const onColumnResize = useCallback((key, width) => {
106
- setColumnCustomSizes({
107
- ...columnCustomSizes,
108
- [key]: width
109
- });
110
- }, [columnCustomSizes]);
111
- const [wrappedColumnKeys, setWrappedColumnKeys] = useState(initialWrappedColumnKeys);
112
- const onWrappedColumnChange = useCallback((key, isWrapped) => {
113
- const set = new Set(wrappedColumnKeys);
114
- if (isWrapped) {
115
- set.add(key);
116
- } else {
117
- set.delete(key);
118
- }
119
- setWrappedColumnKeys(Array.from(set));
120
- }, [wrappedColumnKeys]);
106
+ const {
107
+ columnCustomSizes,
108
+ onColumnResize
109
+ } = useColumnResize(initialColumnCustomSizes);
110
+ const {
111
+ wrappedColumnKeys,
112
+ onWrappedColumnChange
113
+ } = useColumnWrapping(initialWrappedColumnKeys);
121
114
  const {
122
115
  reset,
123
116
  status,
@@ -7,7 +7,6 @@ import { FormattedMessage, FormattedNumber, useIntl } from 'react-intl-next';
7
7
  import Button from '@atlaskit/button';
8
8
  import Heading from '@atlaskit/heading';
9
9
  import RefreshIcon from '@atlaskit/icon/glyph/refresh';
10
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
11
10
  import LinkUrl from '@atlaskit/smart-card/link-url';
12
11
  import { N0, N40, N800, N90 } from '@atlaskit/theme/colors';
13
12
  import { ASSETS_LIST_OF_LINKS_DATASOURCE_ID } from '../assets-modal';
@@ -81,7 +80,7 @@ export const TableFooter = ({
81
80
  values: {
82
81
  itemCount
83
82
  }
84
- }))))), getBooleanFF('platform.linking-platform.datasource-assets_objects_add_jsm_promotional_tag') && datasourceId === ASSETS_LIST_OF_LINKS_DATASOURCE_ID ? jsx(PoweredByJSMAssets, {
83
+ }))))), datasourceId === ASSETS_LIST_OF_LINKS_DATASOURCE_ID ? jsx(PoweredByJSMAssets, {
85
84
  text: intl.formatMessage(footerMessages.powerByJSM)
86
85
  }) : null, jsx(SyncWrapper, null, onRefresh && jsx(Fragment, null, jsx(SyncTextWrapper, {
87
86
  "data-testid": "sync-text"
@@ -38,6 +38,8 @@ import { SmartCardPlaceholder, SmartLink } from '../../common/modal/count-view-s
38
38
  import { DisplayViewDropDown } from '../../common/modal/display-view-dropdown/display-view-drop-down';
39
39
  import { SiteSelector } from '../../common/modal/site-selector';
40
40
  import { EmptyState, IssueLikeDataTableView } from '../../issue-like-table';
41
+ import { useColumnResize } from '../../issue-like-table/use-column-resize';
42
+ import { useColumnWrapping } from '../../issue-like-table/use-column-wrapping';
41
43
  import ConfluenceSearchContainer from '../confluence-search-container';
42
44
  import { ConfluenceSearchInitialStateSVG } from './confluence-search-initial-state-svg';
43
45
  import { confluenceSearchModalMessages } from './messages';
@@ -233,26 +235,12 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
233
235
  setVisibleColumnKeys(newVisibleColumnKeys);
234
236
  }, [initialVisibleColumnKeys, defaultVisibleColumnKeys]);
235
237
  var siteSelectorLabel = availableSites && availableSites.length > 1 ? confluenceSearchModalMessages.insertIssuesTitleManySites : confluenceSearchModalMessages.insertIssuesTitle;
236
- var _useState15 = useState(initialColumnCustomSizes),
237
- _useState16 = _slicedToArray(_useState15, 2),
238
- columnCustomSizes = _useState16[0],
239
- setColumnCustomSizes = _useState16[1];
240
- var onColumnResize = useCallback(function (key, width) {
241
- setColumnCustomSizes(_objectSpread(_objectSpread({}, columnCustomSizes), {}, _defineProperty({}, key, width)));
242
- }, [columnCustomSizes]);
243
- var _useState17 = useState(initialWrappedColumnKeys),
244
- _useState18 = _slicedToArray(_useState17, 2),
245
- wrappedColumnKeys = _useState18[0],
246
- setWrappedColumnKeys = _useState18[1];
247
- var onWrappedColumnChange = useCallback(function (key, isWrapped) {
248
- var set = new Set(wrappedColumnKeys);
249
- if (isWrapped) {
250
- set.add(key);
251
- } else {
252
- set.delete(key);
253
- }
254
- setWrappedColumnKeys(Array.from(set));
255
- }, [wrappedColumnKeys]);
238
+ var _useColumnResize = useColumnResize(initialColumnCustomSizes),
239
+ columnCustomSizes = _useColumnResize.columnCustomSizes,
240
+ onColumnResize = _useColumnResize.onColumnResize;
241
+ var _useColumnWrapping = useColumnWrapping(initialWrappedColumnKeys),
242
+ wrappedColumnKeys = _useColumnWrapping.wrappedColumnKeys,
243
+ onWrappedColumnChange = _useColumnWrapping.onWrappedColumnChange;
256
244
 
257
245
  // TODO: common functionality of all modals refactor in EDM-9573
258
246
  var handleVisibleColumnKeysChange = useCallback(function () {
@@ -0,0 +1,18 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ 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; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ import { useCallback, useState } from 'react';
6
+ export var useColumnResize = function useColumnResize(initialColumnCustomSizes) {
7
+ var _useState = useState(initialColumnCustomSizes),
8
+ _useState2 = _slicedToArray(_useState, 2),
9
+ columnCustomSizes = _useState2[0],
10
+ setColumnCustomSizes = _useState2[1];
11
+ var onColumnResize = useCallback(function (key, width) {
12
+ setColumnCustomSizes(_objectSpread(_objectSpread({}, columnCustomSizes), {}, _defineProperty({}, key, width)));
13
+ }, [columnCustomSizes]);
14
+ return {
15
+ columnCustomSizes: columnCustomSizes,
16
+ onColumnResize: onColumnResize
17
+ };
18
+ };
@@ -0,0 +1,22 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useCallback, useState } from 'react';
3
+ export var useColumnWrapping = function useColumnWrapping() {
4
+ var initialWrappedColumnKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
5
+ var _useState = useState(initialWrappedColumnKeys),
6
+ _useState2 = _slicedToArray(_useState, 2),
7
+ wrappedColumnKeys = _useState2[0],
8
+ setWrappedColumnKeys = _useState2[1];
9
+ var onWrappedColumnChange = useCallback(function (key, isWrapped) {
10
+ var set = new Set(wrappedColumnKeys);
11
+ if (isWrapped) {
12
+ set.add(key);
13
+ } else {
14
+ set.delete(key);
15
+ }
16
+ setWrappedColumnKeys(Array.from(set));
17
+ }, [wrappedColumnKeys]);
18
+ return {
19
+ wrappedColumnKeys: wrappedColumnKeys,
20
+ onWrappedColumnChange: onWrappedColumnChange
21
+ };
22
+ };
@@ -1,11 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
4
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
5
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
6
- import _regeneratorRuntime from "@babel/runtime/regenerator";
7
6
  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; }
8
7
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
9
9
  /** @jsx jsx */
10
10
  import { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';
11
11
  import { css, jsx } from '@emotion/react';
@@ -43,6 +43,8 @@ import { SmartCardPlaceholder, SmartLink } from '../../common/modal/count-view-s
43
43
  import { DisplayViewDropDown } from '../../common/modal/display-view-dropdown/display-view-drop-down';
44
44
  import { SiteSelector } from '../../common/modal/site-selector';
45
45
  import { EmptyState, IssueLikeDataTableView } from '../../issue-like-table';
46
+ import { useColumnResize } from '../../issue-like-table/use-column-resize';
47
+ import { useColumnWrapping } from '../../issue-like-table/use-column-wrapping';
46
48
  import { availableBasicFilterTypes } from '../basic-filters/ui';
47
49
  import { isQueryTooComplex } from '../basic-filters/utils/isQueryTooComplex';
48
50
  import { JiraSearchContainer } from '../jira-search-container';
@@ -130,26 +132,12 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
130
132
  } : undefined;
131
133
  }, [cloudId, jql]);
132
134
  var isParametersSet = !!(jql && cloudId);
133
- var _useState15 = useState(initialColumnCustomSizes),
134
- _useState16 = _slicedToArray(_useState15, 2),
135
- columnCustomSizes = _useState16[0],
136
- setColumnCustomSizes = _useState16[1];
137
- var onColumnResize = useCallback(function (key, width) {
138
- setColumnCustomSizes(_objectSpread(_objectSpread({}, columnCustomSizes), {}, _defineProperty({}, key, width)));
139
- }, [columnCustomSizes]);
140
- var _useState17 = useState(initialWrappedColumnKeys),
141
- _useState18 = _slicedToArray(_useState17, 2),
142
- wrappedColumnKeys = _useState18[0],
143
- setWrappedColumnKeys = _useState18[1];
144
- var onWrappedColumnChange = useCallback(function (key, isWrapped) {
145
- var set = new Set(wrappedColumnKeys);
146
- if (isWrapped) {
147
- set.add(key);
148
- } else {
149
- set.delete(key);
150
- }
151
- setWrappedColumnKeys(Array.from(set));
152
- }, [wrappedColumnKeys]);
135
+ var _useColumnResize = useColumnResize(initialColumnCustomSizes),
136
+ columnCustomSizes = _useColumnResize.columnCustomSizes,
137
+ onColumnResize = _useColumnResize.onColumnResize;
138
+ var _useColumnWrapping = useColumnWrapping(initialWrappedColumnKeys),
139
+ wrappedColumnKeys = _useColumnWrapping.wrappedColumnKeys,
140
+ onWrappedColumnChange = _useColumnWrapping.onWrappedColumnChange;
153
141
  var _useDatasourceTableSt = useDatasourceTableState({
154
142
  datasourceId: datasourceId,
155
143
  parameters: isParametersSet ? parameters : undefined,
@@ -8,7 +8,6 @@ import { FormattedMessage, FormattedNumber, useIntl } from 'react-intl-next';
8
8
  import Button from '@atlaskit/button';
9
9
  import Heading from '@atlaskit/heading';
10
10
  import RefreshIcon from '@atlaskit/icon/glyph/refresh';
11
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
12
11
  import LinkUrl from '@atlaskit/smart-card/link-url';
13
12
  import { N0, N40, N800, N90 } from '@atlaskit/theme/colors';
14
13
  import { ASSETS_LIST_OF_LINKS_DATASOURCE_ID } from '../assets-modal';
@@ -84,7 +83,7 @@ export var TableFooter = function TableFooter(_ref) {
84
83
  values: {
85
84
  itemCount: itemCount
86
85
  }
87
- }))))), getBooleanFF('platform.linking-platform.datasource-assets_objects_add_jsm_promotional_tag') && datasourceId === ASSETS_LIST_OF_LINKS_DATASOURCE_ID ? jsx(PoweredByJSMAssets, {
86
+ }))))), datasourceId === ASSETS_LIST_OF_LINKS_DATASOURCE_ID ? jsx(PoweredByJSMAssets, {
88
87
  text: intl.formatMessage(footerMessages.powerByJSM)
89
88
  }) : null, jsx(SyncWrapper, null, onRefresh && jsx(Fragment, null, jsx(SyncTextWrapper, {
90
89
  "data-testid": "sync-text"
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { DatasourceDataResponseItem, DatasourceResponseSchemaProperty, DatasourceTableStatusType, DatasourceType } from '@atlaskit/linking-types';
3
- import { NextPageType } from '../../hooks/useDatasourceTableState';
2
+ import type { DatasourceDataResponseItem, DatasourceResponseSchemaProperty, DatasourceTableStatusType, DatasourceType } from '@atlaskit/linking-types';
3
+ import type { NextPageType } from '../../hooks/useDatasourceTableState';
4
4
  export type DatasourceTypeWithOnlyValues = {
5
5
  [K in DatasourceType['type']]: {
6
6
  type: K;
@@ -0,0 +1,5 @@
1
+ import { type ColumnSizesMap } from '../types';
2
+ export declare const useColumnResize: (initialColumnCustomSizes: ColumnSizesMap | undefined) => {
3
+ columnCustomSizes: ColumnSizesMap | undefined;
4
+ onColumnResize: (key: string, width: number) => void;
5
+ };
@@ -0,0 +1,4 @@
1
+ export declare const useColumnWrapping: (initialWrappedColumnKeys?: string[]) => {
2
+ wrappedColumnKeys: string[];
3
+ onWrappedColumnChange: (key: string, isWrapped: boolean) => void;
4
+ };
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { jsx } from '@emotion/react';
3
3
  import { DatasourceAction } from '../../../analytics/types';
4
- import { JiraConfigModalProps } from '../types';
4
+ import type { JiraConfigModalProps } from '../types';
5
5
  /**
6
6
  * This method should be called when one atomic action is performed on columns: adding new item, removing one item, changing items order.
7
7
  * The assumption is that since only one action is changed at each time, we don't have to verify the actual contents of the lists.
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { DatasourceDataResponseItem, DatasourceResponseSchemaProperty, DatasourceTableStatusType, DatasourceType } from '@atlaskit/linking-types';
3
- import { NextPageType } from '../../hooks/useDatasourceTableState';
2
+ import type { DatasourceDataResponseItem, DatasourceResponseSchemaProperty, DatasourceTableStatusType, DatasourceType } from '@atlaskit/linking-types';
3
+ import type { NextPageType } from '../../hooks/useDatasourceTableState';
4
4
  export type DatasourceTypeWithOnlyValues = {
5
5
  [K in DatasourceType['type']]: {
6
6
  type: K;
@@ -0,0 +1,5 @@
1
+ import { type ColumnSizesMap } from '../types';
2
+ export declare const useColumnResize: (initialColumnCustomSizes: ColumnSizesMap | undefined) => {
3
+ columnCustomSizes: ColumnSizesMap | undefined;
4
+ onColumnResize: (key: string, width: number) => void;
5
+ };
@@ -0,0 +1,4 @@
1
+ export declare const useColumnWrapping: (initialWrappedColumnKeys?: string[]) => {
2
+ wrappedColumnKeys: string[];
3
+ onWrappedColumnChange: (key: string, isWrapped: boolean) => void;
4
+ };
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { jsx } from '@emotion/react';
3
3
  import { DatasourceAction } from '../../../analytics/types';
4
- import { JiraConfigModalProps } from '../types';
4
+ import type { JiraConfigModalProps } from '../types';
5
5
  /**
6
6
  * This method should be called when one atomic action is performed on columns: adding new item, removing one item, changing items order.
7
7
  * The assumption is that since only one action is changed at each time, we don't have to verify the actual contents of the lists.
@@ -1,9 +1,11 @@
1
- import { useCallback, useState } from 'react';
1
+ import { useState } from 'react';
2
2
 
3
3
  import { defaultInitialVisibleJiraColumnKeys } from '@atlaskit/link-test-helpers/datasource';
4
4
 
5
- import { DatasourceTableViewProps } from '../src/ui/datasource-table-view/types';
6
- import { ColumnSizesMap } from '../src/ui/issue-like-table/types';
5
+ import type { DatasourceTableViewProps } from '../src/ui/datasource-table-view/types';
6
+ import type { ColumnSizesMap } from '../src/ui/issue-like-table/types';
7
+ import { useColumnResize } from '../src/ui/issue-like-table/use-column-resize';
8
+ import { useColumnWrapping } from '../src/ui/issue-like-table/use-column-wrapping';
7
9
 
8
10
  export const useCommonTableProps = (
9
11
  props: { defaultColumnCustomSizes?: ColumnSizesMap } = {},
@@ -22,29 +24,11 @@ export const useCommonTableProps = (
22
24
  defaultInitialVisibleJiraColumnKeys,
23
25
  );
24
26
 
25
- const [columnCustomSizes, setColumnCustomSizes] = useState<
26
- ColumnSizesMap | undefined
27
- >(props.defaultColumnCustomSizes);
28
-
29
- const onColumnResize = useCallback(
30
- (key: string, width: number) => {
31
- setColumnCustomSizes({ ...columnCustomSizes, [key]: width });
32
- },
33
- [columnCustomSizes],
27
+ const { columnCustomSizes, onColumnResize } = useColumnResize(
28
+ props.defaultColumnCustomSizes,
34
29
  );
35
30
 
36
- const [wrappedColumnKeys, setWrappedColumnKeys] = useState<string[]>([]);
37
-
38
- const onWrappedColumnChange = useCallback(
39
- (key: string, shouldWrap: boolean) => {
40
- if (shouldWrap) {
41
- setWrappedColumnKeys([...wrappedColumnKeys, key]);
42
- } else {
43
- setWrappedColumnKeys(wrappedColumnKeys.filter(k => k !== key));
44
- }
45
- },
46
- [wrappedColumnKeys],
47
- );
31
+ const { wrappedColumnKeys, onWrappedColumnChange } = useColumnWrapping([]);
48
32
 
49
33
  return {
50
34
  visibleColumnKeys,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "description": "UI Components to support linking platform dataset feature",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -34,7 +34,7 @@
34
34
  "dependencies": {
35
35
  "@atlaskit/adf-schema": "^35.12.2",
36
36
  "@atlaskit/analytics-next": "^9.3.0",
37
- "@atlaskit/avatar": "^21.7.0",
37
+ "@atlaskit/avatar": "^21.8.0",
38
38
  "@atlaskit/avatar-group": "^9.6.0",
39
39
  "@atlaskit/badge": "^16.1.0",
40
40
  "@atlaskit/button": "^17.14.0",
@@ -167,9 +167,6 @@
167
167
  },
168
168
  "platform.editor-update-tag-link-and-color_x6hcf": {
169
169
  "type": "boolean"
170
- },
171
- "platform.linking-platform.datasource-assets_objects_add_jsm_promotional_tag": {
172
- "type": "boolean"
173
170
  }
174
171
  }
175
172
  }