@atlaskit/link-datasource 2.3.0 → 2.3.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.
- package/CHANGELOG.md +11 -0
- package/dist/cjs/hooks/useDatasourceTableState.js +26 -46
- package/dist/cjs/ui/jira-issues-modal/modal/index.js +2 -2
- package/dist/es2019/hooks/useDatasourceTableState.js +25 -40
- package/dist/es2019/ui/jira-issues-modal/modal/index.js +2 -2
- package/dist/esm/hooks/useDatasourceTableState.js +26 -46
- package/dist/esm/ui/jira-issues-modal/modal/index.js +2 -2
- package/dist/types/hooks/useDatasourceTableState.d.ts +1 -1
- package/dist/types-ts4.5/hooks/useDatasourceTableState.d.ts +1 -1
- package/package.json +3 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @atlaskit/link-datasource
|
|
2
2
|
|
|
3
|
+
## 2.3.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#96902](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/96902)
|
|
8
|
+
[`c5881211d3fd`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/c5881211d3fd) -
|
|
9
|
+
removing abort controller FF after rollout
|
|
10
|
+
- [#101524](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/101524)
|
|
11
|
+
[`4821570088e6`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/4821570088e6) -
|
|
12
|
+
ED-23362 Bump ADF schema to version 36.8.1 and add support for adf validation and transformation
|
|
13
|
+
|
|
3
14
|
## 2.3.0
|
|
4
15
|
|
|
5
16
|
### Minor Changes
|
|
@@ -12,7 +12,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
12
12
|
var _react = require("react");
|
|
13
13
|
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
14
14
|
var _linkClientExtension = require("@atlaskit/link-client-extension");
|
|
15
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
16
15
|
var _analytics = require("../analytics");
|
|
17
16
|
var _useErrorLogger2 = _interopRequireDefault(require("./useErrorLogger"));
|
|
18
17
|
var useDatasourceTableState = exports.useDatasourceTableState = function useDatasourceTableState(_ref) {
|
|
@@ -203,6 +202,7 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
|
|
|
203
202
|
shouldForceRequest,
|
|
204
203
|
isFullSchemaLoaded,
|
|
205
204
|
datasourceDataRequest,
|
|
205
|
+
_currentAbortControll,
|
|
206
206
|
_yield$getDatasourceD3,
|
|
207
207
|
_yield$getDatasourceD4,
|
|
208
208
|
access,
|
|
@@ -215,7 +215,6 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
|
|
|
215
215
|
nextPageCursor,
|
|
216
216
|
_totalCount,
|
|
217
217
|
schema,
|
|
218
|
-
_currentAbortControll,
|
|
219
218
|
isUserLoadingNextPage,
|
|
220
219
|
currentLoadedItemCount,
|
|
221
220
|
newlyLoadedItemCount,
|
|
@@ -224,23 +223,21 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
|
|
|
224
223
|
while (1) switch (_context2.prev = _context2.next) {
|
|
225
224
|
case 0:
|
|
226
225
|
requestInfo = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {};
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
currentAbortController = abortController.current;
|
|
237
|
-
}
|
|
226
|
+
/**
|
|
227
|
+
* Abort whichever request was made before this one.
|
|
228
|
+
*/
|
|
229
|
+
abortController.current.abort();
|
|
230
|
+
/**
|
|
231
|
+
* Setup new abort controller for this request.
|
|
232
|
+
*/
|
|
233
|
+
abortController.current = new AbortController();
|
|
234
|
+
currentAbortController = abortController.current;
|
|
238
235
|
if (parameters) {
|
|
239
|
-
_context2.next =
|
|
236
|
+
_context2.next = 6;
|
|
240
237
|
break;
|
|
241
238
|
}
|
|
242
239
|
return _context2.abrupt("return");
|
|
243
|
-
case
|
|
240
|
+
case 6:
|
|
244
241
|
_requestInfo$isSchema = requestInfo.isSchemaFromData, isSchemaFromData = _requestInfo$isSchema === void 0 ? true : _requestInfo$isSchema, shouldRequestFirstPage = requestInfo.shouldRequestFirstPage, _requestInfo$shouldFo = requestInfo.shouldForceRequest, shouldForceRequest = _requestInfo$shouldFo === void 0 ? false : _requestInfo$shouldFo;
|
|
245
242
|
isFullSchemaLoaded = fullSchema.properties.length > 0;
|
|
246
243
|
datasourceDataRequest = {
|
|
@@ -251,10 +248,10 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
|
|
|
251
248
|
includeSchema: isFullSchemaLoaded ? false : isSchemaFromData
|
|
252
249
|
};
|
|
253
250
|
setStatus('loading');
|
|
254
|
-
_context2.prev =
|
|
255
|
-
_context2.next =
|
|
251
|
+
_context2.prev = 10;
|
|
252
|
+
_context2.next = 13;
|
|
256
253
|
return getDatasourceData(datasourceId, datasourceDataRequest, shouldForceRequest);
|
|
257
|
-
case
|
|
254
|
+
case 13:
|
|
258
255
|
_yield$getDatasourceD3 = _context2.sent;
|
|
259
256
|
_yield$getDatasourceD4 = _yield$getDatasourceD3.meta;
|
|
260
257
|
access = _yield$getDatasourceD4.access;
|
|
@@ -267,37 +264,26 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
|
|
|
267
264
|
nextPageCursor = _yield$getDatasourceD5.nextPageCursor;
|
|
268
265
|
_totalCount = _yield$getDatasourceD5.totalCount;
|
|
269
266
|
schema = _yield$getDatasourceD5.schema;
|
|
270
|
-
if (!(0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource.enable-abort-controller')) {
|
|
271
|
-
_context2.next = 26;
|
|
272
|
-
break;
|
|
273
|
-
}
|
|
274
267
|
if (!((_currentAbortControll = currentAbortController) !== null && _currentAbortControll !== void 0 && _currentAbortControll.signal.aborted)) {
|
|
275
|
-
_context2.next =
|
|
268
|
+
_context2.next = 27;
|
|
276
269
|
break;
|
|
277
270
|
}
|
|
278
271
|
throw new Error('Aborted');
|
|
279
|
-
case
|
|
272
|
+
case 27:
|
|
280
273
|
setExtensionKey(_extensionKey);
|
|
281
274
|
setProviderName(_providerName);
|
|
282
275
|
if (!(access === 'unauthorized' || access === 'forbidden')) {
|
|
283
|
-
_context2.next =
|
|
276
|
+
_context2.next = 33;
|
|
284
277
|
break;
|
|
285
278
|
}
|
|
286
279
|
setStatus(access);
|
|
287
280
|
setAuthDetails(auth || initialEmptyArray);
|
|
288
281
|
return _context2.abrupt("return");
|
|
289
|
-
case
|
|
282
|
+
case 33:
|
|
290
283
|
setDestinationObjectTypes(_destinationObjectTypes);
|
|
291
284
|
setTotalCount(_totalCount);
|
|
292
285
|
setNextCursor(nextPageCursor);
|
|
293
286
|
setResponseItems(function (currentResponseItems) {
|
|
294
|
-
if (!(0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource.enable-abort-controller')) {
|
|
295
|
-
var hasIdenticalResponseItems = (0, _isEqual.default)(currentResponseItems, items);
|
|
296
|
-
if (hasIdenticalResponseItems || shouldRequestFirstPage) {
|
|
297
|
-
return items;
|
|
298
|
-
}
|
|
299
|
-
return [].concat((0, _toConsumableArray2.default)(currentResponseItems), (0, _toConsumableArray2.default)(items));
|
|
300
|
-
}
|
|
301
287
|
if (shouldRequestFirstPage) {
|
|
302
288
|
return items;
|
|
303
289
|
}
|
|
@@ -323,13 +309,9 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
|
|
|
323
309
|
setStatus('resolved');
|
|
324
310
|
_context2.next = 57;
|
|
325
311
|
break;
|
|
326
|
-
case
|
|
327
|
-
_context2.prev =
|
|
328
|
-
_context2.t0 = _context2["catch"](
|
|
329
|
-
if (!(0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource.enable-abort-controller')) {
|
|
330
|
-
_context2.next = 49;
|
|
331
|
-
break;
|
|
332
|
-
}
|
|
312
|
+
case 45:
|
|
313
|
+
_context2.prev = 45;
|
|
314
|
+
_context2.t0 = _context2["catch"](10);
|
|
333
315
|
if (!(_context2.t0.message === 'Aborted')) {
|
|
334
316
|
_context2.next = 49;
|
|
335
317
|
break;
|
|
@@ -356,7 +338,7 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
|
|
|
356
338
|
case "end":
|
|
357
339
|
return _context2.stop();
|
|
358
340
|
}
|
|
359
|
-
}, _callee2, null, [[
|
|
341
|
+
}, _callee2, null, [[10, 45]]);
|
|
360
342
|
})), [captureError, parameters, fieldKeys, nextCursor, getDatasourceData, datasourceId, responseItems, applySchemaProperties, fireEvent, fullSchema, initialEmptyArray]);
|
|
361
343
|
var reset = (0, _react.useCallback)(function (options) {
|
|
362
344
|
setResponseItems(initialEmptyArray);
|
|
@@ -417,11 +399,9 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
|
|
|
417
399
|
}
|
|
418
400
|
}, [fieldKeys, lastRequestedFieldKeys, responseItems, reset, onNextPage]);
|
|
419
401
|
(0, _react.useEffect)(function () {
|
|
420
|
-
|
|
421
|
-
return
|
|
422
|
-
|
|
423
|
-
};
|
|
424
|
-
}
|
|
402
|
+
return function () {
|
|
403
|
+
return abortController.current.abort();
|
|
404
|
+
};
|
|
425
405
|
}, []);
|
|
426
406
|
return {
|
|
427
407
|
status: status,
|
|
@@ -276,7 +276,7 @@ var PlainJiraIssuesConfigModal = exports.PlainJiraIssuesConfigModal = function P
|
|
|
276
276
|
// During insertion, we want the JQL of the datasource to be whatever is in the search bar,
|
|
277
277
|
// even if the user didn't previously click search
|
|
278
278
|
var upToDateJql = searchBarJql !== null && searchBarJql !== void 0 ? searchBarJql : jql;
|
|
279
|
-
var upToDateJqlUrl = selectedJiraSite && jql && "".concat(selectedJiraSite.url, "/issues/?jql=").concat(
|
|
279
|
+
var upToDateJqlUrl = selectedJiraSite && jql && "".concat(selectedJiraSite.url, "/issues/?jql=").concat(encodeURIComponent(upToDateJql));
|
|
280
280
|
var filterSelectionCount = _ui.availableBasicFilterTypes.reduce(function (current, filter) {
|
|
281
281
|
var _basicFilterSelection;
|
|
282
282
|
return _objectSpread(_objectSpread({}, current), {}, (0, _defineProperty2.default)({}, "".concat(filter, "BasicFilterSelectionCount"), ((_basicFilterSelection = basicFilterSelectionsSearchedWith.current[filter]) === null || _basicFilterSelection === void 0 ? void 0 : _basicFilterSelection.length) || 0));
|
|
@@ -401,7 +401,7 @@ var PlainJiraIssuesConfigModal = exports.PlainJiraIssuesConfigModal = function P
|
|
|
401
401
|
if (responseItems.length === 1 && retrieveUrlForSmartCardRender()) {
|
|
402
402
|
url = retrieveUrlForSmartCardRender();
|
|
403
403
|
} else {
|
|
404
|
-
url = "".concat(selectedJiraSiteUrl, "/issues/?jql=").concat(
|
|
404
|
+
url = "".concat(selectedJiraSiteUrl, "/issues/?jql=").concat(encodeURIComponent(jql));
|
|
405
405
|
}
|
|
406
406
|
return (0, _react2.jsx)(_countViewSmartLink.SmartLink, {
|
|
407
407
|
url: url
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
2
|
import isEqual from 'lodash/isEqual';
|
|
3
3
|
import { DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE, useDatasourceClientExtension } from '@atlaskit/link-client-extension';
|
|
4
|
-
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
5
4
|
import { useDatasourceAnalyticsEvents } from '../analytics';
|
|
6
5
|
import useErrorLogger from './useErrorLogger';
|
|
7
6
|
export const useDatasourceTableState = ({
|
|
@@ -115,17 +114,15 @@ export const useDatasourceTableState = ({
|
|
|
115
114
|
}, [columns, defaultVisibleColumnKeys, lastRequestedFieldKeys]);
|
|
116
115
|
const onNextPage = useCallback(async (requestInfo = {}) => {
|
|
117
116
|
let currentAbortController;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
currentAbortController = abortController.current;
|
|
128
|
-
}
|
|
117
|
+
/**
|
|
118
|
+
* Abort whichever request was made before this one.
|
|
119
|
+
*/
|
|
120
|
+
abortController.current.abort();
|
|
121
|
+
/**
|
|
122
|
+
* Setup new abort controller for this request.
|
|
123
|
+
*/
|
|
124
|
+
abortController.current = new AbortController();
|
|
125
|
+
currentAbortController = abortController.current;
|
|
129
126
|
if (!parameters) {
|
|
130
127
|
return;
|
|
131
128
|
}
|
|
@@ -144,6 +141,7 @@ export const useDatasourceTableState = ({
|
|
|
144
141
|
};
|
|
145
142
|
setStatus('loading');
|
|
146
143
|
try {
|
|
144
|
+
var _currentAbortControll;
|
|
147
145
|
const {
|
|
148
146
|
meta: {
|
|
149
147
|
access,
|
|
@@ -159,14 +157,12 @@ export const useDatasourceTableState = ({
|
|
|
159
157
|
schema
|
|
160
158
|
}
|
|
161
159
|
} = await getDatasourceData(datasourceId, datasourceDataRequest, shouldForceRequest);
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
throw new Error('Aborted');
|
|
169
|
-
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Let the response finish and store in cache, but throw error if signal is aborted
|
|
163
|
+
*/
|
|
164
|
+
if ((_currentAbortControll = currentAbortController) !== null && _currentAbortControll !== void 0 && _currentAbortControll.signal.aborted) {
|
|
165
|
+
throw new Error('Aborted');
|
|
170
166
|
}
|
|
171
167
|
setExtensionKey(extensionKey);
|
|
172
168
|
setProviderName(providerName);
|
|
@@ -179,13 +175,6 @@ export const useDatasourceTableState = ({
|
|
|
179
175
|
setTotalCount(totalCount);
|
|
180
176
|
setNextCursor(nextPageCursor);
|
|
181
177
|
setResponseItems(currentResponseItems => {
|
|
182
|
-
if (!getBooleanFF('platform.linking-platform.datasource.enable-abort-controller')) {
|
|
183
|
-
const hasIdenticalResponseItems = isEqual(currentResponseItems, items);
|
|
184
|
-
if (hasIdenticalResponseItems || shouldRequestFirstPage) {
|
|
185
|
-
return items;
|
|
186
|
-
}
|
|
187
|
-
return [...currentResponseItems, ...items];
|
|
188
|
-
}
|
|
189
178
|
if (shouldRequestFirstPage) {
|
|
190
179
|
return items;
|
|
191
180
|
}
|
|
@@ -210,16 +199,14 @@ export const useDatasourceTableState = ({
|
|
|
210
199
|
}
|
|
211
200
|
setStatus('resolved');
|
|
212
201
|
} catch (e) {
|
|
213
|
-
if (
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
return;
|
|
222
|
-
}
|
|
202
|
+
if (e.message === 'Aborted') {
|
|
203
|
+
/**
|
|
204
|
+
* If the request was aborted, we don't want to change the status of the table
|
|
205
|
+
* as we are already loading the next request attempt
|
|
206
|
+
*
|
|
207
|
+
* Is not an exceptional state, do not need to captureError
|
|
208
|
+
*/
|
|
209
|
+
return;
|
|
223
210
|
}
|
|
224
211
|
captureError('onNextPage', e);
|
|
225
212
|
if (e instanceof Response && e.status === 401) {
|
|
@@ -288,9 +275,7 @@ export const useDatasourceTableState = ({
|
|
|
288
275
|
}
|
|
289
276
|
}, [fieldKeys, lastRequestedFieldKeys, responseItems, reset, onNextPage]);
|
|
290
277
|
useEffect(() => {
|
|
291
|
-
|
|
292
|
-
return () => abortController.current.abort();
|
|
293
|
-
}
|
|
278
|
+
return () => abortController.current.abort();
|
|
294
279
|
}, []);
|
|
295
280
|
return {
|
|
296
281
|
status,
|
|
@@ -253,7 +253,7 @@ export const PlainJiraIssuesConfigModal = props => {
|
|
|
253
253
|
// During insertion, we want the JQL of the datasource to be whatever is in the search bar,
|
|
254
254
|
// even if the user didn't previously click search
|
|
255
255
|
const upToDateJql = searchBarJql !== null && searchBarJql !== void 0 ? searchBarJql : jql;
|
|
256
|
-
const upToDateJqlUrl = selectedJiraSite && jql && `${selectedJiraSite.url}/issues/?jql=${
|
|
256
|
+
const upToDateJqlUrl = selectedJiraSite && jql && `${selectedJiraSite.url}/issues/?jql=${encodeURIComponent(upToDateJql)}`;
|
|
257
257
|
const filterSelectionCount = availableBasicFilterTypes.reduce((current, filter) => {
|
|
258
258
|
var _basicFilterSelection;
|
|
259
259
|
return {
|
|
@@ -384,7 +384,7 @@ export const PlainJiraIssuesConfigModal = props => {
|
|
|
384
384
|
if (responseItems.length === 1 && retrieveUrlForSmartCardRender()) {
|
|
385
385
|
url = retrieveUrlForSmartCardRender();
|
|
386
386
|
} else {
|
|
387
|
-
url = `${selectedJiraSiteUrl}/issues/?jql=${
|
|
387
|
+
url = `${selectedJiraSiteUrl}/issues/?jql=${encodeURIComponent(jql)}`;
|
|
388
388
|
}
|
|
389
389
|
return jsx(SmartLink, {
|
|
390
390
|
url: url
|
|
@@ -5,7 +5,6 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
5
5
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
6
6
|
import isEqual from 'lodash/isEqual';
|
|
7
7
|
import { DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE, useDatasourceClientExtension } from '@atlaskit/link-client-extension';
|
|
8
|
-
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
9
8
|
import { useDatasourceAnalyticsEvents } from '../analytics';
|
|
10
9
|
import useErrorLogger from './useErrorLogger';
|
|
11
10
|
export var useDatasourceTableState = function useDatasourceTableState(_ref) {
|
|
@@ -196,6 +195,7 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
|
|
|
196
195
|
shouldForceRequest,
|
|
197
196
|
isFullSchemaLoaded,
|
|
198
197
|
datasourceDataRequest,
|
|
198
|
+
_currentAbortControll,
|
|
199
199
|
_yield$getDatasourceD3,
|
|
200
200
|
_yield$getDatasourceD4,
|
|
201
201
|
access,
|
|
@@ -208,7 +208,6 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
|
|
|
208
208
|
nextPageCursor,
|
|
209
209
|
_totalCount,
|
|
210
210
|
schema,
|
|
211
|
-
_currentAbortControll,
|
|
212
211
|
isUserLoadingNextPage,
|
|
213
212
|
currentLoadedItemCount,
|
|
214
213
|
newlyLoadedItemCount,
|
|
@@ -217,23 +216,21 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
|
|
|
217
216
|
while (1) switch (_context2.prev = _context2.next) {
|
|
218
217
|
case 0:
|
|
219
218
|
requestInfo = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {};
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
currentAbortController = abortController.current;
|
|
230
|
-
}
|
|
219
|
+
/**
|
|
220
|
+
* Abort whichever request was made before this one.
|
|
221
|
+
*/
|
|
222
|
+
abortController.current.abort();
|
|
223
|
+
/**
|
|
224
|
+
* Setup new abort controller for this request.
|
|
225
|
+
*/
|
|
226
|
+
abortController.current = new AbortController();
|
|
227
|
+
currentAbortController = abortController.current;
|
|
231
228
|
if (parameters) {
|
|
232
|
-
_context2.next =
|
|
229
|
+
_context2.next = 6;
|
|
233
230
|
break;
|
|
234
231
|
}
|
|
235
232
|
return _context2.abrupt("return");
|
|
236
|
-
case
|
|
233
|
+
case 6:
|
|
237
234
|
_requestInfo$isSchema = requestInfo.isSchemaFromData, isSchemaFromData = _requestInfo$isSchema === void 0 ? true : _requestInfo$isSchema, shouldRequestFirstPage = requestInfo.shouldRequestFirstPage, _requestInfo$shouldFo = requestInfo.shouldForceRequest, shouldForceRequest = _requestInfo$shouldFo === void 0 ? false : _requestInfo$shouldFo;
|
|
238
235
|
isFullSchemaLoaded = fullSchema.properties.length > 0;
|
|
239
236
|
datasourceDataRequest = {
|
|
@@ -244,10 +241,10 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
|
|
|
244
241
|
includeSchema: isFullSchemaLoaded ? false : isSchemaFromData
|
|
245
242
|
};
|
|
246
243
|
setStatus('loading');
|
|
247
|
-
_context2.prev =
|
|
248
|
-
_context2.next =
|
|
244
|
+
_context2.prev = 10;
|
|
245
|
+
_context2.next = 13;
|
|
249
246
|
return getDatasourceData(datasourceId, datasourceDataRequest, shouldForceRequest);
|
|
250
|
-
case
|
|
247
|
+
case 13:
|
|
251
248
|
_yield$getDatasourceD3 = _context2.sent;
|
|
252
249
|
_yield$getDatasourceD4 = _yield$getDatasourceD3.meta;
|
|
253
250
|
access = _yield$getDatasourceD4.access;
|
|
@@ -260,37 +257,26 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
|
|
|
260
257
|
nextPageCursor = _yield$getDatasourceD5.nextPageCursor;
|
|
261
258
|
_totalCount = _yield$getDatasourceD5.totalCount;
|
|
262
259
|
schema = _yield$getDatasourceD5.schema;
|
|
263
|
-
if (!getBooleanFF('platform.linking-platform.datasource.enable-abort-controller')) {
|
|
264
|
-
_context2.next = 26;
|
|
265
|
-
break;
|
|
266
|
-
}
|
|
267
260
|
if (!((_currentAbortControll = currentAbortController) !== null && _currentAbortControll !== void 0 && _currentAbortControll.signal.aborted)) {
|
|
268
|
-
_context2.next =
|
|
261
|
+
_context2.next = 27;
|
|
269
262
|
break;
|
|
270
263
|
}
|
|
271
264
|
throw new Error('Aborted');
|
|
272
|
-
case
|
|
265
|
+
case 27:
|
|
273
266
|
setExtensionKey(_extensionKey);
|
|
274
267
|
setProviderName(_providerName);
|
|
275
268
|
if (!(access === 'unauthorized' || access === 'forbidden')) {
|
|
276
|
-
_context2.next =
|
|
269
|
+
_context2.next = 33;
|
|
277
270
|
break;
|
|
278
271
|
}
|
|
279
272
|
setStatus(access);
|
|
280
273
|
setAuthDetails(auth || initialEmptyArray);
|
|
281
274
|
return _context2.abrupt("return");
|
|
282
|
-
case
|
|
275
|
+
case 33:
|
|
283
276
|
setDestinationObjectTypes(_destinationObjectTypes);
|
|
284
277
|
setTotalCount(_totalCount);
|
|
285
278
|
setNextCursor(nextPageCursor);
|
|
286
279
|
setResponseItems(function (currentResponseItems) {
|
|
287
|
-
if (!getBooleanFF('platform.linking-platform.datasource.enable-abort-controller')) {
|
|
288
|
-
var hasIdenticalResponseItems = isEqual(currentResponseItems, items);
|
|
289
|
-
if (hasIdenticalResponseItems || shouldRequestFirstPage) {
|
|
290
|
-
return items;
|
|
291
|
-
}
|
|
292
|
-
return [].concat(_toConsumableArray(currentResponseItems), _toConsumableArray(items));
|
|
293
|
-
}
|
|
294
280
|
if (shouldRequestFirstPage) {
|
|
295
281
|
return items;
|
|
296
282
|
}
|
|
@@ -316,13 +302,9 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
|
|
|
316
302
|
setStatus('resolved');
|
|
317
303
|
_context2.next = 57;
|
|
318
304
|
break;
|
|
319
|
-
case
|
|
320
|
-
_context2.prev =
|
|
321
|
-
_context2.t0 = _context2["catch"](
|
|
322
|
-
if (!getBooleanFF('platform.linking-platform.datasource.enable-abort-controller')) {
|
|
323
|
-
_context2.next = 49;
|
|
324
|
-
break;
|
|
325
|
-
}
|
|
305
|
+
case 45:
|
|
306
|
+
_context2.prev = 45;
|
|
307
|
+
_context2.t0 = _context2["catch"](10);
|
|
326
308
|
if (!(_context2.t0.message === 'Aborted')) {
|
|
327
309
|
_context2.next = 49;
|
|
328
310
|
break;
|
|
@@ -349,7 +331,7 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
|
|
|
349
331
|
case "end":
|
|
350
332
|
return _context2.stop();
|
|
351
333
|
}
|
|
352
|
-
}, _callee2, null, [[
|
|
334
|
+
}, _callee2, null, [[10, 45]]);
|
|
353
335
|
})), [captureError, parameters, fieldKeys, nextCursor, getDatasourceData, datasourceId, responseItems, applySchemaProperties, fireEvent, fullSchema, initialEmptyArray]);
|
|
354
336
|
var reset = useCallback(function (options) {
|
|
355
337
|
setResponseItems(initialEmptyArray);
|
|
@@ -410,11 +392,9 @@ export var useDatasourceTableState = function useDatasourceTableState(_ref) {
|
|
|
410
392
|
}
|
|
411
393
|
}, [fieldKeys, lastRequestedFieldKeys, responseItems, reset, onNextPage]);
|
|
412
394
|
useEffect(function () {
|
|
413
|
-
|
|
414
|
-
return
|
|
415
|
-
|
|
416
|
-
};
|
|
417
|
-
}
|
|
395
|
+
return function () {
|
|
396
|
+
return abortController.current.abort();
|
|
397
|
+
};
|
|
418
398
|
}, []);
|
|
419
399
|
return {
|
|
420
400
|
status: status,
|
|
@@ -270,7 +270,7 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
|
|
|
270
270
|
// During insertion, we want the JQL of the datasource to be whatever is in the search bar,
|
|
271
271
|
// even if the user didn't previously click search
|
|
272
272
|
var upToDateJql = searchBarJql !== null && searchBarJql !== void 0 ? searchBarJql : jql;
|
|
273
|
-
var upToDateJqlUrl = selectedJiraSite && jql && "".concat(selectedJiraSite.url, "/issues/?jql=").concat(
|
|
273
|
+
var upToDateJqlUrl = selectedJiraSite && jql && "".concat(selectedJiraSite.url, "/issues/?jql=").concat(encodeURIComponent(upToDateJql));
|
|
274
274
|
var filterSelectionCount = availableBasicFilterTypes.reduce(function (current, filter) {
|
|
275
275
|
var _basicFilterSelection;
|
|
276
276
|
return _objectSpread(_objectSpread({}, current), {}, _defineProperty({}, "".concat(filter, "BasicFilterSelectionCount"), ((_basicFilterSelection = basicFilterSelectionsSearchedWith.current[filter]) === null || _basicFilterSelection === void 0 ? void 0 : _basicFilterSelection.length) || 0));
|
|
@@ -395,7 +395,7 @@ export var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(prop
|
|
|
395
395
|
if (responseItems.length === 1 && retrieveUrlForSmartCardRender()) {
|
|
396
396
|
url = retrieveUrlForSmartCardRender();
|
|
397
397
|
} else {
|
|
398
|
-
url = "".concat(selectedJiraSiteUrl, "/issues/?jql=").concat(
|
|
398
|
+
url = "".concat(selectedJiraSiteUrl, "/issues/?jql=").concat(encodeURIComponent(jql));
|
|
399
399
|
}
|
|
400
400
|
return jsx(SmartLink, {
|
|
401
401
|
url: url
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DatasourceDataResponseItem, DatasourceMeta, DatasourceParameters, DatasourceResponseSchemaProperty, DatasourceTableStatusType } from '@atlaskit/linking-types';
|
|
1
|
+
import { type DatasourceDataResponseItem, type DatasourceMeta, type DatasourceParameters, type DatasourceResponseSchemaProperty, type DatasourceTableStatusType } from '@atlaskit/linking-types';
|
|
2
2
|
export interface onNextPageProps {
|
|
3
3
|
isSchemaFromData?: boolean;
|
|
4
4
|
shouldRequestFirstPage?: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DatasourceDataResponseItem, DatasourceMeta, DatasourceParameters, DatasourceResponseSchemaProperty, DatasourceTableStatusType } from '@atlaskit/linking-types';
|
|
1
|
+
import { type DatasourceDataResponseItem, type DatasourceMeta, type DatasourceParameters, type DatasourceResponseSchemaProperty, type DatasourceTableStatusType } from '@atlaskit/linking-types';
|
|
2
2
|
export interface onNextPageProps {
|
|
3
3
|
isSchemaFromData?: boolean;
|
|
4
4
|
shouldRequestFirstPage?: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"description": "UI Components to support linking platform dataset feature",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"analytics:codegen": "yarn workspace @atlassian/analytics-tooling run analytics:codegen link-datasource --output ./src/analytics/generated"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@atlaskit/adf-schema": "^36.
|
|
35
|
+
"@atlaskit/adf-schema": "^36.8.0",
|
|
36
36
|
"@atlaskit/analytics-next": "^9.3.0",
|
|
37
37
|
"@atlaskit/avatar": "^21.8.0",
|
|
38
38
|
"@atlaskit/avatar-group": "^9.6.0",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"@atlaskit/pragmatic-drag-and-drop-react-drop-indicator": "^1.1.0",
|
|
67
67
|
"@atlaskit/primitives": "^6.2.0",
|
|
68
68
|
"@atlaskit/select": "^17.9.0",
|
|
69
|
-
"@atlaskit/smart-card": "^26.
|
|
69
|
+
"@atlaskit/smart-card": "^26.69.0",
|
|
70
70
|
"@atlaskit/smart-user-picker": "6.9.3",
|
|
71
71
|
"@atlaskit/spinner": "^16.1.0",
|
|
72
72
|
"@atlaskit/tag": "^12.2.0",
|
|
@@ -159,12 +159,6 @@
|
|
|
159
159
|
"platform.linking-platform.datasources.enable-sentry-client": {
|
|
160
160
|
"type": "boolean"
|
|
161
161
|
},
|
|
162
|
-
"platform.linking-platform.datasource.enable-abort-controller": {
|
|
163
|
-
"type": "boolean"
|
|
164
|
-
},
|
|
165
|
-
"platform.linking-platform.datasource.enable-stricter-jql-encoding": {
|
|
166
|
-
"type": "boolean"
|
|
167
|
-
},
|
|
168
162
|
"platform.editor-update-tag-link-and-color_x6hcf": {
|
|
169
163
|
"type": "boolean"
|
|
170
164
|
}
|