From 62c4072631fecc4584df5b1879358f38c7e23404 Mon Sep 17 00:00:00 2001 From: Chi Vinh Le Date: Mon, 3 Apr 2017 14:25:06 +0700 Subject: [PATCH] Lazy load all plugin parts --- client/coral-embed-stream/src/Embed.js | 4 ++-- client/coral-framework/actions/index.js | 4 ++-- client/coral-framework/helpers/plugins.js | 29 +++++++++++++---------- client/coral-framework/reducers/index.js | 4 ++-- 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/client/coral-embed-stream/src/Embed.js b/client/coral-embed-stream/src/Embed.js index 55e5a5d46..68f4658aa 100644 --- a/client/coral-embed-stream/src/Embed.js +++ b/client/coral-embed-stream/src/Embed.js @@ -6,7 +6,7 @@ import isEqual from 'lodash/isEqual'; import I18n from 'coral-framework/modules/i18n/i18n'; import translations from 'coral-framework/translations'; const lang = new I18n(translations); -import {queriesAndMutators as pluginQueriesAndMutators} from 'coral-framework/helpers/plugins'; +import {getPluginQueriesAndMutators} from 'coral-framework/helpers/plugins'; import {TabBar, Tab, TabContent, Spinner} from 'coral-ui'; @@ -306,5 +306,5 @@ export default compose( removeCommentTag, deleteAction, queryStream, - ...pluginQueriesAndMutators, + ...getPluginQueriesAndMutators(), )(Embed); diff --git a/client/coral-framework/actions/index.js b/client/coral-framework/actions/index.js index 638630812..68b77973c 100644 --- a/client/coral-framework/actions/index.js +++ b/client/coral-framework/actions/index.js @@ -1,11 +1,11 @@ import * as authActions from './auth'; import * as assetActions from './asset'; import * as notificationActions from './notification'; -import {actions as pluginActions} from '../helpers/plugins'; +import {getPluginActions} from '../helpers/plugins'; export default { authActions, assetActions, notificationActions, - pluginActions, + pluginActions: getPluginActions(), }; diff --git a/client/coral-framework/helpers/plugins.js b/client/coral-framework/helpers/plugins.js index 8a0d83386..4dbfd4c4e 100644 --- a/client/coral-framework/helpers/plugins.js +++ b/client/coral-framework/helpers/plugins.js @@ -24,17 +24,22 @@ export function getSlotElements(slot, props = {}) { .map(o => React.createElement(o.component, o.props)); } -// actions is a map of redux actions . -export const actions = merge(...plugins.actions.map(o => ({...o.module()}))); +// Returns a map of redux actions. +export function getPluginActions() { + return merge(...plugins.actions.map(o => ({...o.module()}))); +} -// reducers is a map of redux reducers. -export const reducers = merge(...plugins.reducers.map(o => ({...o.module()}))); - -// queriesAndMutators is an array of graphQL queries and mutators. -export const queriesAndMutators = flatten( - merge( - plugins.queries.map(o => values(o.module())), - plugins.mutators.map(o => values(o.module())), - ) -); +// Returns a map of redux reducers. +export function getPluginReducers() { + merge(...plugins.reducers.map(o => ({...o.module()}))); +} +// Returns an array of graphQL queries and mutators. +export function getPluginQueriesAndMutators() { + return flatten( + merge( + plugins.queries.map(o => values(o.module())), + plugins.mutators.map(o => values(o.module())), + ) + ); +} diff --git a/client/coral-framework/reducers/index.js b/client/coral-framework/reducers/index.js index f174ddbb2..6b296bed9 100644 --- a/client/coral-framework/reducers/index.js +++ b/client/coral-framework/reducers/index.js @@ -1,11 +1,11 @@ import auth from './auth'; import user from './user'; import asset from './asset'; -import {reducers as pluginReducers} from '../helpers/plugins'; +import {getPluginReducers} from '../helpers/plugins'; export default { auth, user, asset, - ...pluginReducers + ...getPluginReducers() };