@atlaskit/editor-plugin-insert-block
Version:
Insert block plugin for @atlaskit/editor-core
86 lines • 3.45 kB
JavaScript
/**
* Resolves toolbar configuration from plugin options, handling backward compatibility
* and providing sensible defaults.
*/
export var resolveToolbarConfig = function 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
}
};
}
var defaults = {
enabled: false,
showAt: 'lg'
};
var resolveGroupConfig = function 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)
};
};