mirror of
https://github.com/strapi/strapi.git
synced 2025-07-31 04:45:54 +00:00
Change the way we load plugins
Signed-off-by: soupette <cyril.lpz@gmail.com>
This commit is contained in:
parent
1106c07795
commit
96e092b300
@ -57,16 +57,20 @@ const { dispatch } = store;
|
||||
const MOUNT_NODE =
|
||||
document.getElementById('app') || document.createElement('div');
|
||||
|
||||
Object.keys(plugins).forEach(plugin => {
|
||||
const currentPlugin = plugins[plugin];
|
||||
Object.keys(plugins).forEach(current => {
|
||||
const registerPlugin = plugin => {
|
||||
return plugin;
|
||||
};
|
||||
const currentPluginFn = plugins[current];
|
||||
const plugin = currentPluginFn({ registerPlugin });
|
||||
|
||||
const pluginTradsPrefixed = languages.reduce((acc, lang) => {
|
||||
const currentLocale = currentPlugin.trads[lang];
|
||||
const currentLocale = plugin.trads[lang];
|
||||
|
||||
if (currentLocale) {
|
||||
const localeprefixedWithPluginId = Object.keys(currentLocale).reduce(
|
||||
(acc2, current) => {
|
||||
acc2[`${plugins[plugin].id}.${current}`] = currentLocale[current];
|
||||
acc2[`${plugin.id}.${current}`] = currentLocale[current];
|
||||
|
||||
return acc2;
|
||||
},
|
||||
@ -81,7 +85,7 @@ Object.keys(plugins).forEach(plugin => {
|
||||
|
||||
try {
|
||||
merge(translationMessages, pluginTradsPrefixed);
|
||||
dispatch(pluginLoaded(currentPlugin));
|
||||
dispatch(pluginLoaded(plugin));
|
||||
} catch (err) {
|
||||
console.log({ err });
|
||||
}
|
||||
|
@ -92,8 +92,9 @@ describe('<Admin />', () => {
|
||||
it('should render the routes', () => {
|
||||
const renderedComponent = shallow(<Admin {...props} />);
|
||||
const { renderRoute } = renderedComponent.instance();
|
||||
const Compo = () => <div>compo</div>;
|
||||
|
||||
expect(renderRoute()).not.toBeNull();
|
||||
expect(renderRoute({}, Compo)).not.toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
import React from 'react';
|
||||
|
||||
import pluginPkg from '../../package.json';
|
||||
import pluginId from './pluginId';
|
||||
import App from './containers/Main';
|
||||
@ -7,13 +5,10 @@ import Initializer from './containers/Initializer';
|
||||
import lifecycles from './lifecycles';
|
||||
import trads from './translations';
|
||||
|
||||
const pluginDescription = pluginPkg.strapi.description || pluginPkg.description;
|
||||
|
||||
function Comp(props) {
|
||||
return <App {...props} />;
|
||||
}
|
||||
|
||||
const plugin = {
|
||||
export default strapi => {
|
||||
const pluginDescription =
|
||||
pluginPkg.strapi.description || pluginPkg.description;
|
||||
const plugin = {
|
||||
blockerComponent: null,
|
||||
blockerComponentProps: {},
|
||||
description: pluginDescription,
|
||||
@ -26,12 +21,13 @@ const plugin = {
|
||||
lifecycles,
|
||||
leftMenuLinks: [],
|
||||
leftMenuSections: [],
|
||||
mainComponent: Comp,
|
||||
mainComponent: App,
|
||||
name: pluginPkg.strapi.name,
|
||||
preventComponentRendering: false,
|
||||
suffixUrl: () => '/ctm-configurations/models',
|
||||
suffixUrlToReplaceForLeftMenuHighlight: '/models',
|
||||
trads,
|
||||
};
|
||||
};
|
||||
|
||||
export default plugin;
|
||||
return strapi.registerPlugin(plugin);
|
||||
};
|
||||
|
@ -1,4 +1,3 @@
|
||||
import React from 'react';
|
||||
import pluginPkg from '../../package.json';
|
||||
import App from './containers/App';
|
||||
import Initializer from './containers/Initializer';
|
||||
@ -8,13 +7,10 @@ import lifecycles from './lifecycles';
|
||||
import trads from './translations';
|
||||
import pluginId from './pluginId';
|
||||
|
||||
const pluginDescription = pluginPkg.strapi.description || pluginPkg.description;
|
||||
|
||||
function Comp(props) {
|
||||
return <App {...props} />;
|
||||
}
|
||||
|
||||
const plugin = {
|
||||
export default strapi => {
|
||||
const pluginDescription =
|
||||
pluginPkg.strapi.description || pluginPkg.description;
|
||||
const plugin = {
|
||||
blockerComponent: null,
|
||||
blockerComponentProps: {},
|
||||
description: pluginDescription,
|
||||
@ -45,10 +41,11 @@ const plugin = {
|
||||
lifecycles,
|
||||
leftMenuLinks: [],
|
||||
leftMenuSections: [],
|
||||
mainComponent: Comp,
|
||||
mainComponent: App,
|
||||
name: pluginPkg.strapi.name,
|
||||
preventComponentRendering: false,
|
||||
trads,
|
||||
};
|
||||
};
|
||||
|
||||
export default plugin;
|
||||
return strapi.registerPlugin(plugin);
|
||||
};
|
||||
|
@ -1,4 +1,3 @@
|
||||
import React from 'react';
|
||||
import pluginPkg from '../../package.json';
|
||||
import pluginId from './pluginId';
|
||||
import App from './containers/App';
|
||||
@ -6,13 +5,10 @@ import Initializer from './containers/Initializer';
|
||||
import lifecycles from './lifecycles';
|
||||
import trads from './translations';
|
||||
|
||||
const pluginDescription = pluginPkg.strapi.description || pluginPkg.description;
|
||||
|
||||
function Comp(props) {
|
||||
return <App {...props} />;
|
||||
}
|
||||
|
||||
const plugin = {
|
||||
export default strapi => {
|
||||
const pluginDescription =
|
||||
pluginPkg.strapi.description || pluginPkg.description;
|
||||
const plugin = {
|
||||
blockerComponent: null,
|
||||
blockerComponentProps: {},
|
||||
description: pluginDescription,
|
||||
@ -25,10 +21,11 @@ const plugin = {
|
||||
lifecycles,
|
||||
leftMenuLinks: [],
|
||||
leftMenuSections: [],
|
||||
mainComponent: Comp,
|
||||
mainComponent: App,
|
||||
name: pluginPkg.strapi.name,
|
||||
preventComponentRendering: false,
|
||||
trads,
|
||||
};
|
||||
};
|
||||
|
||||
export default plugin;
|
||||
return strapi.registerPlugin(plugin);
|
||||
};
|
||||
|
@ -1,4 +1,3 @@
|
||||
import React from 'react';
|
||||
import pluginPkg from '../../package.json';
|
||||
import pluginId from './pluginId';
|
||||
import App from './containers/App';
|
||||
@ -6,13 +5,11 @@ import Initializer from './containers/Initializer';
|
||||
import lifecycles from './lifecycles';
|
||||
import trads from './translations';
|
||||
|
||||
const pluginDescription = pluginPkg.strapi.description || pluginPkg.description;
|
||||
export default strapi => {
|
||||
const pluginDescription =
|
||||
pluginPkg.strapi.description || pluginPkg.description;
|
||||
|
||||
function Comp(props) {
|
||||
return <App {...props} />;
|
||||
}
|
||||
|
||||
const plugin = {
|
||||
const plugin = {
|
||||
blockerComponent: null,
|
||||
blockerComponentProps: {},
|
||||
description: pluginDescription,
|
||||
@ -24,10 +21,11 @@ const plugin = {
|
||||
lifecycles,
|
||||
leftMenuLinks: [],
|
||||
leftMenuSections: [],
|
||||
mainComponent: Comp,
|
||||
mainComponent: App,
|
||||
name: pluginPkg.strapi.name,
|
||||
preventComponentRendering: false,
|
||||
trads,
|
||||
};
|
||||
};
|
||||
|
||||
export default plugin;
|
||||
return strapi.registerPlugin(plugin);
|
||||
};
|
||||
|
@ -1,19 +1,14 @@
|
||||
import React from 'react';
|
||||
import pluginPkg from '../../package.json';
|
||||
import App from './containers/App';
|
||||
import Initializer from './containers/Initializer';
|
||||
|
||||
import lifecycles from './lifecycles';
|
||||
import trads from './translations';
|
||||
import pluginId from './pluginId';
|
||||
|
||||
const pluginDescription = pluginPkg.strapi.description || pluginPkg.description;
|
||||
|
||||
function Comp(props) {
|
||||
return <App {...props} />;
|
||||
}
|
||||
|
||||
const plugin = {
|
||||
export default strapi => {
|
||||
const pluginDescription =
|
||||
pluginPkg.strapi.description || pluginPkg.description;
|
||||
const plugin = {
|
||||
blockerComponent: null,
|
||||
blockerComponentProps: {},
|
||||
description: pluginDescription,
|
||||
@ -25,10 +20,11 @@ const plugin = {
|
||||
lifecycles,
|
||||
leftMenuLinks: [],
|
||||
leftMenuSections: [],
|
||||
mainComponent: Comp,
|
||||
mainComponent: App,
|
||||
name: pluginPkg.strapi.name,
|
||||
preventComponentRendering: false,
|
||||
trads,
|
||||
};
|
||||
};
|
||||
|
||||
export default plugin;
|
||||
return strapi.registerPlugin(plugin);
|
||||
};
|
||||
|
@ -1,4 +1,3 @@
|
||||
import React from 'react';
|
||||
import pluginPkg from '../../package.json';
|
||||
import layout from '../../config/layout';
|
||||
import pluginId from './pluginId';
|
||||
@ -7,13 +6,11 @@ import Initializer from './containers/Initializer';
|
||||
import lifecycles from './lifecycles';
|
||||
import trads from './translations';
|
||||
|
||||
const pluginDescription = pluginPkg.strapi.description || pluginPkg.description;
|
||||
export default strapi => {
|
||||
const pluginDescription =
|
||||
pluginPkg.strapi.description || pluginPkg.description;
|
||||
|
||||
function Comp(props) {
|
||||
return <App {...props} />;
|
||||
}
|
||||
|
||||
const plugin = {
|
||||
const plugin = {
|
||||
blockerComponent: null,
|
||||
blockerComponentProps: {},
|
||||
description: pluginDescription,
|
||||
@ -25,12 +22,13 @@ const plugin = {
|
||||
lifecycles,
|
||||
leftMenuLinks: [],
|
||||
leftMenuSections: [],
|
||||
mainComponent: Comp,
|
||||
mainComponent: App,
|
||||
name: pluginPkg.strapi.name,
|
||||
preventComponentRendering: false,
|
||||
suffixUrl: () => '/roles',
|
||||
suffixUrlToReplaceForLeftMenuHighlight: '/roles',
|
||||
trads,
|
||||
};
|
||||
};
|
||||
|
||||
export default plugin;
|
||||
return strapi.registerPlugin(plugin);
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user