@atlaskit/editor-plugin-quick-insert
Version:
Quick insert plugin for @atlaskit/editor-core
30 lines • 1.64 kB
JavaScript
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
import { find } from '@atlaskit/editor-common/quick-insert';
import { dedupe } from '@atlaskit/editor-common/utils';
import { fg } from '@atlaskit/platform-feature-flags';
export var getQuickInsertSuggestions = function getQuickInsertSuggestions(searchOptions) {
var lazyDefaultItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {
return [];
};
var providedItems = arguments.length > 2 ? arguments[2] : undefined;
// @ts-ignore
var query = searchOptions.query,
category = searchOptions.category,
disableDefaultItems = searchOptions.disableDefaultItems,
featuredItems = searchOptions.featuredItems,
prioritySortingFn = searchOptions.prioritySortingFn;
var defaultItems = disableDefaultItems ? [] : lazyDefaultItems();
var dedupeFn = function dedupeFn(item) {
var _item$description;
return "".concat(item.title, "-").concat((_item$description = item.description) !== null && _item$description !== void 0 ? _item$description : '');
};
var items = providedItems ? dedupe([].concat(_toConsumableArray(defaultItems), _toConsumableArray(providedItems)), dedupeFn) : defaultItems;
if (featuredItems) {
return items.filter(function (item) {
return item.featured;
});
}
return find((fg('platform_editor_fix_space_triggering_ai') ? query === null || query === void 0 ? void 0 : query.trimEnd() : query) || '', category === 'all' || !category ? items : items.filter(function (item) {
return item.categories && item.categories.includes(category);
}), prioritySortingFn);
};