@atlaskit/link-datasource 1.11.0 → 1.12.0
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/jira-search-container/buildJQL.js +23 -3
- 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/jira-search-container/buildJQL.js +17 -4
- 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/jira-search-container/buildJQL.js +23 -4
- 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 +4 -0
- 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 +4 -0
- 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 +5 -5
- 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/dist/es2019/ui/jira-issues-modal/basic-filters/mocks/fieldValuesStandardResponseForTypes.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export const fieldValuesResponseForTypes = {
|
|
2
|
+
data: {
|
|
3
|
+
jira: {
|
|
4
|
+
jqlBuilder: {
|
|
5
|
+
fieldValues: {
|
|
6
|
+
totalCount: 12,
|
|
7
|
+
pageInfo: {
|
|
8
|
+
endCursor: 'YXJyYXljb25uZWN0aW9uOjQ='
|
|
9
|
+
},
|
|
10
|
+
edges: [{
|
|
11
|
+
node: {
|
|
12
|
+
jqlTerm: '"[System] Change"',
|
|
13
|
+
displayName: '[System] Change',
|
|
14
|
+
issueTypes: [{
|
|
15
|
+
avatar: {
|
|
16
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10555?size=medium'
|
|
17
|
+
}
|
|
18
|
+
}]
|
|
19
|
+
}
|
|
20
|
+
}, {
|
|
21
|
+
node: {
|
|
22
|
+
jqlTerm: '"[System] Incident"',
|
|
23
|
+
displayName: '[System] Incident',
|
|
24
|
+
issueTypes: [{
|
|
25
|
+
avatar: {
|
|
26
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10551?size=medium'
|
|
27
|
+
}
|
|
28
|
+
}]
|
|
29
|
+
}
|
|
30
|
+
}, {
|
|
31
|
+
node: {
|
|
32
|
+
jqlTerm: '"[System] Post-incident review"',
|
|
33
|
+
displayName: '[System] Post-incident review',
|
|
34
|
+
issueTypes: [{
|
|
35
|
+
avatar: {
|
|
36
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10552?size=medium'
|
|
37
|
+
}
|
|
38
|
+
}]
|
|
39
|
+
}
|
|
40
|
+
}, {
|
|
41
|
+
node: {
|
|
42
|
+
jqlTerm: '"[System] Problem"',
|
|
43
|
+
displayName: '[System] Problem',
|
|
44
|
+
issueTypes: [{
|
|
45
|
+
avatar: {
|
|
46
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10556?size=medium'
|
|
47
|
+
}
|
|
48
|
+
}]
|
|
49
|
+
}
|
|
50
|
+
}, {
|
|
51
|
+
node: {
|
|
52
|
+
jqlTerm: '"[System] Service request"',
|
|
53
|
+
displayName: '[System] Service request',
|
|
54
|
+
issueTypes: [{
|
|
55
|
+
avatar: {
|
|
56
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10553?size=medium'
|
|
57
|
+
}
|
|
58
|
+
}]
|
|
59
|
+
}
|
|
60
|
+
}]
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
export const fieldValuesResponseForTypesMapped = [{
|
|
67
|
+
icon: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10555?size=medium',
|
|
68
|
+
label: '[System] Change',
|
|
69
|
+
optionType: 'iconLabel',
|
|
70
|
+
value: '"[System] Change"'
|
|
71
|
+
}, {
|
|
72
|
+
icon: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10551?size=medium',
|
|
73
|
+
label: '[System] Incident',
|
|
74
|
+
optionType: 'iconLabel',
|
|
75
|
+
value: '"[System] Incident"'
|
|
76
|
+
}, {
|
|
77
|
+
icon: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10552?size=medium',
|
|
78
|
+
label: '[System] Post-incident review',
|
|
79
|
+
optionType: 'iconLabel',
|
|
80
|
+
value: '"[System] Post-incident review"'
|
|
81
|
+
}, {
|
|
82
|
+
icon: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10556?size=medium',
|
|
83
|
+
label: '[System] Problem',
|
|
84
|
+
optionType: 'iconLabel',
|
|
85
|
+
value: '"[System] Problem"'
|
|
86
|
+
}, {
|
|
87
|
+
icon: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10553?size=medium',
|
|
88
|
+
label: '[System] Service request',
|
|
89
|
+
optionType: 'iconLabel',
|
|
90
|
+
value: '"[System] Service request"'
|
|
91
|
+
}];
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
export const hydrateJqlStandardResponse = {
|
|
2
|
+
data: {
|
|
3
|
+
jira: {
|
|
4
|
+
jqlBuilder: {
|
|
5
|
+
hydrateJqlQuery: {
|
|
6
|
+
fields: [{
|
|
7
|
+
jqlTerm: 'issuetype',
|
|
8
|
+
values: [{
|
|
9
|
+
values: [{
|
|
10
|
+
displayName: 'Category',
|
|
11
|
+
jqlTerm: 'Category',
|
|
12
|
+
issueTypes: [{
|
|
13
|
+
avatar: {
|
|
14
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/16627?size=medium'
|
|
15
|
+
}
|
|
16
|
+
}]
|
|
17
|
+
}]
|
|
18
|
+
}, {
|
|
19
|
+
values: [{
|
|
20
|
+
displayName: '!disturbed',
|
|
21
|
+
jqlTerm: '"!disturbed"',
|
|
22
|
+
issueTypes: [{
|
|
23
|
+
avatar: {
|
|
24
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/16640?size=medium'
|
|
25
|
+
}
|
|
26
|
+
}, {
|
|
27
|
+
avatar: {
|
|
28
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/16628?size=medium'
|
|
29
|
+
}
|
|
30
|
+
}]
|
|
31
|
+
}]
|
|
32
|
+
}]
|
|
33
|
+
}, {
|
|
34
|
+
jqlTerm: 'project',
|
|
35
|
+
values: [{
|
|
36
|
+
values: [{
|
|
37
|
+
displayName: '(Deprecated) Koopa Troopas',
|
|
38
|
+
jqlTerm: '"(Deprecated) Koopa Troopas"',
|
|
39
|
+
project: {
|
|
40
|
+
avatar: {
|
|
41
|
+
small: 'https://hello.atlassian.net/rest/api/2/universal_avatar/view/type/project/avatar/36328?size=small'
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}]
|
|
45
|
+
}]
|
|
46
|
+
}, {
|
|
47
|
+
jqlTerm: 'assignee',
|
|
48
|
+
values: [{
|
|
49
|
+
values: [{
|
|
50
|
+
displayName: 'Nidhin Joseph',
|
|
51
|
+
jqlTerm: '70121:97052100-1513-42bc-a2f0-d77e71f0b7eb',
|
|
52
|
+
user: {
|
|
53
|
+
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'
|
|
54
|
+
}
|
|
55
|
+
}]
|
|
56
|
+
}]
|
|
57
|
+
}, {
|
|
58
|
+
jqlTerm: 'status',
|
|
59
|
+
values: [{
|
|
60
|
+
values: [{
|
|
61
|
+
displayName: 'Done',
|
|
62
|
+
jqlTerm: 'Done',
|
|
63
|
+
statusCategory: {
|
|
64
|
+
colorName: 'GREEN'
|
|
65
|
+
}
|
|
66
|
+
}]
|
|
67
|
+
}]
|
|
68
|
+
}]
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
export const hydrateJqlStandardResponseMapped = {
|
|
75
|
+
issuetype: [{
|
|
76
|
+
icon: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/16627?size=medium',
|
|
77
|
+
label: 'Category',
|
|
78
|
+
optionType: 'iconLabel',
|
|
79
|
+
value: 'Category'
|
|
80
|
+
}, {
|
|
81
|
+
icon: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/16640?size=medium',
|
|
82
|
+
label: '!disturbed',
|
|
83
|
+
optionType: 'iconLabel',
|
|
84
|
+
value: '"!disturbed"'
|
|
85
|
+
}],
|
|
86
|
+
project: [{
|
|
87
|
+
icon: 'https://hello.atlassian.net/rest/api/2/universal_avatar/view/type/project/avatar/36328?size=small',
|
|
88
|
+
label: '(Deprecated) Koopa Troopas',
|
|
89
|
+
optionType: 'iconLabel',
|
|
90
|
+
value: '"(Deprecated) Koopa Troopas"'
|
|
91
|
+
}],
|
|
92
|
+
assignee: [{
|
|
93
|
+
avatar: 'https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/70121:97052100-1513-42bc-a2f0-d77e71f0b7eb/3d737224-7e8f-4e0c-888c-d5ff6044d484/128',
|
|
94
|
+
isSquare: true,
|
|
95
|
+
label: 'Nidhin Joseph',
|
|
96
|
+
optionType: 'avatarLabel',
|
|
97
|
+
value: '70121:97052100-1513-42bc-a2f0-d77e71f0b7eb'
|
|
98
|
+
}],
|
|
99
|
+
status: [{
|
|
100
|
+
appearance: 'success',
|
|
101
|
+
label: 'Done',
|
|
102
|
+
optionType: 'lozengeLabel',
|
|
103
|
+
value: 'Done'
|
|
104
|
+
}]
|
|
105
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// these types have been taken from jira-frontend to ensure the colour data return gets mapped correctly for the lozenge
|
|
2
|
+
export const appearanceMap = {
|
|
3
|
+
BLUE_GRAY: 'default',
|
|
4
|
+
MEDIUM_GRAY: 'default',
|
|
5
|
+
BROWN: 'default',
|
|
6
|
+
GREEN: 'success',
|
|
7
|
+
YELLOW: 'inprogress',
|
|
8
|
+
WARM_RED: 'removed'
|
|
9
|
+
};
|
package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/formatOptionLabel.js
CHANGED
|
@@ -33,7 +33,6 @@ const LozengeOptionLabel = ({
|
|
|
33
33
|
data
|
|
34
34
|
}) => {
|
|
35
35
|
return /*#__PURE__*/React.createElement(Lozenge, {
|
|
36
|
-
isBold: data.isBold,
|
|
37
36
|
appearance: data.appearance,
|
|
38
37
|
testId: "jlol-basic-filter-popup-select-option--lozenge"
|
|
39
38
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { appearanceMap } from '../types';
|
|
2
|
+
function isNonNullSelectOption(edge) {
|
|
3
|
+
return edge !== null;
|
|
4
|
+
}
|
|
5
|
+
function isColorName(colorName) {
|
|
6
|
+
return Object.keys(appearanceMap).includes(colorName);
|
|
7
|
+
}
|
|
8
|
+
const getLozengeAppearance = colorName => {
|
|
9
|
+
if (isColorName(colorName)) {
|
|
10
|
+
return appearanceMap[colorName];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
function mapNodeToOption({
|
|
14
|
+
displayName,
|
|
15
|
+
jqlTerm,
|
|
16
|
+
group,
|
|
17
|
+
issueTypes,
|
|
18
|
+
project,
|
|
19
|
+
statusCategory,
|
|
20
|
+
user
|
|
21
|
+
}) {
|
|
22
|
+
try {
|
|
23
|
+
const baseProps = {
|
|
24
|
+
label: displayName,
|
|
25
|
+
value: jqlTerm
|
|
26
|
+
};
|
|
27
|
+
if (user) {
|
|
28
|
+
return {
|
|
29
|
+
...baseProps,
|
|
30
|
+
optionType: 'avatarLabel',
|
|
31
|
+
avatar: user.picture,
|
|
32
|
+
isSquare: true
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
if (group) {
|
|
36
|
+
return {
|
|
37
|
+
...baseProps,
|
|
38
|
+
optionType: 'avatarLabel',
|
|
39
|
+
isGroup: true
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
if (project) {
|
|
43
|
+
var _project$avatar;
|
|
44
|
+
return {
|
|
45
|
+
...baseProps,
|
|
46
|
+
optionType: 'iconLabel',
|
|
47
|
+
icon: (_project$avatar = project.avatar) === null || _project$avatar === void 0 ? void 0 : _project$avatar.small
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
if (issueTypes) {
|
|
51
|
+
var _issueTypes$;
|
|
52
|
+
return {
|
|
53
|
+
...baseProps,
|
|
54
|
+
optionType: 'iconLabel',
|
|
55
|
+
icon: (_issueTypes$ = issueTypes[0]) === null || _issueTypes$ === void 0 ? void 0 : _issueTypes$.avatar.small
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
if (statusCategory) {
|
|
59
|
+
return {
|
|
60
|
+
...baseProps,
|
|
61
|
+
optionType: 'lozengeLabel',
|
|
62
|
+
appearance: getLozengeAppearance(statusCategory.colorName)
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
} catch (error) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export function mapHydrateResponseData({
|
|
71
|
+
data
|
|
72
|
+
}) {
|
|
73
|
+
var _data$jira, _data$jira$jqlBuilder, _data$jira$jqlBuilder2, _data$jira$jqlBuilder3;
|
|
74
|
+
const transformedHydrateResponseData = {};
|
|
75
|
+
data === null || data === void 0 ? void 0 : (_data$jira = data.jira) === null || _data$jira === void 0 ? void 0 : (_data$jira$jqlBuilder = _data$jira.jqlBuilder) === null || _data$jira$jqlBuilder === void 0 ? void 0 : (_data$jira$jqlBuilder2 = _data$jira$jqlBuilder.hydrateJqlQuery) === null || _data$jira$jqlBuilder2 === void 0 ? void 0 : (_data$jira$jqlBuilder3 = _data$jira$jqlBuilder2.fields) === null || _data$jira$jqlBuilder3 === void 0 ? void 0 : _data$jira$jqlBuilder3.forEach(({
|
|
76
|
+
jqlTerm,
|
|
77
|
+
values = []
|
|
78
|
+
}) => {
|
|
79
|
+
const options = values.map(({
|
|
80
|
+
values
|
|
81
|
+
}) => values && values[0] ? mapNodeToOption(values[0]) : null).filter(isNonNullSelectOption) || [];
|
|
82
|
+
transformedHydrateResponseData[jqlTerm] = options;
|
|
83
|
+
});
|
|
84
|
+
return transformedHydrateResponseData;
|
|
85
|
+
}
|
|
86
|
+
export function mapFieldValuesResponseData({
|
|
87
|
+
data
|
|
88
|
+
}) {
|
|
89
|
+
var _data$jira2, _data$jira2$jqlBuilde, _data$jira2$jqlBuilde2, _data$jira2$jqlBuilde3;
|
|
90
|
+
return (data === null || data === void 0 ? void 0 : (_data$jira2 = data.jira) === null || _data$jira2 === void 0 ? void 0 : (_data$jira2$jqlBuilde = _data$jira2.jqlBuilder) === null || _data$jira2$jqlBuilde === void 0 ? void 0 : (_data$jira2$jqlBuilde2 = _data$jira2$jqlBuilde.fieldValues) === null || _data$jira2$jqlBuilde2 === void 0 ? void 0 : (_data$jira2$jqlBuilde3 = _data$jira2$jqlBuilde2.edges) === null || _data$jira2$jqlBuilde3 === void 0 ? void 0 : _data$jira2$jqlBuilde3.map(edge => edge.node ? mapNodeToOption(edge.node) : null).filter(isNonNullSelectOption)) || [];
|
|
91
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { COMPOUND_OPERATOR_AND, COMPOUND_OPERATOR_OR, creators, JastBuilder, OPERATOR_EQUALS, OPERATOR_GT_EQUALS, OPERATOR_LIKE, ORDER_BY_DIRECTION_ASC, ORDER_BY_DIRECTION_DESC, print } from '@atlaskit/jql-ast';
|
|
1
|
+
import { COMPOUND_OPERATOR_AND, COMPOUND_OPERATOR_OR, creators, JastBuilder, OPERATOR_EQUALS, OPERATOR_GT_EQUALS, OPERATOR_IN, OPERATOR_LIKE, ORDER_BY_DIRECTION_ASC, ORDER_BY_DIRECTION_DESC, print } from '@atlaskit/jql-ast';
|
|
2
2
|
const fuzzySearchRegExp = /^"(.+)"$/;
|
|
3
3
|
const jiraIssueKeyRegExp = /[A-Z]+-\d+/;
|
|
4
4
|
const constructTerminalClause = (field, operator, value) => creators.terminalClause(creators.field(field), creators.operator(operator), creators.valueOperand(value));
|
|
@@ -14,7 +14,8 @@ export const buildJQL = input => {
|
|
|
14
14
|
const {
|
|
15
15
|
rawSearch,
|
|
16
16
|
orderDirection = ORDER_BY_DIRECTION_DESC,
|
|
17
|
-
orderKey = 'created'
|
|
17
|
+
orderKey = 'created',
|
|
18
|
+
filterValues
|
|
18
19
|
} = input;
|
|
19
20
|
const trimmedRawSearch = rawSearch.trim();
|
|
20
21
|
if (!query) {
|
|
@@ -32,12 +33,24 @@ export const buildJQL = input => {
|
|
|
32
33
|
}
|
|
33
34
|
const orClause = creators.compoundClause(creators.compoundOperator(COMPOUND_OPERATOR_OR), orClauseFields);
|
|
34
35
|
query.appendClause(orClause, COMPOUND_OPERATOR_AND);
|
|
35
|
-
}
|
|
36
|
+
}
|
|
37
|
+
if (filterValues) {
|
|
38
|
+
Object.entries(filterValues).forEach(([key, filterFieldValues]) => {
|
|
39
|
+
if (!key || filterFieldValues.length === 0) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const filterInClause = creators.terminalClause(creators.field(key), creators.operator(OPERATOR_IN), creators.listOperand(filterFieldValues.map(filterFieldValue => creators.valueOperand(filterFieldValue.value))));
|
|
43
|
+
query.appendClause(filterInClause, COMPOUND_OPERATOR_AND);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
if (!trimmedRawSearch) {
|
|
36
47
|
const created = constructTerminalClause('created', OPERATOR_GT_EQUALS, '-30d');
|
|
37
48
|
query.appendClause(created, COMPOUND_OPERATOR_AND);
|
|
38
49
|
}
|
|
39
50
|
const orderField = creators.orderByField(creators.field(orderKey));
|
|
40
51
|
query.prependOrderField(orderField);
|
|
41
52
|
query.setOrderDirection(creators.orderByDirection(orderDirection.toLowerCase() === 'asc' ? ORDER_BY_DIRECTION_ASC : ORDER_BY_DIRECTION_DESC));
|
|
42
|
-
return print(jast
|
|
53
|
+
return print(jast, {
|
|
54
|
+
printWidth: null // this ensures jql string is not broken to new line
|
|
55
|
+
});
|
|
43
56
|
};
|
|
@@ -80,6 +80,7 @@ export const getColumnAction = (oldVisibleColumnKeys, newVisibleColumnKeys) => {
|
|
|
80
80
|
export const PlainJiraIssuesConfigModal = props => {
|
|
81
81
|
const {
|
|
82
82
|
datasourceId,
|
|
83
|
+
columnCustomSizes: initialColumnCustomSizes,
|
|
83
84
|
onCancel,
|
|
84
85
|
onInsert,
|
|
85
86
|
viewMode = 'issue',
|
|
@@ -105,6 +106,13 @@ export const PlainJiraIssuesConfigModal = props => {
|
|
|
105
106
|
jql: jql || ''
|
|
106
107
|
} : undefined, [cloudId, jql]);
|
|
107
108
|
const isParametersSet = !!(jql && cloudId);
|
|
109
|
+
const [columnCustomSizes, setColumnCustomSizes] = useState(initialColumnCustomSizes);
|
|
110
|
+
const onColumnResize = useCallback((key, width) => {
|
|
111
|
+
setColumnCustomSizes({
|
|
112
|
+
...columnCustomSizes,
|
|
113
|
+
[key]: width
|
|
114
|
+
});
|
|
115
|
+
}, [columnCustomSizes]);
|
|
108
116
|
const {
|
|
109
117
|
reset,
|
|
110
118
|
status,
|
|
@@ -324,7 +332,8 @@ export const PlainJiraIssuesConfigModal = props => {
|
|
|
324
332
|
type: 'table',
|
|
325
333
|
properties: {
|
|
326
334
|
columns: visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.map(key => ({
|
|
327
|
-
key
|
|
335
|
+
key,
|
|
336
|
+
width: columnCustomSizes === null || columnCustomSizes === void 0 ? void 0 : columnCustomSizes[key]
|
|
328
337
|
}))
|
|
329
338
|
}
|
|
330
339
|
}]
|
|
@@ -332,7 +341,7 @@ export const PlainJiraIssuesConfigModal = props => {
|
|
|
332
341
|
}
|
|
333
342
|
}, consumerEvent);
|
|
334
343
|
}
|
|
335
|
-
}, [isParametersSet, jql, selectedJiraSite, analyticsPayload, totalCount, visibleColumnKeys, currentViewMode, retrieveUrlForSmartCardRender, responseItems.length, onInsert, jqlUrl, datasourceId, cloudId]);
|
|
344
|
+
}, [isParametersSet, jql, selectedJiraSite, analyticsPayload, totalCount, visibleColumnKeys, currentViewMode, retrieveUrlForSmartCardRender, responseItems.length, onInsert, jqlUrl, datasourceId, cloudId, columnCustomSizes]);
|
|
336
345
|
const handleViewModeChange = selectedMode => {
|
|
337
346
|
userInteractionActions.current.add(DatasourceAction.DISPLAY_VIEW_CHANGED);
|
|
338
347
|
setCurrentViewMode(selectedMode);
|
|
@@ -360,8 +369,10 @@ export const PlainJiraIssuesConfigModal = props => {
|
|
|
360
369
|
onLoadDatasourceDetails: loadDatasourceDetails,
|
|
361
370
|
onVisibleColumnKeysChange: handleVisibleColumnKeysChange,
|
|
362
371
|
parentContainerRenderInstanceId: modalRenderInstanceId,
|
|
363
|
-
extensionKey: extensionKey
|
|
364
|
-
|
|
372
|
+
extensionKey: extensionKey,
|
|
373
|
+
columnCustomSizes: columnCustomSizes,
|
|
374
|
+
onColumnResize: onColumnResize
|
|
375
|
+
})), [columns, defaultVisibleColumnKeys, handleOnNextPage, handleVisibleColumnKeysChange, hasNextPage, loadDatasourceDetails, modalRenderInstanceId, responseItems, status, visibleColumnKeys, extensionKey, columnCustomSizes, onColumnResize]);
|
|
365
376
|
const renderCountModeContent = useCallback(() => {
|
|
366
377
|
const selectedJiraSiteUrl = selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url;
|
|
367
378
|
if (status === 'unauthorized') {
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
export var mockHydrateJqlResponse = {
|
|
2
|
+
data: {
|
|
3
|
+
jira: {
|
|
4
|
+
jqlBuilder: {
|
|
5
|
+
hydrateJqlQuery: {
|
|
6
|
+
fields: [{
|
|
7
|
+
jqlTerm: 'issuetype',
|
|
8
|
+
values: [{
|
|
9
|
+
values: [{
|
|
10
|
+
displayName: 'Category',
|
|
11
|
+
jqlTerm: 'Category',
|
|
12
|
+
issueTypes: [{
|
|
13
|
+
avatar: {
|
|
14
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/16627?size=medium'
|
|
15
|
+
}
|
|
16
|
+
}]
|
|
17
|
+
}]
|
|
18
|
+
}, {
|
|
19
|
+
values: [{
|
|
20
|
+
displayName: '!disturbed',
|
|
21
|
+
jqlTerm: '"!disturbed"',
|
|
22
|
+
issueTypes: [{
|
|
23
|
+
avatar: {
|
|
24
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/16640?size=medium'
|
|
25
|
+
}
|
|
26
|
+
}, {
|
|
27
|
+
avatar: {
|
|
28
|
+
small: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/16628?size=medium'
|
|
29
|
+
}
|
|
30
|
+
}]
|
|
31
|
+
}]
|
|
32
|
+
}]
|
|
33
|
+
}, {
|
|
34
|
+
jqlTerm: 'project',
|
|
35
|
+
values: [{
|
|
36
|
+
values: [{
|
|
37
|
+
displayName: '(Deprecated) Koopa Troopas',
|
|
38
|
+
jqlTerm: '"(Deprecated) Koopa Troopas"',
|
|
39
|
+
project: {
|
|
40
|
+
avatar: {
|
|
41
|
+
small: 'https://hello.atlassian.net/rest/api/2/universal_avatar/view/type/project/avatar/36328?size=small'
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}]
|
|
45
|
+
}]
|
|
46
|
+
}, {
|
|
47
|
+
jqlTerm: 'assignee',
|
|
48
|
+
values: [{
|
|
49
|
+
values: [{
|
|
50
|
+
displayName: 'Nidhin Joseph',
|
|
51
|
+
jqlTerm: '70121:97052100-1513-42bc-a2f0-d77e71f0b7eb',
|
|
52
|
+
user: {
|
|
53
|
+
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'
|
|
54
|
+
}
|
|
55
|
+
}]
|
|
56
|
+
}]
|
|
57
|
+
}, {
|
|
58
|
+
jqlTerm: 'status',
|
|
59
|
+
values: [{
|
|
60
|
+
values: [{
|
|
61
|
+
displayName: 'Done',
|
|
62
|
+
jqlTerm: 'Done',
|
|
63
|
+
statusCategory: {
|
|
64
|
+
colorName: 'GREEN'
|
|
65
|
+
}
|
|
66
|
+
}]
|
|
67
|
+
}]
|
|
68
|
+
}]
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
export var mockFieldValuesResponse = {
|
|
75
|
+
data: {
|
|
76
|
+
jira: {
|
|
77
|
+
jqlBuilder: {
|
|
78
|
+
fieldValues: {
|
|
79
|
+
totalCount: 4,
|
|
80
|
+
pageInfo: {
|
|
81
|
+
endCursor: 'YXJyYXljb25uZWN0aW9uOjM='
|
|
82
|
+
},
|
|
83
|
+
edges: [{
|
|
84
|
+
node: {
|
|
85
|
+
jqlTerm: '"My IT TEST"',
|
|
86
|
+
displayName: 'My IT TEST',
|
|
87
|
+
project: {
|
|
88
|
+
avatar: {
|
|
89
|
+
small: 'https://nmccormick2.jira-dev.com/rest/api/2/universal_avatar/view/type/project/avatar/10403?size=small'
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}, {
|
|
94
|
+
node: {
|
|
95
|
+
jqlTerm: 'Test',
|
|
96
|
+
displayName: 'Test',
|
|
97
|
+
project: {
|
|
98
|
+
avatar: {
|
|
99
|
+
small: 'https://nmccormick2.jira-dev.com/rest/api/2/universal_avatar/view/type/project/avatar/10411?size=small'
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}, {
|
|
104
|
+
node: {
|
|
105
|
+
jqlTerm: '"Test rights"',
|
|
106
|
+
displayName: 'Test rights',
|
|
107
|
+
project: {
|
|
108
|
+
avatar: {
|
|
109
|
+
small: 'https://nmccormick2.jira-dev.com/rest/api/2/universal_avatar/view/type/project/avatar/10405?size=small'
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}, {
|
|
114
|
+
node: {
|
|
115
|
+
jqlTerm: 'Test2',
|
|
116
|
+
displayName: 'Test2',
|
|
117
|
+
project: {
|
|
118
|
+
avatar: {
|
|
119
|
+
small: 'https://nmccormick2.jira-dev.com/rest/api/2/universal_avatar/view/type/project/avatar/10410?size=small'
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}]
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
+
import { useCallback, useMemo } from 'react';
|
|
4
|
+
import { useSmartLinkContext } from '@atlaskit/link-provider';
|
|
5
|
+
import { getBaseUrl } from '@atlaskit/linking-common';
|
|
6
|
+
import { fieldValuesQuery, hydrateJQLQuery } from './utils';
|
|
7
|
+
var getGraphqlUrl = function getGraphqlUrl(envKey, baseUrlOverride) {
|
|
8
|
+
var baseUrl = baseUrlOverride || getBaseUrl(envKey);
|
|
9
|
+
return baseUrl ? "".concat(baseUrl, "/graphql") : '/gateway/api/graphql';
|
|
10
|
+
};
|
|
11
|
+
export var useBasicFilterAGG = function useBasicFilterAGG() {
|
|
12
|
+
var _useSmartLinkContext = useSmartLinkContext(),
|
|
13
|
+
client = _useSmartLinkContext.connections.client;
|
|
14
|
+
var gatewayGraphqlUrl = getGraphqlUrl(client.envKey, client.baseUrlOverride);
|
|
15
|
+
var aggHeaders = useMemo(function () {
|
|
16
|
+
return new Headers({
|
|
17
|
+
'Content-Type': 'application/json',
|
|
18
|
+
'X-ExperimentalApi': 'JiraJqlBuilder'
|
|
19
|
+
});
|
|
20
|
+
}, []);
|
|
21
|
+
var getHydratedJQL = useCallback( /*#__PURE__*/function () {
|
|
22
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(cloudId, jql) {
|
|
23
|
+
var body, request, response;
|
|
24
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
25
|
+
while (1) switch (_context.prev = _context.next) {
|
|
26
|
+
case 0:
|
|
27
|
+
body = JSON.stringify({
|
|
28
|
+
variables: {
|
|
29
|
+
cloudId: cloudId,
|
|
30
|
+
jql: jql
|
|
31
|
+
},
|
|
32
|
+
operationName: 'hydrate',
|
|
33
|
+
query: hydrateJQLQuery
|
|
34
|
+
});
|
|
35
|
+
request = new Request(gatewayGraphqlUrl, {
|
|
36
|
+
method: 'POST',
|
|
37
|
+
headers: aggHeaders,
|
|
38
|
+
body: body
|
|
39
|
+
});
|
|
40
|
+
_context.prev = 2;
|
|
41
|
+
_context.next = 5;
|
|
42
|
+
return fetch(request);
|
|
43
|
+
case 5:
|
|
44
|
+
response = _context.sent;
|
|
45
|
+
return _context.abrupt("return", response.json());
|
|
46
|
+
case 9:
|
|
47
|
+
_context.prev = 9;
|
|
48
|
+
_context.t0 = _context["catch"](2);
|
|
49
|
+
throw new Error(_context.t0);
|
|
50
|
+
case 12:
|
|
51
|
+
case "end":
|
|
52
|
+
return _context.stop();
|
|
53
|
+
}
|
|
54
|
+
}, _callee, null, [[2, 9]]);
|
|
55
|
+
}));
|
|
56
|
+
return function (_x, _x2) {
|
|
57
|
+
return _ref.apply(this, arguments);
|
|
58
|
+
};
|
|
59
|
+
}(), [gatewayGraphqlUrl, aggHeaders]);
|
|
60
|
+
var getFieldValues = useCallback( /*#__PURE__*/function () {
|
|
61
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(cloudId, jql, jqlTerm, searchString, pageCursor) {
|
|
62
|
+
var body, request, response;
|
|
63
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
64
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
65
|
+
case 0:
|
|
66
|
+
body = JSON.stringify({
|
|
67
|
+
variables: {
|
|
68
|
+
cloudId: cloudId,
|
|
69
|
+
jql: jql,
|
|
70
|
+
first: 10,
|
|
71
|
+
jqlTerm: jqlTerm,
|
|
72
|
+
searchString: searchString,
|
|
73
|
+
after: pageCursor
|
|
74
|
+
},
|
|
75
|
+
operationName: 'fieldValues',
|
|
76
|
+
query: fieldValuesQuery
|
|
77
|
+
});
|
|
78
|
+
request = new Request(gatewayGraphqlUrl, {
|
|
79
|
+
method: 'POST',
|
|
80
|
+
headers: aggHeaders,
|
|
81
|
+
body: body
|
|
82
|
+
});
|
|
83
|
+
_context2.prev = 2;
|
|
84
|
+
_context2.next = 5;
|
|
85
|
+
return fetch(request);
|
|
86
|
+
case 5:
|
|
87
|
+
response = _context2.sent;
|
|
88
|
+
_context2.next = 8;
|
|
89
|
+
return response.json();
|
|
90
|
+
case 8:
|
|
91
|
+
return _context2.abrupt("return", _context2.sent);
|
|
92
|
+
case 11:
|
|
93
|
+
_context2.prev = 11;
|
|
94
|
+
_context2.t0 = _context2["catch"](2);
|
|
95
|
+
throw new Error(_context2.t0);
|
|
96
|
+
case 14:
|
|
97
|
+
case "end":
|
|
98
|
+
return _context2.stop();
|
|
99
|
+
}
|
|
100
|
+
}, _callee2, null, [[2, 11]]);
|
|
101
|
+
}));
|
|
102
|
+
return function (_x3, _x4, _x5, _x6, _x7) {
|
|
103
|
+
return _ref2.apply(this, arguments);
|
|
104
|
+
};
|
|
105
|
+
}(), [gatewayGraphqlUrl, aggHeaders]);
|
|
106
|
+
return useMemo(function () {
|
|
107
|
+
return {
|
|
108
|
+
getHydratedJQL: getHydratedJQL,
|
|
109
|
+
getFieldValues: getFieldValues
|
|
110
|
+
};
|
|
111
|
+
}, [getHydratedJQL, getFieldValues]);
|
|
112
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export var 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}";
|
|
2
|
+
export var 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}";
|