@atlaskit/link-datasource 0.20.0 → 0.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/hooks/useDatasourceTableState.js +137 -57
  3. package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +8 -2
  4. package/dist/cjs/ui/issue-like-table/column-picker/index.js +9 -3
  5. package/dist/cjs/ui/issue-like-table/index.js +61 -21
  6. package/dist/cjs/ui/jira-issues-modal/modal/index.js +13 -12
  7. package/dist/cjs/version.json +1 -1
  8. package/dist/es2019/hooks/useDatasourceTableState.js +84 -19
  9. package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +8 -2
  10. package/dist/es2019/ui/issue-like-table/column-picker/index.js +9 -3
  11. package/dist/es2019/ui/issue-like-table/index.js +24 -5
  12. package/dist/es2019/ui/jira-issues-modal/modal/index.js +10 -9
  13. package/dist/es2019/version.json +1 -1
  14. package/dist/esm/hooks/useDatasourceTableState.js +137 -57
  15. package/dist/esm/ui/datasource-table-view/datasourceTableView.js +8 -2
  16. package/dist/esm/ui/issue-like-table/column-picker/index.js +9 -3
  17. package/dist/esm/ui/issue-like-table/index.js +61 -21
  18. package/dist/esm/ui/jira-issues-modal/modal/index.js +13 -12
  19. package/dist/esm/version.json +1 -1
  20. package/dist/types/hooks/useDatasourceTableState.d.ts +14 -3
  21. package/dist/types/ui/issue-like-table/column-picker/index.d.ts +1 -1
  22. package/dist/types/ui/issue-like-table/column-picker/types.d.ts +1 -0
  23. package/dist/types/ui/issue-like-table/index.d.ts +1 -1
  24. package/dist/types/ui/issue-like-table/types.d.ts +3 -1
  25. package/dist/types-ts4.5/hooks/useDatasourceTableState.d.ts +14 -3
  26. package/dist/types-ts4.5/ui/issue-like-table/column-picker/index.d.ts +1 -1
  27. package/dist/types-ts4.5/ui/issue-like-table/column-picker/types.d.ts +1 -0
  28. package/dist/types-ts4.5/ui/issue-like-table/index.d.ts +1 -1
  29. package/dist/types-ts4.5/ui/issue-like-table/types.d.ts +3 -1
  30. package/examples-helpers/buildIssueLikeTable.tsx +11 -3
  31. package/examples-helpers/buildJiraIssuesTable.tsx +7 -2
  32. package/package.json +3 -3
@@ -1,6 +1,8 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
1
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
4
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
5
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
8
  /** @jsx jsx */
