Commit 708e46db authored by Arthur Verschaeve's avatar Arthur Verschaeve

Typescript-backbone: update `todomvc-app-css`

This includes the change from ids to classes
parent c5cb4dad
......@@ -51,23 +51,23 @@ https://github.com/documentcloud/backbone/blob/master/examples/todos/index.html
<link rel="stylesheet" href="node_modules/todomvc-app-css/index.css">
</head>
<body>
<section id="todoapp">
<header id="header">
<section class="todoapp">
<header class="header">
<h1>todos</h1>
<div id="create-todo">
<input id="new-todo" placeholder="What needs to be done?" autofocus>
<div class="create-todo">
<input class="new-todo" placeholder="What needs to be done?" autofocus>
</div>
</header>
<section id="main">
<input class="check mark-all-done" id="toggle-all" type="checkbox">
<section class="main">
<input class="check toggle-all" type="checkbox">
<label for="toggle-all">Mark all as complete</label>
<ul id="todo-list"></ul>
<ul class="todo-list"></ul>
</section>
<footer id="footer">
<div id="todo-stats"></div>
<footer class="footer">
<div class="todo-stats"></div>
</footer>
</section>
<footer id="info">
<footer class="info">
<p>Double-click to edit a todo</p>
<p>TypeScript version by <a href="http://blogs.msdn.com/lukeh">Luke Hoban</a></p>
<p>Cleanup, edits: <a href="http://addyosmani.com">Addy Osmani</a></p>
......@@ -87,14 +87,14 @@ https://github.com/documentcloud/backbone/blob/master/examples/todos/index.html
<script type="text/template" id="stats-template">
<% if (total) { %>
<span id="todo-count">
<span class="todo-count">
<strong class="number"><%= remaining %></strong>
<span class="word"><%= remaining == 1 ? 'item' : 'items' %></span> left
</span>
<% } %>
<% if (completed) { %>
<span class="todo-clear">
<button id="clear-completed">Clear completed</button>
<button class="clear-completed">Clear completed</button>
</span>
<% } %>
</script>
......
......@@ -193,21 +193,21 @@ var AppView = (function (_super) {
_super.call(this);
// Delegated events for creating new items, and clearing completed ones.
this.events = {
'keypress #new-todo': 'createOnEnter',
'keypress .new-todo': 'createOnEnter',
'click .todo-clear button': 'clearCompleted',
'click .mark-all-done': 'toggleAllComplete'
'click .toggle-all': 'toggleAllComplete'
};
// Instead of generating a new element, bind to the existing skeleton of
// the App already present in the HTML.
this.setElement($('#todoapp'), true);
this.setElement($('.todoapp'), true);
// At initialization we bind to the relevant events on the `Todos`
// collection, when items are added or changed. Kick things off by
// loading any preexisting todos that might be saved in *localStorage*.
_.bindAll(this, 'addOne', 'addAll', 'render', 'toggleAllComplete');
this.input = this.$('#new-todo');
this.allCheckbox = this.$('.mark-all-done')[0];
this.mainElement = this.$('#main')[0];
this.footerElement = this.$('#footer')[0];
this.input = this.$('.new-todo');
this.allCheckbox = this.$('.toggle-all')[0];
this.mainElement = this.$('.main')[0];
this.footerElement = this.$('.footer')[0];
this.statsTemplate = _.template($('#stats-template').html());
Todos.bind('add', this.addOne);
Todos.bind('reset', this.addAll);
......@@ -222,7 +222,7 @@ var AppView = (function (_super) {
if (Todos.length) {
this.mainElement.style.display = 'block';
this.footerElement.style.display = 'block';
this.$('#todo-stats').html(this.statsTemplate({
this.$('.todo-stats').html(this.statsTemplate({
total: Todos.length,
completed: completed,
remaining: remaining
......@@ -238,7 +238,7 @@ var AppView = (function (_super) {
// appending its element to the `<ul>`.
AppView.prototype.addOne = function (todo) {
var view = new TodoView({ model: todo });
this.$('#todo-list').append(view.render().el);
this.$('.todo-list').append(view.render().el);
};
// Add all items in the **Todos** collection at once.
AppView.prototype.addAll = function () {
......
......@@ -269,9 +269,9 @@ class AppView extends Backbone.View {
// Delegated events for creating new items, and clearing completed ones.
events = {
'keypress #new-todo': 'createOnEnter',
'keypress .new-todo': 'createOnEnter',
'click .todo-clear button': 'clearCompleted',
'click .mark-all-done': 'toggleAllComplete'
'click .toggle-all': 'toggleAllComplete'
};
input: any;
......@@ -284,17 +284,17 @@ class AppView extends Backbone.View {
super();
// Instead of generating a new element, bind to the existing skeleton of
// the App already present in the HTML.
this.setElement($('#todoapp'), true);
this.setElement($('.todoapp'), true);
// At initialization we bind to the relevant events on the `Todos`
// collection, when items are added or changed. Kick things off by
// loading any preexisting todos that might be saved in *localStorage*.
_.bindAll(this, 'addOne', 'addAll', 'render', 'toggleAllComplete');
this.input = this.$('#new-todo');
this.allCheckbox = this.$('.mark-all-done')[0];
this.mainElement = this.$('#main')[0];
this.footerElement = this.$('#footer')[0];
this.input = this.$('.new-todo');
this.allCheckbox = this.$('.toggle-all')[0];
this.mainElement = this.$('.main')[0];
this.footerElement = this.$('.footer')[0];
this.statsTemplate = _.template($('#stats-template').html());
Todos.bind('add', this.addOne);
......@@ -314,7 +314,7 @@ class AppView extends Backbone.View {
this.mainElement.style.display = 'block';
this.footerElement.style.display = 'block';
this.$('#todo-stats').html(this.statsTemplate({
this.$('.todo-stats').html(this.statsTemplate({
total: Todos.length,
completed: completed,
remaining: remaining
......@@ -331,7 +331,7 @@ class AppView extends Backbone.View {
// appending its element to the `<ul>`.
addOne(todo) {
var view = new TodoView({ model: todo });
this.$('#todo-list').append(view.render().el);
this.$('.todo-list').append(view.render().el);
}
// Add all items in the **Todos** collection at once.
......
......@@ -44,7 +44,7 @@ input[type="checkbox"] {
display: none;
}
#todoapp {
.todoapp {
background: #fff;
margin: 130px 0 40px 0;
position: relative;
......@@ -52,25 +52,25 @@ input[type="checkbox"] {
0 25px 50px 0 rgba(0, 0, 0, 0.1);
}
#todoapp input::-webkit-input-placeholder {
.todoapp input::-webkit-input-placeholder {
font-style: italic;
font-weight: 300;
color: #e6e6e6;
}
#todoapp input::-moz-placeholder {
.todoapp input::-moz-placeholder {
font-style: italic;
font-weight: 300;
color: #e6e6e6;
}
#todoapp input::input-placeholder {
.todoapp input::input-placeholder {
font-style: italic;
font-weight: 300;
color: #e6e6e6;
}
#todoapp h1 {
.todoapp h1 {
position: absolute;
top: -155px;
width: 100%;
......@@ -83,7 +83,7 @@ input[type="checkbox"] {
text-rendering: optimizeLegibility;
}
#new-todo,
.new-todo,
.edit {
position: relative;
margin: 0;
......@@ -104,14 +104,14 @@ input[type="checkbox"] {
font-smoothing: antialiased;
}
#new-todo {
.new-todo {
padding: 16px 16px 16px 60px;
border: none;
background: rgba(0, 0, 0, 0.003);
box-shadow: inset 0 -2px 1px rgba(0,0,0,0.03);
}
#main {
.main {
position: relative;
z-index: 2;
border-top: 1px solid #e6e6e6;
......@@ -121,7 +121,7 @@ label[for='toggle-all'] {
display: none;
}
#toggle-all {
.toggle-all {
position: absolute;
top: -55px;
left: -12px;
......@@ -131,50 +131,50 @@ label[for='toggle-all'] {
border: none; /* Mobile Safari */
}
#toggle-all:before {
.toggle-all:before {
content: '❯';
font-size: 22px;
color: #e6e6e6;
padding: 10px 27px 10px 27px;
}
#toggle-all:checked:before {
.toggle-all:checked:before {
color: #737373;
}
#todo-list {
.todo-list {
margin: 0;
padding: 0;
list-style: none;
}
#todo-list li {
.todo-list li {
position: relative;
font-size: 24px;
border-bottom: 1px solid #ededed;
}
#todo-list li:last-child {
.todo-list li:last-child {
border-bottom: none;
}
#todo-list li.editing {
.todo-list li.editing {
border-bottom: none;
padding: 0;
}
#todo-list li.editing .edit {
.todo-list li.editing .edit {
display: block;
width: 506px;
padding: 13px 17px 12px 17px;
margin: 0 0 0 43px;
}
#todo-list li.editing .view {
.todo-list li.editing .view {
display: none;
}
#todo-list li .toggle {
.todo-list li .toggle {
text-align: center;
width: 40px;
/* auto, since non-WebKit browsers doesn't support input styling */
......@@ -188,15 +188,15 @@ label[for='toggle-all'] {
appearance: none;
}
#todo-list li .toggle:after {
.todo-list li .toggle:after {
content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="-10 -18 100 135"><circle cx="50" cy="50" r="50" fill="none" stroke="#ededed" stroke-width="3"/></svg>');
}
#todo-list li .toggle:checked:after {
.todo-list li .toggle:checked:after {
content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="-10 -18 100 135"><circle cx="50" cy="50" r="50" fill="none" stroke="#bddad5" stroke-width="3"/><path fill="#5dc2af" d="M72 25L42 71 27 56l-4 4 20 20 34-52z"/></svg>');
}
#todo-list li label {
.todo-list li label {
white-space: pre;
word-break: break-word;
padding: 15px 60px 15px 15px;
......@@ -206,12 +206,12 @@ label[for='toggle-all'] {
transition: color 0.4s;
}
#todo-list li.completed label {
.todo-list li.completed label {
color: #d9d9d9;
text-decoration: line-through;
}
#todo-list li .destroy {
.todo-list li .destroy {
display: none;
position: absolute;
top: 0;
......@@ -226,27 +226,27 @@ label[for='toggle-all'] {
transition: color 0.2s ease-out;
}
#todo-list li .destroy:hover {
.todo-list li .destroy:hover {
color: #af5b5e;
}
#todo-list li .destroy:after {
.todo-list li .destroy:after {
content: '×';
}
#todo-list li:hover .destroy {
.todo-list li:hover .destroy {
display: block;
}
#todo-list li .edit {
.todo-list li .edit {
display: none;
}
#todo-list li.editing:last-child {
.todo-list li.editing:last-child {
margin-bottom: -1px;
}
#footer {
.footer {
color: #777;
padding: 10px 15px;
height: 20px;
......@@ -254,7 +254,7 @@ label[for='toggle-all'] {
border-top: 1px solid #e6e6e6;
}
#footer:before {
.footer:before {
content: '';
position: absolute;
right: 0;
......@@ -269,16 +269,16 @@ label[for='toggle-all'] {
0 17px 2px -6px rgba(0, 0, 0, 0.2);
}
#todo-count {
.todo-count {
float: left;
text-align: left;
}
#todo-count strong {
.todo-count strong {
font-weight: 300;
}
#filters {
.filters {
margin: 0;
padding: 0;
list-style: none;
......@@ -287,11 +287,11 @@ label[for='toggle-all'] {
left: 0;
}
#filters li {
.filters li {
display: inline;
}
#filters li a {
.filters li a {
color: inherit;
margin: 3px;
padding: 3px 7px;
......@@ -300,17 +300,17 @@ label[for='toggle-all'] {
border-radius: 3px;
}
#filters li a.selected,
#filters li a:hover {
.filters li a.selected,
.filters li a:hover {
border-color: rgba(175, 47, 47, 0.1);
}
#filters li a.selected {
.filters li a.selected {
border-color: rgba(175, 47, 47, 0.2);
}
#clear-completed,
html #clear-completed:active {
.clear-completed,
html .clear-completed:active {
float: right;
position: relative;
line-height: 20px;
......@@ -319,11 +319,11 @@ html #clear-completed:active {
position: relative;
}
#clear-completed:hover {
.clear-completed:hover {
text-decoration: underline;
}
#info {
.info {
margin: 65px auto 0;
color: #bfbfbf;
font-size: 10px;
......@@ -331,17 +331,17 @@ html #clear-completed:active {
text-align: center;
}
#info p {
.info p {
line-height: 1;
}
#info a {
.info a {
color: inherit;
text-decoration: none;
font-weight: 400;
}
#info a:hover {
.info a:hover {
text-decoration: underline;
}
......@@ -350,16 +350,16 @@ html #clear-completed:active {
Can't use it globally since it destroys checkboxes in Firefox
*/
@media screen and (-webkit-min-device-pixel-ratio:0) {
#toggle-all,
#todo-list li .toggle {
.toggle-all,
.todo-list li .toggle {
background: none;
}
#todo-list li .toggle {
.todo-list li .toggle {
height: 40px;
}
#toggle-all {
.toggle-all {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
-webkit-appearance: none;
......@@ -368,11 +368,11 @@ html #clear-completed:active {
}
@media (max-width: 430px) {
#footer {
.footer {
height: 50px;
}
#filters {
.filters {
bottom: 10px;
}
}
......@@ -5,7 +5,7 @@
"backbone.localstorage": "^1.1.16",
"jquery": "^2.1.3",
"lodash": "^3.1.0",
"todomvc-app-css": "^1.0.0",
"todomvc-app-css": "^2.0.0",
"todomvc-common": "^1.0.1"
},
"devDependencies": {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment