@atlaskit/smart-user-picker 11.5.1 → 11.7.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/analytics.js +3 -100
- package/dist/cjs/components/SmartUserPicker.js +42 -31
- package/dist/cjs/createDefaultSmartPickerAttributes.js +39 -0
- package/dist/cjs/createEvent.js +24 -0
- package/dist/cjs/createSmartUserPickerEvent.js +17 -0
- package/dist/cjs/failedRequestUsersEvent.js +16 -0
- package/dist/cjs/failedUserResolversEvent.js +16 -0
- package/dist/cjs/filterUsersEvent.js +16 -0
- package/dist/cjs/index.js +4 -3
- package/dist/cjs/mountedWithPrefetchEvent.js +16 -0
- package/dist/cjs/packageName.js +7 -0
- package/dist/cjs/packageVersion.js +7 -0
- package/dist/cjs/preparedUsersLoadedEvent.js +16 -0
- package/dist/cjs/requestUsersEvent.js +16 -0
- package/dist/cjs/service/default-value-hydration-client.js +3 -3
- package/dist/cjs/service/users-transformer.js +11 -11
- package/dist/cjs/startSession.js +20 -0
- package/dist/cjs/successfulRequestUsersEvent.js +16 -0
- package/dist/cjs/ufoExperiences.js +8 -7
- package/dist/cjs/useUFOConcurrentExperience.js +3 -3
- package/dist/es2019/analytics.js +2 -95
- package/dist/es2019/components/SmartUserPicker.js +19 -6
- package/dist/es2019/createDefaultSmartPickerAttributes.js +37 -0
- package/dist/es2019/createEvent.js +12 -0
- package/dist/es2019/createSmartUserPickerEvent.js +5 -0
- package/dist/es2019/failedRequestUsersEvent.js +6 -0
- package/dist/es2019/failedUserResolversEvent.js +6 -0
- package/dist/es2019/filterUsersEvent.js +6 -0
- package/dist/es2019/index.js +2 -1
- package/dist/es2019/mountedWithPrefetchEvent.js +6 -0
- package/dist/es2019/packageName.js +1 -0
- package/dist/es2019/packageVersion.js +1 -0
- package/dist/es2019/preparedUsersLoadedEvent.js +6 -0
- package/dist/es2019/requestUsersEvent.js +6 -0
- package/dist/es2019/service/default-value-hydration-client.js +1 -1
- package/dist/es2019/service/users-transformer.js +2 -2
- package/dist/es2019/startSession.js +11 -0
- package/dist/es2019/successfulRequestUsersEvent.js +6 -0
- package/dist/es2019/ufoExperiences.js +2 -1
- package/dist/es2019/useUFOConcurrentExperience.js +1 -1
- package/dist/esm/analytics.js +2 -100
- package/dist/esm/components/SmartUserPicker.js +19 -6
- package/dist/esm/createDefaultSmartPickerAttributes.js +33 -0
- package/dist/esm/createEvent.js +17 -0
- package/dist/esm/createSmartUserPickerEvent.js +10 -0
- package/dist/esm/failedRequestUsersEvent.js +9 -0
- package/dist/esm/failedUserResolversEvent.js +9 -0
- package/dist/esm/filterUsersEvent.js +9 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/mountedWithPrefetchEvent.js +9 -0
- package/dist/esm/packageName.js +1 -0
- package/dist/esm/packageVersion.js +1 -0
- package/dist/esm/preparedUsersLoadedEvent.js +9 -0
- package/dist/esm/requestUsersEvent.js +9 -0
- package/dist/esm/service/default-value-hydration-client.js +1 -1
- package/dist/esm/service/users-transformer.js +2 -2
- package/dist/esm/startSession.js +13 -0
- package/dist/esm/successfulRequestUsersEvent.js +9 -0
- package/dist/esm/ufoExperiences.js +2 -1
- package/dist/esm/useUFOConcurrentExperience.js +1 -1
- package/dist/types/analytics.d.ts +3 -9
- package/dist/types/components/SmartUserPicker.d.ts +2 -2
- package/dist/types/createDefaultSmartPickerAttributes.d.ts +1 -0
- package/dist/types/createEvent.d.ts +2 -0
- package/dist/types/createSmartUserPickerEvent.d.ts +2 -0
- package/dist/types/failedRequestUsersEvent.d.ts +2 -0
- package/dist/types/failedUserResolversEvent.d.ts +2 -0
- package/dist/types/filterUsersEvent.d.ts +2 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/mountedWithPrefetchEvent.d.ts +2 -0
- package/dist/types/packageName.d.ts +1 -0
- package/dist/types/packageVersion.d.ts +1 -0
- package/dist/types/preparedUsersLoadedEvent.d.ts +2 -0
- package/dist/types/requestUsersEvent.d.ts +2 -0
- package/dist/types/service/constants.d.ts +1 -1
- package/dist/types/service/default-value-hydration-client.d.ts +1 -1
- package/dist/types/service/recommendation-client.d.ts +1 -1
- package/dist/types/service/teams-client.d.ts +1 -1
- package/dist/types/service/users-client.d.ts +1 -1
- package/dist/types/service/users-transformer.d.ts +1 -1
- package/dist/types/startSession.d.ts +2 -0
- package/dist/types/successfulRequestUsersEvent.d.ts +2 -0
- package/dist/types/types.d.ts +2 -2
- package/dist/types/ufoExperiences.d.ts +1 -1
- package/dist/types/useUFOConcurrentExperience.d.ts +1 -1
- package/package.json +13 -9
- package/dist/cjs/service/index.js +0 -20
- package/dist/es2019/service/index.js +0 -2
- package/dist/esm/service/index.js +0 -2
- package/dist/types/service/index.d.ts +0 -2
- package/report.api.md +0 -301
|
@@ -9,7 +9,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
-
var
|
|
12
|
+
var _types = require("@atlaskit/user-picker/types");
|
|
13
13
|
var _config = require("../config");
|
|
14
14
|
var _usersClient = _interopRequireDefault(require("./users-client"));
|
|
15
15
|
var _teamsClient = _interopRequireDefault(require("./teams-client"));
|
|
@@ -51,7 +51,7 @@ var transformJiraUser = function transformJiraUser(item) {
|
|
|
51
51
|
}
|
|
52
52
|
return {
|
|
53
53
|
id: item.accountId,
|
|
54
|
-
type:
|
|
54
|
+
type: _types.UserType,
|
|
55
55
|
avatarUrl: item.avatarUrls ? item.avatarUrls['16x16'] : '',
|
|
56
56
|
name: item.displayName,
|
|
57
57
|
email: item.emailAddress
|
|
@@ -70,7 +70,7 @@ var transformConfluenceUser = function transformConfluenceUser(item) {
|
|
|
70
70
|
}
|
|
71
71
|
return {
|
|
72
72
|
id: item.accountId,
|
|
73
|
-
type:
|
|
73
|
+
type: _types.UserType,
|
|
74
74
|
avatarUrl: item.profilePicture ? item.profilePicture.path : '',
|
|
75
75
|
name: item.publicName,
|
|
76
76
|
email: item.email
|
|
@@ -4,24 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.transformUsers = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _types = require("@atlaskit/user-picker/types");
|
|
8
8
|
var _i18n = require("../i18n");
|
|
9
|
-
var
|
|
10
|
-
var
|
|
9
|
+
var _types2 = require("../types");
|
|
10
|
+
var _fg = require("@atlaskit/platform-feature-flags/fg");
|
|
11
11
|
var getLozenzeProperties = function getLozenzeProperties(entity, intl) {
|
|
12
12
|
var _entity$attributes, _entity$attributes2, _entity$attributes3;
|
|
13
13
|
if ((_entity$attributes = entity.attributes) !== null && _entity$attributes !== void 0 && _entity$attributes.workspaceMember) {
|
|
14
14
|
return intl.formatMessage(_i18n.messages.memberLozengeText);
|
|
15
15
|
}
|
|
16
16
|
if ((_entity$attributes2 = entity.attributes) !== null && _entity$attributes2 !== void 0 && _entity$attributes2.isConfluenceExternalCollaborator) {
|
|
17
|
-
var lozengeTooltipMessage = entity.entityType ===
|
|
17
|
+
var lozengeTooltipMessage = entity.entityType === _types2.EntityType.GROUP ? _i18n.messages.guestGroupLozengeTooltip : _i18n.messages.guestUserLozengeTooltip;
|
|
18
18
|
return {
|
|
19
19
|
text: intl.formatMessage(_i18n.messages.guestLozengeText),
|
|
20
20
|
tooltip: intl.formatMessage(lozengeTooltipMessage),
|
|
21
21
|
appearance: 'default'
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
var isJiraGuestUser = (0,
|
|
24
|
+
var isJiraGuestUser = (0, _fg.fg)('user_picker_guest_lozenges') && ((_entity$attributes3 = entity.attributes) === null || _entity$attributes3 === void 0 ? void 0 : _entity$attributes3.isJiraGuest);
|
|
25
25
|
if (isJiraGuestUser) {
|
|
26
26
|
return intl.formatMessage(_i18n.messages.guestLozengeText);
|
|
27
27
|
}
|
|
@@ -29,13 +29,13 @@ var getLozenzeProperties = function getLozenzeProperties(entity, intl) {
|
|
|
29
29
|
};
|
|
30
30
|
var transformUser = function transformUser(item, intl) {
|
|
31
31
|
var type = item.entityType;
|
|
32
|
-
if (type ===
|
|
32
|
+
if (type === _types2.EntityType.USER) {
|
|
33
33
|
var _user$attributes;
|
|
34
34
|
var user = item;
|
|
35
35
|
var lozenge = getLozenzeProperties(user, intl);
|
|
36
36
|
return {
|
|
37
37
|
id: user.id,
|
|
38
|
-
type: user.nonLicensedUser ?
|
|
38
|
+
type: user.nonLicensedUser ? _types.ExternalUserType : _types.UserType,
|
|
39
39
|
userType: user.userType,
|
|
40
40
|
avatarUrl: user.avatarUrl,
|
|
41
41
|
name: user.name,
|
|
@@ -48,12 +48,12 @@ var transformUser = function transformUser(item, intl) {
|
|
|
48
48
|
appType: user.appType !== undefined ? user.appType : (_user$attributes = user.attributes) === null || _user$attributes === void 0 ? void 0 : _user$attributes.appType
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
if (type ===
|
|
51
|
+
if (type === _types2.EntityType.TEAM) {
|
|
52
52
|
var _team$type;
|
|
53
53
|
var team = item;
|
|
54
54
|
return {
|
|
55
55
|
id: team.id,
|
|
56
|
-
type:
|
|
56
|
+
type: _types.TeamType,
|
|
57
57
|
description: team.description || '',
|
|
58
58
|
name: team.displayName || '',
|
|
59
59
|
memberCount: team.memberCount,
|
|
@@ -66,12 +66,12 @@ var transformUser = function transformUser(item, intl) {
|
|
|
66
66
|
state: team.state
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
|
-
if (type ===
|
|
69
|
+
if (type === _types2.EntityType.GROUP) {
|
|
70
70
|
var group = item;
|
|
71
71
|
var _lozenge = getLozenzeProperties(group, intl);
|
|
72
72
|
return {
|
|
73
73
|
id: group.id,
|
|
74
|
-
type:
|
|
74
|
+
type: _types.GroupType,
|
|
75
75
|
name: group.name || '',
|
|
76
76
|
lozenge: _lozenge
|
|
77
77
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.startSession = void 0;
|
|
7
|
+
var _uuid = require("uuid");
|
|
8
|
+
// eslint-disable-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
9
|
+
|
|
10
|
+
var startSession = exports.startSession = function startSession() {
|
|
11
|
+
return {
|
|
12
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
13
|
+
id: (0, _uuid.v4)(),
|
|
14
|
+
start: Date.now(),
|
|
15
|
+
inputChangeTime: Date.now(),
|
|
16
|
+
upCount: 0,
|
|
17
|
+
downCount: 0,
|
|
18
|
+
lastKey: undefined
|
|
19
|
+
};
|
|
20
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.successfulRequestUsersEvent = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _createDefaultSmartPickerAttributes = require("./createDefaultSmartPickerAttributes");
|
|
10
|
+
var _createSmartUserPickerEvent = require("./createSmartUserPickerEvent");
|
|
11
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
+
var successfulRequestUsersEvent = exports.successfulRequestUsersEvent = function successfulRequestUsersEvent(props, state) {
|
|
14
|
+
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
15
|
+
return (0, _createSmartUserPickerEvent.createSmartUserPickerEvent)('successful', 'usersRequest', _objectSpread(_objectSpread({}, (0, _createDefaultSmartPickerAttributes.createDefaultSmartPickerAttributes)(props, state)), attributes));
|
|
16
|
+
};
|
|
@@ -4,19 +4,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.smartUserPickerRenderedUfoExperience = exports.smartUserPickerOptionsShownUfoExperience = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _experienceTypes = require("@atlaskit/ufo/experience-types");
|
|
8
|
+
var _concurrentExperience = require("@atlaskit/ufo/concurrent-experience");
|
|
8
9
|
var COMPONENT_NAME = 'smart-user-picker';
|
|
9
|
-
var smartUserPickerRenderedUfoExperience = exports.smartUserPickerRenderedUfoExperience = new
|
|
10
|
+
var smartUserPickerRenderedUfoExperience = exports.smartUserPickerRenderedUfoExperience = new _concurrentExperience.ConcurrentExperience('smart-user-picker-rendered', {
|
|
10
11
|
platform: {
|
|
11
12
|
component: COMPONENT_NAME
|
|
12
13
|
},
|
|
13
|
-
type:
|
|
14
|
-
performanceType:
|
|
14
|
+
type: _experienceTypes.ExperienceTypes.Load,
|
|
15
|
+
performanceType: _experienceTypes.ExperiencePerformanceTypes.PageSegmentLoad
|
|
15
16
|
});
|
|
16
|
-
var smartUserPickerOptionsShownUfoExperience = exports.smartUserPickerOptionsShownUfoExperience = new
|
|
17
|
+
var smartUserPickerOptionsShownUfoExperience = exports.smartUserPickerOptionsShownUfoExperience = new _concurrentExperience.ConcurrentExperience('smart-user-picker-options-shown', {
|
|
17
18
|
platform: {
|
|
18
19
|
component: COMPONENT_NAME
|
|
19
20
|
},
|
|
20
|
-
type:
|
|
21
|
-
performanceType:
|
|
21
|
+
type: _experienceTypes.ExperienceTypes.Operation,
|
|
22
|
+
performanceType: _experienceTypes.ExperiencePerformanceTypes.InlineResult
|
|
22
23
|
});
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useUFOConcurrentExperience = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
-
var
|
|
8
|
+
var _experienceState = require("@atlaskit/ufo/experience-state");
|
|
9
9
|
var useUFOConcurrentExperience = exports.useUFOConcurrentExperience = function useUFOConcurrentExperience(experience, id) {
|
|
10
10
|
var experienceForId = experience.getInstance(id);
|
|
11
11
|
|
|
@@ -17,11 +17,11 @@ var useUFOConcurrentExperience = exports.useUFOConcurrentExperience = function u
|
|
|
17
17
|
|
|
18
18
|
// Replace with @atlaskit/ufo's <ExperienceSuccess> when it supports ConcurrentExperience
|
|
19
19
|
(0, _react.useEffect)(function () {
|
|
20
|
-
if (experienceForId.state !==
|
|
20
|
+
if (experienceForId.state !== _experienceState.UFOExperienceState['FAILED']) {
|
|
21
21
|
experienceForId.success();
|
|
22
22
|
}
|
|
23
23
|
return function () {
|
|
24
|
-
if ([
|
|
24
|
+
if ([_experienceState.UFOExperienceState['STARTED'], _experienceState.UFOExperienceState['IN_PROGRESS']].includes(experienceForId.state)) {
|
|
25
25
|
experienceForId.abort();
|
|
26
26
|
}
|
|
27
27
|
};
|
package/dist/es2019/analytics.js
CHANGED
|
@@ -1,95 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
4
|
-
import { v4 as uuid } from 'uuid';
|
|
5
|
-
const packageName = "@atlaskit/smart-user-picker";
|
|
6
|
-
const packageVersion = "11.5.0";
|
|
7
|
-
export const startSession = () => ({
|
|
8
|
-
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
9
|
-
id: uuid(),
|
|
10
|
-
start: Date.now(),
|
|
11
|
-
inputChangeTime: Date.now(),
|
|
12
|
-
upCount: 0,
|
|
13
|
-
downCount: 0,
|
|
14
|
-
lastKey: undefined
|
|
15
|
-
});
|
|
16
|
-
export const createAndFireEventInElementsChannel = createAndFireEvent('fabric-elements');
|
|
17
|
-
const createEvent = (eventType, action, actionSubject, attributes = {}) => ({
|
|
18
|
-
eventType,
|
|
19
|
-
action,
|
|
20
|
-
actionSubject,
|
|
21
|
-
attributes: {
|
|
22
|
-
packageName,
|
|
23
|
-
packageVersion,
|
|
24
|
-
...attributes
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
const createDefaultSmartPickerAttributes = (props, state) => {
|
|
28
|
-
const {
|
|
29
|
-
fieldId,
|
|
30
|
-
objectId,
|
|
31
|
-
containerId,
|
|
32
|
-
childObjectId,
|
|
33
|
-
prefetch,
|
|
34
|
-
maxOptions,
|
|
35
|
-
includeTeams,
|
|
36
|
-
productKey,
|
|
37
|
-
principalId,
|
|
38
|
-
siteId,
|
|
39
|
-
orgId,
|
|
40
|
-
filterOptions
|
|
41
|
-
} = props;
|
|
42
|
-
const {
|
|
43
|
-
sessionId,
|
|
44
|
-
query
|
|
45
|
-
} = state;
|
|
46
|
-
const maxNumberOfResults = maxOptions || 100;
|
|
47
|
-
return {
|
|
48
|
-
context: fieldId,
|
|
49
|
-
childObjectId,
|
|
50
|
-
containerId,
|
|
51
|
-
hasFilterOptions: Boolean(filterOptions),
|
|
52
|
-
includeTeams,
|
|
53
|
-
maxNumberOfResults,
|
|
54
|
-
objectId,
|
|
55
|
-
prefetch,
|
|
56
|
-
principalId,
|
|
57
|
-
productKey,
|
|
58
|
-
queryLength: (query || '').length,
|
|
59
|
-
siteId,
|
|
60
|
-
orgId,
|
|
61
|
-
sessionId
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
const createSmartUserPickerEvent = (action, actionSubect, attributes = {}) => ({
|
|
65
|
-
source: 'smart-user-picker',
|
|
66
|
-
...createEvent('operational', action, actionSubect, attributes)
|
|
67
|
-
});
|
|
68
|
-
export const preparedUsersLoadedEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('loaded', 'preparedUsers', {
|
|
69
|
-
...createDefaultSmartPickerAttributes(props, state),
|
|
70
|
-
...attributes
|
|
71
|
-
});
|
|
72
|
-
export const mountedWithPrefetchEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('mounted', 'prefetch', {
|
|
73
|
-
...createDefaultSmartPickerAttributes(props, state),
|
|
74
|
-
...attributes
|
|
75
|
-
});
|
|
76
|
-
export const filterUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('filtered', 'users', {
|
|
77
|
-
...createDefaultSmartPickerAttributes(props, state),
|
|
78
|
-
...attributes
|
|
79
|
-
});
|
|
80
|
-
export const requestUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('requested', 'users', {
|
|
81
|
-
...createDefaultSmartPickerAttributes(props, state),
|
|
82
|
-
...attributes
|
|
83
|
-
});
|
|
84
|
-
export const successfulRequestUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('successful', 'usersRequest', {
|
|
85
|
-
...createDefaultSmartPickerAttributes(props, state),
|
|
86
|
-
...attributes
|
|
87
|
-
});
|
|
88
|
-
export const failedRequestUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('failed', 'usersRequest', {
|
|
89
|
-
...createDefaultSmartPickerAttributes(props, state),
|
|
90
|
-
...attributes
|
|
91
|
-
});
|
|
92
|
-
export const failedUserResolversEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('failed', 'userResolversRequest', {
|
|
93
|
-
...createDefaultSmartPickerAttributes(props, state),
|
|
94
|
-
...attributes
|
|
95
|
-
});
|
|
1
|
+
import createAndFireEvent from '@atlaskit/analytics-next/createAndFireEvents';
|
|
2
|
+
export const createAndFireEventInElementsChannel = createAndFireEvent('fabric-elements');
|
|
@@ -4,16 +4,29 @@ import React from 'react';
|
|
|
4
4
|
import debounce from 'lodash/debounce';
|
|
5
5
|
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
6
6
|
import { v4 as uuidV4 } from 'uuid';
|
|
7
|
-
import
|
|
7
|
+
import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
|
|
8
8
|
import memoizeOne from 'memoize-one';
|
|
9
9
|
import { injectIntl } from 'react-intl';
|
|
10
|
-
import { UFOExperienceState } from '@atlaskit/ufo';
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
10
|
+
import { UFOExperienceState } from '@atlaskit/ufo/experience-state';
|
|
11
|
+
import { UserPicker } from '@atlaskit/user-picker/components/user-picker';
|
|
12
|
+
import { isExternalUser } from '@atlaskit/user-picker/is-external-user';
|
|
13
|
+
import { isTeam } from '@atlaskit/user-picker/is-team';
|
|
14
|
+
import { isGroup } from '@atlaskit/user-picker/is-group';
|
|
15
|
+
import { isUser } from '@atlaskit/user-picker/is-user';
|
|
16
|
+
import { isValidEmail } from '@atlaskit/user-picker/components/email-validation';
|
|
17
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
18
|
+
import { createAndFireEventInElementsChannel } from '../analytics';
|
|
19
|
+
import { failedRequestUsersEvent } from '../failedRequestUsersEvent';
|
|
20
|
+
import { failedUserResolversEvent } from '../failedUserResolversEvent';
|
|
21
|
+
import { filterUsersEvent } from '../filterUsersEvent';
|
|
22
|
+
import { mountedWithPrefetchEvent } from '../mountedWithPrefetchEvent';
|
|
23
|
+
import { preparedUsersLoadedEvent } from '../preparedUsersLoadedEvent';
|
|
24
|
+
import { requestUsersEvent } from '../requestUsersEvent';
|
|
25
|
+
import { successfulRequestUsersEvent } from '../successfulRequestUsersEvent';
|
|
14
26
|
import MessagesIntlProvider from './MessagesIntlProvider';
|
|
15
27
|
import { UserEntityType } from '../types';
|
|
16
|
-
import
|
|
28
|
+
import getUserRecommendations from '../service/recommendation-client';
|
|
29
|
+
import hydrateDefaultValues from '../service/default-value-hydration-client';
|
|
17
30
|
import { smartUserPickerOptionsShownUfoExperience } from '../ufoExperiences';
|
|
18
31
|
const DEFAULT_DEBOUNCE_TIME_MS = 150;
|
|
19
32
|
const ufoEndStateConfig = fieldId => {
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export const createDefaultSmartPickerAttributes = (props, state) => {
|
|
2
|
+
const {
|
|
3
|
+
fieldId,
|
|
4
|
+
objectId,
|
|
5
|
+
containerId,
|
|
6
|
+
childObjectId,
|
|
7
|
+
prefetch,
|
|
8
|
+
maxOptions,
|
|
9
|
+
includeTeams,
|
|
10
|
+
productKey,
|
|
11
|
+
principalId,
|
|
12
|
+
siteId,
|
|
13
|
+
orgId,
|
|
14
|
+
filterOptions
|
|
15
|
+
} = props;
|
|
16
|
+
const {
|
|
17
|
+
sessionId,
|
|
18
|
+
query
|
|
19
|
+
} = state;
|
|
20
|
+
const maxNumberOfResults = maxOptions || 100;
|
|
21
|
+
return {
|
|
22
|
+
context: fieldId,
|
|
23
|
+
childObjectId,
|
|
24
|
+
containerId,
|
|
25
|
+
hasFilterOptions: Boolean(filterOptions),
|
|
26
|
+
includeTeams,
|
|
27
|
+
maxNumberOfResults,
|
|
28
|
+
objectId,
|
|
29
|
+
prefetch,
|
|
30
|
+
principalId,
|
|
31
|
+
productKey,
|
|
32
|
+
queryLength: (query || '').length,
|
|
33
|
+
siteId,
|
|
34
|
+
orgId,
|
|
35
|
+
sessionId
|
|
36
|
+
};
|
|
37
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { packageName } from './packageName';
|
|
2
|
+
import { packageVersion } from './packageVersion';
|
|
3
|
+
export const createEvent = (eventType, action, actionSubject, attributes = {}) => ({
|
|
4
|
+
eventType,
|
|
5
|
+
action,
|
|
6
|
+
actionSubject,
|
|
7
|
+
attributes: {
|
|
8
|
+
packageName,
|
|
9
|
+
packageVersion,
|
|
10
|
+
...attributes
|
|
11
|
+
}
|
|
12
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
|
|
2
|
+
import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
|
|
3
|
+
export const failedRequestUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('failed', 'usersRequest', {
|
|
4
|
+
...createDefaultSmartPickerAttributes(props, state),
|
|
5
|
+
...attributes
|
|
6
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
|
|
2
|
+
import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
|
|
3
|
+
export const failedUserResolversEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('failed', 'userResolversRequest', {
|
|
4
|
+
...createDefaultSmartPickerAttributes(props, state),
|
|
5
|
+
...attributes
|
|
6
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
|
|
2
|
+
import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
|
|
3
|
+
export const filterUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('filtered', 'users', {
|
|
4
|
+
...createDefaultSmartPickerAttributes(props, state),
|
|
5
|
+
...attributes
|
|
6
|
+
});
|
package/dist/es2019/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @repo/internal/deprecations/deprecation-ticket-required, @atlaskit/volt-strict-mode/no-re-exports, @atlaskit/editor/no-re-export -- VOLTC-139 tracks removal of these deprecated re-export shims. */
|
|
2
2
|
export { default } from './components';
|
|
3
|
-
export { getUserRecommendations
|
|
3
|
+
export { default as getUserRecommendations } from './service/recommendation-client';
|
|
4
|
+
export { default as hydrateDefaultValues } from './service/default-value-hydration-client';
|
|
4
5
|
export {
|
|
5
6
|
//Utils
|
|
6
7
|
isEmail, isTeam, isUser, isExternalUser, isValidEmail, isGroup,
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
|
|
2
|
+
import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
|
|
3
|
+
export const mountedWithPrefetchEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('mounted', 'prefetch', {
|
|
4
|
+
...createDefaultSmartPickerAttributes(props, state),
|
|
5
|
+
...attributes
|
|
6
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const packageName = "@atlaskit/smart-user-picker";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const packageVersion = "11.7.0";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
|
|
2
|
+
import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
|
|
3
|
+
export const preparedUsersLoadedEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('loaded', 'preparedUsers', {
|
|
4
|
+
...createDefaultSmartPickerAttributes(props, state),
|
|
5
|
+
...attributes
|
|
6
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
|
|
2
|
+
import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
|
|
3
|
+
export const requestUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('requested', 'users', {
|
|
4
|
+
...createDefaultSmartPickerAttributes(props, state),
|
|
5
|
+
...attributes
|
|
6
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ExternalUserType, GroupType, TeamType, UserType } from '@atlaskit/user-picker';
|
|
1
|
+
import { ExternalUserType, GroupType, TeamType, UserType } from '@atlaskit/user-picker/types';
|
|
2
2
|
import { messages } from '../i18n';
|
|
3
3
|
import { EntityType } from '../types';
|
|
4
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
4
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
5
5
|
const getLozenzeProperties = (entity, intl) => {
|
|
6
6
|
var _entity$attributes, _entity$attributes2, _entity$attributes3;
|
|
7
7
|
if ((_entity$attributes = entity.attributes) !== null && _entity$attributes !== void 0 && _entity$attributes.workspaceMember) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { v4 as uuid } from 'uuid'; // eslint-disable-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
2
|
+
|
|
3
|
+
export const startSession = () => ({
|
|
4
|
+
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
5
|
+
id: uuid(),
|
|
6
|
+
start: Date.now(),
|
|
7
|
+
inputChangeTime: Date.now(),
|
|
8
|
+
upCount: 0,
|
|
9
|
+
downCount: 0,
|
|
10
|
+
lastKey: undefined
|
|
11
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createDefaultSmartPickerAttributes } from './createDefaultSmartPickerAttributes';
|
|
2
|
+
import { createSmartUserPickerEvent } from './createSmartUserPickerEvent';
|
|
3
|
+
export const successfulRequestUsersEvent = (props, state, attributes = {}) => createSmartUserPickerEvent('successful', 'usersRequest', {
|
|
4
|
+
...createDefaultSmartPickerAttributes(props, state),
|
|
5
|
+
...attributes
|
|
6
|
+
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ExperiencePerformanceTypes, ExperienceTypes
|
|
1
|
+
import { ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo/experience-types';
|
|
2
|
+
import { ConcurrentExperience } from '@atlaskit/ufo/concurrent-experience';
|
|
2
3
|
const COMPONENT_NAME = 'smart-user-picker';
|
|
3
4
|
export const smartUserPickerRenderedUfoExperience = new ConcurrentExperience('smart-user-picker-rendered', {
|
|
4
5
|
platform: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useEffect, useState } from 'react';
|
|
2
|
-
import { UFOExperienceState } from '@atlaskit/ufo';
|
|
2
|
+
import { UFOExperienceState } from '@atlaskit/ufo/experience-state';
|
|
3
3
|
export const useUFOConcurrentExperience = (experience, id) => {
|
|
4
4
|
const experienceForId = experience.getInstance(id);
|
|
5
5
|
|
package/dist/esm/analytics.js
CHANGED
|
@@ -1,100 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-imports
|
|
5
|
-
import { createAndFireEvent } from '@atlaskit/analytics-next';
|
|
6
|
-
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
7
|
-
import { v4 as uuid } from 'uuid';
|
|
8
|
-
var packageName = "@atlaskit/smart-user-picker";
|
|
9
|
-
var packageVersion = "11.5.0";
|
|
10
|
-
export var startSession = function startSession() {
|
|
11
|
-
return {
|
|
12
|
-
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
13
|
-
id: uuid(),
|
|
14
|
-
start: Date.now(),
|
|
15
|
-
inputChangeTime: Date.now(),
|
|
16
|
-
upCount: 0,
|
|
17
|
-
downCount: 0,
|
|
18
|
-
lastKey: undefined
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
export var createAndFireEventInElementsChannel = createAndFireEvent('fabric-elements');
|
|
22
|
-
var createEvent = function createEvent(eventType, action, actionSubject) {
|
|
23
|
-
var attributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
24
|
-
return {
|
|
25
|
-
eventType: eventType,
|
|
26
|
-
action: action,
|
|
27
|
-
actionSubject: actionSubject,
|
|
28
|
-
attributes: _objectSpread({
|
|
29
|
-
packageName: packageName,
|
|
30
|
-
packageVersion: packageVersion
|
|
31
|
-
}, attributes)
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
var createDefaultSmartPickerAttributes = function createDefaultSmartPickerAttributes(props, state) {
|
|
35
|
-
var fieldId = props.fieldId,
|
|
36
|
-
objectId = props.objectId,
|
|
37
|
-
containerId = props.containerId,
|
|
38
|
-
childObjectId = props.childObjectId,
|
|
39
|
-
prefetch = props.prefetch,
|
|
40
|
-
maxOptions = props.maxOptions,
|
|
41
|
-
includeTeams = props.includeTeams,
|
|
42
|
-
productKey = props.productKey,
|
|
43
|
-
principalId = props.principalId,
|
|
44
|
-
siteId = props.siteId,
|
|
45
|
-
orgId = props.orgId,
|
|
46
|
-
filterOptions = props.filterOptions;
|
|
47
|
-
var sessionId = state.sessionId,
|
|
48
|
-
query = state.query;
|
|
49
|
-
var maxNumberOfResults = maxOptions || 100;
|
|
50
|
-
return {
|
|
51
|
-
context: fieldId,
|
|
52
|
-
childObjectId: childObjectId,
|
|
53
|
-
containerId: containerId,
|
|
54
|
-
hasFilterOptions: Boolean(filterOptions),
|
|
55
|
-
includeTeams: includeTeams,
|
|
56
|
-
maxNumberOfResults: maxNumberOfResults,
|
|
57
|
-
objectId: objectId,
|
|
58
|
-
prefetch: prefetch,
|
|
59
|
-
principalId: principalId,
|
|
60
|
-
productKey: productKey,
|
|
61
|
-
queryLength: (query || '').length,
|
|
62
|
-
siteId: siteId,
|
|
63
|
-
orgId: orgId,
|
|
64
|
-
sessionId: sessionId
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
var createSmartUserPickerEvent = function createSmartUserPickerEvent(action, actionSubect) {
|
|
68
|
-
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
69
|
-
return _objectSpread({
|
|
70
|
-
source: 'smart-user-picker'
|
|
71
|
-
}, createEvent('operational', action, actionSubect, attributes));
|
|
72
|
-
};
|
|
73
|
-
export var preparedUsersLoadedEvent = function preparedUsersLoadedEvent(props, state) {
|
|
74
|
-
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
75
|
-
return createSmartUserPickerEvent('loaded', 'preparedUsers', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
|
|
76
|
-
};
|
|
77
|
-
export var mountedWithPrefetchEvent = function mountedWithPrefetchEvent(props, state) {
|
|
78
|
-
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
79
|
-
return createSmartUserPickerEvent('mounted', 'prefetch', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
|
|
80
|
-
};
|
|
81
|
-
export var filterUsersEvent = function filterUsersEvent(props, state) {
|
|
82
|
-
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
83
|
-
return createSmartUserPickerEvent('filtered', 'users', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
|
|
84
|
-
};
|
|
85
|
-
export var requestUsersEvent = function requestUsersEvent(props, state) {
|
|
86
|
-
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
87
|
-
return createSmartUserPickerEvent('requested', 'users', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
|
|
88
|
-
};
|
|
89
|
-
export var successfulRequestUsersEvent = function successfulRequestUsersEvent(props, state) {
|
|
90
|
-
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
91
|
-
return createSmartUserPickerEvent('successful', 'usersRequest', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
|
|
92
|
-
};
|
|
93
|
-
export var failedRequestUsersEvent = function failedRequestUsersEvent(props, state) {
|
|
94
|
-
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
95
|
-
return createSmartUserPickerEvent('failed', 'usersRequest', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
|
|
96
|
-
};
|
|
97
|
-
export var failedUserResolversEvent = function failedUserResolversEvent(props, state) {
|
|
98
|
-
var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
99
|
-
return createSmartUserPickerEvent('failed', 'userResolversRequest', _objectSpread(_objectSpread({}, createDefaultSmartPickerAttributes(props, state)), attributes));
|
|
100
|
-
};
|
|
1
|
+
import createAndFireEvent from '@atlaskit/analytics-next/createAndFireEvents';
|
|
2
|
+
export var createAndFireEventInElementsChannel = createAndFireEvent('fabric-elements');
|