@atlaskit/editor-core 149.0.2 → 149.0.3

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.
@@ -40,6 +40,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
40
40
 
41
41
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
42
42
 
43
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
44
+
45
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
46
+
47
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
48
+
43
49
  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; }
44
50
 
45
51
  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) { (0, _defineProperty2.default)(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; }
@@ -232,6 +238,7 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
232
238
  HighlightComponent = _ref6.HighlightComponent;
233
239
  var sessionId = (0, _uuid.default)();
234
240
  var firstQueryWithoutResults = null;
241
+ var subscriptionKeys = new Set();
235
242
  var typeAhead = {
236
243
  id: _typeAhead.TypeAheadAvailableNodes.MENTION,
237
244
  trigger: '@',
@@ -278,9 +285,15 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
278
285
  var key = "loadingMentionsForTypeAhead_".concat((0, _uuid.default)());
279
286
 
280
287
  var mentionsSubscribeCallback = function mentionsSubscribeCallback(mentions) {
281
- var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
288
+ var resultQuery = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
282
289
  var stats = arguments.length > 2 ? arguments[2] : undefined;
290
+
291
+ if (query !== resultQuery) {
292
+ return;
293
+ }
294
+
283
295
  mentionProvider.unsubscribe(key);
296
+ subscriptionKeys.delete(key);
284
297
  var mentionItems = mentions.map(function (mention) {
285
298
  return memoizedToItem.call(mention);
286
299
  });
@@ -309,6 +322,7 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
309
322
  }
310
323
  };
311
324
 
325
+ subscriptionKeys.add(key);
312
326
  mentionProvider.subscribe(key, mentionsSubscribeCallback);
313
327
  mentionProvider.filter(query || '', _objectSpread(_objectSpread({}, contextIdentifierProvider), {}, {
314
328
  sessionId: sessionId
@@ -399,11 +413,33 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
399
413
  return insert(_prosemirrorModel.Fragment.from([mentionNode, space]));
400
414
  },
401
415
  dismiss: function dismiss(_ref9) {
402
- var query = _ref9.query,
416
+ var editorState = _ref9.editorState,
417
+ query = _ref9.query,
403
418
  stats = _ref9.stats;
404
419
  firstQueryWithoutResults = null;
405
420
  var pickerElapsedTime = stats.startedAt ? Date.now() - stats.startedAt : 0;
406
421
  fireEvent((0, _analytics.buildTypeAheadCancelPayload)(pickerElapsedTime, stats.keyCount.arrowUp, stats.keyCount.arrowDown, sessionId, query || ''));
422
+ var pluginState = (0, _utils2.getMentionPluginState)(editorState);
423
+
424
+ if (pluginState !== null && pluginState !== void 0 && pluginState.mentionProvider) {
425
+ var mentionProvider = pluginState.mentionProvider;
426
+
427
+ var _iterator = _createForOfIteratorHelper(subscriptionKeys),
428
+ _step;
429
+
430
+ try {
431
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
432
+ var key = _step.value;
433
+ mentionProvider.unsubscribe(key);
434
+ }
435
+ } catch (err) {
436
+ _iterator.e(err);
437
+ } finally {
438
+ _iterator.f();
439
+ }
440
+ }
441
+
442
+ subscriptionKeys.clear();
407
443
  sessionId = (0, _uuid.default)();
408
444
  }
409
445
  };
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.nextMajorVersion = exports.version = exports.name = void 0;
7
7
  var name = "@atlaskit/editor-core";
8
8
  exports.name = name;
9
- var version = "149.0.2";
9
+ var version = "149.0.3";
10
10
  exports.version = version;
11
11
 
12
12
  var nextMajorVersion = function nextMajorVersion() {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "149.0.2",
3
+ "version": "149.0.3",
4
4
  "sideEffects": false
5
5
  }
@@ -188,6 +188,7 @@ export const createTypeAheadConfig = ({
188
188
  }) => {
189
189
  let sessionId = uuid();
190
190
  let firstQueryWithoutResults = null;
191
+ const subscriptionKeys = new Set();
191
192
  const typeAhead = {
192
193
  id: TypeAheadAvailableNodes.MENTION,
193
194
  trigger: '@',
@@ -235,8 +236,13 @@ export const createTypeAheadConfig = ({
235
236
  return new Promise(resolve => {
236
237
  const key = `loadingMentionsForTypeAhead_${uuid()}`;
237
238
 
238
- const mentionsSubscribeCallback = (mentions, query = '', stats) => {
239
+ const mentionsSubscribeCallback = (mentions, resultQuery = '', stats) => {
240
+ if (query !== resultQuery) {
241
+ return;
242
+ }
243
+
239
244
  mentionProvider.unsubscribe(key);
245
+ subscriptionKeys.delete(key);
240
246
  const mentionItems = mentions.map(mention => memoizedToItem.call(mention));
241
247
  buildAndSendElementsTypeAheadAnalytics(fireEvent)({
242
248
  query,
@@ -263,6 +269,7 @@ export const createTypeAheadConfig = ({
263
269
  }
264
270
  };
265
271
 
272
+ subscriptionKeys.add(key);
266
273
  mentionProvider.subscribe(key, mentionsSubscribeCallback);
267
274
  mentionProvider.filter(query || '', { ...contextIdentifierProvider,
268
275
  sessionId
@@ -361,12 +368,24 @@ export const createTypeAheadConfig = ({
361
368
  },
362
369
 
363
370
  dismiss({
371
+ editorState,
364
372
  query,
365
373
  stats
366
374
  }) {
367
375
  firstQueryWithoutResults = null;
368
376
  const pickerElapsedTime = stats.startedAt ? Date.now() - stats.startedAt : 0;
369
377
  fireEvent(buildTypeAheadCancelPayload(pickerElapsedTime, stats.keyCount.arrowUp, stats.keyCount.arrowDown, sessionId, query || ''));
378
+ const pluginState = getMentionPluginState(editorState);
379
+
380
+ if (pluginState !== null && pluginState !== void 0 && pluginState.mentionProvider) {
381
+ const mentionProvider = pluginState.mentionProvider;
382
+
383
+ for (let key of subscriptionKeys) {
384
+ mentionProvider.unsubscribe(key);
385
+ }
386
+ }
387
+
388
+ subscriptionKeys.clear();
370
389
  sessionId = uuid();
371
390
  }
372
391
 
@@ -1,5 +1,5 @@
1
1
  export const name = "@atlaskit/editor-core";
2
- export const version = "149.0.2";
2
+ export const version = "149.0.3";
3
3
  export const nextMajorVersion = () => {
4
4
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
5
5
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "149.0.2",
3
+ "version": "149.0.3",
4
4
  "sideEffects": false
5
5
  }
@@ -1,6 +1,12 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
 
4
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
5
+
6
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
7
+
8
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
9
+
4
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; }
5
11
 
6
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; }
@@ -201,6 +207,7 @@ export var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
201
207
  HighlightComponent = _ref6.HighlightComponent;
202
208
  var sessionId = uuid();
203
209
  var firstQueryWithoutResults = null;
210
+ var subscriptionKeys = new Set();
204
211
  var typeAhead = {
205
212
  id: TypeAheadAvailableNodes.MENTION,
206
213
  trigger: '@',
@@ -247,9 +254,15 @@ export var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
247
254
  var key = "loadingMentionsForTypeAhead_".concat(uuid());
248
255
 
249
256
  var mentionsSubscribeCallback = function mentionsSubscribeCallback(mentions) {
250
- var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
257
+ var resultQuery = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
251
258
  var stats = arguments.length > 2 ? arguments[2] : undefined;
259
+
260
+ if (query !== resultQuery) {
261
+ return;
262
+ }
263
+
252
264
  mentionProvider.unsubscribe(key);
265
+ subscriptionKeys.delete(key);
253
266
  var mentionItems = mentions.map(function (mention) {
254
267
  return memoizedToItem.call(mention);
255
268
  });
@@ -278,6 +291,7 @@ export var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
278
291
  }
279
292
  };
280
293
 
294
+ subscriptionKeys.add(key);
281
295
  mentionProvider.subscribe(key, mentionsSubscribeCallback);
282
296
  mentionProvider.filter(query || '', _objectSpread(_objectSpread({}, contextIdentifierProvider), {}, {
283
297
  sessionId: sessionId
@@ -367,11 +381,33 @@ export var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
367
381
  return insert(Fragment.from([mentionNode, space]));
368
382
  },
369
383
  dismiss: function dismiss(_ref9) {
370
- var query = _ref9.query,
384
+ var editorState = _ref9.editorState,
385
+ query = _ref9.query,
371
386
  stats = _ref9.stats;
372
387
  firstQueryWithoutResults = null;
373
388
  var pickerElapsedTime = stats.startedAt ? Date.now() - stats.startedAt : 0;
374
389
  fireEvent(buildTypeAheadCancelPayload(pickerElapsedTime, stats.keyCount.arrowUp, stats.keyCount.arrowDown, sessionId, query || ''));
390
+ var pluginState = getMentionPluginState(editorState);
391
+
392
+ if (pluginState !== null && pluginState !== void 0 && pluginState.mentionProvider) {
393
+ var mentionProvider = pluginState.mentionProvider;
394
+
395
+ var _iterator = _createForOfIteratorHelper(subscriptionKeys),
396
+ _step;
397
+
398
+ try {
399
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
400
+ var key = _step.value;
401
+ mentionProvider.unsubscribe(key);
402
+ }
403
+ } catch (err) {
404
+ _iterator.e(err);
405
+ } finally {
406
+ _iterator.f();
407
+ }
408
+ }
409
+
410
+ subscriptionKeys.clear();
375
411
  sessionId = uuid();
376
412
  }
377
413
  };
@@ -1,5 +1,5 @@
1
1
  export var name = "@atlaskit/editor-core";
2
- export var version = "149.0.2";
2
+ export var version = "149.0.3";
3
3
  export var nextMajorVersion = function nextMajorVersion() {
4
4
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
5
5
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "149.0.2",
3
+ "version": "149.0.3",
4
4
  "sideEffects": false
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "149.0.2",
3
+ "version": "149.0.3",
4
4
  "description": "A package contains Atlassian editor core functionality",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"