Skip to content
This repository has been archived by the owner on Aug 9, 2018. It is now read-only.

Commit

Permalink
renew options-page
Browse files Browse the repository at this point in the history
  • Loading branch information
ninoseki committed Dec 20, 2012
1 parent fe0ab70 commit 7981d3e
Show file tree
Hide file tree
Showing 17 changed files with 486 additions and 156 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Contributors
============

* [jcplessis](https://github.com/jcplessis)
* [klamping](https://github.com/klamping)

*Thank you!*

Expand Down
3 changes: 2 additions & 1 deletion app/application.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Application =
WorkingView = require 'views/working_view'
RestingView = require 'views/resting_view'
StatsView = require 'views/stats_view'

MainRouter = require 'routers/main_router'

@router = new MainRouter()
Expand All @@ -39,7 +40,7 @@ Application =
@settings = {}
@settings.date_format = "YYYY-MM-DD"

@development = true
@development = false

# Freeze the object
Object.freeze? Application
Expand Down
8 changes: 4 additions & 4 deletions app/assets/javascripts/options.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ function restore_options() {
}

$(function() {
restore_options();
OptionsView = require('/views/options_view');
optionsView = new OptionsView();
console.debug(optionsView);
optionsView.render();

$('#submit').click(function() {
save_options();
});
});
55 changes: 33 additions & 22 deletions app/assets/options.html
Original file line number Diff line number Diff line change
@@ -1,27 +1,38 @@
<html>
<head><title>Pomodoro Daisuki</title></head>
<script type="text/javascript" src="javascripts/vendor.js"></script>
<script type="text/javascript" src="javascripts/options.js"></script>

<head>
<meta charset="utf-8">
<title>Pomodoro Daisuki</title>

<link rel="shortcut icon" href="images/tomato_16.png" type="image/png"/>
<link rel="stylesheet" href="stylesheets/app.css">
<link rel="stylesheet" href="stylesheets/options.css">
<script type="text/javascript" src="javascripts/vendor.js"></script>
<script type="text/javascript" src="javascripts/app.js"></script>
<script type="text/javascript" src="javascripts/options.js"></script>
</head>
<body>
<table>
<tr>
<td>Duration of a pomodoro</td>
<td><input id="pomodoro-duration" size=2 value="25"/></td>
<td>minutes</td>
</tr>
<tr>
<td>Duration of a short break</td>
<td><input id="short-duration" size=2 value="5"/></td>
<td>minutes</td>
</tr>
<tr>
<td>Duration of a long break</td>
<td><input id="long-duration" size=2 value="15"/></td>
<td>minutes</td>
</tr>
</table>
<button id="submit">Save</button>
<span id="status"></span>
<!-- navbar -->
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<img class="brand-image" src="images/tomato_32.png" alt="tomato">
<a class="brand" href="#">Pomodoro Daisuki</a>
</div>
</div>
</div>
<!-- /navbar -->

<!-- main -->
<div id ="main">
<div class="container">
<div id="modal" class="modal">

</div>
</div>
</div>
<!-- /main -->


</body>
</html>
15 changes: 15 additions & 0 deletions app/assets/stylesheets/options.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.form-horizontal .control-label {
float: left;
width: 240px;
padding-top: 5px;
text-align: right;
}

.form-horizontal .controls {
margin-left: 20px;
}

.form-horizontal .controls input {
height: auto;
}

12 changes: 12 additions & 0 deletions app/models/timer_config.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Model = require './model'

module.exports = class TimerConfig extends Model
initialize: ->
@set 'pomodoroDuration', localStorage.getItem('pomodoroDuration') ? 25
@set 'shortBreakDuration', localStorage.getItem('shortBreakDuration') ? 5
@set 'longBreakDuration', localStorage.getItem('longBreakDuration') ? 15

update: (data) ->
for key, value of data
localStorage.setItem(key, value)
@set key, value
27 changes: 14 additions & 13 deletions app/routers/main_router.coffee
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
application = require 'application'
TimerConfig = require '../models/timer_config'

module.exports = class MainRouter extends Backbone.Router
routes :
"home" : "home"
"working" : "working"
"resting/:rest_type" : "resting"
"stats" : "stats"
"small-timer" : "small_timer"
"small-timer" : "smallTimer"

home: ->
initialize: ->
@timerConfig = new TimerConfig()

home: (type) ->
application.homeView.render()
application.notes.fetch()
application.columns.fetch()

application.states.setCurrentStateName('home')

if type != 'onWorking'
application.states.setCurrentStateName('home')

working: ->
application.workingView.render()
duration = localStorage["pomodoro-duration"]
if ! duration then duration = 25
duration = @timerConfig.get 'pomodoroDuration'

application.workingView.startTimer(if application.development == true then 10 else duration * 60)
application.states.setCurrentStateName('working')

resting: (rest_type) ->
resting: (restType) ->
application.restingView.render()
duration = localStorage[rest_type + "-duration"]
if ! duration
if rest_type == "short" then duration = 5
if rest_type == "long" then duration = 15
duration = @timerConfig.get restType + 'BreakDuration'
application.restingView.startTimer(if application.development == true then 10 else duration * 60)

application.states.setCurrentStateName('resting/' + rest_type)
Expand All @@ -38,6 +38,7 @@ module.exports = class MainRouter extends Backbone.Router
application.pomodoros.fetch()
application.statsView.render()

small_timer: ->
smallTimer: ->
$("#modal").modal("show")
application.router.navigate 'home', true

application.router.navigate 'home/onWorking', true
24 changes: 24 additions & 0 deletions app/views/options_view.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
View = require './view'
TimerConfig = require '../models/timer_config'
template = require './templates/options'

module.exports = class OptionsView extends View
template: template
el: "#modal"

events:
"click #update": "update"

initialize: ->
@timerConfig = new TimerConfig()

getRenderData: ->
@timerConfig.toJSON()

update: ->
data =
pomodoroDuration : $('#inputPomodoroDuration').val()
shortBreakDuration : $('#inputShortBreakDuration').val()
longBreakDuration : $('#inputLongBreakDuration').val()

@timerConfig.update data
28 changes: 28 additions & 0 deletions app/views/templates/options.eco
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<div class="modal-header">
<h3>Options</h3>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="control-group">
<label class="control-label" for="inputPomodoroDuration">Duration of a pomodoro</label>
<div class="controls input-append">
<input class="input-small" type="number" id="inputPomodoroDuration" value="<%= @pomodoroDuration %>"><span class="add-on">minutes</span>
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputDurationShortBreak">Duration of a short break</label>
<div class="controls input-append">
<input class="input-small" type="number" id="inputShortBreakDuration" value="<%= @shortBreakDuration %>"><span class="add-on">minutes</span>
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputDurationLongBreak">Duration of a long break</label>
<div class="controls input-append">
<input class="input-small" type="number" id="inputLongBreakDuration" value="<%= @longBreakDuration %>"><span class="add-on">minutes</span>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<a href="#" id="update" class="btn btn-primary">Save changes</a>
</div>
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Pomodoro Daisuki",
"version": "0.48",
"version": "0.50",
"manifest_version": 2,
"description": "Tool for Pomodoro Technique",
"icons": {
Expand Down
Loading

0 comments on commit 7981d3e

Please sign in to comment.