@atlaskit/user-picker 8.3.2 → 8.4.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 +24 -0
- package/dist/cjs/components/ExternalUserOption/main.js +27 -11
- package/dist/cjs/components/i18n.js +10 -0
- package/dist/cjs/components/smart-user-picker/components/index.js +5 -4
- package/dist/cjs/components/smart-user-picker/config/index.js +2 -1
- package/dist/cjs/components/smart-user-picker/service/UsersClient.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/components/ExternalUserOption/main.js +25 -7
- package/dist/es2019/components/i18n.js +10 -0
- package/dist/es2019/components/smart-user-picker/components/index.js +4 -3
- package/dist/es2019/components/smart-user-picker/config/index.js +2 -2
- package/dist/es2019/components/smart-user-picker/service/UsersClient.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/components/ExternalUserOption/main.js +21 -7
- package/dist/esm/components/i18n.js +10 -0
- package/dist/esm/components/smart-user-picker/components/index.js +5 -4
- package/dist/esm/components/smart-user-picker/config/index.js +2 -1
- package/dist/esm/components/smart-user-picker/service/UsersClient.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/components/i18n.d.ts +10 -0
- package/dist/types/components/smart-user-picker/components/index.d.ts +1 -1
- package/dist/types/components/smart-user-picker/config/index.d.ts +1 -1
- package/dist/types/components/smart-user-picker/service/UsersClient.d.ts +1 -0
- package/dist/types/types.d.ts +1 -1
- package/package.json +4 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @atlaskit/user-picker
|
|
2
2
|
|
|
3
|
+
## 8.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`29dd0cee8cf`](https://bitbucket.org/atlassian/atlassian-frontend/commits/29dd0cee8cf) - [ux] Add support for Jira and Confluence user sources
|
|
8
|
+
|
|
9
|
+
## 8.3.5
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
|
|
15
|
+
## 8.3.4
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [`7f48efc8487`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7f48efc8487) - Use baseUrl prop in default user value hydration query
|
|
20
|
+
|
|
21
|
+
## 8.3.3
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- Updated dependencies
|
|
26
|
+
|
|
3
27
|
## 8.3.2
|
|
4
28
|
|
|
5
29
|
### Patch Changes
|
|
@@ -25,22 +25,28 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
25
25
|
|
|
26
26
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
27
27
|
|
|
28
|
-
var _colors = require("@atlaskit/theme/colors");
|
|
29
|
-
|
|
30
|
-
var _tokens = require("@atlaskit/tokens");
|
|
31
|
-
|
|
32
28
|
var _react = _interopRequireDefault(require("react"));
|
|
33
29
|
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
var _SizeableAvatar = require("../SizeableAvatar");
|
|
30
|
+
var _reactIntlNext = require("react-intl-next");
|
|
37
31
|
|
|
38
32
|
var _panel = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/panel"));
|
|
39
33
|
|
|
34
|
+
var _confluenceIcon = require("@atlaskit/logo/confluence-icon");
|
|
35
|
+
|
|
36
|
+
var _jiraIcon = require("@atlaskit/logo/jira-icon");
|
|
37
|
+
|
|
40
38
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
41
39
|
|
|
42
40
|
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
43
41
|
|
|
42
|
+
var _colors = require("@atlaskit/theme/colors");
|
|
43
|
+
|
|
44
|
+
var _tokens = require("@atlaskit/tokens");
|
|
45
|
+
|
|
46
|
+
var _AvatarItemOption = require("../AvatarItemOption");
|
|
47
|
+
|
|
48
|
+
var _SizeableAvatar = require("../SizeableAvatar");
|
|
49
|
+
|
|
44
50
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
45
51
|
|
|
46
52
|
var _slack = require("../assets/slack");
|
|
@@ -51,8 +57,6 @@ var _microsoft = require("../assets/microsoft");
|
|
|
51
57
|
|
|
52
58
|
var _github = require("../assets/github");
|
|
53
59
|
|
|
54
|
-
var _reactIntlNext = require("react-intl-next");
|
|
55
|
-
|
|
56
60
|
var _i18n = require("../i18n");
|
|
57
61
|
|
|
58
62
|
var _ExternalUserSourcesContainer = require("../ExternalUserSourcesContainer");
|
|
@@ -63,11 +67,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
63
67
|
|
|
64
68
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
65
69
|
|
|
66
|
-
var ImageContainer = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n height:
|
|
70
|
+
var ImageContainer = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n height: 16px;\n width: 16px;\n padding-right: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
|
|
67
71
|
|
|
68
72
|
exports.ImageContainer = ImageContainer;
|
|
69
73
|
|
|
70
|
-
var SourcesTooltipContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n padding-bottom: 4px;\n"])));
|
|
74
|
+
var SourcesTooltipContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n padding-bottom: 4px;\n padding-right: 4px;\n"])));
|
|
71
75
|
|
|
72
76
|
exports.SourcesTooltipContainer = SourcesTooltipContainer;
|
|
73
77
|
|
|
@@ -94,6 +98,18 @@ var SourcesInfoMap = new Map([['slack', {
|
|
|
94
98
|
key: 'github',
|
|
95
99
|
icon: /*#__PURE__*/_react.default.createElement(_github.GitHubIcon, null),
|
|
96
100
|
label: _i18n.messages.gitHubProvider
|
|
101
|
+
}], ['jira', {
|
|
102
|
+
key: 'jira',
|
|
103
|
+
icon: /*#__PURE__*/_react.default.createElement(_jiraIcon.JiraIcon, {
|
|
104
|
+
size: 'xsmall'
|
|
105
|
+
}),
|
|
106
|
+
label: _i18n.messages.jiraSource
|
|
107
|
+
}], ['confluence', {
|
|
108
|
+
key: 'confluence',
|
|
109
|
+
icon: /*#__PURE__*/_react.default.createElement(_confluenceIcon.ConfluenceIcon, {
|
|
110
|
+
size: 'xsmall'
|
|
111
|
+
}),
|
|
112
|
+
label: _i18n.messages.confluenceSource
|
|
97
113
|
}]]);
|
|
98
114
|
|
|
99
115
|
var ExternalUserOption = /*#__PURE__*/function (_React$PureComponent) {
|
|
@@ -98,6 +98,16 @@ var messages = (0, _reactIntlNext.defineMessages)({
|
|
|
98
98
|
defaultMessage: 'GitHub',
|
|
99
99
|
description: 'This external user is sourced from GitHub provider'
|
|
100
100
|
},
|
|
101
|
+
jiraSource: {
|
|
102
|
+
id: 'fabric.elements.user-picker.source.jira',
|
|
103
|
+
defaultMessage: 'Jira',
|
|
104
|
+
description: 'This external user is sourced from Jira'
|
|
105
|
+
},
|
|
106
|
+
confluenceSource: {
|
|
107
|
+
id: 'fabric.elements.user-picker.source.confluence',
|
|
108
|
+
defaultMessage: 'Confluence',
|
|
109
|
+
description: 'This external user is sourced from Confluence'
|
|
110
|
+
},
|
|
101
111
|
memberLozengeText: {
|
|
102
112
|
id: 'fabric.elements.user-picker.member.lozenge.text',
|
|
103
113
|
defaultMessage: 'MEMBER',
|
|
@@ -114,7 +114,7 @@ function isOptionData(option) {
|
|
|
114
114
|
*/
|
|
115
115
|
|
|
116
116
|
|
|
117
|
-
function hydrateDefaultValues(_x, _x2) {
|
|
117
|
+
function hydrateDefaultValues(_x, _x2, _x3) {
|
|
118
118
|
return _hydrateDefaultValues.apply(this, arguments);
|
|
119
119
|
}
|
|
120
120
|
/**
|
|
@@ -123,7 +123,7 @@ function hydrateDefaultValues(_x, _x2) {
|
|
|
123
123
|
|
|
124
124
|
|
|
125
125
|
function _hydrateDefaultValues() {
|
|
126
|
-
_hydrateDefaultValues = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(value, productKey) {
|
|
126
|
+
_hydrateDefaultValues = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(value, productKey, baseUrl) {
|
|
127
127
|
var accountIds, results;
|
|
128
128
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
129
129
|
while (1) {
|
|
@@ -183,7 +183,8 @@ function _hydrateDefaultValues() {
|
|
|
183
183
|
_context3.next = 16;
|
|
184
184
|
return (0, _UsersClient.default)({
|
|
185
185
|
productKey: productKey,
|
|
186
|
-
accountIds: accountIds
|
|
186
|
+
accountIds: accountIds,
|
|
187
|
+
baseUrl: baseUrl
|
|
187
188
|
});
|
|
188
189
|
|
|
189
190
|
case 16:
|
|
@@ -495,7 +496,7 @@ var SmartUserPicker = /*#__PURE__*/function (_React$Component) {
|
|
|
495
496
|
case 0:
|
|
496
497
|
_context2.prev = 0;
|
|
497
498
|
_context2.next = 3;
|
|
498
|
-
return hydrateDefaultValues(this.props.defaultValue, this.props.productKey);
|
|
499
|
+
return hydrateDefaultValues(this.props.defaultValue, this.props.productKey, this.props.baseUrl);
|
|
499
500
|
|
|
500
501
|
case 3:
|
|
501
502
|
value = _context2.sent;
|
|
@@ -19,7 +19,8 @@ var PRD_CONFIG = {
|
|
|
19
19
|
return baseUrl ? "".concat(baseUrl, "/gateway/api/v1/recommendations") : '/gateway/api/v1/recommendations';
|
|
20
20
|
},
|
|
21
21
|
getUsersServiceUrl: function getUsersServiceUrl(productKey) {
|
|
22
|
-
|
|
22
|
+
var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
23
|
+
return productKey === 'jira' ? "".concat(baseUrl, "/rest/api/3/user/bulk") : "".concat(baseUrl, "/wiki/rest/api/user/bulk");
|
|
23
24
|
}
|
|
24
25
|
};
|
|
25
26
|
/**
|
|
@@ -10,7 +10,7 @@ var _config = require("../config");
|
|
|
10
10
|
var _types = require("../../../types");
|
|
11
11
|
|
|
12
12
|
var getUsersById = function getUsersById(request) {
|
|
13
|
-
var url = "".concat((0, _config.getConfig)().getUsersServiceUrl(request.productKey));
|
|
13
|
+
var url = "".concat((0, _config.getConfig)().getUsersServiceUrl(request.productKey, request.baseUrl));
|
|
14
14
|
var params = new URLSearchParams();
|
|
15
15
|
request.accountIds.map(function (id) {
|
|
16
16
|
return params.append('accountId', id);
|
package/dist/cjs/version.json
CHANGED
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
import { B400, N200, N800 } from '@atlaskit/theme/colors';
|
|
3
|
-
import { token } from '@atlaskit/tokens';
|
|
4
2
|
import React from 'react';
|
|
5
|
-
import {
|
|
6
|
-
import { SizeableAvatar } from '../SizeableAvatar';
|
|
3
|
+
import { FormattedMessage } from 'react-intl-next';
|
|
7
4
|
import EditorPanelIcon from '@atlaskit/icon/glyph/editor/panel';
|
|
5
|
+
import { ConfluenceIcon } from '@atlaskit/logo/confluence-icon';
|
|
6
|
+
import { JiraIcon } from '@atlaskit/logo/jira-icon';
|
|
8
7
|
import Tooltip from '@atlaskit/tooltip';
|
|
9
8
|
import Spinner from '@atlaskit/spinner';
|
|
9
|
+
import { B400, N200, N800 } from '@atlaskit/theme/colors';
|
|
10
|
+
import { token } from '@atlaskit/tokens';
|
|
11
|
+
import { AvatarItemOption, TextWrapper } from '../AvatarItemOption';
|
|
12
|
+
import { SizeableAvatar } from '../SizeableAvatar';
|
|
10
13
|
import styled from 'styled-components';
|
|
11
14
|
import { SlackIcon } from '../assets/slack';
|
|
12
15
|
import { GoogleIcon } from '../assets/google';
|
|
13
16
|
import { MicrosoftIcon } from '../assets/microsoft';
|
|
14
17
|
import { GitHubIcon } from '../assets/github';
|
|
15
|
-
import { FormattedMessage } from 'react-intl-next';
|
|
16
18
|
import { messages } from '../i18n';
|
|
17
19
|
import { ExternalUserSourcesContainer } from '../ExternalUserSourcesContainer';
|
|
18
20
|
export const ImageContainer = styled.span`
|
|
19
|
-
height:
|
|
20
|
-
width:
|
|
21
|
+
height: 16px;
|
|
22
|
+
width: 16px;
|
|
21
23
|
padding-right: 4px;
|
|
24
|
+
display: flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
justify-content: center;
|
|
22
27
|
`;
|
|
23
28
|
export const SourcesTooltipContainer = styled.div`
|
|
24
29
|
padding-bottom: 4px;
|
|
30
|
+
padding-right: 4px;
|
|
25
31
|
`;
|
|
26
32
|
export const SourceWrapper = styled.div`
|
|
27
33
|
padding-top: 4px;
|
|
@@ -47,6 +53,18 @@ const SourcesInfoMap = new Map([['slack', {
|
|
|
47
53
|
key: 'github',
|
|
48
54
|
icon: /*#__PURE__*/React.createElement(GitHubIcon, null),
|
|
49
55
|
label: messages.gitHubProvider
|
|
56
|
+
}], ['jira', {
|
|
57
|
+
key: 'jira',
|
|
58
|
+
icon: /*#__PURE__*/React.createElement(JiraIcon, {
|
|
59
|
+
size: 'xsmall'
|
|
60
|
+
}),
|
|
61
|
+
label: messages.jiraSource
|
|
62
|
+
}], ['confluence', {
|
|
63
|
+
key: 'confluence',
|
|
64
|
+
icon: /*#__PURE__*/React.createElement(ConfluenceIcon, {
|
|
65
|
+
size: 'xsmall'
|
|
66
|
+
}),
|
|
67
|
+
label: messages.confluenceSource
|
|
50
68
|
}]]);
|
|
51
69
|
export class ExternalUserOption extends React.PureComponent {
|
|
52
70
|
constructor(...args) {
|
|
@@ -90,6 +90,16 @@ export const messages = defineMessages({
|
|
|
90
90
|
defaultMessage: 'GitHub',
|
|
91
91
|
description: 'This external user is sourced from GitHub provider'
|
|
92
92
|
},
|
|
93
|
+
jiraSource: {
|
|
94
|
+
id: 'fabric.elements.user-picker.source.jira',
|
|
95
|
+
defaultMessage: 'Jira',
|
|
96
|
+
description: 'This external user is sourced from Jira'
|
|
97
|
+
},
|
|
98
|
+
confluenceSource: {
|
|
99
|
+
id: 'fabric.elements.user-picker.source.confluence',
|
|
100
|
+
defaultMessage: 'Confluence',
|
|
101
|
+
description: 'This external user is sourced from Confluence'
|
|
102
|
+
},
|
|
93
103
|
memberLozengeText: {
|
|
94
104
|
id: 'fabric.elements.user-picker.member.lozenge.text',
|
|
95
105
|
defaultMessage: 'MEMBER',
|
|
@@ -60,7 +60,7 @@ function isOptionData(option) {
|
|
|
60
60
|
*/
|
|
61
61
|
|
|
62
62
|
|
|
63
|
-
export async function hydrateDefaultValues(value, productKey) {
|
|
63
|
+
export async function hydrateDefaultValues(value, productKey, baseUrl) {
|
|
64
64
|
//return if no value
|
|
65
65
|
if (!value) {
|
|
66
66
|
return [];
|
|
@@ -96,7 +96,8 @@ export async function hydrateDefaultValues(value, productKey) {
|
|
|
96
96
|
|
|
97
97
|
const results = await getUsersById({
|
|
98
98
|
productKey,
|
|
99
|
-
accountIds
|
|
99
|
+
accountIds,
|
|
100
|
+
baseUrl
|
|
100
101
|
});
|
|
101
102
|
return sortResults(results, accountIds);
|
|
102
103
|
}
|
|
@@ -319,7 +320,7 @@ class SmartUserPicker extends React.Component {
|
|
|
319
320
|
|
|
320
321
|
async componentDidMount() {
|
|
321
322
|
try {
|
|
322
|
-
const value = await hydrateDefaultValues(this.props.defaultValue, this.props.productKey);
|
|
323
|
+
const value = await hydrateDefaultValues(this.props.defaultValue, this.props.productKey, this.props.baseUrl);
|
|
323
324
|
this.setState({
|
|
324
325
|
defaultValue: value
|
|
325
326
|
});
|
|
@@ -15,8 +15,8 @@ const PRD_CONFIG = {
|
|
|
15
15
|
return baseUrl ? `${baseUrl}/gateway/api/v1/recommendations` : '/gateway/api/v1/recommendations';
|
|
16
16
|
},
|
|
17
17
|
|
|
18
|
-
getUsersServiceUrl(productKey) {
|
|
19
|
-
return productKey === 'jira' ?
|
|
18
|
+
getUsersServiceUrl(productKey, baseUrl = '') {
|
|
19
|
+
return productKey === 'jira' ? `${baseUrl}/rest/api/3/user/bulk` : `${baseUrl}/wiki/rest/api/user/bulk`;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
};
|
|
@@ -5,7 +5,7 @@ import { UserType } from '../../../types';
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
const getUsersById = request => {
|
|
8
|
-
const url = `${getConfig().getUsersServiceUrl(request.productKey)}`;
|
|
8
|
+
const url = `${getConfig().getUsersServiceUrl(request.productKey, request.baseUrl)}`;
|
|
9
9
|
let params = new URLSearchParams();
|
|
10
10
|
request.accountIds.map(id => params.append('accountId', id));
|
|
11
11
|
params.append('maxResults', '2000');
|
package/dist/es2019/version.json
CHANGED
|
@@ -14,24 +14,26 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
14
14
|
|
|
15
15
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
16
16
|
|
|
17
|
-
import { B400, N200, N800 } from '@atlaskit/theme/colors';
|
|
18
|
-
import { token } from '@atlaskit/tokens';
|
|
19
17
|
import React from 'react';
|
|
20
|
-
import {
|
|
21
|
-
import { SizeableAvatar } from '../SizeableAvatar';
|
|
18
|
+
import { FormattedMessage } from 'react-intl-next';
|
|
22
19
|
import EditorPanelIcon from '@atlaskit/icon/glyph/editor/panel';
|
|
20
|
+
import { ConfluenceIcon } from '@atlaskit/logo/confluence-icon';
|
|
21
|
+
import { JiraIcon } from '@atlaskit/logo/jira-icon';
|
|
23
22
|
import Tooltip from '@atlaskit/tooltip';
|
|
24
23
|
import Spinner from '@atlaskit/spinner';
|
|
24
|
+
import { B400, N200, N800 } from '@atlaskit/theme/colors';
|
|
25
|
+
import { token } from '@atlaskit/tokens';
|
|
26
|
+
import { AvatarItemOption, TextWrapper } from '../AvatarItemOption';
|
|
27
|
+
import { SizeableAvatar } from '../SizeableAvatar';
|
|
25
28
|
import styled from 'styled-components';
|
|
26
29
|
import { SlackIcon } from '../assets/slack';
|
|
27
30
|
import { GoogleIcon } from '../assets/google';
|
|
28
31
|
import { MicrosoftIcon } from '../assets/microsoft';
|
|
29
32
|
import { GitHubIcon } from '../assets/github';
|
|
30
|
-
import { FormattedMessage } from 'react-intl-next';
|
|
31
33
|
import { messages } from '../i18n';
|
|
32
34
|
import { ExternalUserSourcesContainer } from '../ExternalUserSourcesContainer';
|
|
33
|
-
export var ImageContainer = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height:
|
|
34
|
-
export var SourcesTooltipContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding-bottom: 4px;\n"])));
|
|
35
|
+
export var ImageContainer = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: 16px;\n width: 16px;\n padding-right: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
|
|
36
|
+
export var SourcesTooltipContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding-bottom: 4px;\n padding-right: 4px;\n"])));
|
|
35
37
|
export var SourceWrapper = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n padding-top: 4px;\n display: flex;\n align-items: center;\n"])));
|
|
36
38
|
export var EmailDomainWrapper = styled.span(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n font-weight: bold;\n"])));
|
|
37
39
|
var SourcesInfoMap = new Map([['slack', {
|
|
@@ -50,6 +52,18 @@ var SourcesInfoMap = new Map([['slack', {
|
|
|
50
52
|
key: 'github',
|
|
51
53
|
icon: /*#__PURE__*/React.createElement(GitHubIcon, null),
|
|
52
54
|
label: messages.gitHubProvider
|
|
55
|
+
}], ['jira', {
|
|
56
|
+
key: 'jira',
|
|
57
|
+
icon: /*#__PURE__*/React.createElement(JiraIcon, {
|
|
58
|
+
size: 'xsmall'
|
|
59
|
+
}),
|
|
60
|
+
label: messages.jiraSource
|
|
61
|
+
}], ['confluence', {
|
|
62
|
+
key: 'confluence',
|
|
63
|
+
icon: /*#__PURE__*/React.createElement(ConfluenceIcon, {
|
|
64
|
+
size: 'xsmall'
|
|
65
|
+
}),
|
|
66
|
+
label: messages.confluenceSource
|
|
53
67
|
}]]);
|
|
54
68
|
export var ExternalUserOption = /*#__PURE__*/function (_React$PureComponent) {
|
|
55
69
|
_inherits(ExternalUserOption, _React$PureComponent);
|
|
@@ -90,6 +90,16 @@ export var messages = defineMessages({
|
|
|
90
90
|
defaultMessage: 'GitHub',
|
|
91
91
|
description: 'This external user is sourced from GitHub provider'
|
|
92
92
|
},
|
|
93
|
+
jiraSource: {
|
|
94
|
+
id: 'fabric.elements.user-picker.source.jira',
|
|
95
|
+
defaultMessage: 'Jira',
|
|
96
|
+
description: 'This external user is sourced from Jira'
|
|
97
|
+
},
|
|
98
|
+
confluenceSource: {
|
|
99
|
+
id: 'fabric.elements.user-picker.source.confluence',
|
|
100
|
+
defaultMessage: 'Confluence',
|
|
101
|
+
description: 'This external user is sourced from Confluence'
|
|
102
|
+
},
|
|
93
103
|
memberLozengeText: {
|
|
94
104
|
id: 'fabric.elements.user-picker.member.lozenge.text',
|
|
95
105
|
defaultMessage: 'MEMBER',
|
|
@@ -84,7 +84,7 @@ function isOptionData(option) {
|
|
|
84
84
|
*/
|
|
85
85
|
|
|
86
86
|
|
|
87
|
-
export function hydrateDefaultValues(_x, _x2) {
|
|
87
|
+
export function hydrateDefaultValues(_x, _x2, _x3) {
|
|
88
88
|
return _hydrateDefaultValues.apply(this, arguments);
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
@@ -92,7 +92,7 @@ export function hydrateDefaultValues(_x, _x2) {
|
|
|
92
92
|
*/
|
|
93
93
|
|
|
94
94
|
function _hydrateDefaultValues() {
|
|
95
|
-
_hydrateDefaultValues = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(value, productKey) {
|
|
95
|
+
_hydrateDefaultValues = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(value, productKey, baseUrl) {
|
|
96
96
|
var accountIds, results;
|
|
97
97
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
98
98
|
while (1) {
|
|
@@ -152,7 +152,8 @@ function _hydrateDefaultValues() {
|
|
|
152
152
|
_context3.next = 16;
|
|
153
153
|
return getUsersById({
|
|
154
154
|
productKey: productKey,
|
|
155
|
-
accountIds: accountIds
|
|
155
|
+
accountIds: accountIds,
|
|
156
|
+
baseUrl: baseUrl
|
|
156
157
|
});
|
|
157
158
|
|
|
158
159
|
case 16:
|
|
@@ -474,7 +475,7 @@ var SmartUserPicker = /*#__PURE__*/function (_React$Component) {
|
|
|
474
475
|
case 0:
|
|
475
476
|
_context2.prev = 0;
|
|
476
477
|
_context2.next = 3;
|
|
477
|
-
return hydrateDefaultValues(this.props.defaultValue, this.props.productKey);
|
|
478
|
+
return hydrateDefaultValues(this.props.defaultValue, this.props.productKey, this.props.baseUrl);
|
|
478
479
|
|
|
479
480
|
case 3:
|
|
480
481
|
value = _context2.sent;
|
|
@@ -13,7 +13,8 @@ var PRD_CONFIG = {
|
|
|
13
13
|
return baseUrl ? "".concat(baseUrl, "/gateway/api/v1/recommendations") : '/gateway/api/v1/recommendations';
|
|
14
14
|
},
|
|
15
15
|
getUsersServiceUrl: function getUsersServiceUrl(productKey) {
|
|
16
|
-
|
|
16
|
+
var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
17
|
+
return productKey === 'jira' ? "".concat(baseUrl, "/rest/api/3/user/bulk") : "".concat(baseUrl, "/wiki/rest/api/user/bulk");
|
|
17
18
|
}
|
|
18
19
|
};
|
|
19
20
|
/**
|
|
@@ -5,7 +5,7 @@ import { UserType } from '../../../types';
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
var getUsersById = function getUsersById(request) {
|
|
8
|
-
var url = "".concat(getConfig().getUsersServiceUrl(request.productKey));
|
|
8
|
+
var url = "".concat(getConfig().getUsersServiceUrl(request.productKey, request.baseUrl));
|
|
9
9
|
var params = new URLSearchParams();
|
|
10
10
|
request.accountIds.map(function (id) {
|
|
11
11
|
return params.append('accountId', id);
|
package/dist/esm/version.json
CHANGED
|
@@ -89,6 +89,16 @@ export declare const messages: {
|
|
|
89
89
|
defaultMessage: string;
|
|
90
90
|
description: string;
|
|
91
91
|
};
|
|
92
|
+
jiraSource: {
|
|
93
|
+
id: string;
|
|
94
|
+
defaultMessage: string;
|
|
95
|
+
description: string;
|
|
96
|
+
};
|
|
97
|
+
confluenceSource: {
|
|
98
|
+
id: string;
|
|
99
|
+
defaultMessage: string;
|
|
100
|
+
description: string;
|
|
101
|
+
};
|
|
92
102
|
memberLozengeText: {
|
|
93
103
|
id: string;
|
|
94
104
|
defaultMessage: string;
|
|
@@ -180,7 +180,7 @@ export interface RecommendationRequest {
|
|
|
180
180
|
/**
|
|
181
181
|
* @deprecated Please use @atlassian/smart-user-picker
|
|
182
182
|
*/
|
|
183
|
-
export declare function hydrateDefaultValues(value: DefaultValue, productKey: SupportedProduct): Promise<User[]>;
|
|
183
|
+
export declare function hydrateDefaultValues(value: DefaultValue, productKey: SupportedProduct, baseUrl?: string): Promise<User[]>;
|
|
184
184
|
/**
|
|
185
185
|
* @deprecated
|
|
186
186
|
*/
|
package/dist/types/types.d.ts
CHANGED
|
@@ -208,7 +208,7 @@ export interface OptionData {
|
|
|
208
208
|
lozenge?: string | LozengeProps;
|
|
209
209
|
}
|
|
210
210
|
export declare const UserType = "user";
|
|
211
|
-
export declare type UserSource = 'google' | 'slack' | 'microsoft' | 'github';
|
|
211
|
+
export declare type UserSource = 'google' | 'slack' | 'microsoft' | 'github' | 'jira' | 'confluence';
|
|
212
212
|
export interface ExternalUser extends User {
|
|
213
213
|
requiresSourceHydration?: boolean;
|
|
214
214
|
sources: UserSource[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/user-picker",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.4.0",
|
|
4
4
|
"description": "Fabric component for display a dropdown to select a user from",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -29,12 +29,13 @@
|
|
|
29
29
|
"@atlaskit/analytics-next": "^8.2.0",
|
|
30
30
|
"@atlaskit/avatar": "^20.5.0",
|
|
31
31
|
"@atlaskit/icon": "^21.10.0",
|
|
32
|
+
"@atlaskit/logo": "^13.5.4",
|
|
32
33
|
"@atlaskit/lozenge": "^11.0.0",
|
|
33
34
|
"@atlaskit/popper": "^5.0.0",
|
|
34
35
|
"@atlaskit/select": "^15.2.0",
|
|
35
36
|
"@atlaskit/spinner": "^15.1.4",
|
|
36
37
|
"@atlaskit/theme": "^12.1.0",
|
|
37
|
-
"@atlaskit/tokens": "^0.
|
|
38
|
+
"@atlaskit/tokens": "^0.6.0",
|
|
38
39
|
"@atlaskit/tooltip": "^17.5.0",
|
|
39
40
|
"@babel/runtime": "^7.0.0",
|
|
40
41
|
"lodash": "^4.17.21",
|
|
@@ -57,7 +58,7 @@
|
|
|
57
58
|
"@atlaskit/range": "^5.0.11",
|
|
58
59
|
"@atlaskit/section-message": "^6.0.0",
|
|
59
60
|
"@atlaskit/textfield": "^5.0.0",
|
|
60
|
-
"@atlaskit/util-data-test": "^17.
|
|
61
|
+
"@atlaskit/util-data-test": "^17.2.0",
|
|
61
62
|
"@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
|
|
62
63
|
"@testing-library/dom": "^7.7.3",
|
|
63
64
|
"@testing-library/jest-dom": "^4.1.0",
|
|
@@ -76,10 +77,5 @@
|
|
|
76
77
|
"fabric",
|
|
77
78
|
"ui"
|
|
78
79
|
],
|
|
79
|
-
"techstack": {
|
|
80
|
-
"@repo/internal": {
|
|
81
|
-
"theming": "tokens"
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
80
|
"prettier": "@atlassian/atlassian-frontend-prettier-config-1.0.1"
|
|
85
81
|
}
|