@atlaskit/mention 19.9.5 → 21.0.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 +34 -0
- package/dist/cjs/api/MentionResource.js +4 -6
- package/dist/cjs/api/TeamMentionResource.js +2 -2
- package/dist/cjs/api/analytics.js +2 -15
- package/dist/cjs/components/LockCircleIcon/index.js +28 -0
- package/dist/cjs/components/Mention/PrimitiveMention.js +118 -0
- package/dist/cjs/components/Mention/index.js +19 -16
- package/dist/cjs/components/MentionDescriptionByline/TeamMentionDescriptionByline.js +5 -5
- package/dist/cjs/components/MentionDescriptionByline/styles.js +4 -2
- package/dist/cjs/components/MentionItem/index.js +14 -8
- package/dist/cjs/components/MentionItem/styles.js +12 -10
- package/dist/cjs/components/MentionList/index.js +4 -2
- package/dist/cjs/components/MentionList/styles.js +5 -3
- package/dist/cjs/components/MentionListError/styles.js +7 -5
- package/dist/cjs/components/MentionPicker/index.js +12 -4
- package/dist/cjs/components/MentionPicker/styles.js +5 -3
- package/dist/cjs/components/MessagesIntlProvider/index.js +57 -0
- package/dist/cjs/components/NoAccessTooltip/index.js +29 -0
- package/dist/cjs/components/{NoAccessTooltip.js → NoAccessTooltip/main.js} +4 -2
- package/dist/cjs/components/ResourcedMentionList/index.js +14 -6
- package/dist/cjs/components/Scrollable/index.js +1 -1
- package/dist/cjs/components/Scrollable/styles.js +4 -2
- package/dist/cjs/components/TeamMentionHighlight/index.js +6 -4
- package/dist/cjs/components/TeamMentionHighlight/lazy.js +28 -0
- package/dist/cjs/components/TeamMentionHighlight/styles.js +11 -9
- package/dist/cjs/components/i18n.js +2 -2
- package/dist/cjs/i18n/cs.js +2 -2
- package/dist/cjs/i18n/da.js +2 -2
- package/dist/cjs/i18n/de.js +2 -2
- package/dist/cjs/i18n/en_ZZ.js +32 -0
- package/dist/cjs/i18n/es.js +2 -2
- package/dist/cjs/i18n/et.js +2 -2
- package/dist/cjs/i18n/fi.js +2 -2
- package/dist/cjs/i18n/fr.js +2 -2
- package/dist/cjs/i18n/hu.js +2 -2
- package/dist/cjs/i18n/it.js +2 -2
- package/dist/cjs/i18n/ja.js +2 -2
- package/dist/cjs/i18n/ko.js +2 -2
- package/dist/cjs/i18n/nb.js +2 -2
- package/dist/cjs/i18n/nl.js +2 -2
- package/dist/cjs/i18n/pl.js +2 -2
- package/dist/cjs/i18n/pt_BR.js +2 -2
- package/dist/cjs/i18n/pt_PT.js +2 -2
- package/dist/cjs/i18n/ru.js +2 -2
- package/dist/cjs/i18n/sk.js +2 -2
- package/dist/cjs/i18n/sv.js +2 -2
- package/dist/cjs/i18n/th.js +2 -2
- package/dist/cjs/i18n/tr.js +2 -2
- package/dist/cjs/i18n/uk.js +2 -2
- package/dist/cjs/i18n/vi.js +2 -2
- package/dist/cjs/i18n/zh.js +2 -2
- package/dist/cjs/i18n/zh_TW.js +2 -2
- package/dist/cjs/index.js +12 -8
- package/dist/cjs/shared-styles.js +4 -2
- package/dist/cjs/util/analytics.js +2 -2
- package/dist/cjs/util/i18n.js +297 -26
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/api/analytics.js +0 -9
- package/dist/es2019/components/LockCircleIcon/index.js +7 -0
- package/dist/es2019/components/Mention/PrimitiveMention.js +117 -0
- package/dist/es2019/components/Mention/index.js +16 -13
- package/dist/es2019/components/MentionDescriptionByline/TeamMentionDescriptionByline.js +1 -1
- package/dist/es2019/components/MentionDescriptionByline/styles.js +3 -4
- package/dist/es2019/components/MentionItem/index.js +11 -7
- package/dist/es2019/components/MentionItem/styles.js +6 -7
- package/dist/es2019/components/MentionList/index.js +3 -2
- package/dist/es2019/components/MentionList/styles.js +3 -4
- package/dist/es2019/components/MentionListError/GenericErrorIllustration.js +1 -0
- package/dist/es2019/components/MentionListError/styles.js +5 -6
- package/dist/es2019/components/MentionPicker/index.js +11 -4
- package/dist/es2019/components/MentionPicker/styles.js +4 -5
- package/dist/es2019/components/MessagesIntlProvider/index.js +38 -0
- package/dist/es2019/components/NoAccessTooltip/index.js +9 -0
- package/dist/es2019/components/{NoAccessTooltip.js → NoAccessTooltip/main.js} +4 -2
- package/dist/es2019/components/ResourcedMentionList/index.js +6 -4
- package/dist/es2019/components/Scrollable/index.js +1 -1
- package/dist/es2019/components/Scrollable/styles.js +3 -4
- package/dist/es2019/components/TeamMentionHighlight/index.js +4 -3
- package/dist/es2019/components/TeamMentionHighlight/lazy.js +6 -0
- package/dist/es2019/components/TeamMentionHighlight/styles.js +3 -2
- package/dist/es2019/components/i18n.js +1 -1
- package/dist/es2019/i18n/cs.js +2 -2
- package/dist/es2019/i18n/da.js +2 -2
- package/dist/es2019/i18n/de.js +2 -2
- package/dist/es2019/i18n/en_ZZ.js +24 -0
- package/dist/es2019/i18n/es.js +2 -2
- package/dist/es2019/i18n/et.js +2 -2
- package/dist/es2019/i18n/fi.js +2 -2
- package/dist/es2019/i18n/fr.js +2 -2
- package/dist/es2019/i18n/hu.js +2 -2
- package/dist/es2019/i18n/it.js +2 -2
- package/dist/es2019/i18n/ja.js +2 -2
- package/dist/es2019/i18n/ko.js +2 -2
- package/dist/es2019/i18n/nb.js +2 -2
- package/dist/es2019/i18n/nl.js +2 -2
- package/dist/es2019/i18n/pl.js +2 -2
- package/dist/es2019/i18n/pt_BR.js +2 -2
- package/dist/es2019/i18n/pt_PT.js +2 -2
- package/dist/es2019/i18n/ru.js +2 -2
- package/dist/es2019/i18n/sk.js +2 -2
- package/dist/es2019/i18n/sv.js +2 -2
- package/dist/es2019/i18n/th.js +2 -2
- package/dist/es2019/i18n/tr.js +2 -2
- package/dist/es2019/i18n/uk.js +2 -2
- package/dist/es2019/i18n/vi.js +2 -2
- package/dist/es2019/i18n/zh.js +2 -2
- package/dist/es2019/i18n/zh_TW.js +2 -2
- package/dist/es2019/index.js +3 -4
- package/dist/es2019/shared-styles.js +3 -2
- package/dist/es2019/util/i18n.js +260 -18
- package/dist/es2019/version.json +1 -1
- package/dist/esm/api/MentionResource.js +4 -4
- package/dist/esm/api/TeamMentionResource.js +2 -2
- package/dist/esm/api/analytics.js +0 -10
- package/dist/esm/components/LockCircleIcon/index.js +11 -0
- package/dist/esm/components/Mention/PrimitiveMention.js +100 -0
- package/dist/esm/components/Mention/index.js +17 -14
- package/dist/esm/components/MentionDescriptionByline/TeamMentionDescriptionByline.js +1 -1
- package/dist/esm/components/MentionDescriptionByline/styles.js +3 -4
- package/dist/esm/components/MentionItem/index.js +11 -7
- package/dist/esm/components/MentionItem/styles.js +6 -7
- package/dist/esm/components/MentionList/index.js +3 -2
- package/dist/esm/components/MentionList/styles.js +4 -5
- package/dist/esm/components/MentionListError/GenericErrorIllustration.js +1 -0
- package/dist/esm/components/MentionListError/styles.js +3 -4
- package/dist/esm/components/MentionPicker/index.js +11 -4
- package/dist/esm/components/MentionPicker/styles.js +3 -4
- package/dist/esm/components/MessagesIntlProvider/index.js +41 -0
- package/dist/esm/components/NoAccessTooltip/index.js +11 -0
- package/dist/esm/components/{NoAccessTooltip.js → NoAccessTooltip/main.js} +4 -2
- package/dist/esm/components/ResourcedMentionList/index.js +8 -6
- package/dist/esm/components/Scrollable/index.js +1 -1
- package/dist/esm/components/Scrollable/styles.js +3 -4
- package/dist/esm/components/TeamMentionHighlight/index.js +4 -3
- package/dist/esm/components/TeamMentionHighlight/lazy.js +10 -0
- package/dist/esm/components/TeamMentionHighlight/styles.js +3 -2
- package/dist/esm/components/i18n.js +1 -1
- package/dist/esm/i18n/cs.js +2 -2
- package/dist/esm/i18n/da.js +2 -2
- package/dist/esm/i18n/de.js +2 -2
- package/dist/esm/i18n/en_ZZ.js +24 -0
- package/dist/esm/i18n/es.js +2 -2
- package/dist/esm/i18n/et.js +2 -2
- package/dist/esm/i18n/fi.js +2 -2
- package/dist/esm/i18n/fr.js +2 -2
- package/dist/esm/i18n/hu.js +2 -2
- package/dist/esm/i18n/it.js +2 -2
- package/dist/esm/i18n/ja.js +2 -2
- package/dist/esm/i18n/ko.js +2 -2
- package/dist/esm/i18n/nb.js +2 -2
- package/dist/esm/i18n/nl.js +2 -2
- package/dist/esm/i18n/pl.js +2 -2
- package/dist/esm/i18n/pt_BR.js +2 -2
- package/dist/esm/i18n/pt_PT.js +2 -2
- package/dist/esm/i18n/ru.js +2 -2
- package/dist/esm/i18n/sk.js +2 -2
- package/dist/esm/i18n/sv.js +2 -2
- package/dist/esm/i18n/th.js +2 -2
- package/dist/esm/i18n/tr.js +2 -2
- package/dist/esm/i18n/uk.js +2 -2
- package/dist/esm/i18n/vi.js +2 -2
- package/dist/esm/i18n/zh.js +2 -2
- package/dist/esm/i18n/zh_TW.js +2 -2
- package/dist/esm/index.js +3 -4
- package/dist/esm/shared-styles.js +3 -2
- package/dist/esm/util/analytics.js +2 -2
- package/dist/esm/util/i18n.js +284 -23
- package/dist/esm/version.json +1 -1
- package/dist/types/api/analytics.d.ts +0 -5
- package/dist/types/components/LockCircleIcon/index.d.ts +3 -0
- package/dist/types/components/Mention/PrimitiveMention.d.ts +7 -0
- package/dist/types/components/Mention/index.d.ts +1 -1
- package/dist/types/components/MentionDescriptionByline/styles.d.ts +2 -2
- package/dist/types/components/MentionItem/MentionHighlightHelpers.d.ts +2 -3
- package/dist/types/components/MentionItem/styles.d.ts +9 -9
- package/dist/types/components/MentionList/styles.d.ts +2 -2
- package/dist/types/components/MentionListError/styles.d.ts +5 -5
- package/dist/types/components/MentionPicker/index.d.ts +11 -8
- package/dist/types/components/MentionPicker/styles.d.ts +3 -3
- package/dist/types/components/MessagesIntlProvider/index.d.ts +3 -0
- package/dist/types/components/NoAccessTooltip/index.d.ts +6 -0
- package/dist/types/components/{NoAccessTooltip.d.ts → NoAccessTooltip/main.d.ts} +0 -0
- package/dist/types/components/Scrollable/styles.d.ts +2 -4
- package/dist/types/components/TeamMentionHighlight/index.d.ts +1 -1
- package/dist/types/components/TeamMentionHighlight/lazy.d.ts +4 -0
- package/dist/types/components/TeamMentionHighlight/styles.d.ts +8 -8
- package/dist/types/i18n/cs.d.ts +1 -1
- package/dist/types/i18n/da.d.ts +1 -1
- package/dist/types/i18n/de.d.ts +1 -1
- package/dist/types/i18n/en_ZZ.d.ts +24 -0
- package/dist/types/i18n/es.d.ts +1 -1
- package/dist/types/i18n/et.d.ts +1 -1
- package/dist/types/i18n/fi.d.ts +1 -1
- package/dist/types/i18n/fr.d.ts +1 -1
- package/dist/types/i18n/hu.d.ts +1 -1
- package/dist/types/i18n/it.d.ts +1 -1
- package/dist/types/i18n/ja.d.ts +1 -1
- package/dist/types/i18n/ko.d.ts +1 -1
- package/dist/types/i18n/nb.d.ts +1 -1
- package/dist/types/i18n/nl.d.ts +1 -1
- package/dist/types/i18n/pl.d.ts +1 -1
- package/dist/types/i18n/pt_BR.d.ts +1 -1
- package/dist/types/i18n/pt_PT.d.ts +1 -1
- package/dist/types/i18n/ru.d.ts +1 -1
- package/dist/types/i18n/sk.d.ts +1 -1
- package/dist/types/i18n/sv.d.ts +1 -1
- package/dist/types/i18n/th.d.ts +1 -1
- package/dist/types/i18n/tr.d.ts +1 -1
- package/dist/types/i18n/uk.d.ts +1 -1
- package/dist/types/i18n/vi.d.ts +1 -1
- package/dist/types/i18n/zh.d.ts +1 -1
- package/dist/types/i18n/zh_TW.d.ts +1 -1
- package/dist/types/index.d.ts +3 -4
- package/dist/types/shared-styles.d.ts +2 -2
- package/dist/types/util/i18n.d.ts +32 -17
- package/docs/1-in-editor.tsx +4 -36
- package/package.json +25 -14
- package/tsconfig.json +1 -2
- package/dist/cjs/api/SmartMentionResource.js +0 -338
- package/dist/cjs/api/SmartMentionTypes.js +0 -15
- package/dist/cjs/api/extract-react-types/smart-config-props.js +0 -15
- package/dist/cjs/api/recommendationClient.js +0 -57
- package/dist/cjs/components/Mention/styles.js +0 -66
- package/dist/cjs/default-mention-name-resolver/default-mention-name-resolver.js +0 -136
- package/dist/cjs/default-mention-name-resolver/graphqlUtils.js +0 -48
- package/dist/es2019/api/SmartMentionResource.js +0 -219
- package/dist/es2019/api/SmartMentionTypes.js +0 -7
- package/dist/es2019/api/extract-react-types/smart-config-props.js +0 -8
- package/dist/es2019/api/recommendationClient.js +0 -46
- package/dist/es2019/components/Mention/styles.js +0 -61
- package/dist/es2019/default-mention-name-resolver/default-mention-name-resolver.js +0 -64
- package/dist/es2019/default-mention-name-resolver/graphqlUtils.js +0 -39
- package/dist/esm/api/SmartMentionResource.js +0 -317
- package/dist/esm/api/SmartMentionTypes.js +0 -7
- package/dist/esm/api/extract-react-types/smart-config-props.js +0 -8
- package/dist/esm/api/recommendationClient.js +0 -48
- package/dist/esm/components/Mention/styles.js +0 -50
- package/dist/esm/default-mention-name-resolver/default-mention-name-resolver.js +0 -121
- package/dist/esm/default-mention-name-resolver/graphqlUtils.js +0 -41
- package/dist/types/api/SmartMentionResource.d.ts +0 -63
- package/dist/types/api/SmartMentionTypes.d.ts +0 -81
- package/dist/types/api/extract-react-types/smart-config-props.d.ts +0 -7
- package/dist/types/api/recommendationClient.d.ts +0 -3
- package/dist/types/components/Mention/styles.d.ts +0 -6
- package/dist/types/default-mention-name-resolver/default-mention-name-resolver.d.ts +0 -16
- package/dist/types/default-mention-name-resolver/graphqlUtils.d.ts +0 -14
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { MentionNameStatus } from '../types';
|
|
2
|
-
import { graphqlQuery } from './graphqlUtils';
|
|
3
|
-
import { config } from '../config';
|
|
4
|
-
|
|
5
|
-
const buildUsersQuery = accountIds => ({
|
|
6
|
-
query: `query usersQuery($accountIds: [ID!]!) {
|
|
7
|
-
users(accountIds: $accountIds) {
|
|
8
|
-
name
|
|
9
|
-
accountId
|
|
10
|
-
}
|
|
11
|
-
}`,
|
|
12
|
-
variables: {
|
|
13
|
-
accountIds
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
const makeRequest = async (url, accountIds) => {
|
|
18
|
-
const query = buildUsersQuery(accountIds);
|
|
19
|
-
return graphqlQuery(url, query);
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export class DefaultMentionNameResolver {
|
|
23
|
-
constructor(baseUrl) {
|
|
24
|
-
this.baseUrl = baseUrl;
|
|
25
|
-
this.cache = new Map();
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
async lookupName(id) {
|
|
29
|
-
try {
|
|
30
|
-
var _data$users;
|
|
31
|
-
|
|
32
|
-
if (this.cache.has(id)) {
|
|
33
|
-
return {
|
|
34
|
-
id,
|
|
35
|
-
name: this.cache.get(id),
|
|
36
|
-
status: MentionNameStatus.OK
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const url = config.getGraphQLUrl(this.baseUrl);
|
|
41
|
-
const data = await makeRequest(url, [id]);
|
|
42
|
-
const userInfo = (_data$users = data.users) === null || _data$users === void 0 ? void 0 : _data$users.find(user => user.accountId === id);
|
|
43
|
-
return userInfo ? {
|
|
44
|
-
id,
|
|
45
|
-
name: userInfo.name,
|
|
46
|
-
status: MentionNameStatus.OK
|
|
47
|
-
} : {
|
|
48
|
-
id,
|
|
49
|
-
status: MentionNameStatus.UNKNOWN
|
|
50
|
-
};
|
|
51
|
-
} catch (error) {
|
|
52
|
-
// on network error, return original list with label 'Unknown'
|
|
53
|
-
return {
|
|
54
|
-
id,
|
|
55
|
-
status: MentionNameStatus.UNKNOWN
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
cacheName(id, name) {
|
|
61
|
-
this.cache.set(id, name);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
const buildHeaders = () => {
|
|
2
|
-
const headers = new Headers();
|
|
3
|
-
headers.append('Content-Type', 'application/json');
|
|
4
|
-
return headers;
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @param {string} serviceUrl - GraphQL service endpoint
|
|
9
|
-
* @param {Query} query - GraphQL query
|
|
10
|
-
*/
|
|
11
|
-
export function graphqlQuery(serviceUrl, query) {
|
|
12
|
-
const headers = buildHeaders();
|
|
13
|
-
return fetch(new Request(`${serviceUrl}`, {
|
|
14
|
-
method: 'POST',
|
|
15
|
-
credentials: 'include',
|
|
16
|
-
mode: 'cors',
|
|
17
|
-
headers,
|
|
18
|
-
body: JSON.stringify(query)
|
|
19
|
-
})).then(response => {
|
|
20
|
-
if (!response.ok) {
|
|
21
|
-
return Promise.reject({
|
|
22
|
-
code: response.status,
|
|
23
|
-
reason: response.statusText
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return response;
|
|
28
|
-
}).then(response => response.json()).then(json => {
|
|
29
|
-
if (json.errors) {
|
|
30
|
-
var _json$errors$;
|
|
31
|
-
|
|
32
|
-
return Promise.reject({
|
|
33
|
-
reason: ((_json$errors$ = json.errors[0]) === null || _json$errors$ === void 0 ? void 0 : _json$errors$.category) || 'default'
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return json.data;
|
|
38
|
-
});
|
|
39
|
-
}
|
|
@@ -1,317 +0,0 @@
|
|
|
1
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
5
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
6
|
-
import _inherits from "@babel/runtime/helpers/inherits";
|
|
7
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
8
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
9
|
-
|
|
10
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
-
|
|
12
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
13
|
-
|
|
14
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
15
|
-
|
|
16
|
-
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; } }
|
|
17
|
-
|
|
18
|
-
import { SMART_EVENT_TYPE, Actions, getUsersForAnalytics, defaultAttributes } from './analytics';
|
|
19
|
-
import getUserRecommendations from './recommendationClient';
|
|
20
|
-
import { EntityType } from './SmartMentionTypes';
|
|
21
|
-
import { UserAccessLevel, UserType as MentionUserType } from '../types';
|
|
22
|
-
import { AbstractMentionResource } from '../resource';
|
|
23
|
-
import { DefaultMentionNameResolver } from '../default-mention-name-resolver/default-mention-name-resolver';
|
|
24
|
-
var CONTEXT_TYPE = 'Mentions';
|
|
25
|
-
|
|
26
|
-
var isSmartMentionConfigWithMentionNameResolver = function isSmartMentionConfigWithMentionNameResolver(smartMentionConfig) {
|
|
27
|
-
return !!smartMentionConfig.mentionNameResolver;
|
|
28
|
-
};
|
|
29
|
-
/*
|
|
30
|
-
* This is a provider implementation which calls URS to provide a list of recommended users/teams to mention.
|
|
31
|
-
* The entryPoint hierarchy is : Editor -> editor-core -> plugins -> mentions -> typeAhead -> getItems -> pluginState.pluginProvider.filter
|
|
32
|
-
* The results are then mapped to mentionItems which have a render prop mentionToTypeaheadItem -> MentionItem
|
|
33
|
-
* https://bitbucket.org/atlassian/atlassian-frontend/src/0884032d85f11f43c13532cd21f13f696b0d28a7/packages/editor/editor-core/src/plugins/mentions/index.tsx#lines-219
|
|
34
|
-
*
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
var SmartMentionResource = /*#__PURE__*/function (_AbstractMentionResou) {
|
|
39
|
-
_inherits(SmartMentionResource, _AbstractMentionResou);
|
|
40
|
-
|
|
41
|
-
var _super = _createSuper(SmartMentionResource);
|
|
42
|
-
|
|
43
|
-
function SmartMentionResource(smartMentionConfig) {
|
|
44
|
-
var _this;
|
|
45
|
-
|
|
46
|
-
_classCallCheck(this, SmartMentionResource);
|
|
47
|
-
|
|
48
|
-
_this = _super.call(this); // If the product doesn't provide a mention name resolve, use the default resolver so that
|
|
49
|
-
// mention names can be looked up from PRS without configuration.
|
|
50
|
-
|
|
51
|
-
_this.smartMentionConfig = isSmartMentionConfigWithMentionNameResolver(smartMentionConfig) ? smartMentionConfig : _objectSpread(_objectSpread({}, smartMentionConfig), {}, {
|
|
52
|
-
mentionNameResolver: new DefaultMentionNameResolver(smartMentionConfig.baseUrl)
|
|
53
|
-
});
|
|
54
|
-
_this.lastReturnedSearch = 0;
|
|
55
|
-
return _this;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
_createClass(SmartMentionResource, [{
|
|
59
|
-
key: "shouldHighlightMention",
|
|
60
|
-
value: function shouldHighlightMention(mention) {
|
|
61
|
-
if (this.smartMentionConfig.shouldHighlightMention) {
|
|
62
|
-
return this.smartMentionConfig.shouldHighlightMention(mention);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
}, {
|
|
68
|
-
key: "notify",
|
|
69
|
-
value: function notify(searchTime, mentionResult, query) {
|
|
70
|
-
if (searchTime > this.lastReturnedSearch) {
|
|
71
|
-
this.lastReturnedSearch = searchTime;
|
|
72
|
-
|
|
73
|
-
this._notifyListeners(mentionResult, {
|
|
74
|
-
duration: Date.now() - searchTime
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
this._notifyAllResultsListeners(mentionResult);
|
|
79
|
-
}
|
|
80
|
-
}, {
|
|
81
|
-
key: "notifyError",
|
|
82
|
-
value: function notifyError(error, query) {
|
|
83
|
-
this._notifyErrorListeners(error, query);
|
|
84
|
-
}
|
|
85
|
-
}, {
|
|
86
|
-
key: "filter",
|
|
87
|
-
value: function () {
|
|
88
|
-
var _filter = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(query, contextIdentifier) {
|
|
89
|
-
var searchTime, results;
|
|
90
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
91
|
-
while (1) {
|
|
92
|
-
switch (_context.prev = _context.next) {
|
|
93
|
-
case 0:
|
|
94
|
-
this.contextIdentifier = contextIdentifier;
|
|
95
|
-
searchTime = Date.now();
|
|
96
|
-
_context.prev = 2;
|
|
97
|
-
_context.next = 5;
|
|
98
|
-
return this.getRecommendedMentions(query ? query : '', contextIdentifier);
|
|
99
|
-
|
|
100
|
-
case 5:
|
|
101
|
-
results = _context.sent;
|
|
102
|
-
this.notify(searchTime, results, query);
|
|
103
|
-
_context.next = 12;
|
|
104
|
-
break;
|
|
105
|
-
|
|
106
|
-
case 9:
|
|
107
|
-
_context.prev = 9;
|
|
108
|
-
_context.t0 = _context["catch"](2);
|
|
109
|
-
this.notifyError(_context.t0, query);
|
|
110
|
-
|
|
111
|
-
case 12:
|
|
112
|
-
case "end":
|
|
113
|
-
return _context.stop();
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}, _callee, this, [[2, 9]]);
|
|
117
|
-
}));
|
|
118
|
-
|
|
119
|
-
function filter(_x, _x2) {
|
|
120
|
-
return _filter.apply(this, arguments);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
return filter;
|
|
124
|
-
}()
|
|
125
|
-
}, {
|
|
126
|
-
key: "getRecommendedMentions",
|
|
127
|
-
value: function () {
|
|
128
|
-
var _getRecommendedMentions = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(query, contextIdentifier) {
|
|
129
|
-
var startTime, conf, maxNumberOfResults, request, users, elapsedTimeMilli, usersForAnalytics, mentions, _elapsedTimeMilli;
|
|
130
|
-
|
|
131
|
-
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
132
|
-
while (1) {
|
|
133
|
-
switch (_context2.prev = _context2.next) {
|
|
134
|
-
case 0:
|
|
135
|
-
startTime = window.performance.now();
|
|
136
|
-
conf = this.smartMentionConfig;
|
|
137
|
-
maxNumberOfResults = conf.maxNumberOfResults || 100;
|
|
138
|
-
request = {
|
|
139
|
-
baseUrl: conf.baseUrl,
|
|
140
|
-
context: {
|
|
141
|
-
productKey: conf.productKey,
|
|
142
|
-
contextType: CONTEXT_TYPE,
|
|
143
|
-
principalId: conf.principalId || 'context',
|
|
144
|
-
containerId: contextIdentifier && contextIdentifier.containerId,
|
|
145
|
-
siteId: conf.siteId,
|
|
146
|
-
objectId: contextIdentifier && contextIdentifier.objectId || 'undefined',
|
|
147
|
-
childObjectId: contextIdentifier && contextIdentifier.childObjectId || 'undefined',
|
|
148
|
-
mentionsSessionId: contextIdentifier && contextIdentifier.sessionId || 'undefined',
|
|
149
|
-
sessionId: contextIdentifier && contextIdentifier.sessionId || 'undefined'
|
|
150
|
-
},
|
|
151
|
-
includeGroups: conf.includeGroups,
|
|
152
|
-
includeTeams: conf.includeTeams,
|
|
153
|
-
includeUsers: typeof conf.includeUsers === 'undefined' ? true : conf.includeUsers,
|
|
154
|
-
maxNumberOfResults: maxNumberOfResults,
|
|
155
|
-
searchQueryFilter: conf.searchQueryFilter,
|
|
156
|
-
query: query
|
|
157
|
-
};
|
|
158
|
-
_context2.prev = 4;
|
|
159
|
-
|
|
160
|
-
this._notifyAnalyticsListeners(SMART_EVENT_TYPE, 'users', Actions.REQUESTED, defaultAttributes(contextIdentifier));
|
|
161
|
-
|
|
162
|
-
_context2.next = 8;
|
|
163
|
-
return getUserRecommendations(request);
|
|
164
|
-
|
|
165
|
-
case 8:
|
|
166
|
-
users = _context2.sent;
|
|
167
|
-
elapsedTimeMilli = window.performance.now() - startTime;
|
|
168
|
-
usersForAnalytics = getUsersForAnalytics(users);
|
|
169
|
-
|
|
170
|
-
this._notifyAnalyticsListeners(SMART_EVENT_TYPE, 'usersRequest', Actions.SUCCESSFUL, _objectSpread({
|
|
171
|
-
elapsedTimeMilli: elapsedTimeMilli,
|
|
172
|
-
users: usersForAnalytics,
|
|
173
|
-
displayedUsers: usersForAnalytics
|
|
174
|
-
}, defaultAttributes(contextIdentifier)));
|
|
175
|
-
|
|
176
|
-
mentions = this.transformUsersToMentions(users);
|
|
177
|
-
return _context2.abrupt("return", {
|
|
178
|
-
mentions: mentions,
|
|
179
|
-
query: query
|
|
180
|
-
});
|
|
181
|
-
|
|
182
|
-
case 16:
|
|
183
|
-
_context2.prev = 16;
|
|
184
|
-
_context2.t0 = _context2["catch"](4);
|
|
185
|
-
_elapsedTimeMilli = window.performance.now() - startTime;
|
|
186
|
-
|
|
187
|
-
this._notifyAnalyticsListeners(SMART_EVENT_TYPE, 'usersRequest', Actions.FAILED, _objectSpread({
|
|
188
|
-
elapsedTimeMilli: _elapsedTimeMilli
|
|
189
|
-
}, defaultAttributes(contextIdentifier)));
|
|
190
|
-
|
|
191
|
-
throw new Error(_context2.t0);
|
|
192
|
-
|
|
193
|
-
case 21:
|
|
194
|
-
case "end":
|
|
195
|
-
return _context2.stop();
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}, _callee2, this, [[4, 16]]);
|
|
199
|
-
}));
|
|
200
|
-
|
|
201
|
-
function getRecommendedMentions(_x3, _x4) {
|
|
202
|
-
return _getRecommendedMentions.apply(this, arguments);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
return getRecommendedMentions;
|
|
206
|
-
}()
|
|
207
|
-
}, {
|
|
208
|
-
key: "transformTeamMember",
|
|
209
|
-
value: function transformTeamMember(member) {
|
|
210
|
-
return {
|
|
211
|
-
id: member.id,
|
|
212
|
-
name: member.name
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
}, {
|
|
216
|
-
key: "transformUserToMention",
|
|
217
|
-
value: function transformUserToMention(item) {
|
|
218
|
-
var type = item.entityType;
|
|
219
|
-
var defaultVals = {
|
|
220
|
-
source: 'smarts'
|
|
221
|
-
};
|
|
222
|
-
|
|
223
|
-
if (type === EntityType.USER) {
|
|
224
|
-
var user = item;
|
|
225
|
-
return _objectSpread(_objectSpread({}, defaultVals), {}, {
|
|
226
|
-
id: user.id,
|
|
227
|
-
accessLevel: user.accessLevel,
|
|
228
|
-
avatarUrl: user.avatarUrl,
|
|
229
|
-
mentionName: user.nickname || '',
|
|
230
|
-
name: user.name,
|
|
231
|
-
userType: user.userType
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
if (type === EntityType.TEAM) {
|
|
236
|
-
var team = item;
|
|
237
|
-
var teamLink = '';
|
|
238
|
-
var defaultTeamLink = "".concat(window.location.origin, "/people/team/").concat(team.id);
|
|
239
|
-
|
|
240
|
-
if (typeof this.smartMentionConfig.teamLinkResolver === 'function') {
|
|
241
|
-
teamLink = this.smartMentionConfig.teamLinkResolver(item.id);
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
return _objectSpread(_objectSpread({}, defaultVals), {}, {
|
|
245
|
-
id: team.id,
|
|
246
|
-
name: team.displayName || '',
|
|
247
|
-
mentionName: team.displayName,
|
|
248
|
-
avatarUrl: team.smallAvatarImageUrl,
|
|
249
|
-
accessLevel: UserAccessLevel[UserAccessLevel.CONTAINER],
|
|
250
|
-
userType: MentionUserType[MentionUserType.TEAM],
|
|
251
|
-
lozenge: MentionUserType[MentionUserType.TEAM],
|
|
252
|
-
context: {
|
|
253
|
-
members: team.members ? team.members.map(this.transformTeamMember) : [],
|
|
254
|
-
includesYou: team.includesYou || false,
|
|
255
|
-
memberCount: team.memberCount || 0,
|
|
256
|
-
teamLink: teamLink || defaultTeamLink //OOH HERE Do we pass in resolver or add in provider?
|
|
257
|
-
|
|
258
|
-
},
|
|
259
|
-
source: 'smarts'
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
if (type === EntityType.GROUP) {
|
|
264
|
-
var group = item;
|
|
265
|
-
return _objectSpread(_objectSpread({}, defaultVals), {}, {
|
|
266
|
-
id: group.id,
|
|
267
|
-
userType: type.toLowerCase(),
|
|
268
|
-
name: group.name || '',
|
|
269
|
-
lozenge: type.toLowerCase()
|
|
270
|
-
});
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
return {
|
|
274
|
-
id: item.id,
|
|
275
|
-
userType: EntityType.USER.toLowerCase(),
|
|
276
|
-
avatarUrl: item.avatarUrl,
|
|
277
|
-
name: item.name,
|
|
278
|
-
lozenge: EntityType.USER.toLowerCase()
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
}, {
|
|
282
|
-
key: "transformUsersToMentions",
|
|
283
|
-
value: function transformUsersToMentions(recommendationItems) {
|
|
284
|
-
return (recommendationItems || []).map(this.transformUserToMention, this).filter(function (user) {
|
|
285
|
-
return !!user;
|
|
286
|
-
}).map(function (user) {
|
|
287
|
-
return user;
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
}, {
|
|
291
|
-
key: "cacheMentionName",
|
|
292
|
-
value: function cacheMentionName(id, mentionName) {
|
|
293
|
-
this.smartMentionConfig.mentionNameResolver.cacheName(id, mentionName);
|
|
294
|
-
}
|
|
295
|
-
}, {
|
|
296
|
-
key: "resolveMentionName",
|
|
297
|
-
value: function resolveMentionName(id) {
|
|
298
|
-
return this.smartMentionConfig.mentionNameResolver.lookupName(id);
|
|
299
|
-
}
|
|
300
|
-
}, {
|
|
301
|
-
key: "supportsMentionNameResolving",
|
|
302
|
-
value: function supportsMentionNameResolving() {
|
|
303
|
-
return true;
|
|
304
|
-
}
|
|
305
|
-
}, {
|
|
306
|
-
key: "recordMentionSelection",
|
|
307
|
-
value: function recordMentionSelection(_mention) {
|
|
308
|
-
this._notifyAnalyticsListeners(SMART_EVENT_TYPE, 'usersRequest', Actions.SELECTED, _objectSpread({
|
|
309
|
-
selectedOption: _mention.id
|
|
310
|
-
}, defaultAttributes(this.contextIdentifier)));
|
|
311
|
-
}
|
|
312
|
-
}]);
|
|
313
|
-
|
|
314
|
-
return SmartMentionResource;
|
|
315
|
-
}(AbstractMentionResource);
|
|
316
|
-
|
|
317
|
-
export default SmartMentionResource;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { config } from '../config';
|
|
2
|
-
|
|
3
|
-
var getUserRecommendations = function getUserRecommendations(request) {
|
|
4
|
-
var url = config.getRecommendationServiceUrl(request.baseUrl);
|
|
5
|
-
return fetch(url, {
|
|
6
|
-
method: 'POST',
|
|
7
|
-
credentials: 'include',
|
|
8
|
-
headers: {
|
|
9
|
-
'content-type': 'application/json'
|
|
10
|
-
},
|
|
11
|
-
body: JSON.stringify({
|
|
12
|
-
context: request.context,
|
|
13
|
-
includeUsers: request.includeUsers,
|
|
14
|
-
includeGroups: request.includeGroups,
|
|
15
|
-
includeTeams: request.includeTeams,
|
|
16
|
-
maxNumberOfResults: request.maxNumberOfResults,
|
|
17
|
-
performSearchQueryOnly: false,
|
|
18
|
-
searchQuery: {
|
|
19
|
-
cpusQueryHighlights: {
|
|
20
|
-
query: '',
|
|
21
|
-
field: ''
|
|
22
|
-
},
|
|
23
|
-
customQuery: '',
|
|
24
|
-
customerDirectoryId: '',
|
|
25
|
-
filter: request.searchQueryFilter || '',
|
|
26
|
-
minimumAccessLevel: 'APPLICATION',
|
|
27
|
-
queryString: request.query,
|
|
28
|
-
restrictTo: {
|
|
29
|
-
userIds: [],
|
|
30
|
-
groupIds: []
|
|
31
|
-
},
|
|
32
|
-
searchUserbase: false
|
|
33
|
-
}
|
|
34
|
-
})
|
|
35
|
-
}).then(function (response) {
|
|
36
|
-
if (response.status === 200) {
|
|
37
|
-
return response.json();
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return Promise.reject({
|
|
41
|
-
message: "error calling smart service, statusCode=".concat(response.status, ", statusText=").concat(response.statusText)
|
|
42
|
-
});
|
|
43
|
-
}).then(function (response) {
|
|
44
|
-
return response.recommendedUsers;
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
export default getUserRecommendations;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
|
|
4
|
-
var _mentionStyle, _templateObject;
|
|
5
|
-
|
|
6
|
-
import { themed } from '@atlaskit/theme/components';
|
|
7
|
-
import { B200, B400, DN100, DN30, DN80, DN800, N20, N30A, N500 } from '@atlaskit/theme/colors';
|
|
8
|
-
import styled from 'styled-components';
|
|
9
|
-
import { MentionType } from '../../types';
|
|
10
|
-
var mentionStyle = (_mentionStyle = {}, _defineProperty(_mentionStyle, MentionType.SELF, {
|
|
11
|
-
background: themed({
|
|
12
|
-
light: B400,
|
|
13
|
-
dark: B200
|
|
14
|
-
}),
|
|
15
|
-
border: 'transparent',
|
|
16
|
-
text: themed({
|
|
17
|
-
light: N20,
|
|
18
|
-
dark: DN30
|
|
19
|
-
})
|
|
20
|
-
}), _defineProperty(_mentionStyle, MentionType.RESTRICTED, {
|
|
21
|
-
background: 'transparent',
|
|
22
|
-
border: themed({
|
|
23
|
-
light: N500,
|
|
24
|
-
dark: DN80
|
|
25
|
-
}),
|
|
26
|
-
text: themed({
|
|
27
|
-
light: N500,
|
|
28
|
-
dark: DN100
|
|
29
|
-
})
|
|
30
|
-
}), _defineProperty(_mentionStyle, MentionType.DEFAULT, {
|
|
31
|
-
background: themed({
|
|
32
|
-
light: N30A,
|
|
33
|
-
dark: DN80
|
|
34
|
-
}),
|
|
35
|
-
border: 'transparent',
|
|
36
|
-
text: themed({
|
|
37
|
-
light: N500,
|
|
38
|
-
dark: DN800
|
|
39
|
-
})
|
|
40
|
-
}), _mentionStyle);
|
|
41
|
-
|
|
42
|
-
var getStyle = function getStyle(props, property) {
|
|
43
|
-
var obj = mentionStyle[props.mentionType][property]; // themed() returns a function
|
|
44
|
-
|
|
45
|
-
return typeof obj === 'string' ? obj : obj(props);
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
export var MentionStyle = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", ";\n"])), function (props) {
|
|
49
|
-
return "\n display: inline;\n background: ".concat(getStyle(props, 'background'), ";\n border: 1px solid ").concat(getStyle(props, 'border'), ";\n border-radius: 20px;\n color: ").concat(getStyle(props, 'text'), ";\n cursor: pointer;\n padding: 0 0.3em 2px 0.23em;\n line-height: 1.714;\n font-size: 1em;\n font-weight: normal;\n word-break: break-word;\n");
|
|
50
|
-
});
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
5
|
-
import { MentionNameStatus } from '../types';
|
|
6
|
-
import { graphqlQuery } from './graphqlUtils';
|
|
7
|
-
import { config } from '../config';
|
|
8
|
-
|
|
9
|
-
var buildUsersQuery = function buildUsersQuery(accountIds) {
|
|
10
|
-
return {
|
|
11
|
-
query: "query usersQuery($accountIds: [ID!]!) {\n users(accountIds: $accountIds) {\n name\n accountId\n }\n }",
|
|
12
|
-
variables: {
|
|
13
|
-
accountIds: accountIds
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
var makeRequest = /*#__PURE__*/function () {
|
|
19
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(url, accountIds) {
|
|
20
|
-
var query;
|
|
21
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
22
|
-
while (1) {
|
|
23
|
-
switch (_context.prev = _context.next) {
|
|
24
|
-
case 0:
|
|
25
|
-
query = buildUsersQuery(accountIds);
|
|
26
|
-
return _context.abrupt("return", graphqlQuery(url, query));
|
|
27
|
-
|
|
28
|
-
case 2:
|
|
29
|
-
case "end":
|
|
30
|
-
return _context.stop();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}, _callee);
|
|
34
|
-
}));
|
|
35
|
-
|
|
36
|
-
return function makeRequest(_x, _x2) {
|
|
37
|
-
return _ref.apply(this, arguments);
|
|
38
|
-
};
|
|
39
|
-
}();
|
|
40
|
-
|
|
41
|
-
export var DefaultMentionNameResolver = /*#__PURE__*/function () {
|
|
42
|
-
function DefaultMentionNameResolver(baseUrl) {
|
|
43
|
-
_classCallCheck(this, DefaultMentionNameResolver);
|
|
44
|
-
|
|
45
|
-
this.baseUrl = baseUrl;
|
|
46
|
-
this.cache = new Map();
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
_createClass(DefaultMentionNameResolver, [{
|
|
50
|
-
key: "lookupName",
|
|
51
|
-
value: function () {
|
|
52
|
-
var _lookupName = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(id) {
|
|
53
|
-
var _data$users, url, data, userInfo;
|
|
54
|
-
|
|
55
|
-
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
56
|
-
while (1) {
|
|
57
|
-
switch (_context2.prev = _context2.next) {
|
|
58
|
-
case 0:
|
|
59
|
-
_context2.prev = 0;
|
|
60
|
-
|
|
61
|
-
if (!this.cache.has(id)) {
|
|
62
|
-
_context2.next = 3;
|
|
63
|
-
break;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
return _context2.abrupt("return", {
|
|
67
|
-
id: id,
|
|
68
|
-
name: this.cache.get(id),
|
|
69
|
-
status: MentionNameStatus.OK
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
case 3:
|
|
73
|
-
url = config.getGraphQLUrl(this.baseUrl);
|
|
74
|
-
_context2.next = 6;
|
|
75
|
-
return makeRequest(url, [id]);
|
|
76
|
-
|
|
77
|
-
case 6:
|
|
78
|
-
data = _context2.sent;
|
|
79
|
-
userInfo = (_data$users = data.users) === null || _data$users === void 0 ? void 0 : _data$users.find(function (user) {
|
|
80
|
-
return user.accountId === id;
|
|
81
|
-
});
|
|
82
|
-
return _context2.abrupt("return", userInfo ? {
|
|
83
|
-
id: id,
|
|
84
|
-
name: userInfo.name,
|
|
85
|
-
status: MentionNameStatus.OK
|
|
86
|
-
} : {
|
|
87
|
-
id: id,
|
|
88
|
-
status: MentionNameStatus.UNKNOWN
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
case 11:
|
|
92
|
-
_context2.prev = 11;
|
|
93
|
-
_context2.t0 = _context2["catch"](0);
|
|
94
|
-
return _context2.abrupt("return", {
|
|
95
|
-
id: id,
|
|
96
|
-
status: MentionNameStatus.UNKNOWN
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
case 14:
|
|
100
|
-
case "end":
|
|
101
|
-
return _context2.stop();
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}, _callee2, this, [[0, 11]]);
|
|
105
|
-
}));
|
|
106
|
-
|
|
107
|
-
function lookupName(_x3) {
|
|
108
|
-
return _lookupName.apply(this, arguments);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
return lookupName;
|
|
112
|
-
}()
|
|
113
|
-
}, {
|
|
114
|
-
key: "cacheName",
|
|
115
|
-
value: function cacheName(id, name) {
|
|
116
|
-
this.cache.set(id, name);
|
|
117
|
-
}
|
|
118
|
-
}]);
|
|
119
|
-
|
|
120
|
-
return DefaultMentionNameResolver;
|
|
121
|
-
}();
|