r1498 - in wit: . js js/components js/components/root pages
Author: jruchaud Date: 2015-05-26 15:35:57 +0000 (Tue, 26 May 2015) New Revision: 1498 Url: http://forge.nuiton.org/projects/sandbox/repository/revisions/1498 Log: Reorganize html Added: wit/js/components/root/ wit/js/components/root/EditionLogs.js wit/js/components/root/Options.js wit/js/components/root/Rapport.js wit/js/components/root/Timer.js wit/pages/ wit/pages/activityChange.html wit/pages/idle.html wit/pages/index.html wit/pages/test.html Removed: wit/activityChange.html wit/idle.html wit/index.html wit/js/pages/ wit/test.html Modified: wit/js/main.js wit/package.json Deleted: wit/activityChange.html =================================================================== --- wit/activityChange.html 2015-05-26 15:19:33 UTC (rev 1497) +++ wit/activityChange.html 2015-05-26 15:35:57 UTC (rev 1498) @@ -1,55 +0,0 @@ -<html> - <head> - <title>WIT activity</title> - <link rel="stylesheet" href="./node_modules/bootstrap/dist/css/bootstrap.min.css"> - - <style> - h1 { - text-align: center; - } - </style> - - <script> - var gui = require('nw.gui'); - var window = gui.Window.get(); - var timer = global.scope.timer; - var user = global.user; - - var keepTiming = function() { - user.resumeActivityDetection(); - window.close(); - }; - var stopTiming = function() { - timer.stop(); - window.close(); - }; - var startNewActivity = function() { - timer.reassignTimeFrom(user.getActivityChangeDetectedDate()); - window.close(); - }; - - timer.subscribeIdle(window.close.bind(window)); - </script> - </head> - - <body> - <div class="container-fluid"> - <h1>Activity change detected</h1> - <div class="alert alert-danger" role="alert"> Are you still working on the same activity ?</div> - - <button type="button" class="btn btn-primary btn-lg btn-block" onclick="keepTiming()"> - <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> - Yes ! Please keep timing current activity - </button> - <button type="button" class="btn btn-primary btn-lg btn-block" onclick="stopTiming()"> - <span class="glyphicon glyphicon-minus" aria-hidden="true"></span> - No, stop the timer ! - </button> - <button type="button" class="btn btn-primary btn-lg btn-block" onclick="startNewActivity()"> - <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> - No, right, i would like to time a new activity. - </button> - </div> - </body> - -</html> Deleted: wit/idle.html =================================================================== --- wit/idle.html 2015-05-26 15:19:33 UTC (rev 1497) +++ wit/idle.html 2015-05-26 15:35:57 UTC (rev 1498) @@ -1,52 +0,0 @@ -<html> - <head> - <title>WIT idle</title> - <link rel="stylesheet" href="./node_modules/bootstrap/dist/css/bootstrap.min.css"> - - <style> - h1 { - text-align: center; - } - </style> - - <script> - var gui = require('nw.gui'); - var window = gui.Window.get(); - var timer = global.scope.timer; - - var keepIdle = function() { - timer.keepIdle(); - window.close(); - }; - var removeIdle = function() { - timer.removeIdle(); - window.close(); - }; - var reassignIdle = function() { - timer.reassignIdle(); - window.close(); - }; - </script> - </head> - - <body> - <div class="container-fluid"> - <h1>Idle detected</h1> - <div class="alert alert-danger" role="alert">Idle detcted, please select your option:</div> - - <button type="button" class="btn btn-primary btn-lg btn-block" onclick="keepIdle()"> - <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> - Keep idle for current time - </button> - <button type="button" class="btn btn-primary btn-lg btn-block" onclick="removeIdle()"> - <span class="glyphicon glyphicon-minus" aria-hidden="true"></span> - Remove idle for current time - </button> - <button type="button" class="btn btn-primary btn-lg btn-block" onclick="reassignIdle()"> - <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> - Reassign idle time - </button> - </div> - </body> - -</html> Deleted: wit/index.html =================================================================== --- wit/index.html 2015-05-26 15:19:33 UTC (rev 1497) +++ wit/index.html 2015-05-26 15:35:57 UTC (rev 1498) @@ -1,20 +0,0 @@ -<html> - <head> - <title>WIT</title> - - <script> - global.document = window.document; - global.navigator = window.navigator; - global.localStorage = window.localStorage; - </script> - - <script async="true" type="text/javascript" src="build/main.js"></script> - - <link rel="stylesheet" href="./node_modules/bootstrap/dist/css/bootstrap.min.css"> - <link rel="stylesheet" type="text/css" href="build/style.css" /> - <link rel="stylesheet" type="text/css" href="build/timeline.css" /> - </head> - - <body></body> - -</html> Added: wit/js/components/root/EditionLogs.js =================================================================== --- wit/js/components/root/EditionLogs.js (rev 0) +++ wit/js/components/root/EditionLogs.js 2015-05-26 15:35:57 UTC (rev 1498) @@ -0,0 +1,55 @@ +"use strict"; + +var moment = require("moment"); +var db = require("../services/database"); + +var React = require("react"); +var FilterBar = require("../components/FilterBar"); +var LogsTable = require("../components/LogsTable"); + +class EditionLogs extends React.Component { + + constructor(props) { + super(props); + this.state = { + startDate: moment().subtract(1, "h"), + endDate: moment(), + result: null + }; + } + + handleSearchResult(result, startDate, endDate) { + this.setState({ + startDate: startDate, + endDate: endDate, + result: result + }); + } + + onAdd() { + + var tags = this.refs.tags.getDOMNode().value.split(","); + var startDate = moment(this.refs.beginDate.getDOMNode().value); + var endDate = moment(this.refs.endDate.getDOMNode().value); + + return db.insertLog(tags, startDate, endDate); + } + + render() { + return <div> + <h1>Search log</h1> + <FilterBar onSearchResult={this.handleSearchResult}/> + <LogsTable data={this.state.result}/> + + <div> + <h1>Add log</h1> + <input ref="beginDate" type="datetime-local" className="form-control" required></input> + <input ref="endDate" type="datetime-local" className="form-control" required></input> + <input ref="tags" type="text" className="form-control" required placeholder="Enter tags with comma"></input> + <button onClick={this.onAdd} className="btn btn-primary btn-block">Add</button> + </div> + </div>; + } +} + +module.exports = EditionLogs; Added: wit/js/components/root/Options.js =================================================================== --- wit/js/components/root/Options.js (rev 0) +++ wit/js/components/root/Options.js 2015-05-26 15:35:57 UTC (rev 1498) @@ -0,0 +1,71 @@ +"use strict"; + +var React = require("react"); +var config = require("../services/ConfigurationService"); + +class Options extends React.Component { + + setIdleTime(e) { + config.setIdleTime(e.target.value); + } + + setActivityTime(e) { + config.setActivityTime(e.target.value); + } + + setNoTimer(e) { + config.setNoTimer(e.target.value); + } + + setWeekDay(e) { + config.setWeekDay(e.target.value); + } + + render() { + var idleTime = config.getIdleTime(); + var activityTime = config.getActivityTime(); + var noTimer = config.getNoTimer(); + var weekDay = config.getWeekDay(); + + return <div className="form-horizontal"> + + <div className="form-group"> + <label for="idleTime" className="col-sm-2 control-label">Idle time (minutes)</label> + <div className="col-sm-10"> + <input type="number" className="form-control" defaultValue={idleTime} min="0" step="1" onChange={this.setIdleTime}/> + </div> + </div> + + <div className="form-group"> + <label for="idleTime" className="col-sm-2 control-label">Activity time (minutes)</label> + <div className="col-sm-10"> + <input type="number" className="form-control" id="activityTime" defaultValue={activityTime} min="0" step="1" onChange={this.setActivityTime}/> + </div> + </div> + + <div className="form-group"> + <label for="noTimer" className="col-sm-2 control-label">No timer (minutes)</label> + <div className="col-sm-10"> + <input type="number" className="form-control" defaultValue={noTimer} min="0" step="1" onChange={this.setNoTimer}/> + </div> + </div> + + <div className="form-group"> + <label for="idleTime" className="col-sm-2 control-label">Week day</label> + <div className="col-sm-10"> + <select name="select" className="form-control" id="weekDay" defaultValue={weekDay} onChange={this.setWeekDay}> + <option value="0">monday</option> + <option value="1">tuesday</option> + <option value="2">wednesday</option> + <option value="3">thursday</option> + <option value="4">friday</option> + <option value="5">saturday</option> + <option value="6">sunday</option> + </select> + </div> + </div> + </div>; + } +} + +module.exports = Options; Added: wit/js/components/root/Rapport.js =================================================================== --- wit/js/components/root/Rapport.js (rev 0) +++ wit/js/components/root/Rapport.js 2015-05-26 15:35:57 UTC (rev 1498) @@ -0,0 +1,36 @@ +"use strict"; + +var moment = require("moment"); + +var React = require("react"); +var FilterBar = require("../components/FilterBar"); +var FilterLogs = require("../components/FilterLogs"); + +class Rapport extends React.Component { + + constructor(props) { + super(props); + + this.state = { + startDate: moment().subtract(1, "h"), + endDate: moment(), + result: [] + }; + } + + handleSearchResult(result) { + this.setState({ + result: result + }); + } + + render() { + return <div> + <h1>Search by date</h1> + <FilterBar onSearchResult={this.handleSearchResult}/> + <FilterLogs data={this.state}/> + </div>; + } +} + +module.exports = Rapport; Added: wit/js/components/root/Timer.js =================================================================== --- wit/js/components/root/Timer.js (rev 0) +++ wit/js/components/root/Timer.js 2015-05-26 15:35:57 UTC (rev 1498) @@ -0,0 +1,18 @@ +"use strict"; + +var React = require("react"); +var Tags = require("../components/Tags"); +var Time = require("../components/Time"); +var ActionsBar = require("../components/ActionsBar"); + +class Timer extends React.Component { + render() { + return <div> + <Time /> + <Tags /> + <ActionsBar /> + </div>; + } +} + +module.exports = Timer; Modified: wit/js/main.js =================================================================== --- wit/js/main.js 2015-05-26 15:19:33 UTC (rev 1497) +++ wit/js/main.js 2015-05-26 15:35:57 UTC (rev 1498) @@ -7,7 +7,7 @@ // Alias // Total time during day -var noTimer = require("./js/services/NoTimerService.js"); +var noTimer = require("./services/NoTimerService.js"); noTimer.detect(); //var printer = require("./js/services/PrinterService.js"); @@ -16,7 +16,7 @@ // React conf // window.onload = function() { var React = require("react"); - var App = require("./build/App.js"); + var App = require("./App.js"); React.render(<App/>, document.body); }; Modified: wit/package.json =================================================================== --- wit/package.json 2015-05-26 15:19:33 UTC (rev 1497) +++ wit/package.json 2015-05-26 15:35:57 UTC (rev 1498) @@ -1,6 +1,6 @@ { "name": "wit", - "main": "index.html", + "main": "./pages/index.html", "version": "1.0.0", "single-instance": false, "window": { @@ -36,7 +36,6 @@ }, "devDependencies": { "del": "^1.2.0", - "grunt": "^0.4.5", "grunt-node-webkit-builder": "^1.0.2", "gulp": "^3.8.11", "gulp-babel": "^5.1.0", Added: wit/pages/activityChange.html =================================================================== --- wit/pages/activityChange.html (rev 0) +++ wit/pages/activityChange.html 2015-05-26 15:35:57 UTC (rev 1498) @@ -0,0 +1,55 @@ +<html> + <head> + <title>WIT activity</title> + <link rel="stylesheet" href="./node_modules/bootstrap/dist/css/bootstrap.min.css"> + + <style> + h1 { + text-align: center; + } + </style> + + <script> + var gui = require('nw.gui'); + var window = gui.Window.get(); + var timer = global.scope.timer; + var user = global.user; + + var keepTiming = function() { + user.resumeActivityDetection(); + window.close(); + }; + var stopTiming = function() { + timer.stop(); + window.close(); + }; + var startNewActivity = function() { + timer.reassignTimeFrom(user.getActivityChangeDetectedDate()); + window.close(); + }; + + timer.subscribeIdle(window.close.bind(window)); + </script> + </head> + + <body> + <div class="container-fluid"> + <h1>Activity change detected</h1> + <div class="alert alert-danger" role="alert"> Are you still working on the same activity ?</div> + + <button type="button" class="btn btn-primary btn-lg btn-block" onclick="keepTiming()"> + <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> + Yes ! Please keep timing current activity + </button> + <button type="button" class="btn btn-primary btn-lg btn-block" onclick="stopTiming()"> + <span class="glyphicon glyphicon-minus" aria-hidden="true"></span> + No, stop the timer ! + </button> + <button type="button" class="btn btn-primary btn-lg btn-block" onclick="startNewActivity()"> + <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> + No, right, i would like to time a new activity. + </button> + </div> + </body> + +</html> Added: wit/pages/idle.html =================================================================== --- wit/pages/idle.html (rev 0) +++ wit/pages/idle.html 2015-05-26 15:35:57 UTC (rev 1498) @@ -0,0 +1,52 @@ +<html> + <head> + <title>WIT idle</title> + <link rel="stylesheet" href="./node_modules/bootstrap/dist/css/bootstrap.min.css"> + + <style> + h1 { + text-align: center; + } + </style> + + <script> + var gui = require('nw.gui'); + var window = gui.Window.get(); + var timer = global.scope.timer; + + var keepIdle = function() { + timer.keepIdle(); + window.close(); + }; + var removeIdle = function() { + timer.removeIdle(); + window.close(); + }; + var reassignIdle = function() { + timer.reassignIdle(); + window.close(); + }; + </script> + </head> + + <body> + <div class="container-fluid"> + <h1>Idle detected</h1> + <div class="alert alert-danger" role="alert">Idle detcted, please select your option:</div> + + <button type="button" class="btn btn-primary btn-lg btn-block" onclick="keepIdle()"> + <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> + Keep idle for current time + </button> + <button type="button" class="btn btn-primary btn-lg btn-block" onclick="removeIdle()"> + <span class="glyphicon glyphicon-minus" aria-hidden="true"></span> + Remove idle for current time + </button> + <button type="button" class="btn btn-primary btn-lg btn-block" onclick="reassignIdle()"> + <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> + Reassign idle time + </button> + </div> + </body> + +</html> Added: wit/pages/index.html =================================================================== --- wit/pages/index.html (rev 0) +++ wit/pages/index.html 2015-05-26 15:35:57 UTC (rev 1498) @@ -0,0 +1,20 @@ +<html> + <head> + <title>WIT</title> + + <script> + global.document = window.document; + global.navigator = window.navigator; + global.localStorage = window.localStorage; + + var main = require("../build/main.js"); + </script> + + <link rel="stylesheet" href="../node_modules/bootstrap/dist/css/bootstrap.min.css"> + <link rel="stylesheet" type="text/css" href="../build/style.css" /> + <link rel="stylesheet" type="text/css" href="../build/timeline.css" /> + </head> + + <body></body> + +</html> Added: wit/pages/test.html =================================================================== --- wit/pages/test.html (rev 0) +++ wit/pages/test.html 2015-05-26 15:35:57 UTC (rev 1498) @@ -0,0 +1,69 @@ +<html> + <head> + <link rel="stylesheet" href="./node_modules/bootstrap/dist/css/bootstrap.min.css"> + <style> + @font-face { + font-family: Digital; + src: url(../font/DIGITALDREAM.ttf); + } + + .digit { + font-family: Digital; + text-align: center; + } + + .nav > li > a { + padding: 15px; + } + + </style> + </head> + <body> + <div class="container-fluid"> + + <div class="navbar navbar-default"> + <div class="navbar-header pull-left"> + <a class="navbar-brand" href="#">WIT</a> + </div> + + <div class="nav navbar-header pull-right"> + <ul class="nav pull-right"> + <li class="pull-left"><a href="#">Timer</a></li> + <li class="pull-left"><a href="#">Rapport</a></li> + <li class="pull-left"><a href="#">Tags</a></li> + <li class="pull-left"><a href="#">Options</a></li> + </ul> + </div> + </div> + + <h1 class="digit">00:00:00</h1> + + <ul class="list-group"> + <li class="list-group-item">Cras justo odio</li> + <li class="list-group-item">Dapibus ac facilisis in</li> + <li class="list-group-item">Morbi leo risus</li> + <li class="list-group-item">Porta ac consectetur ac</li> + <li class="list-group-item">Vestibulum at eros</li> + </ul> + + <div class="text-center"> + <div class="btn-group" role="group"> + <button type="button" class="btn btn-primary btn-lg"> + <span class="glyphicon glyphicon-backward" aria-hidden="true"></span> + </button> + <button type="button" class="btn btn-primary btn-lg"> + <span class="glyphicon glyphicon-play" aria-hidden="true"></span> + </button> + <button type="button" class="btn btn-primary btn-lg"> + <span class="glyphicon glyphicon-stop" aria-hidden="true"></span> + </button> + <button type="button" class="btn btn-primary btn-lg"> + <span class="glyphicon glyphicon-forward" aria-hidden="true"></span> + </button> + </div> + </div> + + </div> + + </body> +</html> \ No newline at end of file Deleted: wit/test.html =================================================================== --- wit/test.html 2015-05-26 15:19:33 UTC (rev 1497) +++ wit/test.html 2015-05-26 15:35:57 UTC (rev 1498) @@ -1,69 +0,0 @@ -<html> - <head> - <link rel="stylesheet" href="./node_modules/bootstrap/dist/css/bootstrap.min.css"> - <style> - @font-face { - font-family: Digital; - src: url(../font/DIGITALDREAM.ttf); - } - - .digit { - font-family: Digital; - text-align: center; - } - - .nav > li > a { - padding: 15px; - } - - </style> - </head> - <body> - <div class="container-fluid"> - - <div class="navbar navbar-default"> - <div class="navbar-header pull-left"> - <a class="navbar-brand" href="#">WIT</a> - </div> - - <div class="nav navbar-header pull-right"> - <ul class="nav pull-right"> - <li class="pull-left"><a href="#">Timer</a></li> - <li class="pull-left"><a href="#">Rapport</a></li> - <li class="pull-left"><a href="#">Tags</a></li> - <li class="pull-left"><a href="#">Options</a></li> - </ul> - </div> - </div> - - <h1 class="digit">00:00:00</h1> - - <ul class="list-group"> - <li class="list-group-item">Cras justo odio</li> - <li class="list-group-item">Dapibus ac facilisis in</li> - <li class="list-group-item">Morbi leo risus</li> - <li class="list-group-item">Porta ac consectetur ac</li> - <li class="list-group-item">Vestibulum at eros</li> - </ul> - - <div class="text-center"> - <div class="btn-group" role="group"> - <button type="button" class="btn btn-primary btn-lg"> - <span class="glyphicon glyphicon-backward" aria-hidden="true"></span> - </button> - <button type="button" class="btn btn-primary btn-lg"> - <span class="glyphicon glyphicon-play" aria-hidden="true"></span> - </button> - <button type="button" class="btn btn-primary btn-lg"> - <span class="glyphicon glyphicon-stop" aria-hidden="true"></span> - </button> - <button type="button" class="btn btn-primary btn-lg"> - <span class="glyphicon glyphicon-forward" aria-hidden="true"></span> - </button> - </div> - </div> - - </div> - - </body> -</html> \ No newline at end of file
participants (1)
-
jruchaud@users.nuiton.org