@atlaskit/link-datasource 1.11.1 → 1.12.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 +20 -0
- package/dist/cjs/analytics/constants.js +1 -1
- package/dist/cjs/services/mocks.js +134 -0
- package/dist/cjs/services/useBasicFilterAGG.js +119 -0
- package/dist/cjs/services/utils.js +8 -0
- package/dist/cjs/ui/assets-modal/modal/index.js +2 -2
- package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +5 -1
- package/dist/cjs/ui/issue-like-table/draggable-table-heading.js +109 -5
- package/dist/cjs/ui/issue-like-table/index.js +109 -95
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/fieldValuesEmptyResponse.js +20 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/fieldValuesExpectedResponseForAssignees.js +155 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForProjects.js +82 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForStatuses.js +87 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForTypes.js +97 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlEmptyResponse.js +18 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlStandardResponse.js +111 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/types.js +15 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +0 -1
- package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/transformers.js +97 -0
- package/dist/cjs/ui/jira-issues-modal/modal/index.js +16 -5
- package/dist/es2019/analytics/constants.js +1 -1
- package/dist/es2019/services/mocks.js +128 -0
- package/dist/es2019/services/useBasicFilterAGG.js +72 -0
- package/dist/es2019/services/utils.js +113 -0
- package/dist/es2019/ui/assets-modal/modal/index.js +2 -2
- package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +5 -1
- package/dist/es2019/ui/issue-like-table/draggable-table-heading.js +113 -5
- package/dist/es2019/ui/issue-like-table/index.js +82 -72
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/fieldValuesEmptyResponse.js +14 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/fieldValuesExpectedResponseForAssignees.js +149 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForProjects.js +76 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForStatuses.js +81 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForTypes.js +91 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlEmptyResponse.js +12 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlStandardResponse.js +105 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/types.js +9 -0
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +0 -1
- package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/transformers.js +91 -0
- package/dist/es2019/ui/jira-issues-modal/modal/index.js +15 -4
- package/dist/esm/analytics/constants.js +1 -1
- package/dist/esm/services/mocks.js +128 -0
- package/dist/esm/services/useBasicFilterAGG.js +112 -0
- package/dist/esm/services/utils.js +2 -0
- package/dist/esm/ui/assets-modal/modal/index.js +2 -2
- package/dist/esm/ui/datasource-table-view/datasourceTableView.js +5 -1
- package/dist/esm/ui/issue-like-table/draggable-table-heading.js +109 -5
- package/dist/esm/ui/issue-like-table/index.js +108 -94
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/fieldValuesEmptyResponse.js +14 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/fieldValuesExpectedResponseForAssignees.js +149 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForProjects.js +76 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForStatuses.js +81 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForTypes.js +91 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlEmptyResponse.js +12 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlStandardResponse.js +105 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/types.js +9 -0
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js +0 -1
- package/dist/esm/ui/jira-issues-modal/basic-filters/utils/transformers.js +89 -0
- package/dist/esm/ui/jira-issues-modal/modal/index.js +17 -6
- package/dist/types/services/mocks.d.ts +3 -0
- package/dist/types/services/useBasicFilterAGG.d.ts +5 -0
- package/dist/types/services/utils.d.ts +2 -0
- package/dist/types/ui/datasource-table-view/types.d.ts +4 -0
- package/dist/types/ui/issue-like-table/draggable-table-heading.d.ts +3 -2
- package/dist/types/ui/issue-like-table/index.d.ts +5 -3
- package/dist/types/ui/issue-like-table/types.d.ts +5 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/fieldValuesEmptyResponse.d.ts +3 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/fieldValuesExpectedResponseForAssignees.d.ts +17 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForProjects.d.ts +8 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForStatuses.d.ts +8 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForTypes.d.ts +8 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlEmptyResponse.d.ts +3 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlStandardResponse.d.ts +29 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/types.d.ts +93 -0
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/basic-filters/utils/transformers.d.ts +8 -0
- package/dist/types/ui/jira-issues-modal/jira-search-container/buildJQL.d.ts +1 -1
- package/dist/types/ui/jira-issues-modal/types.d.ts +4 -0
- package/dist/types-ts4.5/services/mocks.d.ts +3 -0
- package/dist/types-ts4.5/services/useBasicFilterAGG.d.ts +5 -0
- package/dist/types-ts4.5/services/utils.d.ts +2 -0
- package/dist/types-ts4.5/ui/datasource-table-view/types.d.ts +4 -0
- package/dist/types-ts4.5/ui/issue-like-table/draggable-table-heading.d.ts +3 -2
- package/dist/types-ts4.5/ui/issue-like-table/index.d.ts +5 -3
- package/dist/types-ts4.5/ui/issue-like-table/types.d.ts +5 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/hooks/useFieldValues.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/fieldValuesEmptyResponse.d.ts +3 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/fieldValuesExpectedResponseForAssignees.d.ts +17 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForProjects.d.ts +8 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForStatuses.d.ts +8 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForTypes.d.ts +8 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlEmptyResponse.d.ts +3 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/mocks/hydrateJqlStandardResponse.d.ts +29 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/types.d.ts +93 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/control.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/utils/transformers.d.ts +8 -0
- package/dist/types-ts4.5/ui/jira-issues-modal/jira-search-container/buildJQL.d.ts +1 -1
- package/dist/types-ts4.5/ui/jira-issues-modal/types.d.ts +4 -0
- package/examples-helpers/buildIssueLikeTable.tsx +15 -1
- package/examples-helpers/buildJiraIssuesTable.tsx +15 -1
- package/package.json +6 -6
- package/report.api.md +11 -0
- package/tmp/api-report-tmp.d.ts +11 -0
- package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.js +0 -5
- package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.js +0 -1
- package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.js +0 -1
- package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.d.ts +0 -23
- package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/types.d.ts +0 -23
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @atlaskit/link-datasource
|
|
2
2
|
|
|
3
|
+
## 1.12.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 1.12.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [#38725](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/38725) [`da6ee1eea9c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/da6ee1eea9c) - [ux] `JiraIssuesConfigModal` now has new optional prop `columnCustomSizes` which is an object with keys representing column key and value being a width of that column.
|
|
14
|
+
`DatasourceTableView` now has two new props: `columnCustomSizes` with same type and `onColumnResize` callback of shape `(key: string, width: number) => void;` that will be called
|
|
15
|
+
every time customer resizing a column.
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [#42539](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42539) [`581b3f7a822`](https://bitbucket.org/atlassian/atlassian-frontend/commits/581b3f7a822) - [ux] Assets Config Modal now allows users to search again when datasource is 'rejected'
|
|
20
|
+
- [#42383](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42383) [`624c5e73c9d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/624c5e73c9d) - Add transformers for mapping the AGG response for field values and hydrated JQL values to arrays of SelectOption for use within basic filters. Add new types defining each potential lozenge appearance and their mappings to status category colors.
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
|
|
3
23
|
## 1.11.1
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.mockHydrateJqlResponse = exports.mockFieldValuesResponse = void 0;
|
|
7
|
+
var mockHydrateJqlResponse = exports.mockHydrateJqlResponse = {
|
|
8
|
+
data: {
|
|
9
|
+
jira: {
|
|
10
|
+
jqlBuilder: {
|
|
11
|
+
hydrateJqlQuery: {
|
|
12
|
+
fields: [{
|
|
13
|
+
jqlTerm: 'issuetype',
|
|
14
|
+
values: [{
|
|
15
|
+
values: [{
|
|
16
|
+
displayName: 'Category',
|
|
17
|
+
jqlTerm: 'Category',
|
|
18
|
+
issueTypes: [{
|
|
19
|
+
avatar: {
|
|
20
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/16627?size=medium'
|
|
21
|
+
}
|
|
22
|
+
}]
|
|
23
|
+
}]
|
|
24
|
+
}, {
|
|
25
|
+
values: [{
|
|
26
|
+
displayName: '!disturbed',
|
|
27
|
+
jqlTerm: '"!disturbed"',
|
|
28
|
+
issueTypes: [{
|
|
29
|
+
avatar: {
|
|
30
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/16640?size=medium'
|
|
31
|
+
}
|
|
32
|
+
}, {
|
|
33
|
+
avatar: {
|
|
34
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/16628?size=medium'
|
|
35
|
+
}
|
|
36
|
+
}]
|
|
37
|
+
}]
|
|
38
|
+
}]
|
|
39
|
+
}, {
|
|
40
|
+
jqlTerm: 'project',
|
|
41
|
+
values: [{
|
|
42
|
+
values: [{
|
|
43
|
+
displayName: '(Deprecated) Koopa Troopas',
|
|
44
|
+
jqlTerm: '"(Deprecated) Koopa Troopas"',
|
|
45
|
+
project: {
|
|
46
|
+
avatar: {
|
|
47
|
+
small: 'https://hello.atlassian.net/rest/api/2/universal_avatar/view/type/project/avatar/36328?size=small'
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}]
|
|
51
|
+
}]
|
|
52
|
+
}, {
|
|
53
|
+
jqlTerm: 'assignee',
|
|
54
|
+
values: [{
|
|
55
|
+
values: [{
|
|
56
|
+
displayName: 'Nidhin Joseph',
|
|
57
|
+
jqlTerm: '70121:97052100-1513-42bc-a2f0-d77e71f0b7eb',
|
|
58
|
+
user: {
|
|
59
|
+
picture: 'https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/70121:97052100-1513-42bc-a2f0-d77e71f0b7eb/3d737224-7e8f-4e0c-888c-d5ff6044d484/128'
|
|
60
|
+
}
|
|
61
|
+
}]
|
|
62
|
+
}]
|
|
63
|
+
}, {
|
|
64
|
+
jqlTerm: 'status',
|
|
65
|
+
values: [{
|
|
66
|
+
values: [{
|
|
67
|
+
displayName: 'Done',
|
|
68
|
+
jqlTerm: 'Done',
|
|
69
|
+
statusCategory: {
|
|
70
|
+
colorName: 'GREEN'
|
|
71
|
+
}
|
|
72
|
+
}]
|
|
73
|
+
}]
|
|
74
|
+
}]
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
var mockFieldValuesResponse = exports.mockFieldValuesResponse = {
|
|
81
|
+
data: {
|
|
82
|
+
jira: {
|
|
83
|
+
jqlBuilder: {
|
|
84
|
+
fieldValues: {
|
|
85
|
+
totalCount: 4,
|
|
86
|
+
pageInfo: {
|
|
87
|
+
endCursor: 'YXJyYXljb25uZWN0aW9uOjM='
|
|
88
|
+
},
|
|
89
|
+
edges: [{
|
|
90
|
+
node: {
|
|
91
|
+
jqlTerm: '"My IT TEST"',
|
|
92
|
+
displayName: 'My IT TEST',
|
|
93
|
+
project: {
|
|
94
|
+
avatar: {
|
|
95
|
+
small: 'https://nmccormick2.jira-dev.com/rest/api/2/universal_avatar/view/type/project/avatar/10403?size=small'
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}, {
|
|
100
|
+
node: {
|
|
101
|
+
jqlTerm: 'Test',
|
|
102
|
+
displayName: 'Test',
|
|
103
|
+
project: {
|
|
104
|
+
avatar: {
|
|
105
|
+
small: 'https://nmccormick2.jira-dev.com/rest/api/2/universal_avatar/view/type/project/avatar/10411?size=small'
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}, {
|
|
110
|
+
node: {
|
|
111
|
+
jqlTerm: '"Test rights"',
|
|
112
|
+
displayName: 'Test rights',
|
|
113
|
+
project: {
|
|
114
|
+
avatar: {
|
|
115
|
+
small: 'https://nmccormick2.jira-dev.com/rest/api/2/universal_avatar/view/type/project/avatar/10405?size=small'
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}, {
|
|
120
|
+
node: {
|
|
121
|
+
jqlTerm: 'Test2',
|
|
122
|
+
displayName: 'Test2',
|
|
123
|
+
project: {
|
|
124
|
+
avatar: {
|
|
125
|
+
small: 'https://nmccormick2.jira-dev.com/rest/api/2/universal_avatar/view/type/project/avatar/10410?size=small'
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}]
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useBasicFilterAGG = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
var _linkProvider = require("@atlaskit/link-provider");
|
|
12
|
+
var _linkingCommon = require("@atlaskit/linking-common");
|
|
13
|
+
var _utils = require("./utils");
|
|
14
|
+
var getGraphqlUrl = function getGraphqlUrl(envKey, baseUrlOverride) {
|
|
15
|
+
var baseUrl = baseUrlOverride || (0, _linkingCommon.getBaseUrl)(envKey);
|
|
16
|
+
return baseUrl ? "".concat(baseUrl, "/graphql") : '/gateway/api/graphql';
|
|
17
|
+
};
|
|
18
|
+
var useBasicFilterAGG = exports.useBasicFilterAGG = function useBasicFilterAGG() {
|
|
19
|
+
var _useSmartLinkContext = (0, _linkProvider.useSmartLinkContext)(),
|
|
20
|
+
client = _useSmartLinkContext.connections.client;
|
|
21
|
+
var gatewayGraphqlUrl = getGraphqlUrl(client.envKey, client.baseUrlOverride);
|
|
22
|
+
var aggHeaders = (0, _react.useMemo)(function () {
|
|
23
|
+
return new Headers({
|
|
24
|
+
'Content-Type': 'application/json',
|
|
25
|
+
'X-ExperimentalApi': 'JiraJqlBuilder'
|
|
26
|
+
});
|
|
27
|
+
}, []);
|
|
28
|
+
var getHydratedJQL = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
29
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(cloudId, jql) {
|
|
30
|
+
var body, request, response;
|
|
31
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
32
|
+
while (1) switch (_context.prev = _context.next) {
|
|
33
|
+
case 0:
|
|
34
|
+
body = JSON.stringify({
|
|
35
|
+
variables: {
|
|
36
|
+
cloudId: cloudId,
|
|
37
|
+
jql: jql
|
|
38
|
+
},
|
|
39
|
+
operationName: 'hydrate',
|
|
40
|
+
query: _utils.hydrateJQLQuery
|
|
41
|
+
});
|
|
42
|
+
request = new Request(gatewayGraphqlUrl, {
|
|
43
|
+
method: 'POST',
|
|
44
|
+
headers: aggHeaders,
|
|
45
|
+
body: body
|
|
46
|
+
});
|
|
47
|
+
_context.prev = 2;
|
|
48
|
+
_context.next = 5;
|
|
49
|
+
return fetch(request);
|
|
50
|
+
case 5:
|
|
51
|
+
response = _context.sent;
|
|
52
|
+
return _context.abrupt("return", response.json());
|
|
53
|
+
case 9:
|
|
54
|
+
_context.prev = 9;
|
|
55
|
+
_context.t0 = _context["catch"](2);
|
|
56
|
+
throw new Error(_context.t0);
|
|
57
|
+
case 12:
|
|
58
|
+
case "end":
|
|
59
|
+
return _context.stop();
|
|
60
|
+
}
|
|
61
|
+
}, _callee, null, [[2, 9]]);
|
|
62
|
+
}));
|
|
63
|
+
return function (_x, _x2) {
|
|
64
|
+
return _ref.apply(this, arguments);
|
|
65
|
+
};
|
|
66
|
+
}(), [gatewayGraphqlUrl, aggHeaders]);
|
|
67
|
+
var getFieldValues = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
68
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(cloudId, jql, jqlTerm, searchString, pageCursor) {
|
|
69
|
+
var body, request, response;
|
|
70
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
71
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
72
|
+
case 0:
|
|
73
|
+
body = JSON.stringify({
|
|
74
|
+
variables: {
|
|
75
|
+
cloudId: cloudId,
|
|
76
|
+
jql: jql,
|
|
77
|
+
first: 10,
|
|
78
|
+
jqlTerm: jqlTerm,
|
|
79
|
+
searchString: searchString,
|
|
80
|
+
after: pageCursor
|
|
81
|
+
},
|
|
82
|
+
operationName: 'fieldValues',
|
|
83
|
+
query: _utils.fieldValuesQuery
|
|
84
|
+
});
|
|
85
|
+
request = new Request(gatewayGraphqlUrl, {
|
|
86
|
+
method: 'POST',
|
|
87
|
+
headers: aggHeaders,
|
|
88
|
+
body: body
|
|
89
|
+
});
|
|
90
|
+
_context2.prev = 2;
|
|
91
|
+
_context2.next = 5;
|
|
92
|
+
return fetch(request);
|
|
93
|
+
case 5:
|
|
94
|
+
response = _context2.sent;
|
|
95
|
+
_context2.next = 8;
|
|
96
|
+
return response.json();
|
|
97
|
+
case 8:
|
|
98
|
+
return _context2.abrupt("return", _context2.sent);
|
|
99
|
+
case 11:
|
|
100
|
+
_context2.prev = 11;
|
|
101
|
+
_context2.t0 = _context2["catch"](2);
|
|
102
|
+
throw new Error(_context2.t0);
|
|
103
|
+
case 14:
|
|
104
|
+
case "end":
|
|
105
|
+
return _context2.stop();
|
|
106
|
+
}
|
|
107
|
+
}, _callee2, null, [[2, 11]]);
|
|
108
|
+
}));
|
|
109
|
+
return function (_x3, _x4, _x5, _x6, _x7) {
|
|
110
|
+
return _ref2.apply(this, arguments);
|
|
111
|
+
};
|
|
112
|
+
}(), [gatewayGraphqlUrl, aggHeaders]);
|
|
113
|
+
return (0, _react.useMemo)(function () {
|
|
114
|
+
return {
|
|
115
|
+
getHydratedJQL: getHydratedJQL,
|
|
116
|
+
getFieldValues: getFieldValues
|
|
117
|
+
};
|
|
118
|
+
}, [getHydratedJQL, getFieldValues]);
|
|
119
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.hydrateJQLQuery = exports.fieldValuesQuery = void 0;
|
|
7
|
+
var hydrateJQLQuery = exports.hydrateJQLQuery = "query hydrate($cloudId: ID!, $jql: String!) {\n jira {\n jqlBuilder(cloudId: $cloudId) {\n hydrateJqlQuery(query: $jql) {\n ... on JiraJqlHydratedQuery {\n fields {\n ... on JiraJqlQueryHydratedField {\n jqlTerm\n values {\n ... on JiraJqlQueryHydratedValue {\n values {\n ... on JiraJqlProjectFieldValue {\n jqlTerm\n displayName\n project {\n avatar {\n small\n }\n }\n }\n ... on JiraJqlStatusFieldValue {\n jqlTerm\n displayName\n statusCategory {\n colorName\n }\n }\n ... on JiraJqlIssueTypeFieldValue {\n jqlTerm\n displayName\n issueTypes {\n avatar {\n small\n }\n }\n }\n ... on JiraJqlUserFieldValue {\n jqlTerm\n displayName\n user {\n picture\n }\n }\n ... on JiraJqlGroupFieldValue {\n jqlTerm\n displayName\n group {\n name\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}";
|
|
8
|
+
var fieldValuesQuery = exports.fieldValuesQuery = "query fieldValues($cloudId: ID!, $first: Int = 10, $jqlTerm: String!, $jql: String!, $searchString: String!, $after: String, $projectOptions: JiraProjectOptions) {\n jira {\n jqlBuilder(cloudId: $cloudId) {\n fieldValues(\n first: $first\n jqlTerm: $jqlTerm\n jqlContext: $jql\n searchString: $searchString\n after: $after\n ) {\n totalCount\n pageInfo {\n endCursor\n }\n edges {\n node {\n jqlTerm\n displayName\n ... on JiraJqlProjectFieldValue {\n project {\n avatar {\n small\n }\n }\n }\n ... on JiraJqlIssueTypeFieldValue {\n issueTypes {\n avatar {\n small\n }\n }\n }\n ... on JiraJqlStatusFieldValue {\n statusCategory {\n colorName\n }\n }\n ... on JiraJqlUserFieldValue {\n user {\n picture\n }\n }\n ... on JiraJqlGroupFieldValue {\n group {\n name\n }\n }\n }\n }\n }\n }\n }\n}";
|
|
@@ -244,7 +244,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
244
244
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
245
245
|
while (1) switch (_context.prev = _context.next) {
|
|
246
246
|
case 0:
|
|
247
|
-
if (schemaId !== searchSchemaId || aql !== searchAql) {
|
|
247
|
+
if (schemaId !== searchSchemaId || aql !== searchAql || status === 'rejected') {
|
|
248
248
|
searchCount.current++;
|
|
249
249
|
if (schemaId !== searchSchemaId) {
|
|
250
250
|
userInteractionActions.current.add(_types.DatasourceAction.SCHEMA_UPDATED);
|
|
@@ -268,7 +268,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
|
|
|
268
268
|
return function (_x, _x2) {
|
|
269
269
|
return _ref.apply(this, arguments);
|
|
270
270
|
};
|
|
271
|
-
}(), [aql, reset, schemaId]);
|
|
271
|
+
}(), [aql, reset, schemaId, status]);
|
|
272
272
|
var renderModalTitleContent = (0, _react.useCallback)(function () {
|
|
273
273
|
if (workspaceError) {
|
|
274
274
|
return undefined;
|
|
@@ -29,7 +29,9 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
29
29
|
parameters = _ref.parameters,
|
|
30
30
|
visibleColumnKeys = _ref.visibleColumnKeys,
|
|
31
31
|
onVisibleColumnKeysChange = _ref.onVisibleColumnKeysChange,
|
|
32
|
-
url = _ref.url
|
|
32
|
+
url = _ref.url,
|
|
33
|
+
columnCustomSizes = _ref.columnCustomSizes,
|
|
34
|
+
onColumnResize = _ref.onColumnResize;
|
|
33
35
|
var _useDatasourceTableSt = (0, _useDatasourceTableState.useDatasourceTableState)({
|
|
34
36
|
datasourceId: datasourceId,
|
|
35
37
|
parameters: parameters,
|
|
@@ -137,6 +139,8 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
|
|
|
137
139
|
columns: columns,
|
|
138
140
|
visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
|
|
139
141
|
onVisibleColumnKeysChange: onVisibleColumnKeysChange,
|
|
142
|
+
columnCustomSizes: columnCustomSizes,
|
|
143
|
+
onColumnResize: onColumnResize,
|
|
140
144
|
scrollableContainerHeight: _styled.ScrollableContainerHeight,
|
|
141
145
|
parentContainerRenderInstanceId: tableRenderInstanceId,
|
|
142
146
|
extensionKey: extensionKey
|
|
@@ -13,10 +13,13 @@ var _tinyInvariant = _interopRequireDefault(require("tiny-invariant"));
|
|
|
13
13
|
var _closestEdge = require("@atlaskit/pragmatic-drag-and-drop-hitbox/addon/closest-edge");
|
|
14
14
|
var _boxWithoutTerminal = require("@atlaskit/pragmatic-drag-and-drop-react-indicator/box-without-terminal");
|
|
15
15
|
var _element = require("@atlaskit/pragmatic-drag-and-drop/adapter/element");
|
|
16
|
+
var _cancelUnhandled = require("@atlaskit/pragmatic-drag-and-drop/addon/cancel-unhandled");
|
|
16
17
|
var _combine = require("@atlaskit/pragmatic-drag-and-drop/util/combine");
|
|
18
|
+
var _disableNativeDragPreview = require("@atlaskit/pragmatic-drag-and-drop/util/disable-native-drag-preview");
|
|
17
19
|
var _offsetFromPointer = require("@atlaskit/pragmatic-drag-and-drop/util/offset-from-pointer");
|
|
18
20
|
var _setCustomNativeDragPreview = require("@atlaskit/pragmatic-drag-and-drop/util/set-custom-native-drag-preview");
|
|
19
21
|
var _styled = require("./styled");
|
|
22
|
+
var _index = require("./index");
|
|
20
23
|
/** @jsx jsx */
|
|
21
24
|
|
|
22
25
|
var tableHeadingStatusStyles = {
|
|
@@ -44,6 +47,40 @@ var dropTargetStyles = (0, _react2.css)({
|
|
|
44
47
|
var noPointerEventsStyles = (0, _react2.css)({
|
|
45
48
|
pointerEvents: 'none'
|
|
46
49
|
});
|
|
50
|
+
var resizerStyles = (0, _react2.css)({
|
|
51
|
+
'--local-hitbox-width': "var(--ds-space-300, 24px)",
|
|
52
|
+
width: 'var(--local-hitbox-width)',
|
|
53
|
+
cursor: 'col-resize',
|
|
54
|
+
flexGrow: '0',
|
|
55
|
+
position: 'absolute',
|
|
56
|
+
zIndex: 1,
|
|
57
|
+
// we want this to sit on top of adjacent column headers
|
|
58
|
+
right: 'calc(-1 * calc(var(--local-hitbox-width) / 2))',
|
|
59
|
+
top: 0,
|
|
60
|
+
'::before': {
|
|
61
|
+
opacity: 0,
|
|
62
|
+
'--local-line-width': "var(--ds-border-width, 2px)",
|
|
63
|
+
content: '""',
|
|
64
|
+
position: 'absolute',
|
|
65
|
+
background: "var(--ds-border-brand, #0052CC)",
|
|
66
|
+
width: 'var(--local-line-width)',
|
|
67
|
+
inset: 0,
|
|
68
|
+
left: "calc(50% - calc(var(--local-line-width) / 2))",
|
|
69
|
+
transition: 'opacity 0.2s ease'
|
|
70
|
+
},
|
|
71
|
+
':hover::before': {
|
|
72
|
+
opacity: 1
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
var resizingStyles = (0, _react2.css)({
|
|
76
|
+
// turning off the resizing cursor as sometimes it can cause the cursor to flicker
|
|
77
|
+
// while resizing. The browser controls the cursor while dragging, but the browser
|
|
78
|
+
// can sometimes bug out.
|
|
79
|
+
cursor: 'unset',
|
|
80
|
+
'::before': {
|
|
81
|
+
opacity: 1
|
|
82
|
+
}
|
|
83
|
+
});
|
|
47
84
|
var idleState = {
|
|
48
85
|
type: 'idle'
|
|
49
86
|
};
|
|
@@ -57,8 +94,10 @@ var DraggableTableHeading = exports.DraggableTableHeading = function DraggableTa
|
|
|
57
94
|
tableId = _ref.tableId,
|
|
58
95
|
dndPreviewHeight = _ref.dndPreviewHeight,
|
|
59
96
|
dragPreview = _ref.dragPreview,
|
|
60
|
-
|
|
61
|
-
|
|
97
|
+
width = _ref.width,
|
|
98
|
+
onWidthChange = _ref.onWidthChange;
|
|
99
|
+
var mainHeaderCellRef = (0, _react.useRef)(null);
|
|
100
|
+
var columnResizeHandleRef = (0, _react.useRef)(null);
|
|
62
101
|
var _useState = (0, _react.useState)(idleState),
|
|
63
102
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
64
103
|
state = _useState2[0],
|
|
@@ -73,7 +112,7 @@ var DraggableTableHeading = exports.DraggableTableHeading = function DraggableTa
|
|
|
73
112
|
setClosestEdge = _useState6[1];
|
|
74
113
|
var dropTargetRef = (0, _react.useRef)(null);
|
|
75
114
|
(0, _react.useEffect)(function () {
|
|
76
|
-
var cell =
|
|
115
|
+
var cell = mainHeaderCellRef.current;
|
|
77
116
|
(0, _tinyInvariant.default)(cell);
|
|
78
117
|
return (0, _combine.combine)((0, _element.draggable)({
|
|
79
118
|
element: cell,
|
|
@@ -176,15 +215,80 @@ var DraggableTableHeading = exports.DraggableTableHeading = function DraggableTa
|
|
|
176
215
|
}
|
|
177
216
|
});
|
|
178
217
|
}, [tableId]);
|
|
218
|
+
|
|
219
|
+
// Handling column resizing
|
|
220
|
+
(0, _react.useEffect)(function () {
|
|
221
|
+
var resizeHandle = columnResizeHandleRef.current;
|
|
222
|
+
(0, _tinyInvariant.default)(resizeHandle);
|
|
223
|
+
var mainHeaderCell = mainHeaderCellRef.current;
|
|
224
|
+
(0, _tinyInvariant.default)(mainHeaderCell);
|
|
225
|
+
return (0, _element.draggable)({
|
|
226
|
+
element: resizeHandle,
|
|
227
|
+
getInitialData: function getInitialData() {
|
|
228
|
+
// metadata related to currently dragging item (can be read by drop events etc)
|
|
229
|
+
return {
|
|
230
|
+
type: 'column-resize',
|
|
231
|
+
id: id,
|
|
232
|
+
index: index,
|
|
233
|
+
tableId: tableId
|
|
234
|
+
};
|
|
235
|
+
},
|
|
236
|
+
// Is called when dragging started
|
|
237
|
+
onGenerateDragPreview: function onGenerateDragPreview(_ref6) {
|
|
238
|
+
var nativeSetDragImage = _ref6.nativeSetDragImage;
|
|
239
|
+
// We don't show any preview, since column separator (handle) is moving with the cursor
|
|
240
|
+
(0, _disableNativeDragPreview.disableNativeDragPreview)({
|
|
241
|
+
nativeSetDragImage: nativeSetDragImage
|
|
242
|
+
});
|
|
243
|
+
// Block drag operations outside `@atlaskit/pragmatic-drag-and-drop`
|
|
244
|
+
_cancelUnhandled.cancelUnhandled.start();
|
|
245
|
+
setState({
|
|
246
|
+
type: 'resizing',
|
|
247
|
+
initialWidth: width
|
|
248
|
+
});
|
|
249
|
+
},
|
|
250
|
+
onDrag: function onDrag(_ref7) {
|
|
251
|
+
var location = _ref7.location;
|
|
252
|
+
var relativeDistanceX = location.current.input.clientX - location.initial.input.clientX;
|
|
253
|
+
(0, _tinyInvariant.default)(state.type === 'resizing');
|
|
254
|
+
var initialWidth = state.initialWidth;
|
|
255
|
+
|
|
256
|
+
// Set the width of our header being resized
|
|
257
|
+
var proposedWidth = initialWidth + relativeDistanceX;
|
|
258
|
+
if (initialWidth >= _index.COLUMN_MIN_WIDTH && proposedWidth < _index.COLUMN_MIN_WIDTH) {
|
|
259
|
+
proposedWidth = _index.COLUMN_MIN_WIDTH;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
// We update width css directly live
|
|
263
|
+
mainHeaderCell.style.setProperty('width', "".concat(proposedWidth, "px"));
|
|
264
|
+
},
|
|
265
|
+
onDrop: function onDrop() {
|
|
266
|
+
_cancelUnhandled.cancelUnhandled.stop();
|
|
267
|
+
setState(idleState);
|
|
268
|
+
if (onWidthChange) {
|
|
269
|
+
// We use element's css value as a source of truth (compare to another Ref)
|
|
270
|
+
var currentWidthPx = mainHeaderCell.style.getPropertyValue('width');
|
|
271
|
+
onWidthChange(+currentWidthPx.slice(0, -2));
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
}, [id, index, onWidthChange, state, tableId, width]);
|
|
179
276
|
return (0, _react2.jsx)(_styled.TableHeading, {
|
|
180
|
-
ref:
|
|
277
|
+
ref: mainHeaderCellRef,
|
|
181
278
|
css: [tableHeadingStatusStyles[state.type]],
|
|
182
279
|
"data-testid": "".concat(id, "-column-heading"),
|
|
183
280
|
style: {
|
|
184
|
-
|
|
281
|
+
width: width,
|
|
185
282
|
cursor: 'grab'
|
|
186
283
|
}
|
|
187
284
|
}, (0, _react2.jsx)("div", {
|
|
285
|
+
ref: columnResizeHandleRef,
|
|
286
|
+
css: [resizerStyles, state.type === 'resizing' && resizingStyles],
|
|
287
|
+
style: {
|
|
288
|
+
height: "".concat(dndPreviewHeight, "px")
|
|
289
|
+
},
|
|
290
|
+
"data-testid": "column-resize-handle"
|
|
291
|
+
}), (0, _react2.jsx)("div", {
|
|
188
292
|
ref: dropTargetRef,
|
|
189
293
|
css: [dropTargetStyles, isDraggingAnyColumn ? null : noPointerEventsStyles],
|
|
190
294
|
style: {
|