UNPKG

@atlaskit/editor-plugin-insert-block

Version:

Insert block plugin for @atlaskit/editor-core

86 lines 3.4 kB
/** * Resolves toolbar configuration from plugin options, handling backward compatibility * and providing sensible defaults. */ export const resolveToolbarConfig = options => { var _options$toolbarButto, _options$toolbarButto2, _options$toolbarButto3, _options$toolbarButto4, _options$toolbarButto5, _options$toolbarButto6, _options$toolbarButto7, _options$toolbarButto8; // Handle backward compatibility: toolbarShowPlusInsertOnly if (options.toolbarShowPlusInsertOnly) { return { codeBlock: { enabled: false }, emoji: { enabled: false }, insert: { enabled: true }, layout: { enabled: false }, media: { enabled: false }, mention: { enabled: false }, table: { enabled: false }, taskList: { enabled: false } }; } if (!options.toolbarButtons) { // disable code block by default if there's no toolbarButtons options provided, e.g on full page editor return { codeBlock: { enabled: false }, emoji: { enabled: true }, insert: { enabled: true }, layout: { enabled: true }, media: { enabled: true }, mention: { enabled: true }, table: { enabled: true }, taskList: { enabled: true } }; } const defaults = { enabled: false, showAt: 'lg' }; const resolveGroupConfig = groupConfig => { var _groupConfig$enabled, _groupConfig$showAt; return { enabled: (_groupConfig$enabled = groupConfig === null || groupConfig === void 0 ? void 0 : groupConfig.enabled) !== null && _groupConfig$enabled !== void 0 ? _groupConfig$enabled : defaults.enabled, showAt: (_groupConfig$showAt = groupConfig === null || groupConfig === void 0 ? void 0 : groupConfig.showAt) !== null && _groupConfig$showAt !== void 0 ? _groupConfig$showAt : defaults.showAt }; }; return { codeBlock: resolveGroupConfig((_options$toolbarButto = options.toolbarButtons) === null || _options$toolbarButto === void 0 ? void 0 : _options$toolbarButto.codeBlock), emoji: resolveGroupConfig((_options$toolbarButto2 = options.toolbarButtons) === null || _options$toolbarButto2 === void 0 ? void 0 : _options$toolbarButto2.emoji), insert: resolveGroupConfig((_options$toolbarButto3 = options.toolbarButtons) === null || _options$toolbarButto3 === void 0 ? void 0 : _options$toolbarButto3.insert), layout: resolveGroupConfig((_options$toolbarButto4 = options.toolbarButtons) === null || _options$toolbarButto4 === void 0 ? void 0 : _options$toolbarButto4.layout), media: resolveGroupConfig((_options$toolbarButto5 = options.toolbarButtons) === null || _options$toolbarButto5 === void 0 ? void 0 : _options$toolbarButto5.media), mention: resolveGroupConfig((_options$toolbarButto6 = options.toolbarButtons) === null || _options$toolbarButto6 === void 0 ? void 0 : _options$toolbarButto6.mention), table: resolveGroupConfig((_options$toolbarButto7 = options.toolbarButtons) === null || _options$toolbarButto7 === void 0 ? void 0 : _options$toolbarButto7.table), taskList: resolveGroupConfig((_options$toolbarButto8 = options.toolbarButtons) === null || _options$toolbarButto8 === void 0 ? void 0 : _options$toolbarButto8.taskList) }; };