@atlaskit/link-datasource 1.17.4 → 1.17.5
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 +7 -0
- package/dist/cjs/analytics/constants.js +1 -1
- package/dist/cjs/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.js +65 -3
- package/dist/es2019/analytics/constants.js +1 -1
- package/dist/es2019/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.js +35 -3
- package/dist/esm/analytics/constants.js +1 -1
- package/dist/esm/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.js +64 -3
- package/dist/types/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.d.ts +10 -3
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.d.ts +10 -3
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @atlaskit/link-datasource
|
|
2
2
|
|
|
3
|
+
## 1.17.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#43340](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/43340) [`bb87fcf2e29`](https://bitbucket.org/atlassian/atlassian-frontend/commits/bb87fcf2e29) - Introduce new hook `useHydrateJqlQuery` that returns the JQL hydration state for each basic filter
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
|
|
3
10
|
## 1.17.4
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
|
@@ -1,12 +1,74 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.useHydrateJqlQuery = void 0;
|
|
7
|
-
var
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _react = require("react");
|
|
12
|
+
var _useBasicFilterAGG2 = require("../../../../services/useBasicFilterAGG");
|
|
13
|
+
var _transformers = require("../utils/transformers");
|
|
14
|
+
var useHydrateJqlQuery = exports.useHydrateJqlQuery = function useHydrateJqlQuery(cloudId, jql) {
|
|
15
|
+
var _useState = (0, _react.useState)({}),
|
|
16
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
17
|
+
hydratedOptions = _useState2[0],
|
|
18
|
+
setHydratedOptions = _useState2[1];
|
|
19
|
+
var _useState3 = (0, _react.useState)('empty'),
|
|
20
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
21
|
+
status = _useState4[0],
|
|
22
|
+
setStatus = _useState4[1];
|
|
23
|
+
var _useState5 = (0, _react.useState)([]),
|
|
24
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
25
|
+
errors = _useState6[0],
|
|
26
|
+
setErrors = _useState6[1];
|
|
27
|
+
var _useBasicFilterAGG = (0, _useBasicFilterAGG2.useBasicFilterAGG)(),
|
|
28
|
+
getHydratedJQL = _useBasicFilterAGG.getHydratedJQL;
|
|
29
|
+
var fetchHydratedJqlOptions = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
30
|
+
var response;
|
|
31
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
32
|
+
while (1) switch (_context.prev = _context.next) {
|
|
33
|
+
case 0:
|
|
34
|
+
_context.prev = 0;
|
|
35
|
+
setStatus('loading');
|
|
36
|
+
_context.next = 4;
|
|
37
|
+
return getHydratedJQL(cloudId, jql);
|
|
38
|
+
case 4:
|
|
39
|
+
response = _context.sent;
|
|
40
|
+
if (!(response.errors && response.errors.length > 0)) {
|
|
41
|
+
_context.next = 9;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
setStatus('rejected');
|
|
45
|
+
setErrors(response.errors);
|
|
46
|
+
return _context.abrupt("return");
|
|
47
|
+
case 9:
|
|
48
|
+
setHydratedOptions((0, _transformers.mapHydrateResponseData)(response));
|
|
49
|
+
setStatus('resolved');
|
|
50
|
+
_context.next = 17;
|
|
51
|
+
break;
|
|
52
|
+
case 13:
|
|
53
|
+
_context.prev = 13;
|
|
54
|
+
_context.t0 = _context["catch"](0);
|
|
55
|
+
setErrors([_context.t0]);
|
|
56
|
+
setStatus('rejected');
|
|
57
|
+
case 17:
|
|
58
|
+
case "end":
|
|
59
|
+
return _context.stop();
|
|
60
|
+
}
|
|
61
|
+
}, _callee, null, [[0, 13]]);
|
|
62
|
+
})), [cloudId, getHydratedJQL, jql]);
|
|
63
|
+
(0, _react.useEffect)(function () {
|
|
64
|
+
if (status !== 'rejected' && errors.length !== 0) {
|
|
65
|
+
setErrors([]);
|
|
66
|
+
}
|
|
67
|
+
}, [errors.length, status]);
|
|
8
68
|
return {
|
|
9
|
-
|
|
10
|
-
|
|
69
|
+
hydratedOptions: hydratedOptions,
|
|
70
|
+
fetchHydratedJqlOptions: fetchHydratedJqlOptions,
|
|
71
|
+
status: status,
|
|
72
|
+
errors: errors
|
|
11
73
|
};
|
|
12
74
|
};
|
|
@@ -1,6 +1,38 @@
|
|
|
1
|
-
|
|
1
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { useBasicFilterAGG } from '../../../../services/useBasicFilterAGG';
|
|
3
|
+
import { mapHydrateResponseData } from '../utils/transformers';
|
|
4
|
+
export const useHydrateJqlQuery = (cloudId, jql) => {
|
|
5
|
+
const [hydratedOptions, setHydratedOptions] = useState({});
|
|
6
|
+
const [status, setStatus] = useState('empty');
|
|
7
|
+
const [errors, setErrors] = useState([]);
|
|
8
|
+
const {
|
|
9
|
+
getHydratedJQL
|
|
10
|
+
} = useBasicFilterAGG();
|
|
11
|
+
const fetchHydratedJqlOptions = useCallback(async () => {
|
|
12
|
+
try {
|
|
13
|
+
setStatus('loading');
|
|
14
|
+
const response = await getHydratedJQL(cloudId, jql);
|
|
15
|
+
if (response.errors && response.errors.length > 0) {
|
|
16
|
+
setStatus('rejected');
|
|
17
|
+
setErrors(response.errors);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
setHydratedOptions(mapHydrateResponseData(response));
|
|
21
|
+
setStatus('resolved');
|
|
22
|
+
} catch (error) {
|
|
23
|
+
setErrors([error]);
|
|
24
|
+
setStatus('rejected');
|
|
25
|
+
}
|
|
26
|
+
}, [cloudId, getHydratedJQL, jql]);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (status !== 'rejected' && errors.length !== 0) {
|
|
29
|
+
setErrors([]);
|
|
30
|
+
}
|
|
31
|
+
}, [errors.length, status]);
|
|
2
32
|
return {
|
|
3
|
-
|
|
4
|
-
|
|
33
|
+
hydratedOptions,
|
|
34
|
+
fetchHydratedJqlOptions,
|
|
35
|
+
status,
|
|
36
|
+
errors
|
|
5
37
|
};
|
|
6
38
|
};
|
|
@@ -1,6 +1,67 @@
|
|
|
1
|
-
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
5
|
+
import { useBasicFilterAGG } from '../../../../services/useBasicFilterAGG';
|
|
6
|
+
import { mapHydrateResponseData } from '../utils/transformers';
|
|
7
|
+
export var useHydrateJqlQuery = function useHydrateJqlQuery(cloudId, jql) {
|
|
8
|
+
var _useState = useState({}),
|
|
9
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
10
|
+
hydratedOptions = _useState2[0],
|
|
11
|
+
setHydratedOptions = _useState2[1];
|
|
12
|
+
var _useState3 = useState('empty'),
|
|
13
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
14
|
+
status = _useState4[0],
|
|
15
|
+
setStatus = _useState4[1];
|
|
16
|
+
var _useState5 = useState([]),
|
|
17
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
18
|
+
errors = _useState6[0],
|
|
19
|
+
setErrors = _useState6[1];
|
|
20
|
+
var _useBasicFilterAGG = useBasicFilterAGG(),
|
|
21
|
+
getHydratedJQL = _useBasicFilterAGG.getHydratedJQL;
|
|
22
|
+
var fetchHydratedJqlOptions = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
23
|
+
var response;
|
|
24
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
25
|
+
while (1) switch (_context.prev = _context.next) {
|
|
26
|
+
case 0:
|
|
27
|
+
_context.prev = 0;
|
|
28
|
+
setStatus('loading');
|
|
29
|
+
_context.next = 4;
|
|
30
|
+
return getHydratedJQL(cloudId, jql);
|
|
31
|
+
case 4:
|
|
32
|
+
response = _context.sent;
|
|
33
|
+
if (!(response.errors && response.errors.length > 0)) {
|
|
34
|
+
_context.next = 9;
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
setStatus('rejected');
|
|
38
|
+
setErrors(response.errors);
|
|
39
|
+
return _context.abrupt("return");
|
|
40
|
+
case 9:
|
|
41
|
+
setHydratedOptions(mapHydrateResponseData(response));
|
|
42
|
+
setStatus('resolved');
|
|
43
|
+
_context.next = 17;
|
|
44
|
+
break;
|
|
45
|
+
case 13:
|
|
46
|
+
_context.prev = 13;
|
|
47
|
+
_context.t0 = _context["catch"](0);
|
|
48
|
+
setErrors([_context.t0]);
|
|
49
|
+
setStatus('rejected');
|
|
50
|
+
case 17:
|
|
51
|
+
case "end":
|
|
52
|
+
return _context.stop();
|
|
53
|
+
}
|
|
54
|
+
}, _callee, null, [[0, 13]]);
|
|
55
|
+
})), [cloudId, getHydratedJQL, jql]);
|
|
56
|
+
useEffect(function () {
|
|
57
|
+
if (status !== 'rejected' && errors.length !== 0) {
|
|
58
|
+
setErrors([]);
|
|
59
|
+
}
|
|
60
|
+
}, [errors.length, status]);
|
|
2
61
|
return {
|
|
3
|
-
|
|
4
|
-
|
|
62
|
+
hydratedOptions: hydratedOptions,
|
|
63
|
+
fetchHydratedJqlOptions: fetchHydratedJqlOptions,
|
|
64
|
+
status: status,
|
|
65
|
+
errors: errors
|
|
5
66
|
};
|
|
6
67
|
};
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { BasicFilterFieldType, SelectOption } from '../types';
|
|
2
|
+
export interface HydrateJqlState {
|
|
3
|
+
hydratedOptions: {
|
|
4
|
+
[key in BasicFilterFieldType]?: SelectOption[];
|
|
5
|
+
};
|
|
6
|
+
fetchHydratedJqlOptions: () => Promise<void>;
|
|
7
|
+
status: 'empty' | 'loading' | 'resolved' | 'rejected';
|
|
8
|
+
errors: unknown[];
|
|
9
|
+
}
|
|
10
|
+
export declare const useHydrateJqlQuery: (cloudId: string, jql: string) => HydrateJqlState;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { BasicFilterFieldType, SelectOption } from '../types';
|
|
2
|
+
export interface HydrateJqlState {
|
|
3
|
+
hydratedOptions: {
|
|
4
|
+
[key in BasicFilterFieldType]?: SelectOption[];
|
|
5
|
+
};
|
|
6
|
+
fetchHydratedJqlOptions: () => Promise<void>;
|
|
7
|
+
status: 'empty' | 'loading' | 'resolved' | 'rejected';
|
|
8
|
+
errors: unknown[];
|
|
9
|
+
}
|
|
10
|
+
export declare const useHydrateJqlQuery: (cloudId: string, jql: string) => HydrateJqlState;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-datasource",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.5",
|
|
4
4
|
"description": "UI Components to support linking platform dataset feature",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -56,9 +56,9 @@
|
|
|
56
56
|
"@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-autoscroll": "^0.6.0",
|
|
57
57
|
"@atlaskit/pragmatic-drag-and-drop-react-indicator": "^0.17.0",
|
|
58
58
|
"@atlaskit/primitives": "^1.10.0",
|
|
59
|
-
"@atlaskit/select": "^
|
|
59
|
+
"@atlaskit/select": "^17.0.0",
|
|
60
60
|
"@atlaskit/smart-card": "^26.42.0",
|
|
61
|
-
"@atlaskit/spinner": "^
|
|
61
|
+
"@atlaskit/spinner": "^16.0.0",
|
|
62
62
|
"@atlaskit/tag": "^12.0.0",
|
|
63
63
|
"@atlaskit/textfield": "5.6.8",
|
|
64
64
|
"@atlaskit/theme": "^12.6.0",
|