Commit 2d797f74 authored by Sam Saccone's avatar Sam Saccone

Merge pull request #1245 from arthurvr/completedCount

Remove completed count from first apps
parents b8d0b96b d244400b
...@@ -262,12 +262,10 @@ module.exports.todoMVCTest = function (frameworkName, baseUrl, speedMode, laxMod ...@@ -262,12 +262,10 @@ module.exports.todoMVCTest = function (frameworkName, baseUrl, speedMode, laxMod
test.describe('Clear completed button', function () { test.describe('Clear completed button', function () {
test.it('should display the number of completed items', function () { test.it('should display the correct text', function () {
createStandardItems(); createStandardItems();
page.toggleItemAtIndex(1); page.toggleItemAtIndex(1);
testOps.assertClearCompleteButtonText('Clear completed (1)'); testOps.assertClearCompleteButtonText('Clear completed');
page.toggleItemAtIndex(2);
testOps.assertClearCompleteButtonText('Clear completed (2)');
}); });
test.it('should remove completed items when clicked', function () { test.it('should remove completed items when clicked', function () {
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<a href="#/completed" data-hook="completed-mode">Completed</a> <a href="#/completed" data-hook="completed-mode">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed" data-hook="clear-completed">Clear completed (<span data-hook="completed-count">1</span>)</button> <button id="clear-completed" data-hook="clear-completed">Clear completed</button>
</footer> </footer>
</section> </section>
<footer id="info"> <footer id="info">
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<span id="todo-count"><strong>{{todo.remaining()}}</strong> <span id="todo-count"><strong>{{todo.remaining()}}</strong>
<ng-pluralize count="todo.remaining()" when="{ one: 'item left', other: 'items left' }"></ng-pluralize> <ng-pluralize count="todo.remaining()" when="{ one: 'item left', other: 'items left' }"></ng-pluralize>
</span> </span>
<button id="clear-completed" ng-click="todo.clearCompleted()" ng-if="todo.completed() > 0">Clear completed ({{todo.completed()}})</button> <button id="clear-completed" ng-click="todo.clearCompleted()" ng-if="todo.completed() > 0">Clear completed</button>
</footer> </footer>
</section> </section>
<footer id="info"> <footer id="info">
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
<a ng-class="{selected: location.path() == '/completed'}" href="#/completed">Completed</a> <a ng-class="{selected: location.path() == '/completed'}" href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed" ng-click="clearCompletedTodos()" ng-show="remainingCount < todos.length">Clear completed ({{todos.length - remainingCount}})</button> <button id="clear-completed" ng-click="clearCompletedTodos()" ng-show="remainingCount < todos.length">Clear completed</button>
</footer> </footer>
</section> </section>
<footer id="info"> <footer id="info">
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<a ng-class="{selected: status == 'completed'}" href="#/completed">Completed</a> <a ng-class="{selected: status == 'completed'}" href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed" ng-click="clearCompletedTodos()" ng-show="completedCount">Clear completed ({{completedCount}})</button> <button id="clear-completed" ng-click="clearCompletedTodos()" ng-show="completedCount">Clear completed</button>
</footer> </footer>
</section> </section>
<footer id="info"> <footer id="info">
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<a ng-class="{selected: location.path() == '/completed'}" href="#/completed">Completed</a> <a ng-class="{selected: location.path() == '/completed'}" href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed" ng-click="clearDoneTodos()" ng-show="remainingCount < todos.length">Clear completed ({{todos.length - remainingCount}})</button> <button id="clear-completed" ng-click="clearDoneTodos()" ng-show="remainingCount < todos.length">Clear completed</button>
</footer> </footer>
</section> </section>
<footer id="info"> <footer id="info">
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
{macro itemsclear()} {macro itemsclear()}
{if data.itemscompleted > 0} {if data.itemscompleted > 0}
<button id="clear-completed" {on click "clearCompleted"/}>Clear completed (${data.itemscompleted})</button> <button id="clear-completed" {on click "clearCompleted"/}>Clear completed</button>
{/if} {/if}
{/macro} {/macro}
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -24,7 +24,7 @@ section #todoapp { ...@@ -24,7 +24,7 @@ section #todoapp {
+if (status.completedCount > 0) { +if (status.completedCount > 0) {
button #clear-completed x-signal = 'click: removeAllCompleted' > button #clear-completed x-signal = 'click: removeAllCompleted' >
'Clear completed (~[bind:status.completedCount])' 'Clear completed'
} }
} }
} }
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -7,6 +7,6 @@ ...@@ -7,6 +7,6 @@
"maskjs": "^0.10.1", "maskjs": "^0.10.1",
"ruta": "^0.1.12", "ruta": "^0.1.12",
"todomvc-common": "^1.0.1", "todomvc-common": "^1.0.1",
"todomvc-app-css": "^1.0.0", "todomvc-app-css": "^1.0.0"
} }
} }
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</li> </li>
</ul> </ul>
<% if (completed) { %> <% if (completed) { %>
<button id="clear-completed">Clear completed (<%= completed %>)</button> <button id="clear-completed">Clear completed</button>
<% } %> <% } %>
</script> </script>
<script src="node_modules/todomvc-common/base.js"></script> <script src="node_modules/todomvc-common/base.js"></script>
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<a href="#/completed">Completed</a> <a href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed" <% if (!completedCount) { %>class="hidden"<% } %>>Clear completed (<%= completedCount %>)</button> <button id="clear-completed" <% if (!completedCount) { %>class="hidden"<% } %>>Clear completed</button>
</script> </script>
<script type="text/html" id="template-header"> <script type="text/html" id="template-header">
<h1>todos</h1> <h1>todos</h1>
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -11,5 +11,5 @@ ...@@ -11,5 +11,5 @@
</li> </li>
</ul> </ul>
<% if ( completed ) { %> <% if ( completed ) { %>
<button id="clear-completed">Clear completed (<%= completed %>)</button> <button id="clear-completed">Clear completed</button>
<% } %> <% } %>
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<li>{{{link "Completed" "completed"}}}</li> <li>{{{link "Completed" "completed"}}}</li>
</ul> </ul>
<button id="clear-completed" class="{{^if todos.completed.length}}hidden{{/if}}" can-click="clearCompleted"> <button id="clear-completed" class="{{^if todos.completed.length}}hidden{{/if}}" can-click="clearCompleted">
Clear completed ({{todos.completed.length}}) Clear completed
</button> </button>
</footer> </footer>
</todo-app> </todo-app>
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
<li>{{{link "Completed" "completed"}}}</li> <li>{{{link "Completed" "completed"}}}</li>
</ul> </ul>
<button id="clear-completed" class="{{^if todos.completed.length}}hidden{{/if}}" can-click="clearCompleted"> <button id="clear-completed" class="{{^if todos.completed.length}}hidden{{/if}}" can-click="clearCompleted">
Clear completed ({{todos.completed.length}}) Clear completed
</button> </button>
</footer> </footer>
</todo-app> </todo-app>
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -32,7 +32,6 @@ module.exports = class FooterView extends View ...@@ -32,7 +32,6 @@ module.exports = class FooterView extends View
countDescription = (if active is 1 then 'item' else 'items') countDescription = (if active is 1 then 'item' else 'items')
@find('.todo-count-title').textContent = countDescription @find('.todo-count-title').textContent = countDescription
@find('#completed-count').textContent = "(#{completed})"
utils.toggle @find('#clear-completed'), completed > 0 utils.toggle @find('#clear-completed'), completed > 0
utils.toggle @el, total > 0 utils.toggle @el, total > 0
......
...@@ -14,4 +14,4 @@ ...@@ -14,4 +14,4 @@
<a href="#/completed">Completed</a> <a href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed">Clear completed <span id="completed-count"></span></button> <button id="clear-completed">Clear completed</button>
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -417,7 +417,6 @@ module.exports = FooterView = (function(_super) { ...@@ -417,7 +417,6 @@ module.exports = FooterView = (function(_super) {
this.find('#todo-count > strong').textContent = active; this.find('#todo-count > strong').textContent = active;
countDescription = (active === 1 ? 'item' : 'items'); countDescription = (active === 1 ? 'item' : 'items');
this.find('.todo-count-title').textContent = countDescription; this.find('.todo-count-title').textContent = countDescription;
this.find('#completed-count').textContent = "(" + completed + ")";
utils.toggle(this.find('#clear-completed'), completed > 0); utils.toggle(this.find('#clear-completed'), completed > 0);
return utils.toggle(this.el, total > 0); return utils.toggle(this.el, total > 0);
}; };
...@@ -481,7 +480,7 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; ...@@ -481,7 +480,7 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
return "<span id=\"todo-count\">\n <strong></strong>\n <span class=\"todo-count-title\">items</span>\n left\n</span>\n<ul id=\"filters\">\n <li>\n <a href=\"#/\">All</a>\n </li>\n <li>\n <a href=\"#/active\">Active</a>\n </li>\n <li>\n <a href=\"#/completed\">Completed</a>\n </li>\n</ul>\n<button id=\"clear-completed\">Clear completed <span id=\"completed-count\"></span></button>\n"; return "<span id=\"todo-count\">\n <strong></strong>\n <span class=\"todo-count-title\">items</span>\n left\n</span>\n<ul id=\"filters\">\n <li>\n <a href=\"#/\">All</a>\n </li>\n <li>\n <a href=\"#/active\">Active</a>\n </li>\n <li>\n <a href=\"#/completed\">Completed</a>\n </li>\n</ul>\n<button id=\"clear-completed\">Clear completed</button>\n";
}); });
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {
define([], function() { define([], function() {
......
This diff is collapsed.
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</li> </li>
</ul> </ul>
<button x-bind=click:clearCompleted id="clear-completed" class="{#unless _list.completed}non-completed{/}"> <button x-bind=click:clearCompleted id="clear-completed" class="{#unless _list.completed}non-completed{/}">
Clear completed (<span>{_list.completed.length}</span>) Clear completed
</button> </button>
</footer> </footer>
......
...@@ -28,17 +28,13 @@ ...@@ -28,17 +28,13 @@
}, },
renderCounts: function( numTodosTotal, numTodosActive ) { renderCounts: function( numTodosTotal, numTodosActive ) {
var numTodosCompleted = numTodosTotal - numTodosActive, var numTodosCompleted = numTodosTotal - numTodosActive,
countTitle = '<strong>' + numTodosActive + '</strong> ' + this.pluralizeUtil.pluralize( numTodosActive, 'item' ) + ' left', countTitle = '<strong>' + numTodosActive + '</strong> ' + this.pluralizeUtil.pluralize( numTodosActive, 'item' ) + ' left';
clearTitle = 'Clear completed (' + numTodosCompleted + ')';
// Only show the footer when there are at least one todo. // Only show the footer when there are at least one todo.
$footer.toggle( !!numTodosTotal ); $footer.toggle( !!numTodosTotal );
// Active todo count // Toggle clear button
$count.html( countTitle ); $clearBtn.toggle( !!numTodosCompleted );
// Toggle clear button and update title
$clearBtn.text( clearTitle ).toggle( !!numTodosCompleted );
} }
}; };
}; };
......
...@@ -316,20 +316,10 @@ html #clear-completed:active { ...@@ -316,20 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
top: 0;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
<a data-dojo-type="todo/widgets/CSSToggleWidget" data-dojo-props="_setSelectedAttr: {type: 'classExists'}, selected: at(this, 'status').transform(this.statusConverter), statusForElem: 'completed'" href="#/completed">Completed</a> <a data-dojo-type="todo/widgets/CSSToggleWidget" data-dojo-props="_setSelectedAttr: {type: 'classExists'}, selected: at(this, 'status').transform(this.statusConverter), statusForElem: 'completed'" href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed" data-dojo-type="dijit/_WidgetBase" data-dojo-attach-event="click: clearCompletedTodos" data-dojo-props="_setHiddenAttr: '', hidden: at(this, 'completedCount').transform(this.emptyConverter)">Clear completed (<span data-dojo-type="dojox/mvc/Element" data-dojo-props="innerText: at(this, 'completedCount')"></span>)</button> <button id="clear-completed" data-dojo-type="dijit/_WidgetBase" data-dojo-attach-event="click: clearCompletedTodos" data-dojo-props="_setHiddenAttr: '', hidden: at(this, 'completedCount').transform(this.emptyConverter)">Clear completed</button>
</footer> </footer>
</section> </section>
</script> </script>
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -31,6 +31,6 @@ ...@@ -31,6 +31,6 @@
</li> </li>
</ul> </ul>
<button id="clear-completed" data-bind="visible: completedCount, click: removeCompleted"> <button id="clear-completed" data-bind="visible: completedCount, click: removeCompleted">
Clear completed (<span data-bind="text: completedCount"></span>) Clear completed
</button> </button>
</footer> </footer>
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
</li> </li>
</ul> </ul>
{{#if completed.length}} {{#if completed.length}}
<button id="clear-completed" {{action "clearCompleted"}}>Clear completed ({{completed.length}})</button> <button id="clear-completed" {{action "clearCompleted"}}>Clear completed</button>
{{/if}} {{/if}}
</footer> </footer>
{{/if}} {{/if}}
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
</li> </li>
</ul> </ul>
<% if (completed) { %> <% if (completed) { %>
<button id="clear-completed">Clear completed (<%=completed%>)</button> <button id="clear-completed">Clear completed</button>
<% } %> <% } %>
</script> </script>
<script src="node_modules/todomvc-common/base.js"></script> <script src="node_modules/todomvc-common/base.js"></script>
......
...@@ -316,20 +316,10 @@ html #clear-completed:active { ...@@ -316,20 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
top: 0;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</li> </li>
</ul> </ul>
<% if (completed) { %> <% if (completed) { %>
<button id="clear-completed">Clear completed (<%= completed %>)</button> <button id="clear-completed">Clear completed</button>
<% } %> <% } %>
</script> </script>
<script src="node_modules/todomvc-common/base.js"></script> <script src="node_modules/todomvc-common/base.js"></script>
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<footer id="footer"> <footer id="footer">
<span id="todo-count"><strong>{[ this.controller.incompleteCount() ]}</strong> {[ ( this.controller.incompleteCount() == 1 ) ? "item" : "items" ]} left</span> <span id="todo-count"><strong>{[ this.controller.incompleteCount() ]}</strong> {[ ( this.controller.incompleteCount() == 1 ) ? "item" : "items" ]} left</span>
<tpl if="this.controller.completedCount()"> <tpl if="this.controller.completedCount()">
<button id="clear-completed" class="clearcompleted">Clear completed ({[ this.controller.completedCount() ]})</button> <button id="clear-completed" class="clearcompleted">Clear completed</button>
</tpl> </tpl>
</footer> </footer>
</tpl> </tpl>
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
<a ng-class="{selected: location.path() == '/completed'}" href="#/completed">Completed</a> <a ng-class="{selected: location.path() == '/completed'}" href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed" ng-click="clearCompletedTodos()" ng-show="completedCount">Clear completed ({{completedCount}})</button> <button id="clear-completed" ng-click="clearCompletedTodos()" ng-show="completedCount">Clear completed</button>
</footer> </footer>
</section> </section>
<footer id="info"> <footer id="info">
......
...@@ -316,20 +316,10 @@ html #clear-completed:active { ...@@ -316,20 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
top: 0;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -13,5 +13,5 @@ ...@@ -13,5 +13,5 @@
</li> </li>
</ul> </ul>
<% if (completed) { %> <% if (completed) { %>
<button id="clear-completed">Clear completed (<%= completed %>)</button> <button id="clear-completed">Clear completed</button>
<% } %> <% } %>
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
<a {{#eq filter 'completed'}}class="selected"{{/eq}}href="#/completed">Completed</a> <a {{#eq filter 'completed'}}class="selected"{{/eq}}href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
{{#if completedTodos}}<button id="clear-completed">Clear completed ({{completedTodos}})</button>{{/if}} {{#if completedTodos}}<button id="clear-completed">Clear completed</button>{{/if}}
</script> </script>
<script src="node_modules/todomvc-common/base.js"></script> <script src="node_modules/todomvc-common/base.js"></script>
<script src="node_modules/jquery/dist/jquery.js"></script> <script src="node_modules/jquery/dist/jquery.js"></script>
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -35,8 +35,8 @@ ...@@ -35,8 +35,8 @@
</ul> </ul>
<button id="clear-completed" <button id="clear-completed"
data-bind="click: destroyCompleted, data-bind="click: destroyCompleted,
visible: completedCount, visible: completedCount">
text: clearCompletedText"> Clear completed
</button> </button>
</footer> </footer>
</section> </section>
......
...@@ -164,9 +164,6 @@ var app = app || {}; ...@@ -164,9 +164,6 @@ var app = app || {};
activeCountText: function () { activeCountText: function () {
return this.activeCount() === 1 ? 'item' : 'items'; return this.activeCount() === 1 ? 'item' : 'items';
}, },
clearCompletedText: function () {
return 'Clear completed (' + this.completedCount() + ')';
},
// Class attribute bound methods // Class attribute bound methods
todoItemClass: function (item) { todoItemClass: function (item) {
......
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
return function() { return function() {
var count; var count;
if ((count = _this.completed_count())) { if ((count = _this.completed_count())) {
return "Clear completed (" + count + ")"; return "Clear completed";
} else { } else {
return ''; return '';
} }
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<a data-bind="css: { selected: showMode() == 'completed' }" href="#/completed">Completed</a> <a data-bind="css: { selected: showMode() == 'completed' }" href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed" data-bind="visible: completedCount, click: removeCompleted">Clear completed (<span data-bind="text: completedCount"></span>)</button> <button id="clear-completed" data-bind="visible: completedCount, click: removeCompleted">Clear completed</button>
</footer> </footer>
</section> </section>
<footer id="info"> <footer id="info">
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<strong data-bind="text: remainingCount">0</strong> <strong data-bind="text: remainingCount">0</strong>
<span data-bind="text: getLabel(remainingCount)"></span> left <span data-bind="text: getLabel(remainingCount)"></span> left
</span> </span>
<button id="clear-completed" data-bind="visible: completedCount, click: removeCompleted">Clear completed (<span data-bind="text: completedCount"></span>)</button> <button id="clear-completed" data-bind="visible: completedCount, click: removeCompleted">Clear completed</button>
</footer> </footer>
</section> </section>
<footer id="info"> <footer id="info">
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -21,6 +21,6 @@ ...@@ -21,6 +21,6 @@
<a {@eq key=filter value="completed"}class="selected"{/eq} href="/completed">Completed</a> <a {@eq key=filter value="completed"}class="selected"{/eq} href="/completed">Completed</a>
</li> </li>
</ul> </ul>
{@gt key=itemsCompleted value="0"}<button id="clear-completed">Clear completed ({itemsCompleted})</button>{/gt} {@gt key=itemsCompleted value="0"}<button id="clear-completed">Clear completed</button>{/gt}
</footer> </footer>
{/items} {/items}
...@@ -316,20 +316,10 @@ html #clear-completed:active { ...@@ -316,20 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
top: 0;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
{{/each}} {{/each}}
</ul> </ul>
{{#if todos_completed}} {{#if todos_completed}}
<button id="clear-completed">Clear completed ({{todos_completed}})</button> <button id="clear-completed">Clear completed</button>
{{/if}} {{/if}}
</footer> </footer>
</template> </template>
...@@ -31,6 +31,6 @@ app.footer = function (ctrl) { ...@@ -31,6 +31,6 @@ app.footer = function (ctrl) {
]) ])
]), ctrl.amountCompleted() === 0 ? '' : m('button#clear-completed', { ]), ctrl.amountCompleted() === 0 ? '' : m('button#clear-completed', {
onclick: ctrl.clearCompleted.bind(ctrl) onclick: ctrl.clearCompleted.bind(ctrl)
}, 'Clear completed (' + amountCompleted + ')') }, 'Clear completed')
]); ]);
}; };
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<footer id="footer" data-stats="bind:toggleClass,nbItems,show"> <footer id="footer" data-stats="bind:toggleClass,nbItems,show">
<span id="todo-count"><strong data-stats="bind:innerHTML,nbLeft">0</strong> <span data-stats="bind:innerHTML,plural"></span> left</span> <span id="todo-count"><strong data-stats="bind:innerHTML,nbLeft">0</strong> <span data-stats="bind:innerHTML,plural"></span> left</span>
<button id="clear-completed" data-event="listen:click,delAll" data-stats="bind:toggleClass,nbCompleted,show"> <button id="clear-completed" data-event="listen:click,delAll" data-stats="bind:toggleClass,nbCompleted,show">
Clear completed (<span data-stats="bind:innerHTML,nbCompleted"></span>) Clear completed
</button> </button>
</footer> </footer>
</section> </section>
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,20 +316,10 @@ html #clear-completed:active { ...@@ -323,20 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
top: 0;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<a href="../#/completed">Completed</a> <a href="../#/completed">Completed</a>
</li> </li>
</core-selector> </core-selector>
<button hidden?="{{model.completedCount == 0}}" id="clear-completed" on-click="{{clearCompletedAction}}">Clear completed ({{model.completedCount}})</button> <button hidden?="{{model.completedCount == 0}}" id="clear-completed" on-click="{{clearCompletedAction}}">Clear completed</button>
</footer> </footer>
</section> </section>
</template> </template>
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<a id="filterCompleted" href="#/completed">Completed</a> <a id="filterCompleted" href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed">Clear completed (1)</button> <button id="clear-completed">Clear completed</button>
</footer> </footer>
</section> </section>
<footer id="info"> <footer id="info">
......
...@@ -259,7 +259,7 @@ puremvc.define({ ...@@ -259,7 +259,7 @@ puremvc.define({
updateClearButton: function() { updateClearButton: function() {
this.clearButton.style.display = ( this.stats.todoCompleted === 0 ) ? 'none' : 'block'; this.clearButton.style.display = ( this.stats.todoCompleted === 0 ) ? 'none' : 'block';
this.clearButton.innerHTML = 'Clear completed (' + this.stats.todoCompleted + ')'; this.clearButton.innerHTML = 'Clear completed';
}, },
updateTodoCount: function() { updateTodoCount: function() {
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
{{# completedTasks().length }} {{# completedTasks().length }}
<!-- When the user clicks this button, the `clearCompleted` event fires --> <!-- When the user clicks this button, the `clearCompleted` event fires -->
<button id="clear-completed" on-click="clearCompleted"> <button id="clear-completed" on-click="clearCompleted">
Clear completed ({{ completedTasks().length }}) Clear completed
</button> </button>
{{/ end of filter }} {{/ end of filter }}
</footer> </footer>
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -21,7 +21,7 @@ var app = app || {}; ...@@ -21,7 +21,7 @@ var app = app || {};
<button <button
id="clear-completed" id="clear-completed"
onClick={this.props.onClearCompleted}> onClick={this.props.onClearCompleted}>
Clear completed ({this.props.completedCount}) Clear completed
</button> </button>
); );
} }
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -18,7 +18,7 @@ var app = app || {}; ...@@ -18,7 +18,7 @@ var app = app || {};
<button <button
id="clear-completed" id="clear-completed"
onClick={this.props.onClearCompleted}> onClick={this.props.onClearCompleted}>
Clear completed ({this.props.completedCount}) Clear completed
</button> </button>
); );
} }
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -12,4 +12,4 @@ ...@@ -12,4 +12,4 @@
<a <%= flag === 'completed' ? 'class=selected' : '' %> href="#/completed">Completed</a> <a <%= flag === 'completed' ? 'class=selected' : '' %> href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed" <%= completedCount === 0 ? 'class=hidden' : '' %>>Clear completed (<%= completedCount %>)</button> <button id="clear-completed" <%= completedCount === 0 ? 'class=hidden' : '' %>>Clear completed</button>
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
a.completed[class:selected=@filterCompleted href="#/completed"] "Completed" a.completed[class:selected=@filterCompleted href="#/completed"] "Completed"
- if @completedCount - if @completedCount
button#clear-completed[event:click=clearCompleted] button#clear-completed[event:click=clearCompleted]
"Clear completed (" @completedCount ")" "Clear completed"
</script> </script>
<script id="todo" type="text/serenade"> <script id="todo" type="text/serenade">
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -13,5 +13,5 @@ ...@@ -13,5 +13,5 @@
</li> </li>
</ul> </ul>
{{#completedTodos}} {{#completedTodos}}
<button id="clear-completed">Clear completed ({{completedTodos}})</button> <button id="clear-completed">Clear completed</button>
{{/completedTodos}} {{/completedTodos}}
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
<a class="{{highlightFilter('completed')}}" href="#/completed">Completed</a> <a class="{{highlightFilter('completed')}}" href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed" data-show="{{clearCompletedVisible()}}" data-click="clearCompleted()">Clear completed ({{completed}})</button> <button id="clear-completed" data-show="{{clearCompletedVisible()}}" data-click="clearCompleted()">Clear completed</button>
</footer> </footer>
</section> </section>
......
...@@ -316,20 +316,10 @@ html #clear-completed:active { ...@@ -316,20 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
top: 0;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
<a class="{{highlightFilter('completed')}}" href="#/completed">Completed</a> <a class="{{highlightFilter('completed')}}" href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed" data-show="{{clearCompletedVisible()}}" data-click="clearCompleted()">Clear completed ({{completed}})</button> <button id="clear-completed" data-show="{{clearCompletedVisible()}}" data-click="clearCompleted()">Clear completed</button>
</footer> </footer>
</section> </section>
......
...@@ -316,20 +316,10 @@ html #clear-completed:active { ...@@ -316,20 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
top: 0;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
// Generated by CoffeeScript 1.7.1 // Generated by CoffeeScript 1.9.1
(function() { (function() {
var TodoApp, var TodoApp,
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
__hasProp = {}.hasOwnProperty, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; hasProp = {}.hasOwnProperty;
TodoApp = (function(_super) { TodoApp = (function(superClass) {
var ENTER_KEY; var ENTER_KEY;
__extends(TodoApp, _super); extend(TodoApp, superClass);
ENTER_KEY = 13; ENTER_KEY = 13;
...@@ -30,10 +30,10 @@ ...@@ -30,10 +30,10 @@
}; };
function TodoApp() { function TodoApp() {
this.renderFooter = __bind(this.renderFooter, this); this.renderFooter = bind(this.renderFooter, this);
this.toggleElems = __bind(this.toggleElems, this); this.toggleElems = bind(this.toggleElems, this);
this.addAll = __bind(this.addAll, this); this.addAll = bind(this.addAll, this);
this.addNew = __bind(this.addNew, this); this.addNew = bind(this.addNew, this);
TodoApp.__super__.constructor.apply(this, arguments); TodoApp.__super__.constructor.apply(this, arguments);
Todo.bind('create', this.addNew); Todo.bind('create', this.addNew);
Todo.bind('refresh change', this.addAll); Todo.bind('refresh change', this.addAll);
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
this.filter = param.filter; this.filter = param.filter;
/* /*
TODO: Need to figure out why the route doesn't trigger `change` event TODO: Need to figure out why the route doesn't trigger `change` event
*/ */
Todo.trigger('refresh'); Todo.trigger('refresh');
return this.filters.removeClass('selected').filter("[href='#/" + this.filter + "']").addClass('selected'); return this.filters.removeClass('selected').filter("[href='#/" + this.filter + "']").addClass('selected');
...@@ -84,23 +84,23 @@ ...@@ -84,23 +84,23 @@
}; };
TodoApp.prototype.addAll = function() { TodoApp.prototype.addAll = function() {
var todo, _i, _len, _ref, _results; var i, len, ref, results, todo;
this.todos.empty(); this.todos.empty();
_ref = this.getByFilter(); ref = this.getByFilter();
_results = []; results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) { for (i = 0, len = ref.length; i < len; i++) {
todo = _ref[_i]; todo = ref[i];
_results.push(this.addNew(todo)); results.push(this.addNew(todo));
} }
return _results; return results;
}; };
TodoApp.prototype.toggleAll = function(e) { TodoApp.prototype.toggleAll = function(e) {
return Todo.each(function(todo) { return Todo.each(function(todo) {
/* /*
TODO: Model updateAttribute sometimes won't stick: TODO: Model updateAttribute sometimes won't stick:
https://github.com/maccman/spine/issues/219 https://github.com/maccman/spine/issues/219
*/ */
todo.updateAttribute('completed', e.target.checked); todo.updateAttribute('completed', e.target.checked);
return todo.trigger('update', todo); return todo.trigger('update', todo);
...@@ -133,8 +133,7 @@ ...@@ -133,8 +133,7 @@
}; };
active = Todo.active().length; active = Todo.active().length;
completed = Todo.completed().length; completed = Todo.completed().length;
this.count.html("<strong>" + active + "</strong> " + (text(active)) + " left"); return this.count.html("<strong>" + active + "</strong> " + (text(active)) + " left");
return this.clearCompleted.text("Clear completed (" + completed + ")");
}; };
return TodoApp; return TodoApp;
......
// Generated by CoffeeScript 1.7.1 // Generated by CoffeeScript 1.9.1
(function() { (function() {
var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, var bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
__hasProp = {}.hasOwnProperty, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; hasProp = {}.hasOwnProperty;
window.Todos = (function(_super) { window.Todos = (function(superClass) {
var ENTER_KEY, ESCAPE_KEY, TPL; var ENTER_KEY, ESCAPE_KEY, TPL;
__extends(Todos, _super); extend(Todos, superClass);
ENTER_KEY = 13; ENTER_KEY = 13;
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
}; };
function Todos() { function Todos() {
this.render = __bind(this.render, this); this.render = bind(this.render, this);
Todos.__super__.constructor.apply(this, arguments); Todos.__super__.constructor.apply(this, arguments);
this.todo.bind('update', this.render); this.todo.bind('update', this.render);
this.todo.bind('destroy', this.release); this.todo.bind('destroy', this.release);
......
// Generated by CoffeeScript 1.7.1 // Generated by CoffeeScript 1.9.1
(function() { (function() {
var __hasProp = {}.hasOwnProperty, var extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; hasProp = {}.hasOwnProperty;
window.Todo = (function(_super) { window.Todo = (function(superClass) {
__extends(Todo, _super); extend(Todo, superClass);
function Todo() { function Todo() {
return Todo.__super__.constructor.apply(this, arguments); return Todo.__super__.constructor.apply(this, arguments);
...@@ -27,14 +27,14 @@ ...@@ -27,14 +27,14 @@
}; };
Todo.destroyCompleted = function() { Todo.destroyCompleted = function() {
var todo, _i, _len, _ref, _results; var i, len, ref, results, todo;
_ref = this.completed(); ref = this.completed();
_results = []; results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) { for (i = 0, len = ref.length; i < len; i++) {
todo = _ref[_i]; todo = ref[i];
_results.push(todo.destroy()); results.push(todo.destroy());
} }
return _results; return results;
}; };
return Todo; return Todo;
......
...@@ -316,20 +316,10 @@ html #clear-completed:active { ...@@ -316,20 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
top: 0;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -80,8 +80,6 @@ class TodoApp extends Spine.Controller ...@@ -80,8 +80,6 @@ class TodoApp extends Spine.Controller
active = Todo.active().length active = Todo.active().length
completed = Todo.completed().length completed = Todo.completed().length
@count.html "<strong>#{ active }</strong> #{ text active } left" @count.html "<strong>#{ active }</strong> #{ text active } left"
@clearCompleted.text "Clear completed (#{ completed })"
$ -> $ ->
new TodoApp el: $('#todoapp') new TodoApp el: $('#todoapp')
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
<a ng-class="{selected: location.path() == '/completed'}" href="#/completed">Completed</a> <a ng-class="{selected: location.path() == '/completed'}" href="#/completed">Completed</a>
</li> </li>
</ul> </ul>
<button id="clear-completed" ng-click="vm.clearDoneTodos()" ng-show="doneCount">Clear completed ({{doneCount}})</button> <button id="clear-completed" ng-click="vm.clearDoneTodos()" ng-show="doneCount">Clear completed</button>
</footer> </footer>
</section> </section>
<footer id="info"> <footer id="info">
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -96,7 +96,7 @@ https://github.com/documentcloud/backbone/blob/master/examples/todos/index.html ...@@ -96,7 +96,7 @@ https://github.com/documentcloud/backbone/blob/master/examples/todos/index.html
<% } %> <% } %>
<% if (completed) { %> <% if (completed) { %>
<span class="todo-clear"> <span class="todo-clear">
<button id="clear-completed">Clear completed (<span class="number-done"><%= completed %></span>)</button> <button id="clear-completed">Clear completed</button>
</span> </span>
<% } %> <% } %>
</script> </script>
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -4312,8 +4312,8 @@ z="<strong>"+x+"</strong> item" ...@@ -4312,8 +4312,8 @@ z="<strong>"+x+"</strong> item"
J.Qy(this.e,z+(x!==1?"s":"")+" left") J.Qy(this.e,z+(x!==1?"s":"")+" left")
z=this.f z=this.f
if(y===0)J.Y(z.style,"none") if(y===0)J.Y(z.style,"none")
else{J.Y(z.style,"block") else J.Y(z.style,"block")
z.textContent="Clear completed ("+y+")"}this.nW()}, this.nW()},
nW:function(){switch(window.location.hash){case"#/active":this.dK() nW:function(){switch(window.location.hash){case"#/active":this.dK()
break break
case"#/completed":this.bI() case"#/completed":this.bI()
......
...@@ -99,7 +99,6 @@ class TodoApp { ...@@ -99,7 +99,6 @@ class TodoApp {
clearCompletedElement.style.display = 'none'; clearCompletedElement.style.display = 'none';
} else { } else {
clearCompletedElement.style.display = 'block'; clearCompletedElement.style.display = 'block';
clearCompletedElement.text = 'Clear completed ($complete)';
} }
updateFilter(); updateFilter();
} }
......
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
*/ */
Template.prototype.clearCompletedButton = function (completedTodos) { Template.prototype.clearCompletedButton = function (completedTodos) {
if (completedTodos > 0) { if (completedTodos > 0) {
return 'Clear completed (' + completedTodos + ')'; return 'Clear completed';
} else { } else {
return ''; return '';
} }
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<li><a href="#/completed" v-class="selected: activeFilter == 'completed'">Completed</a></li> <li><a href="#/completed" v-class="selected: activeFilter == 'completed'">Completed</a></li>
</ul> </ul>
<button id="clear-completed" v-on="click:removeCompleted" v-show="todos.length > remaining"> <button id="clear-completed" v-on="click:removeCompleted" v-show="todos.length > remaining">
Clear completed ({{todos.length - remaining}}) Clear completed
</button> </button>
</footer> </footer>
</section> </section>
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</li> </li>
</ul> </ul>
{{#if completed}} {{#if completed}}
<button id="clear-completed">Clear completed ({{completed}})</button> <button id="clear-completed">Clear completed</button>
{{/if}} {{/if}}
</script> </script>
<script src="node_modules/todomvc-common/base.js"></script> <script src="node_modules/todomvc-common/base.js"></script>
......
...@@ -15,11 +15,9 @@ button { ...@@ -15,11 +15,9 @@ button {
font-weight: inherit; font-weight: inherit;
color: inherit; color: inherit;
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -33,7 +31,6 @@ body { ...@@ -33,7 +31,6 @@ body {
margin: 0 auto; margin: 0 auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
font-weight: 300; font-weight: 300;
} }
...@@ -83,7 +80,6 @@ input[type="checkbox"] { ...@@ -83,7 +80,6 @@ input[type="checkbox"] {
color: rgba(175, 47, 47, 0.15); color: rgba(175, 47, 47, 0.15);
-webkit-text-rendering: optimizeLegibility; -webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility; -moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
...@@ -102,11 +98,9 @@ input[type="checkbox"] { ...@@ -102,11 +98,9 @@ input[type="checkbox"] {
padding: 6px; padding: 6px;
border: 1px solid #999; border: 1px solid #999;
box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-ms-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased; -moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
font-smoothing: antialiased; font-smoothing: antialiased;
} }
...@@ -191,7 +185,6 @@ label[for='toggle-all'] { ...@@ -191,7 +185,6 @@ label[for='toggle-all'] {
margin: auto 0; margin: auto 0;
border: none; /* Mobile Safari */ border: none; /* Mobile Safari */
-webkit-appearance: none; -webkit-appearance: none;
-ms-appearance: none;
appearance: none; appearance: none;
} }
...@@ -323,19 +316,10 @@ html #clear-completed:active { ...@@ -323,19 +316,10 @@ html #clear-completed:active {
line-height: 20px; line-height: 20px;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
visibility: hidden;
position: relative; position: relative;
} }
#clear-completed::after { #clear-completed:hover {
visibility: visible;
content: 'Clear completed';
position: absolute;
right: 0;
white-space: nowrap;
}
#clear-completed:hover::after {
text-decoration: underline; text-decoration: underline;
} }
......
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