@atlaskit/link-datasource 6.14.1 → 6.14.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.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @atlaskit/link-datasource
|
|
2
2
|
|
|
3
|
+
## 6.14.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`3f172371c9b66`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/3f172371c9b66) -
|
|
8
|
+
Preserve the selected Assets columns when only the AQL query changes, and persist datasource
|
|
9
|
+
updates that only change parameters. Both behind feature gate
|
|
10
|
+
`platform_lp_sllv_preserve_assets_columns`.
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
|
|
3
13
|
## 6.14.1
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
|
@@ -23,6 +23,7 @@ var _modalFooter = _interopRequireDefault(require("@atlaskit/modal-dialog/modal-
|
|
|
23
23
|
var _modalHeader = _interopRequireDefault(require("@atlaskit/modal-dialog/modal-header"));
|
|
24
24
|
var _modalTitle = _interopRequireDefault(require("@atlaskit/modal-dialog/modal-title"));
|
|
25
25
|
var _modalTransition = _interopRequireDefault(require("@atlaskit/modal-dialog/modal-transition"));
|
|
26
|
+
var _fg = require("@atlaskit/platform-feature-flags/fg");
|
|
26
27
|
var _constants = require("../../../analytics/constants");
|
|
27
28
|
var _index = require("../../../analytics/index");
|
|
28
29
|
var _types = require("../../../analytics/types");
|
|
@@ -77,10 +78,15 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
77
78
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
78
79
|
isNewSearch = _useState8[0],
|
|
79
80
|
setIsNewSearch = _useState8[1];
|
|
80
|
-
|
|
81
|
+
// State rather than a ref because the reconciliation below reads it during render
|
|
82
|
+
var _useState9 = (0, _react.useState)(false),
|
|
81
83
|
_useState0 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
hasPreservedColumns = _useState0[0],
|
|
85
|
+
setHasPreservedColumns = _useState0[1];
|
|
86
|
+
var _useState1 = (0, _react.useState)(),
|
|
87
|
+
_useState10 = (0, _slicedToArray2.default)(_useState1, 2),
|
|
88
|
+
errorState = _useState10[0],
|
|
89
|
+
setErrorState = _useState10[1];
|
|
84
90
|
var _useDatasourceAnalyti = (0, _index.useDatasourceAnalyticsEvents)(),
|
|
85
91
|
fireEvent = _useDatasourceAnalyti.fireEvent;
|
|
86
92
|
var experienceId = (0, _useDatasourceExperienceId.useDatasourceExperienceId)();
|
|
@@ -151,6 +157,26 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
151
157
|
destinationObjectTypes = _useDatasourceTableSt.destinationObjectTypes,
|
|
152
158
|
totalCount = _useDatasourceTableSt.totalCount;
|
|
153
159
|
|
|
160
|
+
// A preserved selection must drop whatever the edited query stopped reporting. This is adjusted
|
|
161
|
+
// during render, not in an effect: the table hook is called before this component's own effects
|
|
162
|
+
// are registered, so its effects run first and would read the columns still awaiting removal as
|
|
163
|
+
// newly selected ones - refetching for them, and throwing away the results just received. The
|
|
164
|
+
// re-render this schedules is discarded before commit, so the hook only ever sees the reconciled
|
|
165
|
+
// selection.
|
|
166
|
+
if ((0, _fg.fg)('platform_lp_sllv_preserve_assets_columns') && hasPreservedColumns && status === 'resolved' && columns.length > 0) {
|
|
167
|
+
var availableKeys = new Set(columns.map(function (_ref) {
|
|
168
|
+
var key = _ref.key;
|
|
169
|
+
return key;
|
|
170
|
+
}));
|
|
171
|
+
var selectedKeys = visibleColumnKeys !== null && visibleColumnKeys !== void 0 ? visibleColumnKeys : [];
|
|
172
|
+
var retainedKeys = selectedKeys.filter(function (key) {
|
|
173
|
+
return availableKeys.has(key);
|
|
174
|
+
});
|
|
175
|
+
if (retainedKeys.length !== selectedKeys.length) {
|
|
176
|
+
setVisibleColumnKeys(retainedKeys.length > 0 ? retainedKeys : defaultVisibleColumnKeys);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
154
180
|
/* ------------------------------ OBSERVABILITY ------------------------------ */
|
|
155
181
|
var searchCount = (0, _react.useRef)(0);
|
|
156
182
|
var userInteractions = (0, _useUserInteractions.useUserInteractions)();
|
|
@@ -212,9 +238,28 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
212
238
|
setIsNewSearch(false);
|
|
213
239
|
}, []);
|
|
214
240
|
(0, _react.useEffect)(function () {
|
|
241
|
+
// A preserved selection owns the columns, so restoring the saved or default ones would undo it
|
|
242
|
+
if ((0, _fg.fg)('platform_lp_sllv_preserve_assets_columns') && hasPreservedColumns) {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
215
245
|
var newVisibleColumnKeys = initialVisibleColumnKeys && initialVisibleColumnKeys.length > 0 && apiVersion === VERSION_TWO ? initialVisibleColumnKeys : defaultVisibleColumnKeys;
|
|
216
246
|
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
217
|
-
}, [initialVisibleColumnKeys, defaultVisibleColumnKeys, apiVersion]);
|
|
247
|
+
}, [initialVisibleColumnKeys, defaultVisibleColumnKeys, apiVersion, hasPreservedColumns]);
|
|
248
|
+
(0, _react.useEffect)(function () {
|
|
249
|
+
// The response described none of the requested fields, so there is nothing valid to keep and
|
|
250
|
+
// no reported defaults to fall back to. Give up preserving and re-request the schema's own
|
|
251
|
+
// defaults. This one has to stay an effect because it issues a request.
|
|
252
|
+
if (!(0, _fg.fg)('platform_lp_sllv_preserve_assets_columns') || !hasPreservedColumns || status !== 'resolved' || columns.length > 0) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
setHasPreservedColumns(false);
|
|
256
|
+
setVisibleColumnKeys([]);
|
|
257
|
+
setIsNewSearch(true);
|
|
258
|
+
reset({
|
|
259
|
+
shouldForceRequest: true,
|
|
260
|
+
shouldResetColumns: true
|
|
261
|
+
});
|
|
262
|
+
}, [columns, hasPreservedColumns, reset, status]);
|
|
218
263
|
(0, _react.useEffect)(function () {
|
|
219
264
|
if (isNewSearch) {
|
|
220
265
|
setVisibleColumnKeys(defaultVisibleColumnKeys);
|
|
@@ -290,16 +335,22 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
290
335
|
if (aql !== searchAql) {
|
|
291
336
|
userInteractions.add(_types.DatasourceAction.QUERY_UPDATED);
|
|
292
337
|
}
|
|
338
|
+
// An empty selection has nothing worth preserving, and keeping it would stop the
|
|
339
|
+
// response's defaults from being adopted
|
|
340
|
+
var shouldPreserveColumns = (0, _fg.fg)('platform_lp_sllv_preserve_assets_columns') && schemaId === searchSchemaId && (visibleColumnKeys !== null && visibleColumnKeys !== void 0 ? visibleColumnKeys : []).length > 0;
|
|
341
|
+
setHasPreservedColumns(shouldPreserveColumns);
|
|
293
342
|
setAql(searchAql);
|
|
294
343
|
setSchemaId(searchSchemaId);
|
|
295
|
-
|
|
296
|
-
|
|
344
|
+
if (!shouldPreserveColumns) {
|
|
345
|
+
setVisibleColumnKeys([]);
|
|
346
|
+
}
|
|
347
|
+
setIsNewSearch(!shouldPreserveColumns);
|
|
297
348
|
reset({
|
|
298
349
|
shouldForceRequest: true,
|
|
299
|
-
shouldResetColumns:
|
|
350
|
+
shouldResetColumns: !shouldPreserveColumns
|
|
300
351
|
});
|
|
301
352
|
}
|
|
302
|
-
}, [aql, reset, schemaId, status, userInteractions]);
|
|
353
|
+
}, [aql, reset, schemaId, status, userInteractions, visibleColumnKeys]);
|
|
303
354
|
var renderErrorState = (0, _react.useCallback)(function () {
|
|
304
355
|
if (errorState) {
|
|
305
356
|
switch (errorState) {
|
|
@@ -13,6 +13,7 @@ import ModalFooter from '@atlaskit/modal-dialog/modal-footer';
|
|
|
13
13
|
import ModalHeader from '@atlaskit/modal-dialog/modal-header';
|
|
14
14
|
import ModalTitle from '@atlaskit/modal-dialog/modal-title';
|
|
15
15
|
import ModalTransition from '@atlaskit/modal-dialog/modal-transition';
|
|
16
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
16
17
|
import { EVENT_CHANNEL } from '../../../analytics/constants';
|
|
17
18
|
import { componentMetadata } from '../../../analytics/constants';
|
|
18
19
|
import { useDatasourceAnalyticsEvents } from '../../../analytics/index';
|
|
@@ -55,6 +56,8 @@ const PlainAssetsConfigModal = props => {
|
|
|
55
56
|
const apiVersion = initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.version;
|
|
56
57
|
const [visibleColumnKeys, setVisibleColumnKeys] = useState(apiVersion !== VERSION_TWO ? [] : initialVisibleColumnKeys);
|
|
57
58
|
const [isNewSearch, setIsNewSearch] = useState(false);
|
|
59
|
+
// State rather than a ref because the reconciliation below reads it during render
|
|
60
|
+
const [hasPreservedColumns, setHasPreservedColumns] = useState(false);
|
|
58
61
|
const [errorState, setErrorState] = useState();
|
|
59
62
|
const {
|
|
60
63
|
fireEvent
|
|
@@ -126,6 +129,23 @@ const PlainAssetsConfigModal = props => {
|
|
|
126
129
|
fieldKeys: isNewSearch ? [] : visibleColumnKeys
|
|
127
130
|
});
|
|
128
131
|
|
|
132
|
+
// A preserved selection must drop whatever the edited query stopped reporting. This is adjusted
|
|
133
|
+
// during render, not in an effect: the table hook is called before this component's own effects
|
|
134
|
+
// are registered, so its effects run first and would read the columns still awaiting removal as
|
|
135
|
+
// newly selected ones - refetching for them, and throwing away the results just received. The
|
|
136
|
+
// re-render this schedules is discarded before commit, so the hook only ever sees the reconciled
|
|
137
|
+
// selection.
|
|
138
|
+
if (fg('platform_lp_sllv_preserve_assets_columns') && hasPreservedColumns && status === 'resolved' && columns.length > 0) {
|
|
139
|
+
const availableKeys = new Set(columns.map(({
|
|
140
|
+
key
|
|
141
|
+
}) => key));
|
|
142
|
+
const selectedKeys = visibleColumnKeys !== null && visibleColumnKeys !== void 0 ? visibleColumnKeys : [];
|
|
143
|
+
const retainedKeys = selectedKeys.filter(key => availableKeys.has(key));
|
|
144
|
+
if (retainedKeys.length !== selectedKeys.length) {
|
|
145
|
+
setVisibleColumnKeys(retainedKeys.length > 0 ? retainedKeys : defaultVisibleColumnKeys);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
129
149
|
/* ------------------------------ OBSERVABILITY ------------------------------ */
|
|
130
150
|
const searchCount = useRef(0);
|
|
131
151
|
const userInteractions = useUserInteractions();
|
|
@@ -188,9 +208,28 @@ const PlainAssetsConfigModal = props => {
|
|
|
188
208
|
setIsNewSearch(false);
|
|
189
209
|
}, []);
|
|
190
210
|
useEffect(() => {
|
|
211
|
+
// A preserved selection owns the columns, so restoring the saved or default ones would undo it
|
|
212
|
+
if (fg('platform_lp_sllv_preserve_assets_columns') && hasPreservedColumns) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
191
215
|
const newVisibleColumnKeys = initialVisibleColumnKeys && initialVisibleColumnKeys.length > 0 && apiVersion === VERSION_TWO ? initialVisibleColumnKeys : defaultVisibleColumnKeys;
|
|
192
216
|
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
193
|
-
}, [initialVisibleColumnKeys, defaultVisibleColumnKeys, apiVersion]);
|
|
217
|
+
}, [initialVisibleColumnKeys, defaultVisibleColumnKeys, apiVersion, hasPreservedColumns]);
|
|
218
|
+
useEffect(() => {
|
|
219
|
+
// The response described none of the requested fields, so there is nothing valid to keep and
|
|
220
|
+
// no reported defaults to fall back to. Give up preserving and re-request the schema's own
|
|
221
|
+
// defaults. This one has to stay an effect because it issues a request.
|
|
222
|
+
if (!fg('platform_lp_sllv_preserve_assets_columns') || !hasPreservedColumns || status !== 'resolved' || columns.length > 0) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
setHasPreservedColumns(false);
|
|
226
|
+
setVisibleColumnKeys([]);
|
|
227
|
+
setIsNewSearch(true);
|
|
228
|
+
reset({
|
|
229
|
+
shouldForceRequest: true,
|
|
230
|
+
shouldResetColumns: true
|
|
231
|
+
});
|
|
232
|
+
}, [columns, hasPreservedColumns, reset, status]);
|
|
194
233
|
useEffect(() => {
|
|
195
234
|
if (isNewSearch) {
|
|
196
235
|
setVisibleColumnKeys(defaultVisibleColumnKeys);
|
|
@@ -264,16 +303,22 @@ const PlainAssetsConfigModal = props => {
|
|
|
264
303
|
if (aql !== searchAql) {
|
|
265
304
|
userInteractions.add(DatasourceAction.QUERY_UPDATED);
|
|
266
305
|
}
|
|
306
|
+
// An empty selection has nothing worth preserving, and keeping it would stop the
|
|
307
|
+
// response's defaults from being adopted
|
|
308
|
+
const shouldPreserveColumns = fg('platform_lp_sllv_preserve_assets_columns') && schemaId === searchSchemaId && (visibleColumnKeys !== null && visibleColumnKeys !== void 0 ? visibleColumnKeys : []).length > 0;
|
|
309
|
+
setHasPreservedColumns(shouldPreserveColumns);
|
|
267
310
|
setAql(searchAql);
|
|
268
311
|
setSchemaId(searchSchemaId);
|
|
269
|
-
|
|
270
|
-
|
|
312
|
+
if (!shouldPreserveColumns) {
|
|
313
|
+
setVisibleColumnKeys([]);
|
|
314
|
+
}
|
|
315
|
+
setIsNewSearch(!shouldPreserveColumns);
|
|
271
316
|
reset({
|
|
272
317
|
shouldForceRequest: true,
|
|
273
|
-
shouldResetColumns:
|
|
318
|
+
shouldResetColumns: !shouldPreserveColumns
|
|
274
319
|
});
|
|
275
320
|
}
|
|
276
|
-
}, [aql, reset, schemaId, status, userInteractions]);
|
|
321
|
+
}, [aql, reset, schemaId, status, userInteractions, visibleColumnKeys]);
|
|
277
322
|
const renderErrorState = useCallback(() => {
|
|
278
323
|
if (errorState) {
|
|
279
324
|
switch (errorState) {
|
|
@@ -17,6 +17,7 @@ import ModalFooter from '@atlaskit/modal-dialog/modal-footer';
|
|
|
17
17
|
import ModalHeader from '@atlaskit/modal-dialog/modal-header';
|
|
18
18
|
import ModalTitle from '@atlaskit/modal-dialog/modal-title';
|
|
19
19
|
import ModalTransition from '@atlaskit/modal-dialog/modal-transition';
|
|
20
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
20
21
|
import { EVENT_CHANNEL } from '../../../analytics/constants';
|
|
21
22
|
import { componentMetadata } from '../../../analytics/constants';
|
|
22
23
|
import { useDatasourceAnalyticsEvents } from '../../../analytics/index';
|
|
@@ -69,10 +70,15 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
69
70
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
70
71
|
isNewSearch = _useState8[0],
|
|
71
72
|
setIsNewSearch = _useState8[1];
|
|
72
|
-
|
|
73
|
+
// State rather than a ref because the reconciliation below reads it during render
|
|
74
|
+
var _useState9 = useState(false),
|
|
73
75
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
74
|
-
|
|
75
|
-
|
|
76
|
+
hasPreservedColumns = _useState0[0],
|
|
77
|
+
setHasPreservedColumns = _useState0[1];
|
|
78
|
+
var _useState1 = useState(),
|
|
79
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
80
|
+
errorState = _useState10[0],
|
|
81
|
+
setErrorState = _useState10[1];
|
|
76
82
|
var _useDatasourceAnalyti = useDatasourceAnalyticsEvents(),
|
|
77
83
|
fireEvent = _useDatasourceAnalyti.fireEvent;
|
|
78
84
|
var experienceId = useDatasourceExperienceId();
|
|
@@ -143,6 +149,26 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
143
149
|
destinationObjectTypes = _useDatasourceTableSt.destinationObjectTypes,
|
|
144
150
|
totalCount = _useDatasourceTableSt.totalCount;
|
|
145
151
|
|
|
152
|
+
// A preserved selection must drop whatever the edited query stopped reporting. This is adjusted
|
|
153
|
+
// during render, not in an effect: the table hook is called before this component's own effects
|
|
154
|
+
// are registered, so its effects run first and would read the columns still awaiting removal as
|
|
155
|
+
// newly selected ones - refetching for them, and throwing away the results just received. The
|
|
156
|
+
// re-render this schedules is discarded before commit, so the hook only ever sees the reconciled
|
|
157
|
+
// selection.
|
|
158
|
+
if (fg('platform_lp_sllv_preserve_assets_columns') && hasPreservedColumns && status === 'resolved' && columns.length > 0) {
|
|
159
|
+
var availableKeys = new Set(columns.map(function (_ref) {
|
|
160
|
+
var key = _ref.key;
|
|
161
|
+
return key;
|
|
162
|
+
}));
|
|
163
|
+
var selectedKeys = visibleColumnKeys !== null && visibleColumnKeys !== void 0 ? visibleColumnKeys : [];
|
|
164
|
+
var retainedKeys = selectedKeys.filter(function (key) {
|
|
165
|
+
return availableKeys.has(key);
|
|
166
|
+
});
|
|
167
|
+
if (retainedKeys.length !== selectedKeys.length) {
|
|
168
|
+
setVisibleColumnKeys(retainedKeys.length > 0 ? retainedKeys : defaultVisibleColumnKeys);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
146
172
|
/* ------------------------------ OBSERVABILITY ------------------------------ */
|
|
147
173
|
var searchCount = useRef(0);
|
|
148
174
|
var userInteractions = useUserInteractions();
|
|
@@ -204,9 +230,28 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
204
230
|
setIsNewSearch(false);
|
|
205
231
|
}, []);
|
|
206
232
|
useEffect(function () {
|
|
233
|
+
// A preserved selection owns the columns, so restoring the saved or default ones would undo it
|
|
234
|
+
if (fg('platform_lp_sllv_preserve_assets_columns') && hasPreservedColumns) {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
207
237
|
var newVisibleColumnKeys = initialVisibleColumnKeys && initialVisibleColumnKeys.length > 0 && apiVersion === VERSION_TWO ? initialVisibleColumnKeys : defaultVisibleColumnKeys;
|
|
208
238
|
setVisibleColumnKeys(newVisibleColumnKeys);
|
|
209
|
-
}, [initialVisibleColumnKeys, defaultVisibleColumnKeys, apiVersion]);
|
|
239
|
+
}, [initialVisibleColumnKeys, defaultVisibleColumnKeys, apiVersion, hasPreservedColumns]);
|
|
240
|
+
useEffect(function () {
|
|
241
|
+
// The response described none of the requested fields, so there is nothing valid to keep and
|
|
242
|
+
// no reported defaults to fall back to. Give up preserving and re-request the schema's own
|
|
243
|
+
// defaults. This one has to stay an effect because it issues a request.
|
|
244
|
+
if (!fg('platform_lp_sllv_preserve_assets_columns') || !hasPreservedColumns || status !== 'resolved' || columns.length > 0) {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
setHasPreservedColumns(false);
|
|
248
|
+
setVisibleColumnKeys([]);
|
|
249
|
+
setIsNewSearch(true);
|
|
250
|
+
reset({
|
|
251
|
+
shouldForceRequest: true,
|
|
252
|
+
shouldResetColumns: true
|
|
253
|
+
});
|
|
254
|
+
}, [columns, hasPreservedColumns, reset, status]);
|
|
210
255
|
useEffect(function () {
|
|
211
256
|
if (isNewSearch) {
|
|
212
257
|
setVisibleColumnKeys(defaultVisibleColumnKeys);
|
|
@@ -282,16 +327,22 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
282
327
|
if (aql !== searchAql) {
|
|
283
328
|
userInteractions.add(DatasourceAction.QUERY_UPDATED);
|
|
284
329
|
}
|
|
330
|
+
// An empty selection has nothing worth preserving, and keeping it would stop the
|
|
331
|
+
// response's defaults from being adopted
|
|
332
|
+
var shouldPreserveColumns = fg('platform_lp_sllv_preserve_assets_columns') && schemaId === searchSchemaId && (visibleColumnKeys !== null && visibleColumnKeys !== void 0 ? visibleColumnKeys : []).length > 0;
|
|
333
|
+
setHasPreservedColumns(shouldPreserveColumns);
|
|
285
334
|
setAql(searchAql);
|
|
286
335
|
setSchemaId(searchSchemaId);
|
|
287
|
-
|
|
288
|
-
|
|
336
|
+
if (!shouldPreserveColumns) {
|
|
337
|
+
setVisibleColumnKeys([]);
|
|
338
|
+
}
|
|
339
|
+
setIsNewSearch(!shouldPreserveColumns);
|
|
289
340
|
reset({
|
|
290
341
|
shouldForceRequest: true,
|
|
291
|
-
shouldResetColumns:
|
|
342
|
+
shouldResetColumns: !shouldPreserveColumns
|
|
292
343
|
});
|
|
293
344
|
}
|
|
294
|
-
}, [aql, reset, schemaId, status, userInteractions]);
|
|
345
|
+
}, [aql, reset, schemaId, status, userInteractions, visibleColumnKeys]);
|
|
295
346
|
var renderErrorState = useCallback(function () {
|
|
296
347
|
if (errorState) {
|
|
297
348
|
switch (errorState) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "6.14.
|
|
3
|
+
"version": "6.14.2",
|
|
4
4
|
"description": "UI Components to support linking platform dataset feature",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -183,6 +183,9 @@
|
|
|
183
183
|
"platform_lp_sllv_ux_improvements": {
|
|
184
184
|
"type": "boolean"
|
|
185
185
|
},
|
|
186
|
+
"platform_lp_sllv_preserve_assets_columns": {
|
|
187
|
+
"type": "boolean"
|
|
188
|
+
},
|
|
186
189
|
"platform_lp_sllv_table_settings_menu": {
|
|
187
190
|
"type": "boolean"
|
|
188
191
|
},
|