r1478 - in wit: . js js/router js/services
Author: jruchaud Date: 2015-05-26 09:57:34 +0000 (Tue, 26 May 2015) New Revision: 1478 Url: http://forge.nuiton.org/projects/sandbox/repository/revisions/1478 Log: Remove react-router, fix storage error Added: wit/js/router/ wit/js/router/Link.js wit/js/router/Routes.js Modified: wit/index.html wit/js/main.js wit/js/services/ConfigurationService.js wit/package.json Modified: wit/index.html =================================================================== --- wit/index.html 2015-05-26 09:47:33 UTC (rev 1477) +++ wit/index.html 2015-05-26 09:57:34 UTC (rev 1478) @@ -6,6 +6,9 @@ <script type="text/javascript" src="node_modules/react/dist/react-with-addons.js"></script> <script type="text/javascript" src="node_modules/react/dist/JSXTransformer.js"></script> + <script type="text/jsx" src="js/router/Routes.js"></script> + <script type="text/jsx" src="js/router/Link.js"></script> + <script type="text/jsx" src="js/components/InputTag.js"></script> <script type="text/jsx" src="js/components/Tags.js"></script> <script type="text/jsx" src="js/components/Time.js"></script> Modified: wit/js/main.js =================================================================== --- wit/js/main.js 2015-05-26 09:47:33 UTC (rev 1477) +++ wit/js/main.js 2015-05-26 09:57:34 UTC (rev 1478) @@ -10,6 +10,7 @@ global.document = window.document; global.navigator = window.navigator; global.localStorage = window.localStorage; +global.localStorage = window.localStorage; global.scope = window.scope = {}; @@ -32,13 +33,7 @@ // React conf // var React = require("react"); -var Router = require("react-router"); -var DefaultRoute = Router.DefaultRoute; -var Link = Router.Link; -var Route = Router.Route; -var RouteHandler = Router.RouteHandler; - var App = React.createClass({ openRapport: function() { @@ -66,14 +61,14 @@ <div className="nav navbar-header pull-right"> <ul className="nav pull-right"> - <li className="pull-left"><Link onClick={this.closeAll} to="app">Timer</Link></li> + <li className="pull-left"><Link onClick={this.closeAll} to="Timer">Timer</Link></li> <li ref="rapportDropdown" className="dropdown pull-left"> <a className="dropdown-toggle" onClick={this.openRapport}> Rapport <span className="caret"></span> </a> <ul className="dropdown-menu"> - <li><Link onClick={this.closeAll} to="rapport">By date</Link></li> + <li><Link onClick={this.closeAll} to="Rapport">By date</Link></li> <li><a href="#">By week</a></li> <li><a href="#">By month</a></li> <li><a href="#">By Year</a></li> @@ -85,33 +80,28 @@ Edition <span className="caret"></span> </a> <ul className="dropdown-menu"> - <li><Link onClick={this.closeAll} to="editionLogs">Logs</Link></li> + <li><Link onClick={this.closeAll} to="EditionLogs">Logs</Link></li> <li><a href="#">Tags</a></li> <li><a href="#">Activities</a></li> </ul> </li> - <li className="pull-left"><Link onClick={this.closeAll} to="options">Options</Link></li> + <li className="pull-left"><Link onClick={this.closeAll} to="Options">Options</Link></li> </ul> </div> </div> - <RouteHandler/> + <Routes> + <Timer /> + <Rapport /> + <Options /> + <EditionLogs /> + </Routes> </div>; } }); -var routes = <Route name="app" path="/" handler={App}> - <Route name="rapport" handler={Rapport}/> - <Route name="activity" handler={UserActivity}/> - <Route name="options" handler={Options}/> - <Route name="editionLogs" handler={EditionLogs}/> - <DefaultRoute handler={Timer}/> - </Route>; +React.render(<App/>, document.body); -Router.run(routes, function(Handler) { - React.render(<Handler/>, document.body); -}); - var popups = []; var openWindow = function(file) { var gui = global.window.nwDispatcher.requireNwGui(); Added: wit/js/router/Link.js =================================================================== --- wit/js/router/Link.js (rev 0) +++ wit/js/router/Link.js 2015-05-26 09:57:34 UTC (rev 1478) @@ -0,0 +1,16 @@ +"use strict"; + +var Link = React.createClass({ + + goTo: function() { + if (this.props.onClick) { + this.props.onClick(); + } + + router.display(this.props.to); + }, + + render: function() { + return <a href="#" onClick={this.goTo}>{this.props.children}</a>; + } +}); Added: wit/js/router/Routes.js =================================================================== --- wit/js/router/Routes.js (rev 0) +++ wit/js/router/Routes.js 2015-05-26 09:57:34 UTC (rev 1478) @@ -0,0 +1,37 @@ +"use strict"; + +var Routes = React.createClass({ + + componentWillMount: function() { + window.router = this; + }, + + getInitialState: function() { + return { + index: 0 + }; + }, + + display: function(to) { + var children = this.props.children; + + for (var i = 0, l = children.length; i < l; i++) { + var child = children[i]; + + if (child.type.displayName === to) { + this.setState({index: i}); + break; + } + } + }, + + getChild: function() { + return this.props.children[this.state.index]; + }, + + render: function() { + return <div> + {this.getChild()} + </div>; + } +}); Modified: wit/js/services/ConfigurationService.js =================================================================== --- wit/js/services/ConfigurationService.js 2015-05-26 09:47:33 UTC (rev 1477) +++ wit/js/services/ConfigurationService.js 2015-05-26 09:57:34 UTC (rev 1478) @@ -1,9 +1,5 @@ "use strict"; -// Base on localStorage - -var storage = localStorage; - var DEFAULT_IDLE_TIME = 1; // 1 min var DEFAULT_ACTIVITY_TIME = 1; // 1 min var DEFAULT_NO_TIMER = 0; // desabled @@ -11,35 +7,35 @@ // time as minutes exports.setIdleTime = function(time) { - storage.idleTime = time; + localStorage.idleTime = time; }; exports.getIdleTime = function() { - return parseInt(storage.idleTime || DEFAULT_IDLE_TIME, 10); + return parseInt(localStorage.idleTime || DEFAULT_IDLE_TIME, 10); }; // time as minutes exports.setActivityTime = function(time) { - storage.activityTime = time; + localStorage.activityTime = time; }; exports.getActivityTime = function() { - return parseInt(storage.activityTime || DEFAULT_ACTIVITY_TIME, 10); + return parseInt(localStorage.activityTime || DEFAULT_ACTIVITY_TIME, 10); }; // 0 -> Monday exports.setWeekDay = function(index) { - storage.weekDay = index; + localStorage.weekDay = index; }; exports.getWeekDay = function() { - return parseInt(storage.weekDay || DEFAULT_WEEK_DAY, 10); + return parseInt(localStorage.weekDay || DEFAULT_WEEK_DAY, 10); }; exports.setNoTimer = function(time) { - storage.noTimer = time; + localStorage.noTimer = time; }; exports.getNoTimer = function() { - return parseInt(storage.noTimer || DEFAULT_NO_TIMER, 10); + return parseInt(localStorage.noTimer || DEFAULT_NO_TIMER, 10); }; Modified: wit/package.json =================================================================== --- wit/package.json 2015-05-26 09:47:33 UTC (rev 1477) +++ wit/package.json 2015-05-26 09:57:34 UTC (rev 1478) @@ -30,7 +30,6 @@ "moment": "^2.10.2", "nedb": "^1.1.2", "react": "^0.13.1", - "react-router": "^0.13.2", "x11": "^1.0.3", "xprop": "^0.0.0", "nonce":"^1.0.3",
participants (1)
-
jruchaud@users.nuiton.org