mirror of
https://github.com/kataras/iris.git
synced 2025-03-21 11:26:26 +01:00
72 lines
2.5 KiB
HTML
72 lines
2.5 KiB
HTML
<!doctype html>
|
|
<html data-framework="vue">
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Iris + Vue.js • TodoMVC</title>
|
|
<link rel="stylesheet" href="https://unpkg.com/todomvc-app-css@2.0.4/index.css">
|
|
<!-- this needs to be loaded before guide's inline scripts -->
|
|
<script src="https://vuejs.org/js/vue.js"></script>
|
|
<!-- $http -->
|
|
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
|
|
<!-- -->
|
|
<script src="https://unpkg.com/director@1.2.8/build/director.js"></script>
|
|
<!-- websocket sync between multiple tabs -->
|
|
<script src="/todos/iris-ws.js"></script>
|
|
<!-- -->
|
|
<style>
|
|
[v-cloak] {
|
|
display: none;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<section class="todoapp">
|
|
<header class="header">
|
|
<h1>todos</h1>
|
|
<input class="new-todo" autofocus autocomplete="off" placeholder="What needs to be done?" v-model="newTodo" @keyup.enter="addTodo">
|
|
</header>
|
|
<section class="main" v-show="todos.length" v-cloak>
|
|
<input class="toggle-all" type="checkbox" v-model="allDone">
|
|
<ul class="todo-list">
|
|
<li v-for="todo in filteredTodos" class="todo" :key="todo.id" :class="{ completed: todo.completed, editing: todo == editedTodo }">
|
|
<div class="view">
|
|
<!-- v-model="todo.completed" -->
|
|
<input class="toggle" type="checkbox" @click="completeTodo(todo)">
|
|
<label @dblclick="editTodo(todo)">{{ todo.title }}</label>
|
|
<button class="destroy" @click="removeTodo(todo)"></button>
|
|
</div>
|
|
<input class="edit" type="text" v-model="todo.title" v-todo-focus="todo == editedTodo" @blur="doneEdit(todo)" @keyup.enter="doneEdit(todo)"
|
|
@keyup.esc="cancelEdit(todo)">
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<footer class="footer" v-show="todos.length" v-cloak>
|
|
<span class="todo-count">
|
|
<strong>{{ remaining }}</strong> {{ remaining | pluralize }} left
|
|
</span>
|
|
<ul class="filters">
|
|
<li>
|
|
<a href="#/all" :class="{ selected: visibility == 'all' }">All</a>
|
|
</li>
|
|
<li>
|
|
<a href="#/active" :class="{ selected: visibility == 'active' }">Active</a>
|
|
</li>
|
|
<li>
|
|
<a href="#/completed" :class="{ selected: visibility == 'completed' }">Completed</a>
|
|
</li>
|
|
</ul>
|
|
<button class="clear-completed" @click="removeCompleted" v-show="todos.length > remaining">
|
|
Clear completed
|
|
</button>
|
|
</footer>
|
|
</section>
|
|
<footer class="info">
|
|
<p>Double-click to edit a todo</p>
|
|
</footer>
|
|
|
|
<script src="/js/app.js"></script>
|
|
</body>
|
|
|
|
</html> |