diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-09-21 19:17:32 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-09-21 19:17:32 +0200 |
commit | 2257e42299f28f2a276bf2febd7f5d00e3931c08 (patch) | |
tree | ac97009c68611deccd2d7851ab1b52efb5967b20 /packages/gitbook-core | |
parent | 0e0c1a473b610b0b2d96f2549b6666e3d8158e64 (diff) | |
download | gitbook-2257e42299f28f2a276bf2febd7f5d00e3931c08.zip gitbook-2257e42299f28f2a276bf2febd7f5d00e3931c08.tar.gz gitbook-2257e42299f28f2a276bf2febd7f5d00e3931c08.tar.bz2 |
Add js scripts to html
Diffstat (limited to 'packages/gitbook-core')
-rw-r--r-- | packages/gitbook-core/src/components/InjectedComponent.js | 12 | ||||
-rw-r--r-- | packages/gitbook-core/src/components/UnsafeComponent.js | 7 | ||||
-rw-r--r-- | packages/gitbook-core/src/index.js | 4 | ||||
-rw-r--r-- | packages/gitbook-core/src/renderComponent.js | 25 |
4 files changed, 12 insertions, 36 deletions
diff --git a/packages/gitbook-core/src/components/InjectedComponent.js b/packages/gitbook-core/src/components/InjectedComponent.js index f8b1ab8..a4f81fe 100644 --- a/packages/gitbook-core/src/components/InjectedComponent.js +++ b/packages/gitbook-core/src/components/InjectedComponent.js @@ -29,17 +29,18 @@ const { findMatchingComponents } = require('../actions/components'); const Injection = React.createClass({ propTypes: { component: React.PropTypes.func, - props: React.PropTypes.object + props: React.PropTypes.object, + children: React.PropTypes.node }, render() { const Comp = this.props.component; - const { props } = this.props; + const { props, children } = this.props; if (Comp.sandbox === false) { - return <Comp {...props} />; + return <Comp {...props}>{children}</Comp>; } else { - return <UnsafeComponent Component={Comp} props={props} />; + return <UnsafeComponent Component={Comp} props={props}>{children}</UnsafeComponent>; } } }); @@ -82,7 +83,6 @@ const InjectedComponent = React.createClass({ render() { const { components, props, children } = this.props; - const base = children ? React.Children.only(children) : undefined; return components.reduce((inner, Comp) => { return ( @@ -90,7 +90,7 @@ const InjectedComponent = React.createClass({ {inner} </Injection> ); - }, base); + }, children); } }); diff --git a/packages/gitbook-core/src/components/UnsafeComponent.js b/packages/gitbook-core/src/components/UnsafeComponent.js index 81ec239..3534f45 100644 --- a/packages/gitbook-core/src/components/UnsafeComponent.js +++ b/packages/gitbook-core/src/components/UnsafeComponent.js @@ -22,7 +22,8 @@ const isServerSide = typeof window === 'undefined'; const UnsafeComponent = React.createClass({ propTypes: { Component: React.PropTypes.func.isRequired, - props: React.PropTypes.object + props: React.PropTypes.object, + children: React.PropTypes.node }, contextTypes: { store: React.PropTypes.object @@ -41,12 +42,12 @@ const UnsafeComponent = React.createClass({ }, getInjected() { - const { Component, props } = this.props; + const { Component, props, children } = this.props; const { store } = this.context; return ( <ReactRedux.Provider store={store}> - <Component {...props}/> + <Component {...props}>{children}</Component> </ReactRedux.Provider> ); }, diff --git a/packages/gitbook-core/src/index.js b/packages/gitbook-core/src/index.js index 9b29c91..b4b2abd 100644 --- a/packages/gitbook-core/src/index.js +++ b/packages/gitbook-core/src/index.js @@ -1,4 +1,5 @@ const Head = require('react-helmet'); +const { Provider } = require('react-redux'); const { InjectedComponent, InjectedComponentSet } = require('./components/InjectedComponent'); const HTMLContent = require('./components/HTMLContent'); @@ -11,7 +12,6 @@ const connect = require('./connect'); const createPlugin = require('./createPlugin'); const createReducer = require('./createReducer'); const createStore = require('./createStore'); -const renderComponent = require('./renderComponent'); module.exports = { ACTIONS, @@ -19,13 +19,13 @@ module.exports = { createPlugin, createReducer, createStore, - renderComponent, registerComponent, // React Components InjectedComponent, InjectedComponentSet, HTMLContent, Head, + Provider, // Utilities Shapes }; diff --git a/packages/gitbook-core/src/renderComponent.js b/packages/gitbook-core/src/renderComponent.js deleted file mode 100644 index 14e7bf8..0000000 --- a/packages/gitbook-core/src/renderComponent.js +++ /dev/null @@ -1,25 +0,0 @@ -const React = require('react'); -const Helmet = require('react-helmet'); -const ReactRedux = require('react-redux'); -const { InjectedComponent } = require('./components/InjectedComponent'); - -/** - * Render a registered component from a store. - * This method is intended for server-side use in "gitbook". - * - * @param {ReduxStore} store - * @param {Descriptor} matching - * @return {Object} { el, meta } - */ -function renderComponent(store, matching) { - const el = ( - <ReactRedux.Provider store={store}> - <InjectedComponent matching={matching} /> - </ReactRedux.Provider> - ); - const getHead = Helmet.rewind; - - return { el, getHead }; -} - -module.exports = renderComponent; |