@atlaskit/editor-plugin-quick-insert 7.2.2 → 7.3.1

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 CHANGED
@@ -1,5 +1,22 @@
1
1
  # @atlaskit/editor-plugin-quick-insert
2
2
 
3
+ ## 7.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 7.3.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`85975c9735b52`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/85975c9735b52) -
14
+ Add updateQuickInsertItem method to the quick-insert editor plugin
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies
19
+
3
20
  ## 7.2.2
4
21
 
5
22
  ### Patch Changes
@@ -185,14 +185,44 @@ var quickInsertPlugin = exports.quickInsertPlugin = function quickInsertPlugin(_
185
185
  });
186
186
  };
187
187
  },
188
- removeQuickInsertItem: function removeQuickInsertItem(key) {
188
+ updateQuickInsertItem: function updateQuickInsertItem(key, item) {
189
189
  return function (_ref0) {
190
- var _api$quickInsert$shar3, _api$quickInsert3, _providedItems$filter;
190
+ var _api$quickInsert$shar3, _api$quickInsert3;
191
191
  var tr = _ref0.tr;
192
192
  var _ref1 = (_api$quickInsert$shar3 = api === null || api === void 0 || (_api$quickInsert3 = api.quickInsert) === null || _api$quickInsert3 === void 0 ? void 0 : _api$quickInsert3.sharedState.currentState()) !== null && _api$quickInsert$shar3 !== void 0 ? _api$quickInsert$shar3 : {},
193
193
  providedItems = _ref1.providedItems,
194
194
  lazyDefaultItems = _ref1.lazyDefaultItems;
195
195
  var defaultItems = lazyDefaultItems ? lazyDefaultItems() : [];
196
+ var newItem = (0, _quickInsert.memoProcessQuickInsertItems)([item], intl);
197
+ var replaceByKey = function replaceByKey(items) {
198
+ return items.flatMap(function (i) {
199
+ return i.key === key ? newItem : i;
200
+ });
201
+ };
202
+ var meta = {};
203
+ if (defaultItems.some(function (i) {
204
+ return i.key === key;
205
+ })) {
206
+ meta.lazyDefaultItems = function () {
207
+ return replaceByKey(defaultItems);
208
+ };
209
+ }
210
+ if (providedItems !== null && providedItems !== void 0 && providedItems.some(function (i) {
211
+ return i.key === key;
212
+ })) {
213
+ meta.providedItems = replaceByKey(providedItems);
214
+ }
215
+ return Object.keys(meta).length > 0 ? tr.setMeta(_pluginKey.pluginKey, meta) : tr;
216
+ };
217
+ },
218
+ removeQuickInsertItem: function removeQuickInsertItem(key) {
219
+ return function (_ref10) {
220
+ var _api$quickInsert$shar4, _api$quickInsert4, _providedItems$filter;
221
+ var tr = _ref10.tr;
222
+ var _ref11 = (_api$quickInsert$shar4 = api === null || api === void 0 || (_api$quickInsert4 = api.quickInsert) === null || _api$quickInsert4 === void 0 ? void 0 : _api$quickInsert4.sharedState.currentState()) !== null && _api$quickInsert$shar4 !== void 0 ? _api$quickInsert$shar4 : {},
223
+ providedItems = _ref11.providedItems,
224
+ lazyDefaultItems = _ref11.lazyDefaultItems;
225
+ var defaultItems = lazyDefaultItems ? lazyDefaultItems() : [];
196
226
  return tr.setMeta(_pluginKey.pluginKey, {
197
227
  providedItems: (_providedItems$filter = providedItems === null || providedItems === void 0 ? void 0 : providedItems.filter(function (item) {
198
228
  return item.key !== key;
@@ -253,7 +283,7 @@ function quickInsertPluginFactory(defaultItems, providerFactory, getIntl, dispat
253
283
  },
254
284
  view: function view(editorView) {
255
285
  var providerHandler = /*#__PURE__*/function () {
256
- var _ref10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_name, providerPromise) {
286
+ var _ref12 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_name, providerPromise) {
257
287
  var provider, providedItems;
258
288
  return _regenerator.default.wrap(function _callee$(_context) {
259
289
  while (1) switch (_context.prev = _context.next) {
@@ -289,7 +319,7 @@ function quickInsertPluginFactory(defaultItems, providerFactory, getIntl, dispat
289
319
  }, _callee, null, [[1, 11]]);
290
320
  }));
291
321
  return function providerHandler(_x, _x2) {
292
- return _ref10.apply(this, arguments);
322
+ return _ref12.apply(this, arguments);
293
323
  };
294
324
  }();
295
325
  providerFactory.subscribe('quickInsertProvider', providerHandler);
@@ -174,15 +174,35 @@ export const quickInsertPlugin = ({
174
174
  lazyDefaultItems: () => [...defaultItems, ...memoisedNewItems]
175
175
  });
176
176
  },
177
- removeQuickInsertItem: key => ({
177
+ updateQuickInsertItem: (key, item) => ({
178
178
  tr
179
179
  }) => {
180
- var _api$quickInsert$shar3, _api$quickInsert3, _providedItems$filter;
180
+ var _api$quickInsert$shar3, _api$quickInsert3;
181
181
  const {
182
182
  providedItems,
183
183
  lazyDefaultItems
184
184
  } = (_api$quickInsert$shar3 = api === null || api === void 0 ? void 0 : (_api$quickInsert3 = api.quickInsert) === null || _api$quickInsert3 === void 0 ? void 0 : _api$quickInsert3.sharedState.currentState()) !== null && _api$quickInsert$shar3 !== void 0 ? _api$quickInsert$shar3 : {};
185
185
  const defaultItems = lazyDefaultItems ? lazyDefaultItems() : [];
186
+ const newItem = memoProcessQuickInsertItems([item], intl);
187
+ const replaceByKey = items => items.flatMap(i => i.key === key ? newItem : i);
188
+ const meta = {};
189
+ if (defaultItems.some(i => i.key === key)) {
190
+ meta.lazyDefaultItems = () => replaceByKey(defaultItems);
191
+ }
192
+ if (providedItems !== null && providedItems !== void 0 && providedItems.some(i => i.key === key)) {
193
+ meta.providedItems = replaceByKey(providedItems);
194
+ }
195
+ return Object.keys(meta).length > 0 ? tr.setMeta(pluginKey, meta) : tr;
196
+ },
197
+ removeQuickInsertItem: key => ({
198
+ tr
199
+ }) => {
200
+ var _api$quickInsert$shar4, _api$quickInsert4, _providedItems$filter;
201
+ const {
202
+ providedItems,
203
+ lazyDefaultItems
204
+ } = (_api$quickInsert$shar4 = api === null || api === void 0 ? void 0 : (_api$quickInsert4 = api.quickInsert) === null || _api$quickInsert4 === void 0 ? void 0 : _api$quickInsert4.sharedState.currentState()) !== null && _api$quickInsert$shar4 !== void 0 ? _api$quickInsert$shar4 : {};
205
+ const defaultItems = lazyDefaultItems ? lazyDefaultItems() : [];
186
206
  return tr.setMeta(pluginKey, {
187
207
  providedItems: (_providedItems$filter = providedItems === null || providedItems === void 0 ? void 0 : providedItems.filter(item => item.key !== key)) !== null && _providedItems$filter !== void 0 ? _providedItems$filter : [],
188
208
  lazyDefaultItems: () => defaultItems.filter(item => item.key !== key)
@@ -178,14 +178,44 @@ export var quickInsertPlugin = function quickInsertPlugin(_ref) {
178
178
  });
179
179
  };
180
180
  },
181
- removeQuickInsertItem: function removeQuickInsertItem(key) {
181
+ updateQuickInsertItem: function updateQuickInsertItem(key, item) {
182
182
  return function (_ref0) {
183
- var _api$quickInsert$shar3, _api$quickInsert3, _providedItems$filter;
183
+ var _api$quickInsert$shar3, _api$quickInsert3;
184
184
  var tr = _ref0.tr;
185
185
  var _ref1 = (_api$quickInsert$shar3 = api === null || api === void 0 || (_api$quickInsert3 = api.quickInsert) === null || _api$quickInsert3 === void 0 ? void 0 : _api$quickInsert3.sharedState.currentState()) !== null && _api$quickInsert$shar3 !== void 0 ? _api$quickInsert$shar3 : {},
186
186
  providedItems = _ref1.providedItems,
187
187
  lazyDefaultItems = _ref1.lazyDefaultItems;
188
188
  var defaultItems = lazyDefaultItems ? lazyDefaultItems() : [];
189
+ var newItem = memoProcessQuickInsertItems([item], intl);
190
+ var replaceByKey = function replaceByKey(items) {
191
+ return items.flatMap(function (i) {
192
+ return i.key === key ? newItem : i;
193
+ });
194
+ };
195
+ var meta = {};
196
+ if (defaultItems.some(function (i) {
197
+ return i.key === key;
198
+ })) {
199
+ meta.lazyDefaultItems = function () {
200
+ return replaceByKey(defaultItems);
201
+ };
202
+ }
203
+ if (providedItems !== null && providedItems !== void 0 && providedItems.some(function (i) {
204
+ return i.key === key;
205
+ })) {
206
+ meta.providedItems = replaceByKey(providedItems);
207
+ }
208
+ return Object.keys(meta).length > 0 ? tr.setMeta(pluginKey, meta) : tr;
209
+ };
210
+ },
211
+ removeQuickInsertItem: function removeQuickInsertItem(key) {
212
+ return function (_ref10) {
213
+ var _api$quickInsert$shar4, _api$quickInsert4, _providedItems$filter;
214
+ var tr = _ref10.tr;
215
+ var _ref11 = (_api$quickInsert$shar4 = api === null || api === void 0 || (_api$quickInsert4 = api.quickInsert) === null || _api$quickInsert4 === void 0 ? void 0 : _api$quickInsert4.sharedState.currentState()) !== null && _api$quickInsert$shar4 !== void 0 ? _api$quickInsert$shar4 : {},
216
+ providedItems = _ref11.providedItems,
217
+ lazyDefaultItems = _ref11.lazyDefaultItems;
218
+ var defaultItems = lazyDefaultItems ? lazyDefaultItems() : [];
189
219
  return tr.setMeta(pluginKey, {
190
220
  providedItems: (_providedItems$filter = providedItems === null || providedItems === void 0 ? void 0 : providedItems.filter(function (item) {
191
221
  return item.key !== key;
@@ -246,7 +276,7 @@ function quickInsertPluginFactory(defaultItems, providerFactory, getIntl, dispat
246
276
  },
247
277
  view: function view(editorView) {
248
278
  var providerHandler = /*#__PURE__*/function () {
249
- var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_name, providerPromise) {
279
+ var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_name, providerPromise) {
250
280
  var provider, providedItems;
251
281
  return _regeneratorRuntime.wrap(function _callee$(_context) {
252
282
  while (1) switch (_context.prev = _context.next) {
@@ -282,7 +312,7 @@ function quickInsertPluginFactory(defaultItems, providerFactory, getIntl, dispat
282
312
  }, _callee, null, [[1, 11]]);
283
313
  }));
284
314
  return function providerHandler(_x, _x2) {
285
- return _ref10.apply(this, arguments);
315
+ return _ref12.apply(this, arguments);
286
316
  };
287
317
  }();
288
318
  providerFactory.subscribe('quickInsertProvider', providerHandler);
@@ -19,6 +19,7 @@ export type QuickInsertPlugin = NextEditorPlugin<'quickInsert', {
19
19
  addQuickInsertItem: (item: QuickInsertHandler) => EditorCommand;
20
20
  openElementBrowserModal: EditorCommand;
21
21
  removeQuickInsertItem: (key: string) => EditorCommand;
22
+ updateQuickInsertItem: (key: string, item: QuickInsertHandler) => EditorCommand;
22
23
  };
23
24
  dependencies: [
24
25
  TypeAheadPlugin,
@@ -19,6 +19,7 @@ export type QuickInsertPlugin = NextEditorPlugin<'quickInsert', {
19
19
  addQuickInsertItem: (item: QuickInsertHandler) => EditorCommand;
20
20
  openElementBrowserModal: EditorCommand;
21
21
  removeQuickInsertItem: (key: string) => EditorCommand;
22
+ updateQuickInsertItem: (key: string, item: QuickInsertHandler) => EditorCommand;
22
23
  };
23
24
  dependencies: [
24
25
  TypeAheadPlugin,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-quick-insert",
3
- "version": "7.2.2",
3
+ "version": "7.3.1",
4
4
  "description": "Quick insert plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -39,13 +39,13 @@
39
39
  "@atlaskit/modal-dialog": "^14.10.0",
40
40
  "@atlaskit/platform-feature-flags": "^1.1.0",
41
41
  "@atlaskit/theme": "^21.0.0",
42
- "@atlaskit/tmp-editor-statsig": "^22.0.0",
42
+ "@atlaskit/tmp-editor-statsig": "^23.0.0",
43
43
  "@atlaskit/tokens": "^11.0.0",
44
44
  "@babel/runtime": "^7.0.0",
45
45
  "@emotion/react": "^11.7.1"
46
46
  },
47
47
  "peerDependencies": {
48
- "@atlaskit/editor-common": "^111.11.0",
48
+ "@atlaskit/editor-common": "^111.12.0",
49
49
  "react": "^18.2.0",
50
50
  "react-dom": "^18.2.0",
51
51
  "react-intl-next": "npm:react-intl@^5.18.1"