From c6c858e94ac9fbdaa0f50f323056d91ce2af1793 Mon Sep 17 00:00:00 2001 From: ivaosthu <ivar.conradi.osthus@finn.no> Date: Fri, 27 Mar 2015 10:55:42 +0100 Subject: [PATCH] Clean up entry point --- public/js/UnleashApp.jsx | 48 +++++++++++----------------------------- public/js/app.jsx | 10 +++++++++ public/js/routes.jsx | 20 +++++++++++++++++ webpack.config.js | 2 +- 4 files changed, 44 insertions(+), 36 deletions(-) create mode 100644 public/js/app.jsx create mode 100644 public/js/routes.jsx diff --git a/public/js/UnleashApp.jsx b/public/js/UnleashApp.jsx index 2ec4379c05..b407773a5c 100644 --- a/public/js/UnleashApp.jsx +++ b/public/js/UnleashApp.jsx @@ -1,20 +1,11 @@ var React = require('react'); -var UserStore = require('./stores/UserStore'); +var Router = require('react-router'); var Menu = require('./components/Menu'); var ErrorMessages = require('./components/ErrorMessages'); var initalizer = require('./stores/initalizer'); -var LogEntriesComponent = require('./components/log/LogEntriesComponent'); -var FeatureTogglesComponent = require('./components/feature/FeatureTogglesComponent'); -var StrategiesComponent = require('./components/strategy/StrategiesComponent'); -var ArchiveFeatureComponent = require('./components/feature/ArchiveFeatureComponent'); -var Router = require('react-router'); -var DefaultRoute = Router.DefaultRoute; var Link = Router.Link; -var Route = Router.Route; var RouteHandler = Router.RouteHandler; -UserStore.init(); - var UnleashApp = React.createClass({ contextTypes: { router: React.PropTypes.func @@ -24,22 +15,22 @@ var UnleashApp = React.createClass({ initalizer(30); }, + renderLink: function(id, label) { + return ( + <Link to={id} className="nav-element centerify" activeClassName="nav-active"> + <span className="topbar-nav-svg-caption caption showbydefault no-break">{label}</span> + </Link> + ); + }, + render: function () { return ( <div> <Menu> - <Link to="features" className="nav-element centerify" activeClassName="nav-active"> - <span className="topbar-nav-svg-caption caption showbydefault no-break">Features</span> - </Link> - <Link to="strategies" className="nav-element centerify" activeClassName="nav-active"> - <span className="topbar-nav-svg-caption caption showbydefault no-break">Strategies</span> - </Link> - <Link to="log" className="nav-element centerify" activeClassName="nav-active"> - <span className="topbar-nav-svg-caption caption showbydefault no-break">Log</span> - </Link> - <Link to="archive" className="nav-element centerify" activeClassName="nav-active"> - <span className="topbar-nav-svg-caption caption showbydefault no-break">Archive</span> - </Link> + {this.renderLink("features", "Toggles")} + {this.renderLink("strategies", "Strategies")} + {this.renderLink("log", "Log")} + {this.renderLink("archive", "Archive")} </Menu> <div className="container"> <div className="page"> @@ -58,18 +49,5 @@ var UnleashApp = React.createClass({ } }); -var routes = ( - <Route name="app" path="/" handler={UnleashApp}> - <Route name="strategies" handler={StrategiesComponent}/> - <Route name="log" handler={LogEntriesComponent}/> - <Route name="archive" handler={ArchiveFeatureComponent}/> - <DefaultRoute name="features" handler={FeatureTogglesComponent}/> - </Route> -); - -Router.run(routes, function (Handler) { - React.render(<Handler/>, document.getElementById('content')); -}); - module.exports = UnleashApp; diff --git a/public/js/app.jsx b/public/js/app.jsx new file mode 100644 index 0000000000..948026dd48 --- /dev/null +++ b/public/js/app.jsx @@ -0,0 +1,10 @@ +var React = require('react'); +var Router = require('react-router'); +var UserStore = require('./stores/UserStore'); +var routes = require('./routes'); + +UserStore.init(); + +Router.run(routes, function (Handler) { + React.render(<Handler/>, document.getElementById('content')); +}); diff --git a/public/js/routes.jsx b/public/js/routes.jsx new file mode 100644 index 0000000000..7b0d3fd2d8 --- /dev/null +++ b/public/js/routes.jsx @@ -0,0 +1,20 @@ +var React = require('react'); +var Router = require('react-router'); +var UnleashApp = require('./UnleashApp'); +var LogEntriesComponent = require('./components/log/LogEntriesComponent'); +var FeatureTogglesComponent = require('./components/feature/FeatureTogglesComponent'); +var StrategiesComponent = require('./components/strategy/StrategiesComponent'); +var ArchiveFeatureComponent = require('./components/feature/ArchiveFeatureComponent'); +var DefaultRoute = Router.DefaultRoute; +var Route = Router.Route; + +var routes = ( + <Route name="app" path="/" handler={UnleashApp}> + <Route name="strategies" handler={StrategiesComponent}/> + <Route name="log" handler={LogEntriesComponent}/> + <Route name="archive" handler={ArchiveFeatureComponent}/> + <DefaultRoute name="features" handler={FeatureTogglesComponent}/> + </Route> +); + +module.exports = routes; diff --git a/webpack.config.js b/webpack.config.js index 97421d878c..efbae1e6d8 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -7,7 +7,7 @@ var js_root = path.join(path.join(root, 'public'), 'js'); module.exports = { context: js_root, - entry: 'UnleashApp', + entry: 'app', output: { path: js_root,