@@ -87,6 +89,7 @@ function getColumnWidth(key, type) {
87
89
  export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
88
90
  var testId = _ref2.testId,
89
91
  onNextPage = _ref2.onNextPage,
92
+ onLoadDatasourceDetails = _ref2.onLoadDatasourceDetails,
90
93
  items = _ref2.items,
91
94
  columns = _ref2.columns,
92
95
  _ref2$renderItem = _ref2.renderItem,
@@ -106,14 +109,21 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
106
109
  _useState4 = _slicedToArray(_useState3, 2),
107
110
  isDragPreview = _useState4[0],
108
111
  setIsDragPreview = _useState4[1];
112
+ var _useState5 = useState(false),
113
+ _useState6 = _slicedToArray(_useState5, 2),
114
+ hasFullSchema = _useState6[0],
115
+ setHasFullSchema = _useState6[1];
109
116
  var isBottomOfTableVisibleRaw = useIsOnScreen(lastRowElement);
110
117
  var containerRef = useRef(null);
111
- var _useState5 = useState(function () {
118
+ var _useState7 = useState(function () {
112
119
  return orderColumns(_toConsumableArray(columns), _toConsumableArray(visibleColumnKeys));
113
120
  }),
114
- _useState6 = _slicedToArray(_useState5, 2),
115
- orderedColumns = _useState6[0],
116
- setOrderedColumns = _useState6[1];
121
+ _useState8 = _slicedToArray(_useState7, 2),
122
+ orderedColumns = _useState8[0],
123
+ setOrderedColumns = _useState8[1];
124
+ useEffect(function () {
125
+ setOrderedColumns(orderColumns(_toConsumableArray(columns), _toConsumableArray(visibleColumnKeys)));
126
+ }, [columns, visibleColumnKeys]);
117
127
  var visibleSortedColumns = useMemo(function () {
118
128
  return visibleColumnKeys.map(function (visibleKey) {
119
129
  return orderedColumns.find(function (_ref3) {
@@ -157,8 +167,10 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
157
167
  };
158
168
  });
159
169
  useEffect(function () {
160
- if (status === 'empty' || isBottomOfTableVisibleRaw && hasNextPage && status !== 'loading') {
161
- void onNextPage();
170
+ if (isBottomOfTableVisibleRaw && hasNextPage && status === 'resolved') {
171
+ void onNextPage({
172
+ isSchemaFromData: false
173
+ });
162
174
  }
163
175
  }, [isBottomOfTableVisibleRaw, status, hasNextPage, onNextPage]);
164
176
  var dndPreviewHeight = 0;
@@ -264,6 +276,33 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
264
276
  var onSelectedColumnKeysChange = useCallback(function (newSelectedColumnKeys) {
265
277
  onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 ? void 0 : onVisibleColumnKeysChange(newSelectedColumnKeys);
266
278
  }, [onVisibleColumnKeysChange]);
279
+ var handlePickerOpen = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
280
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
281
+ while (1) switch (_context.prev = _context.next) {
282
+ case 0:
283
+ if (!hasFullSchema) {
284
+ _context.next = 2;
285
+ break;
286
+ }
287
+ return _context.abrupt("return");
288
+ case 2:
289
+ _context.prev = 2;
290
+ _context.next = 5;
291
+ return onLoadDatasourceDetails();
292
+ case 5:
293
+ setHasFullSchema(true);
294
+ _context.next = 11;
295
+ break;
296
+ case 8:
297
+ _context.prev = 8;
298
+ _context.t0 = _context["catch"](2);
299
+ setHasFullSchema(false);
300
+ case 11:
301
+ case "end":
302
+ return _context.stop();
303
+ }
304
+ }, _callee, null, [[2, 8]]);
305
+ })), [hasFullSchema, onLoadDatasourceDetails]);
267
306
  return jsx("div", {
268
307
  ref: containerRef,
269
308
  css: isDragPreview ? containerDragPreviewStyles : null
@@ -273,10 +312,10 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
273
312
  }, jsx("thead", {
274
313
  "data-testid": testId && "".concat(testId, "--head"),
275
314
  css: tableHeadStyles
276
- }, jsx("tr", null, headColumns.map(function (_ref10, cellIndex) {
277
- var key = _ref10.key,
278
- content = _ref10.content,
279
- maxWidth = _ref10.maxWidth;
315
+ }, jsx("tr", null, headColumns.map(function (_ref11, cellIndex) {
316
+ var key = _ref11.key,
317
+ content = _ref11.content,
318
+ maxWidth = _ref11.maxWidth;
280
319
  var TruncatedContent = function TruncatedContent() {
281
320
  return jsx("div", {
282
321
  css: truncatedCellStyles
@@ -305,24 +344,25 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
305
344
  }), onVisibleColumnKeysChange && jsx("th", {
306
345
  css: columnPickerHeaderStyles
307
346
  }, jsx(ColumnPicker, {
347
+ columns: hasFullSchema ? orderedColumns : [],
348
+ selectedColumnKeys: hasFullSchema ? visibleColumnKeys : [],
308
349
  isDatasourceLoading: status === 'loading',
309
- columns: orderedColumns,
310
- selectedColumnKeys: visibleColumnKeys,
311
- onSelectedColumnKeysChange: onSelectedColumnKeysChange
350
+ onSelectedColumnKeysChange: onSelectedColumnKeysChange,
351
+ onOpen: handlePickerOpen
312
352
  })))), jsx("tbody", {
313
353
  "data-testid": testId && "".concat(testId, "--body")
314
- }, rows.map(function (_ref11) {
315
- var key = _ref11.key,
316
- cells = _ref11.cells,
317
- ref = _ref11.ref;
354
+ }, rows.map(function (_ref12) {
355
+ var key = _ref12.key,
356
+ cells = _ref12.cells,
357
+ ref = _ref12.ref;
318
358
  return jsx("tr", {
319
359
  key: key,
320
360
  "data-testid": testId && "".concat(testId, "--row-").concat(key),
321
361
  ref: ref
322
- }, cells.map(function (_ref12, cellIndex) {
323
- var key = _ref12.key,
324
- content = _ref12.content,
325
- maxWidth = _ref12.maxWidth;
362
+ }, cells.map(function (_ref13, cellIndex) {
363
+ var key = _ref13.key,
364
+ content = _ref13.content,
365
+ maxWidth = _ref13.maxWidth;
326
366
  return jsx("td", {
327
367
  key: key,
328
368
  "data-testid": testId && "".concat(testId, "--cell-").concat(cellIndex),
@@ -61,18 +61,23 @@ export var JiraIssuesConfigModal = function JiraIssuesConfigModal(props) {
61
61
  jql: jql || ''
62
62
  } : undefined;
63
63
  }, [cloudId, jql]);
64
- var _useDatasourceTableSt = useDatasourceTableState(datasourceId, parameters),
64
+ var _useState9 = useState(initialVisibleColumnKeys),
65
+ _useState10 = _slicedToArray(_useState9, 2),
66
+ visibleColumnKeys = _useState10[0],
67
+ setVisibleColumnKeys = _useState10[1];
68
+ var _useDatasourceTableSt = useDatasourceTableState({
69
+ datasourceId: datasourceId,
70
+ parameters: isParametersSet ? parameters : undefined,
71
+ fieldKeys: visibleColumnKeys
72
+ }),
65
73
  reset = _useDatasourceTableSt.reset,
66
74
  status = _useDatasourceTableSt.status,
67
75
  onNextPage = _useDatasourceTableSt.onNextPage,
68
76
  responseItems = _useDatasourceTableSt.responseItems,
69
77
  hasNextPage = _useDatasourceTableSt.hasNextPage,
70
78
  columns = _useDatasourceTableSt.columns,
71
- defaultVisibleColumnKeys = _useDatasourceTableSt.defaultVisibleColumnKeys;
72
- var _useState9 = useState(initialVisibleColumnKeys || defaultVisibleColumnKeys),
73
- _useState10 = _slicedToArray(_useState9, 2),
74
- visibleColumnKeys = _useState10[0],
75
- setVisibleColumnKeys = _useState10[1];
79
+ defaultVisibleColumnKeys = _useDatasourceTableSt.defaultVisibleColumnKeys,
80
+ loadDatasourceDetails = _useDatasourceTableSt.loadDatasourceDetails;
76
81
  useEffect(function () {
77
82
  var newVisibleColumnKeys = !initialVisibleColumnKeys || (initialVisibleColumnKeys || []).length === 0 ? defaultVisibleColumnKeys : initialVisibleColumnKeys;
78
83
  setVisibleColumnKeys(newVisibleColumnKeys);
@@ -172,11 +177,6 @@ export var JiraIssuesConfigModal = function JiraIssuesConfigModal(props) {
172
177
  var handleViewModeChange = function handleViewModeChange(selectedMode) {
173
178
  setCurrentViewMode(selectedMode);
174
179
  };
175
- useEffect(function () {
176
- if (status === 'empty' && isParametersSet) {
177
- void onNextPage();
178
- }
179
- }, [status, isParametersSet, onNextPage, reset]);
180
180
  var issueLikeDataTableView = useMemo(function () {
181
181
  return jsx(IssueLikeDataTableView, {
182
182
  testId: "jira-jql-datasource-table",
@@ -186,9 +186,10 @@ export var JiraIssuesConfigModal = function JiraIssuesConfigModal(props) {
186
186
  hasNextPage: hasNextPage,
187
187
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
188
188
  onNextPage: onNextPage,
189
+ onLoadDatasourceDetails: loadDatasourceDetails,
189
190
  onVisibleColumnKeysChange: setVisibleColumnKeys
190
191
  });
191
- }, [columns, defaultVisibleColumnKeys, hasNextPage, onNextPage, responseItems, status, visibleColumnKeys]);
192
+ }, [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, responseItems, status, visibleColumnKeys]);
192
193
  var renderCountModeContent = useCallback(function () {
193
194
  var url = selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url;
194
195
  if (status === 'empty' || !jql || !url) {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "0.20.0",
3
+ "version": "0.21.1",
4
4
  "sideEffects": false
5
5
  }
@@ -1,12 +1,23 @@
1
- import { DatasourceDataResponseItem, DatasourceResponseSchemaProperty, DatasourceTableStatusType } from '@atlaskit/linking-types';
1
+ import { DatasourceDataResponseItem, DatasourceParameters, DatasourceResponseSchemaProperty, DatasourceTableStatusType } from '@atlaskit/linking-types';
2
+ export interface onNextPageProps {
3
+ isSchemaFromData?: boolean;
4
+ shouldRequestFirstPage?: boolean;
5
+ }
6
+ export type NextPageType = (requestInfo?: onNextPageProps) => void;
2
7
  export interface DatasourceTableState {
3
8
  status: DatasourceTableStatusType;
4
- onNextPage: () => void;
9
+ onNextPage: NextPageType;
5
10
  reset: () => void;
11
+ loadDatasourceDetails: () => void;
6
12
  responseItems: DatasourceDataResponseItem[];
7
13
  hasNextPage: boolean;
8
14
  columns: DatasourceResponseSchemaProperty[];
9
15
  defaultVisibleColumnKeys: string[];
10
16
  totalIssueCount?: number;
11
17
  }
12
- export declare const useDatasourceTableState: (datasourceId: string, parameters?: object, fields?: string[]) => DatasourceTableState;
18
+ export interface DatasourceTableStateProps {
19
+ datasourceId: string;
20
+ parameters?: DatasourceParameters;
21
+ fieldKeys?: string[];
22
+ }
23
+ export declare const useDatasourceTableState: ({ datasourceId, parameters, fieldKeys, }: DatasourceTableStateProps) => DatasourceTableState;
@@ -1,3 +1,3 @@
1
1
  import { jsx } from '@emotion/react';
2
2
  import { ColumnPickerProps } from './types';
3
- export declare const ColumnPicker: ({ isDatasourceLoading, columns, selectedColumnKeys, onSelectedColumnKeysChange, }: ColumnPickerProps) => jsx.JSX.Element;
3
+ export declare const ColumnPicker: ({ isDatasourceLoading, columns, selectedColumnKeys, onSelectedColumnKeysChange, onOpen, }: ColumnPickerProps) => jsx.JSX.Element;
@@ -4,4 +4,5 @@ export type ColumnPickerProps = {
4
4
  columns: DatasourceResponseSchemaProperty[];
5
5
  selectedColumnKeys: string[];
6
6
  onSelectedColumnKeysChange: (selectedColumnKeys: string[]) => void;
7
+ onOpen?: () => void;
7
8
  };
@@ -12,5 +12,5 @@ export interface RowCellType {
12
12
  content?: React.ReactNode | string;
13
13
  maxWidth?: number;
14
14
  }
15
- export declare const IssueLikeDataTableView: ({ testId, onNextPage, items, columns, renderItem, visibleColumnKeys, onVisibleColumnKeysChange, status, hasNextPage, }: IssueLikeDataTableViewProps) => jsx.JSX.Element;
15
+ export declare const IssueLikeDataTableView: ({ testId, onNextPage, onLoadDatasourceDetails, items, columns, renderItem, visibleColumnKeys, onVisibleColumnKeysChange, status, hasNextPage, }: IssueLikeDataTableViewProps) => jsx.JSX.Element;
16
16
  export declare const EmptyState: (props: import("./empty-state").Props) => jsx.JSX.Element;
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { DatasourceDataResponseItem, DatasourceResponseSchemaProperty, DatasourceTableStatusType, DatasourceType } from '@atlaskit/linking-types';
3
+ import { NextPageType } from '../../hooks/useDatasourceTableState';
3
4
  export type TableViewPropsRenderType = (item: DatasourceType) => React.ReactNode;
4
5
  export interface IssueLikeDataTableViewProps {
5
6
  testId?: string;
@@ -16,7 +17,8 @@ export interface IssueLikeDataTableViewProps {
16
17
  hasNextPage: boolean;
17
18
  status: DatasourceTableStatusType;
18
19
  items: DatasourceDataResponseItem[];
19
- onNextPage: () => void;
20
+ onNextPage: NextPageType;
21
+ onLoadDatasourceDetails: () => void;
20
22
  /**
21
23
  * A function to define new or override existing render components.
22
24
  * eg:
@@ -1,12 +1,23 @@
1
- import { DatasourceDataResponseItem, DatasourceResponseSchemaProperty, DatasourceTableStatusType } from '@atlaskit/linking-types';
1
+ import { DatasourceDataResponseItem, DatasourceParameters, DatasourceResponseSchemaProperty, DatasourceTableStatusType } from '@atlaskit/linking-types';
2
+ export interface onNextPageProps {
3
+ isSchemaFromData?: boolean;
4
+ shouldRequestFirstPage?: boolean;
5
+ }
6
+ export type NextPageType = (requestInfo?: onNextPageProps) => void;
2
7
  export interface DatasourceTableState {
3
8
  status: DatasourceTableStatusType;
4
- onNextPage: () => void;
9
+ onNextPage: NextPageType;
5
10
  reset: () => void;
11
+ loadDatasourceDetails: () => void;
6
12
  responseItems: DatasourceDataResponseItem[];
7
13
  hasNextPage: boolean;
8
14
  columns: DatasourceResponseSchemaProperty[];
9
15
  defaultVisibleColumnKeys: string[];
10
16
  totalIssueCount?: number;
11
17
  }
12
- export declare const useDatasourceTableState: (datasourceId: string, parameters?: object, fields?: string[]) => DatasourceTableState;
18
+ export interface DatasourceTableStateProps {
19
+ datasourceId: string;
20
+ parameters?: DatasourceParameters;
21
+ fieldKeys?: string[];
22
+ }
23
+ export declare const useDatasourceTableState: ({ datasourceId, parameters, fieldKeys, }: DatasourceTableStateProps) => DatasourceTableState;
@@ -1,3 +1,3 @@
1
1
  import { jsx } from '@emotion/react';
2
2
  import { ColumnPickerProps } from './types';
3
- export declare const ColumnPicker: ({ isDatasourceLoading, columns, selectedColumnKeys, onSelectedColumnKeysChange, }: ColumnPickerProps) => jsx.JSX.Element;
3
+ export declare const ColumnPicker: ({ isDatasourceLoading, columns, selectedColumnKeys, onSelectedColumnKeysChange, onOpen, }: ColumnPickerProps) => jsx.JSX.Element;
@@ -4,4 +4,5 @@ export type ColumnPickerProps = {
4
4
  columns: DatasourceResponseSchemaProperty[];
5
5
  selectedColumnKeys: string[];
6
6
  onSelectedColumnKeysChange: (selectedColumnKeys: string[]) => void;
7
+ onOpen?: () => void;
7
8
  };
@@ -12,5 +12,5 @@ export interface RowCellType {
12
12
  content?: React.ReactNode | string;
13
13
  maxWidth?: number;
14
14
  }
15
- export declare const IssueLikeDataTableView: ({ testId, onNextPage, items, columns, renderItem, visibleColumnKeys, onVisibleColumnKeysChange, status, hasNextPage, }: IssueLikeDataTableViewProps) => jsx.JSX.Element;
15
+ export declare const IssueLikeDataTableView: ({ testId, onNextPage, onLoadDatasourceDetails, items, columns, renderItem, visibleColumnKeys, onVisibleColumnKeysChange, status, hasNextPage, }: IssueLikeDataTableViewProps) => jsx.JSX.Element;
16
16
  export declare const EmptyState: (props: import("./empty-state").Props) => jsx.JSX.Element;
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { DatasourceDataResponseItem, DatasourceResponseSchemaProperty, DatasourceTableStatusType, DatasourceType } from '@atlaskit/linking-types';
3
+ import { NextPageType } from '../../hooks/useDatasourceTableState';
3
4
  export type TableViewPropsRenderType = (item: DatasourceType) => React.ReactNode;
4
5
  export interface IssueLikeDataTableViewProps {
5
6
  testId?: string;
@@ -16,7 +17,8 @@ export interface IssueLikeDataTableViewProps {
16
17
  hasNextPage: boolean;
17
18
  status: DatasourceTableStatusType;
18
19
  items: DatasourceDataResponseItem[];
19
- onNextPage: () => void;
20
+ onNextPage: NextPageType;
21
+ onLoadDatasourceDetails: () => void;
20
22
  /**
21
23
  * A function to define new or override existing render components.
22
24
  * eg:
@@ -6,7 +6,10 @@ import styled from '@emotion/styled';
6
6
  import { IntlProvider } from 'react-intl-next';
7
7
 
8
8
  import { SmartCardProvider } from '@atlaskit/link-provider';
9
- import { mockDatasourceFetchRequests } from '@atlaskit/link-test-helpers/datasource';
9
+ import {
10
+ initialVisibleColumnKeys,
11
+ mockDatasourceFetchRequests,
12
+ } from '@atlaskit/link-test-helpers/datasource';
10
13
 
11
14
  import { useDatasourceTableState } from '../src/hooks/useDatasourceTableState';
12
15
  import { IssueLikeDataTableView } from '../src/ui/issue-like-table';
@@ -44,10 +47,14 @@ const ExampleBody = ({ isReadonly }: Props) => {
44
47
  hasNextPage,
45
48
  defaultVisibleColumnKeys,
46
49
  columns,
47
- } = useDatasourceTableState('some-datasource-id', parameters);
50
+ loadDatasourceDetails,
51
+ } = useDatasourceTableState({
52
+ datasourceId: 'some-datasource-id',
53
+ parameters,
54
+ });
48
55
 
49
56
  const [visibleColumnKeys, setVisibleColumnKeys] = useState<string[]>(
50
- defaultVisibleColumnKeys,
57
+ initialVisibleColumnKeys,
51
58
  );
52
59
 
53
60
  useEffect(() => {
@@ -63,6 +70,7 @@ const ExampleBody = ({ isReadonly }: Props) => {
63
70
  testId="link-datasource"
64
71
  items={responseItems}
65
72
  onNextPage={onNextPage}
73
+ onLoadDatasourceDetails={loadDatasourceDetails}
66
74
  hasNextPage={hasNextPage}
67
75
  status={status}
68
76
  columns={columns}
@@ -1,6 +1,9 @@
1
1
  import React, { useMemo, useState } from 'react';
2
2
 
3
- import { mockDatasourceFetchRequests } from '@atlaskit/link-test-helpers/datasource';
3
+ import {
4
+ initialVisibleColumnKeys,
5
+ mockDatasourceFetchRequests,
6
+ } from '@atlaskit/link-test-helpers/datasource';
4
7
 
5
8
  import { DatasourceTableView } from '../src';
6
9
  import { JiraIssueDatasourceParameters } from '../src/ui/jira-issues-modal/types';
@@ -10,7 +13,9 @@ mockDatasourceFetchRequests();
10
13
  export const ExampleJiraIssuesTableView = () => {
11
14
  const cloudId = 'some-cloud-id';
12
15
 
13
- const [visibleColumnKeys, setVisibleColumnKeys] = useState<string[]>([]);
16
+ const [visibleColumnKeys, setVisibleColumnKeys] = useState<string[]>(
17
+ initialVisibleColumnKeys,
18
+ );
14
19
 
15
20
  const parameters = useMemo<JiraIssueDatasourceParameters>(
16
21
  () => ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "0.20.0",
3
+ "version": "0.21.1",
4
4
  "description": "UI Components to support linking platform dataset feature",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -34,7 +34,7 @@
34
34
  "@atlaskit/icon": "^21.12.0",
35
35
  "@atlaskit/icon-object": "^6.3.0",
36
36
  "@atlaskit/image": "^1.1.0",
37
- "@atlaskit/link-client-extension": "^1.1.0",
37
+ "@atlaskit/link-client-extension": "^1.2.0",
38
38
  "@atlaskit/linking-common": "^2.14.0",
39
39
  "@atlaskit/linking-types": "^5.0.0",
40
40
  "@atlaskit/lozenge": "^11.4.0",
@@ -47,7 +47,7 @@
47
47
  "@atlaskit/smart-card": "^26.5.0",
48
48
  "@atlaskit/spinner": "^15.5.0",
49
49
  "@atlaskit/tag": "^11.5.0",
50
- "@atlaskit/textfield": "5.5.0",
50
+ "@atlaskit/textfield": "5.5.1",
51
51
  "@atlaskit/theme": "^12.5.0",
52
52
  "@atlaskit/tokens": "^1.5.0",
53
53
  "@atlassianlabs/jql-editor": "^1.2.0",