@atlaskit/mention 27.17.1 → 27.18.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/AbstractMentionResource.js +111 -0
- package/dist/cjs/api/AbstractPresenceResource.js +41 -0
- package/dist/cjs/api/AbstractResource.js +48 -0
- package/dist/cjs/api/Callback.js +5 -0
- package/dist/cjs/api/DefaultMentionNameResolver.js +178 -0
- package/dist/cjs/api/DefaultPresenceCache.js +159 -0
- package/dist/cjs/api/DefaultPresenceParser.js +91 -0
- package/dist/cjs/api/HttpError.js +16 -0
- package/dist/cjs/api/MentionNameResolver.js +13 -201
- package/dist/cjs/api/MentionResource.js +52 -157
- package/dist/cjs/api/PresenceResource.js +39 -263
- package/dist/cjs/api/Queue.js +5 -0
- package/dist/cjs/api/isResolvingMentionProvider.js +9 -0
- package/dist/cjs/api/mergeNameResolverQueues.js +36 -0
- package/dist/cjs/components/Mention/MentionInternal.js +247 -0
- package/dist/cjs/components/Mention/ResourcedMention.js +5 -4
- package/dist/cjs/components/Mention/index.js +29 -243
- package/dist/cjs/components/MentionAvatar/index.js +5 -4
- package/dist/cjs/components/MentionItem/index.js +18 -12
- package/dist/cjs/components/MentionList/index.js +4 -3
- package/dist/cjs/components/MentionPicker/MentionPicker.js +231 -0
- package/dist/cjs/components/MentionPicker/index.js +18 -225
- package/dist/cjs/components/MessagesIntlProvider/index.js +2 -2
- package/dist/cjs/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.js +228 -0
- package/dist/cjs/components/ResourcedMentionList/index.js +14 -223
- package/dist/cjs/index.js +17 -15
- package/dist/cjs/is-agent-mention.js +12 -0
- package/dist/cjs/is-app-mention.js +10 -0
- package/dist/cjs/is-promise.js +9 -0
- package/dist/cjs/is-restricted.js +10 -0
- package/dist/cjs/is-special-mention-text.js +9 -0
- package/dist/cjs/is-special-mention.js +10 -0
- package/dist/cjs/is-team-mention.js +10 -0
- package/dist/cjs/resource.js +15 -12
- package/dist/cjs/team-resource.js +9 -9
- package/dist/cjs/typeahead.js +4 -0
- package/dist/cjs/types.js +71 -30
- package/dist/cjs/util/actual-mouse-move.js +14 -0
- package/dist/cjs/util/analytics.js +91 -107
- package/dist/cjs/util/build-sli-payload.js +27 -0
- package/dist/cjs/util/fire-analytics-mention-event.js +32 -0
- package/dist/cjs/util/fire-analytics-mention-hydration-event.js +33 -0
- package/dist/cjs/util/fire-analytics-mention-typeahead-event.js +34 -0
- package/dist/cjs/util/fire-analytics.js +18 -0
- package/dist/cjs/util/fire-sli-analytics-event.js +16 -0
- package/dist/cjs/util/get-messages-for-locale.js +233 -0
- package/dist/cjs/util/i18n.js +9 -254
- package/dist/cjs/util/left-click.js +9 -0
- package/dist/cjs/util/mouse-location.js +12 -0
- package/dist/cjs/util/mouse.js +1 -26
- package/dist/cjs/util/package-name.js +7 -0
- package/dist/cjs/util/package-version.js +7 -0
- package/dist/cjs/util/prop-formatter.js +25 -0
- package/dist/es2019/api/AbstractMentionResource.js +73 -0
- package/dist/es2019/api/AbstractPresenceResource.js +17 -0
- package/dist/es2019/api/AbstractResource.js +33 -0
- package/dist/es2019/api/Callback.js +1 -0
- package/dist/es2019/api/DefaultMentionNameResolver.js +152 -0
- package/dist/es2019/api/DefaultPresenceCache.js +111 -0
- package/dist/es2019/api/DefaultPresenceParser.js +58 -0
- package/dist/es2019/api/HttpError.js +8 -0
- package/dist/es2019/api/MentionNameResolver.js +13 -176
- package/dist/es2019/api/MentionResource.js +28 -122
- package/dist/es2019/api/PresenceResource.js +19 -185
- package/dist/es2019/api/Queue.js +1 -0
- package/dist/es2019/api/isResolvingMentionProvider.js +1 -0
- package/dist/es2019/api/mergeNameResolverQueues.js +25 -0
- package/dist/es2019/components/Mention/MentionInternal.js +225 -0
- package/dist/es2019/components/Mention/ResourcedMention.js +4 -3
- package/dist/es2019/components/Mention/index.js +19 -223
- package/dist/es2019/components/MentionAvatar/index.js +3 -2
- package/dist/es2019/components/MentionItem/index.js +14 -8
- package/dist/es2019/components/MentionList/index.js +2 -1
- package/dist/es2019/components/MentionPicker/MentionPicker.js +198 -0
- package/dist/es2019/components/MentionPicker/index.js +15 -198
- package/dist/es2019/components/MessagesIntlProvider/index.js +1 -1
- package/dist/es2019/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.js +187 -0
- package/dist/es2019/components/ResourcedMentionList/index.js +9 -187
- package/dist/es2019/element.js +5 -0
- package/dist/es2019/index.js +13 -9
- package/dist/es2019/is-agent-mention.js +6 -0
- package/dist/es2019/is-app-mention.js +4 -0
- package/dist/es2019/is-promise.js +1 -0
- package/dist/es2019/is-restricted.js +4 -0
- package/dist/es2019/is-special-mention-text.js +3 -0
- package/dist/es2019/is-special-mention.js +4 -0
- package/dist/es2019/is-team-mention.js +4 -0
- package/dist/es2019/item.js +5 -0
- package/dist/es2019/resource.js +15 -5
- package/dist/es2019/team-resource.js +10 -4
- package/dist/es2019/typeahead.js +5 -0
- package/dist/es2019/types.js +30 -21
- package/dist/es2019/util/actual-mouse-move.js +8 -0
- package/dist/es2019/util/analytics.js +35 -91
- package/dist/es2019/util/build-sli-payload.js +18 -0
- package/dist/es2019/util/fire-analytics-mention-event.js +24 -0
- package/dist/es2019/util/fire-analytics-mention-hydration-event.js +25 -0
- package/dist/es2019/util/fire-analytics-mention-typeahead-event.js +24 -0
- package/dist/es2019/util/fire-analytics.js +10 -0
- package/dist/es2019/util/fire-sli-analytics-event.js +8 -0
- package/dist/es2019/util/get-messages-for-locale.js +145 -0
- package/dist/es2019/util/i18n.js +2 -165
- package/dist/es2019/util/left-click.js +3 -0
- package/dist/es2019/util/mouse-location.js +6 -0
- package/dist/es2019/util/mouse.js +0 -18
- package/dist/es2019/util/package-name.js +1 -0
- package/dist/es2019/util/package-version.js +1 -0
- package/dist/es2019/util/prop-formatter.js +18 -0
- package/dist/esm/api/AbstractMentionResource.js +104 -0
- package/dist/esm/api/AbstractPresenceResource.js +34 -0
- package/dist/esm/api/AbstractResource.js +41 -0
- package/dist/esm/api/Callback.js +1 -0
- package/dist/esm/api/DefaultMentionNameResolver.js +171 -0
- package/dist/esm/api/DefaultPresenceCache.js +152 -0
- package/dist/esm/api/DefaultPresenceParser.js +84 -0
- package/dist/esm/api/HttpError.js +9 -0
- package/dist/esm/api/MentionNameResolver.js +13 -198
- package/dist/esm/api/MentionResource.js +30 -154
- package/dist/esm/api/PresenceResource.js +22 -256
- package/dist/esm/api/Queue.js +1 -0
- package/dist/esm/api/isResolvingMentionProvider.js +3 -0
- package/dist/esm/api/mergeNameResolverQueues.js +29 -0
- package/dist/esm/components/Mention/MentionInternal.js +242 -0
- package/dist/esm/components/Mention/ResourcedMention.js +4 -3
- package/dist/esm/components/Mention/index.js +19 -240
- package/dist/esm/components/MentionAvatar/index.js +3 -2
- package/dist/esm/components/MentionItem/index.js +14 -8
- package/dist/esm/components/MentionList/index.js +2 -1
- package/dist/esm/components/MentionPicker/MentionPicker.js +225 -0
- package/dist/esm/components/MentionPicker/index.js +15 -225
- package/dist/esm/components/MessagesIntlProvider/index.js +1 -1
- package/dist/esm/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.js +221 -0
- package/dist/esm/components/ResourcedMentionList/index.js +9 -221
- package/dist/esm/element.js +5 -0
- package/dist/esm/index.js +13 -9
- package/dist/esm/is-agent-mention.js +6 -0
- package/dist/esm/is-app-mention.js +4 -0
- package/dist/esm/is-promise.js +3 -0
- package/dist/esm/is-restricted.js +4 -0
- package/dist/esm/is-special-mention-text.js +3 -0
- package/dist/esm/is-special-mention.js +4 -0
- package/dist/esm/is-team-mention.js +4 -0
- package/dist/esm/item.js +5 -0
- package/dist/esm/resource.js +15 -5
- package/dist/esm/team-resource.js +10 -4
- package/dist/esm/typeahead.js +5 -0
- package/dist/esm/types.js +30 -23
- package/dist/esm/util/actual-mouse-move.js +8 -0
- package/dist/esm/util/analytics.js +35 -105
- package/dist/esm/util/build-sli-payload.js +20 -0
- package/dist/esm/util/fire-analytics-mention-event.js +26 -0
- package/dist/esm/util/fire-analytics-mention-hydration-event.js +27 -0
- package/dist/esm/util/fire-analytics-mention-typeahead-event.js +28 -0
- package/dist/esm/util/fire-analytics.js +12 -0
- package/dist/esm/util/fire-sli-analytics-event.js +10 -0
- package/dist/esm/util/get-messages-for-locale.js +163 -0
- package/dist/esm/util/i18n.js +2 -183
- package/dist/esm/util/left-click.js +3 -0
- package/dist/esm/util/mouse-location.js +6 -0
- package/dist/esm/util/mouse.js +0 -18
- package/dist/esm/util/package-name.js +1 -0
- package/dist/esm/util/package-version.js +1 -0
- package/dist/esm/util/prop-formatter.js +18 -0
- package/dist/types/api/AbstractMentionResource.d.ts +15 -0
- package/dist/types/api/AbstractPresenceResource.d.ts +6 -0
- package/dist/types/api/AbstractResource.d.ts +11 -0
- package/dist/types/api/Callback.d.ts +4 -0
- package/dist/types/api/DefaultMentionNameResolver.d.ts +27 -0
- package/dist/types/api/DefaultPresenceCache.d.ts +57 -0
- package/dist/types/api/DefaultPresenceParser.d.ts +8 -0
- package/dist/types/api/HttpError.d.ts +7 -0
- package/dist/types/api/MentionNameResolver.d.ts +14 -35
- package/dist/types/api/MentionResource.d.ts +18 -33
- package/dist/types/api/PresenceResource.d.ts +15 -69
- package/dist/types/api/Queue.d.ts +2 -0
- package/dist/types/api/isResolvingMentionProvider.d.ts +2 -0
- package/dist/types/api/mergeNameResolverQueues.d.ts +6 -0
- package/dist/types/components/Mention/MentionInternal.d.ts +27 -0
- package/dist/types/components/Mention/ResourcedMention.d.ts +1 -1
- package/dist/types/components/Mention/index.d.ts +9 -20
- package/dist/types/components/MentionAvatar/index.d.ts +1 -1
- package/dist/types/components/MentionItem/index.d.ts +4 -1
- package/dist/types/components/MentionPicker/MentionPicker.d.ts +46 -0
- package/dist/types/components/MentionPicker/index.d.ts +5 -42
- package/dist/types/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.d.ts +30 -0
- package/dist/types/components/ResourcedMentionList/index.d.ts +5 -27
- package/dist/types/element.d.ts +3 -0
- package/dist/types/index.d.ts +15 -10
- package/dist/types/is-agent-mention.d.ts +2 -0
- package/dist/types/is-app-mention.d.ts +2 -0
- package/dist/types/is-promise.d.ts +1 -0
- package/dist/types/is-restricted.d.ts +1 -0
- package/dist/types/is-special-mention-text.d.ts +1 -0
- package/dist/types/is-special-mention.d.ts +2 -0
- package/dist/types/is-team-mention.d.ts +2 -0
- package/dist/types/item.d.ts +3 -0
- package/dist/types/resource.d.ts +15 -6
- package/dist/types/team-resource.d.ts +10 -4
- package/dist/types/typeahead.d.ts +3 -0
- package/dist/types/types.d.ts +28 -8
- package/dist/types/util/actual-mouse-move.d.ts +2 -0
- package/dist/types/util/analytics.d.ts +33 -10
- package/dist/types/util/build-sli-payload.d.ts +4 -0
- package/dist/types/util/fire-analytics-mention-event.d.ts +1 -0
- package/dist/types/util/fire-analytics-mention-hydration-event.d.ts +1 -0
- package/dist/types/util/fire-analytics-mention-typeahead-event.d.ts +1 -0
- package/dist/types/util/fire-analytics.d.ts +1 -0
- package/dist/types/util/fire-sli-analytics-event.d.ts +1 -0
- package/dist/types/util/get-messages-for-locale.d.ts +11 -0
- package/dist/types/util/i18n.d.ts +0 -15
- package/dist/types/util/left-click.d.ts +2 -0
- package/dist/types/util/mouse-location.d.ts +3 -0
- package/dist/types/util/mouse.d.ts +0 -4
- package/dist/types/util/package-name.d.ts +1 -0
- package/dist/types/util/package-version.d.ts +1 -0
- package/dist/types/util/prop-formatter.d.ts +5 -0
- package/package.json +1 -1
- package/dist/cjs/i18n/index.js +0 -216
- package/dist/es2019/i18n/index.js +0 -37
- package/dist/esm/i18n/index.js +0 -37
- package/dist/types/i18n/index.d.ts +0 -37
- /package/dist/cjs/components/Mention/{index.compiled.css → MentionInternal.compiled.css} +0 -0
- /package/dist/es2019/components/Mention/{index.compiled.css → MentionInternal.compiled.css} +0 -0
- /package/dist/esm/components/Mention/{index.compiled.css → MentionInternal.compiled.css} +0 -0
|
@@ -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.HttpError = void 0;
|
|
8
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var HttpError = exports.HttpError = /*#__PURE__*/(0, _createClass2.default)(function HttpError(statusCode, statusMessage) {
|
|
11
|
+
(0, _classCallCheck2.default)(this, HttpError);
|
|
12
|
+
this.statusCode = statusCode;
|
|
13
|
+
this.message = statusMessage;
|
|
14
|
+
this.name = 'HttpError';
|
|
15
|
+
this.stack = new Error().stack;
|
|
16
|
+
});
|
|
@@ -1,207 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
var _types = require("../types");
|
|
15
|
-
var _analytics = require("../util/analytics");
|
|
16
|
-
/** A queue for user ids */
|
|
17
|
-
var DefaultMentionNameResolver = exports.DefaultMentionNameResolver = /*#__PURE__*/function () {
|
|
18
|
-
function DefaultMentionNameResolver(client) {
|
|
19
|
-
var _this = this;
|
|
20
|
-
var analyticsProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
21
|
-
var onResolvedAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
|
|
22
|
-
(0, _classCallCheck2.default)(this, DefaultMentionNameResolver);
|
|
23
|
-
(0, _defineProperty2.default)(this, "nameCache", new Map());
|
|
24
|
-
(0, _defineProperty2.default)(this, "nameQueue", new Map());
|
|
25
|
-
(0, _defineProperty2.default)(this, "nameStartTime", new Map());
|
|
26
|
-
(0, _defineProperty2.default)(this, "processingQueue", new Map());
|
|
27
|
-
(0, _defineProperty2.default)(this, "debounce", 0);
|
|
28
|
-
(0, _defineProperty2.default)(this, "debounceOnResolve", null);
|
|
29
|
-
(0, _defineProperty2.default)(this, "isOnResolvedAllCalled", false);
|
|
30
|
-
(0, _defineProperty2.default)(this, "processQueue", function () {
|
|
31
|
-
clearTimeout(_this.debounce);
|
|
32
|
-
_this.debounce = 0;
|
|
33
|
-
var _this$splitQueueAtLim = _this.splitQueueAtLimit(),
|
|
34
|
-
queue = _this$splitQueueAtLim.queue,
|
|
35
|
-
extraQueue = _this$splitQueueAtLim.extraQueue;
|
|
36
|
-
_this.nameQueue = extraQueue;
|
|
37
|
-
_this.processingQueue = mergeNameResolverQueues(_this.processingQueue, queue);
|
|
38
|
-
_this.client.lookupMentionNames(Array.from(queue.keys())).then(function (response) {
|
|
39
|
-
response.forEach(function (mentionDetail) {
|
|
40
|
-
var id = mentionDetail.id;
|
|
41
|
-
queue.delete(id);
|
|
42
|
-
_this.resolveQueueItem(mentionDetail);
|
|
43
|
-
});
|
|
44
|
-
queue.forEach(function (_callback, id) {
|
|
45
|
-
// No response from client for these ids treat as unknown
|
|
46
|
-
_this.resolveQueueItem({
|
|
47
|
-
id: id,
|
|
48
|
-
status: _types.MentionNameStatus.UNKNOWN
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
}).catch(function () {
|
|
52
|
-
// Service completely failed, reject all items in the queue
|
|
53
|
-
queue.forEach(function (_callback, id) {
|
|
54
|
-
_this.resolveQueueItem({
|
|
55
|
-
id: id,
|
|
56
|
-
status: _types.MentionNameStatus.SERVICE_ERROR
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
// Make sure anything left in the queue gets processed.
|
|
62
|
-
if (_this.nameQueue.size > 0) {
|
|
63
|
-
_this.scheduleProcessQueue();
|
|
64
|
-
} else {
|
|
65
|
-
_this.scheduleOnAllResolved();
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
this.client = client;
|
|
69
|
-
this.fireHydrationEvent = (0, _analytics.fireAnalyticsMentionHydrationEvent)(analyticsProps);
|
|
70
|
-
// If provided, this will be called once all pending mentions in the queue are resolved.
|
|
71
|
-
// A sample usage is scrolling to a mention on page load, after the mentions have loadad.
|
|
72
|
-
this.onResolvedAll = onResolvedAll;
|
|
6
|
+
Object.defineProperty(exports, "DefaultMentionNameResolver", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _DefaultMentionNameResolver.DefaultMentionNameResolver;
|
|
73
10
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
return name;
|
|
85
|
-
}
|
|
86
|
-
return new Promise(function (resolve) {
|
|
87
|
-
var processingItems = _this2.processingQueue.get(id);
|
|
88
|
-
if (processingItems) {
|
|
89
|
-
_this2.processingQueue.set(id, [].concat((0, _toConsumableArray2.default)(processingItems), [resolve]));
|
|
90
|
-
}
|
|
91
|
-
var queuedItems = _this2.nameQueue.get(id) || [];
|
|
92
|
-
_this2.nameQueue.set(id, [].concat((0, _toConsumableArray2.default)(queuedItems), [resolve]));
|
|
93
|
-
if (queuedItems.length === 0 && !processingItems) {
|
|
94
|
-
_this2.nameStartTime.set(id, Date.now());
|
|
95
|
-
}
|
|
96
|
-
_this2.scheduleProcessQueue();
|
|
97
|
-
if (_this2.isQueueAtLimit()) {
|
|
98
|
-
_this2.processQueue();
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
}, {
|
|
103
|
-
key: "cacheName",
|
|
104
|
-
value: function cacheName(id, name) {
|
|
105
|
-
this.nameCache.set(id, {
|
|
106
|
-
id: id,
|
|
107
|
-
name: name,
|
|
108
|
-
status: _types.MentionNameStatus.OK
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
}, {
|
|
112
|
-
key: "scheduleProcessQueue",
|
|
113
|
-
value: function scheduleProcessQueue() {
|
|
114
|
-
if (!this.debounce) {
|
|
115
|
-
this.debounce = window.setTimeout(this.processQueue, DefaultMentionNameResolver.waitForBatch);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}, {
|
|
119
|
-
key: "scheduleOnAllResolved",
|
|
120
|
-
value: function scheduleOnAllResolved() {
|
|
121
|
-
var _this3 = this;
|
|
122
|
-
if (this.debounceOnResolve) {
|
|
123
|
-
clearTimeout(this.debounceOnResolve);
|
|
124
|
-
}
|
|
125
|
-
this.debounceOnResolve = window.setTimeout(function () {
|
|
126
|
-
if (_this3.isOnResolvedAllCalled) {
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
_this3.onResolvedAll();
|
|
130
|
-
_this3.isOnResolvedAllCalled = true;
|
|
131
|
-
}, DefaultMentionNameResolver.waitForResolveAll);
|
|
132
|
-
}
|
|
133
|
-
}, {
|
|
134
|
-
key: "isQueueAtLimit",
|
|
135
|
-
value: function isQueueAtLimit() {
|
|
136
|
-
return this.nameQueue.size >= this.client.getLookupLimit();
|
|
137
|
-
}
|
|
138
|
-
}, {
|
|
139
|
-
key: "splitQueueAtLimit",
|
|
140
|
-
value: function splitQueueAtLimit() {
|
|
141
|
-
var values = Array.from(this.nameQueue.entries());
|
|
142
|
-
var splitPoint = this.client.getLookupLimit();
|
|
143
|
-
return {
|
|
144
|
-
queue: new Map(values.slice(0, splitPoint)),
|
|
145
|
-
extraQueue: new Map(values.slice(splitPoint))
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
}, {
|
|
149
|
-
key: "resolveQueueItem",
|
|
150
|
-
value: function resolveQueueItem(mentionDetail) {
|
|
151
|
-
var id = mentionDetail.id;
|
|
152
|
-
var resolvers = this.processingQueue.get(id);
|
|
153
|
-
if (resolvers) {
|
|
154
|
-
this.processingQueue.delete(id);
|
|
155
|
-
this.nameCache.set(id, mentionDetail);
|
|
156
|
-
resolvers.forEach(function (resolve) {
|
|
157
|
-
try {
|
|
158
|
-
resolve(mentionDetail);
|
|
159
|
-
} catch (_unused) {
|
|
160
|
-
// ignore - exception in consumer
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
this.fireAnalytics(false, mentionDetail);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}, {
|
|
167
|
-
key: "fireAnalytics",
|
|
168
|
-
value: function fireAnalytics(fromCache, mentionDetail) {
|
|
169
|
-
var id = mentionDetail.id;
|
|
170
|
-
var action = mentionDetail.status === _types.MentionNameStatus.OK ? 'completed' : 'failed';
|
|
171
|
-
var start = this.nameStartTime.get(id);
|
|
172
|
-
var duration = start ? Date.now() - start : 0;
|
|
173
|
-
this.nameStartTime.delete(id);
|
|
174
|
-
this.fireHydrationEvent(action, id, fromCache, duration);
|
|
175
|
-
}
|
|
176
|
-
}]);
|
|
177
|
-
}();
|
|
178
|
-
/**
|
|
179
|
-
* Merge the two queues making sure to merge callback arrays for items in queueB already in queueA.
|
|
180
|
-
* This addresses [this ticket](https://product-fabric.atlassian.net/browse/QS-3789).
|
|
181
|
-
*/
|
|
182
|
-
(0, _defineProperty2.default)(DefaultMentionNameResolver, "waitForBatch", 100);
|
|
183
|
-
// ms
|
|
184
|
-
(0, _defineProperty2.default)(DefaultMentionNameResolver, "waitForResolveAll", 800);
|
|
185
|
-
function mergeNameResolverQueues(queueA, queueB) {
|
|
186
|
-
var queueBeingMerged = new Map((0, _toConsumableArray2.default)(queueA));
|
|
187
|
-
|
|
188
|
-
// now add the items from the second queue that are not already in the
|
|
189
|
-
// merged queue being built
|
|
190
|
-
(0, _toConsumableArray2.default)(queueB).forEach(function (item) {
|
|
191
|
-
var _item = (0, _slicedToArray2.default)(item, 2),
|
|
192
|
-
key = _item[0],
|
|
193
|
-
queueBCallbacks = _item[1];
|
|
194
|
-
var itemAlreadyInMergedQueue = queueBeingMerged.has(key);
|
|
195
|
-
if (!itemAlreadyInMergedQueue) {
|
|
196
|
-
queueBeingMerged.set(key, queueBCallbacks);
|
|
197
|
-
} else {
|
|
198
|
-
var _queueBeingMerged$get;
|
|
199
|
-
// item already in merged queue, merge the callback arrays
|
|
200
|
-
var queueACallbacks = (_queueBeingMerged$get = queueBeingMerged.get(key)) !== null && _queueBeingMerged$get !== void 0 ? _queueBeingMerged$get : [];
|
|
201
|
-
var mergedCallbacks = new Set([].concat((0, _toConsumableArray2.default)(queueBCallbacks), (0, _toConsumableArray2.default)(queueACallbacks)));
|
|
202
|
-
var deduplicatedCallbacks = Array.from(mergedCallbacks.values()); // prevents calling them twice
|
|
203
|
-
queueBeingMerged.set(key, deduplicatedCallbacks);
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
return queueBeingMerged;
|
|
207
|
-
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "mergeNameResolverQueues", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _mergeNameResolverQueues.mergeNameResolverQueues;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
var _DefaultMentionNameResolver = require("./DefaultMentionNameResolver");
|
|
19
|
+
var _mergeNameResolverQueues = require("./mergeNameResolverQueues");
|
|
@@ -4,29 +4,55 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
|
|
7
|
+
Object.defineProperty(exports, "AbstractMentionResource", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _AbstractMentionResource.AbstractMentionResource;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "AbstractResource", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return _AbstractResource.AbstractResource;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "HttpError", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function get() {
|
|
22
|
+
return _HttpError.HttpError;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
exports.default = exports.MentionResource = void 0;
|
|
26
|
+
Object.defineProperty(exports, "isResolvingMentionProvider", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function get() {
|
|
29
|
+
return _isResolvingMentionProvider.isResolvingMentionProvider;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
8
32
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
33
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
34
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
35
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
36
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
37
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
38
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
39
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var
|
|
15
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
40
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
16
41
|
var _utilServiceSupport = require("@atlaskit/util-service-support");
|
|
42
|
+
var _isAppMention = require("../is-app-mention");
|
|
43
|
+
var _isTeamMention = require("../is-team-mention");
|
|
17
44
|
var _types = require("../types");
|
|
18
|
-
var _logger = _interopRequireDefault(require("../util/logger"));
|
|
19
45
|
var _analytics = require("../util/analytics");
|
|
20
|
-
var
|
|
46
|
+
var _logger = _interopRequireDefault(require("../util/logger"));
|
|
47
|
+
var _AbstractMentionResource = require("./AbstractMentionResource");
|
|
48
|
+
var _HttpError = require("./HttpError");
|
|
49
|
+
var _isResolvingMentionProvider = require("./isResolvingMentionProvider");
|
|
50
|
+
var _AbstractResource = require("./AbstractResource");
|
|
21
51
|
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; }
|
|
22
52
|
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; }
|
|
23
53
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
24
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
54
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
|
|
25
55
|
var MAX_QUERY_ITEMS = 100;
|
|
26
|
-
var MAX_NOTIFIED_ITEMS = 20;
|
|
27
|
-
|
|
28
|
-
// Re-exporting types to prevent breaking change
|
|
29
|
-
// Re-exporting types to prevent breaking change
|
|
30
56
|
|
|
31
57
|
/**
|
|
32
58
|
* Configuration for the TeamMentionResource, which extends {@link MentionResourceConfig}
|
|
@@ -46,139 +72,6 @@ var emptySecurityProvider = function emptySecurityProvider() {
|
|
|
46
72
|
headers: {}
|
|
47
73
|
};
|
|
48
74
|
};
|
|
49
|
-
var AbstractResource = exports.AbstractResource = /*#__PURE__*/function () {
|
|
50
|
-
function AbstractResource() {
|
|
51
|
-
(0, _classCallCheck2.default)(this, AbstractResource);
|
|
52
|
-
this.changeListeners = new Map();
|
|
53
|
-
this.allResultsListeners = new Map();
|
|
54
|
-
this.errListeners = new Map();
|
|
55
|
-
this.infoListeners = new Map();
|
|
56
|
-
this.analyticsListeners = new Map();
|
|
57
|
-
}
|
|
58
|
-
return (0, _createClass2.default)(AbstractResource, [{
|
|
59
|
-
key: "subscribe",
|
|
60
|
-
value: function subscribe(key, callback, errCallback, infoCallback, allResultsCallback, analyticsListeners) {
|
|
61
|
-
if (callback) {
|
|
62
|
-
this.changeListeners.set(key, callback);
|
|
63
|
-
}
|
|
64
|
-
if (errCallback) {
|
|
65
|
-
this.errListeners.set(key, errCallback);
|
|
66
|
-
}
|
|
67
|
-
if (infoCallback) {
|
|
68
|
-
this.infoListeners.set(key, infoCallback);
|
|
69
|
-
}
|
|
70
|
-
if (allResultsCallback) {
|
|
71
|
-
this.allResultsListeners.set(key, allResultsCallback);
|
|
72
|
-
}
|
|
73
|
-
if (analyticsListeners) {
|
|
74
|
-
this.analyticsListeners.set(key, analyticsListeners);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}, {
|
|
78
|
-
key: "unsubscribe",
|
|
79
|
-
value: function unsubscribe(key) {
|
|
80
|
-
this.changeListeners.delete(key);
|
|
81
|
-
this.errListeners.delete(key);
|
|
82
|
-
this.infoListeners.delete(key);
|
|
83
|
-
this.allResultsListeners.delete(key);
|
|
84
|
-
this.analyticsListeners.delete(key);
|
|
85
|
-
}
|
|
86
|
-
}]);
|
|
87
|
-
}();
|
|
88
|
-
var AbstractMentionResource = exports.AbstractMentionResource = /*#__PURE__*/function (_AbstractResource) {
|
|
89
|
-
function AbstractMentionResource() {
|
|
90
|
-
(0, _classCallCheck2.default)(this, AbstractMentionResource);
|
|
91
|
-
return _callSuper(this, AbstractMentionResource, arguments);
|
|
92
|
-
}
|
|
93
|
-
(0, _inherits2.default)(AbstractMentionResource, _AbstractResource);
|
|
94
|
-
return (0, _createClass2.default)(AbstractMentionResource, [{
|
|
95
|
-
key: "shouldHighlightMention",
|
|
96
|
-
value: function shouldHighlightMention(_mention) {
|
|
97
|
-
return false;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// eslint-disable-next-line class-methods-use-this
|
|
101
|
-
}, {
|
|
102
|
-
key: "filter",
|
|
103
|
-
value: function filter(query) {
|
|
104
|
-
throw new Error("not yet implemented.\nParams: query=".concat(query));
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// eslint-disable-next-line class-methods-use-this, no-unused-vars
|
|
108
|
-
}, {
|
|
109
|
-
key: "recordMentionSelection",
|
|
110
|
-
value: function recordMentionSelection(_mention) {
|
|
111
|
-
// Do nothing
|
|
112
|
-
}
|
|
113
|
-
}, {
|
|
114
|
-
key: "isFiltering",
|
|
115
|
-
value: function isFiltering(_query) {
|
|
116
|
-
return false;
|
|
117
|
-
}
|
|
118
|
-
}, {
|
|
119
|
-
key: "_notifyListeners",
|
|
120
|
-
value: function _notifyListeners(mentionsResult, stats) {
|
|
121
|
-
(0, _logger.default)('ak-mention-resource._notifyListeners', mentionsResult && mentionsResult.mentions && mentionsResult.mentions.length, this.changeListeners);
|
|
122
|
-
this.changeListeners.forEach(function (listener, key) {
|
|
123
|
-
try {
|
|
124
|
-
listener(mentionsResult.mentions.slice(0, MAX_NOTIFIED_ITEMS), mentionsResult.query, stats);
|
|
125
|
-
} catch (e) {
|
|
126
|
-
// ignore error from listener
|
|
127
|
-
(0, _logger.default)("error from listener '".concat(key, "', ignoring"), e);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
}, {
|
|
132
|
-
key: "_notifyAllResultsListeners",
|
|
133
|
-
value: function _notifyAllResultsListeners(mentionsResult) {
|
|
134
|
-
(0, _logger.default)('ak-mention-resource._notifyAllResultsListeners', mentionsResult && mentionsResult.mentions && mentionsResult.mentions.length, this.changeListeners);
|
|
135
|
-
this.allResultsListeners.forEach(function (listener, key) {
|
|
136
|
-
try {
|
|
137
|
-
listener(mentionsResult.mentions.slice(0, MAX_NOTIFIED_ITEMS), mentionsResult.query);
|
|
138
|
-
} catch (e) {
|
|
139
|
-
// ignore error from listener
|
|
140
|
-
(0, _logger.default)("error from listener '".concat(key, "', ignoring"), e);
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
}, {
|
|
145
|
-
key: "_notifyErrorListeners",
|
|
146
|
-
value: function _notifyErrorListeners(error, query) {
|
|
147
|
-
this.errListeners.forEach(function (listener, key) {
|
|
148
|
-
try {
|
|
149
|
-
listener(error, query);
|
|
150
|
-
} catch (e) {
|
|
151
|
-
// ignore error from listener
|
|
152
|
-
(0, _logger.default)("error from listener '".concat(key, "', ignoring"), e);
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
}, {
|
|
157
|
-
key: "_notifyInfoListeners",
|
|
158
|
-
value: function _notifyInfoListeners(info) {
|
|
159
|
-
this.infoListeners.forEach(function (listener, key) {
|
|
160
|
-
try {
|
|
161
|
-
listener(info);
|
|
162
|
-
} catch (e) {
|
|
163
|
-
// ignore error fromr listener
|
|
164
|
-
(0, _logger.default)("error from listener '".concat(key, "', ignoring"), e);
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
}, {
|
|
169
|
-
key: "_notifyAnalyticsListeners",
|
|
170
|
-
value: function _notifyAnalyticsListeners(event, actionSubject, action, attributes) {
|
|
171
|
-
this.analyticsListeners.forEach(function (listener, key) {
|
|
172
|
-
try {
|
|
173
|
-
listener(event, actionSubject, action, attributes);
|
|
174
|
-
} catch (e) {
|
|
175
|
-
// ignore error from listener
|
|
176
|
-
(0, _logger.default)("error from listener '".concat(key, "', ignoring"), e);
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
}]);
|
|
181
|
-
}(AbstractResource);
|
|
182
75
|
/**
|
|
183
76
|
* Provides a Javascript API
|
|
184
77
|
*/
|
|
@@ -474,9 +367,9 @@ var MentionResource = exports.MentionResource = /*#__PURE__*/function (_Abstract
|
|
|
474
367
|
return mention;
|
|
475
368
|
}
|
|
476
369
|
var lozenge;
|
|
477
|
-
if ((0,
|
|
370
|
+
if ((0, _isAppMention.isAppMention)(mention)) {
|
|
478
371
|
lozenge = mention.userType;
|
|
479
|
-
} else if ((0,
|
|
372
|
+
} else if ((0, _isTeamMention.isTeamMention)(mention)) {
|
|
480
373
|
lozenge = mention.userType;
|
|
481
374
|
}
|
|
482
375
|
return _objectSpread(_objectSpread({}, mention), {}, {
|
|
@@ -490,15 +383,17 @@ var MentionResource = exports.MentionResource = /*#__PURE__*/function (_Abstract
|
|
|
490
383
|
});
|
|
491
384
|
}
|
|
492
385
|
}]);
|
|
493
|
-
}(AbstractMentionResource);
|
|
494
|
-
var
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
386
|
+
}(_AbstractMentionResource.AbstractMentionResource);
|
|
387
|
+
var _default = exports.default = MentionResource;
|
|
388
|
+
/**
|
|
389
|
+
* @deprecated Use `import { HttpError } from '@atlaskit/mention/mention-resource'` instead.
|
|
390
|
+
*/
|
|
391
|
+
/**
|
|
392
|
+
* @deprecated Use `import { isResolvingMentionProvider } from '@atlaskit/mention/mention-resource'` instead.
|
|
393
|
+
*/
|
|
394
|
+
/**
|
|
395
|
+
* @deprecated Use `import { AbstractResource } from '@atlaskit/mention/mention-resource'` instead.
|
|
396
|
+
*/
|
|
397
|
+
/**
|
|
398
|
+
* @deprecated Use `import { AbstractMentionResource } from '@atlaskit/mention/mention-resource'` instead.
|
|
399
|
+
*/
|