@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
JavaScript
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);
},
};