UNPKG

@sharpetronics/strapi-plugin-tinymce-editor

Version:

Replaces the default Strapi WYSIWYG editor with a self-hosted build of the TinyMCE editor.

68 lines (61 loc) 1.83 kB
import { prefixPluginTranslations } from '@strapi/helper-plugin'; import pluginPkg from '../../package.json'; import pluginId from './pluginId'; import Initializer from './components/Initializer'; import PluginIcon from './components/PluginIcon'; import Wysiwyg from "./components/Wysiwyg" const name = pluginPkg.strapi.name; export default { register(app) { // uncomment to include TinyMCE on left menu //app.addMenuLink({ //to: `/plugins/${pluginId}`, //icon: PluginIcon, //intlLabel: { //id: `${pluginId}.plugin.name`, //defaultMessage: "TinyMCE", //}, //Component: async () => { //const component = await import(/* webpackChunkName: "[request]" */ './pages/App'); //return component; //}, //permissions: [ // Uncomment to set the permissions of the plugin here // { // action: '', // the action name should be plugin::plugin-name.actionType // subject: null, // }, //], //}); app.addFields({ type: "wysiwyg", Component: Wysiwyg }); app.registerPlugin({ id: pluginId, initializer: Initializer, isReady: false, name, }); }, bootstrap(app) {}, async registerTrads({ locales }) { const importedTrads = await Promise.all( locales.map((locale) => { return import( /* webpackChunkName: "translation-[request]" */ `./translations/${locale}.json` ) .then(({ default: data }) => { return { data: prefixPluginTranslations(data, pluginId), locale, }; }) .catch(() => { return { data: {}, locale, }; }); }) ); return Promise.resolve(importedTrads); }, };