Merge remote-tracking branch 'origin/rewrite' into rewrite
This commit is contained in:
commit
c7a3bdfe49
2 changed files with 9 additions and 9 deletions
|
|
@ -74,7 +74,7 @@ var Data = {
|
|||
url: "/api/todos",
|
||||
})
|
||||
.then(function(items) {
|
||||
Data.todos.items = items
|
||||
Data.todos.list = items
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -96,7 +96,7 @@ m.route(document.body, "/", {
|
|||
|
||||
Let's assume making a request to the server URL `/api/items` returns an array of objects in JSON format.
|
||||
|
||||
When `m.route` is called at the bottom, the `Todos` component is initialized. `oninit` is called, which calls `m.request`. This retrieves an array of objects from the server asynchronously. "Asynchronously" means that Javascript continues running other code while it waits for the response from server. In this case, it means `fetch` returns, and the component is rendered using the original empty array as `Data.todos.list`. Once the request to the server completes, the array of objects `items` is assigned to `Data.todos.items` and the component is rendered again, yielding a list of `<div>`s containing the titles of each todo.
|
||||
When `m.route` is called at the bottom, the `Todos` component is initialized. `oninit` is called, which calls `m.request`. This retrieves an array of objects from the server asynchronously. "Asynchronously" means that Javascript continues running other code while it waits for the response from server. In this case, it means `fetch` returns, and the component is rendered using the original empty array as `Data.todos.list`. Once the request to the server completes, the array of objects `items` is assigned to `Data.todos.list` and the component is rendered again, yielding a list of `<div>`s containing the titles of each todo.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -115,7 +115,7 @@ var Data = {
|
|||
url: "/api/todos",
|
||||
})
|
||||
.then(function(items) {
|
||||
Data.todos.items = items
|
||||
Data.todos.list = items
|
||||
})
|
||||
.catch(function(e) {
|
||||
Data.todos.error = e.message
|
||||
|
|
|
|||
|
|
@ -6,13 +6,13 @@ var state = {
|
|||
localStorage["todos-mithril"] = JSON.stringify(state.todos)
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
todos: JSON.parse(localStorage["todos-mithril"] || "[]"),
|
||||
editing: null,
|
||||
filter: "",
|
||||
remaining: 0,
|
||||
todosByStatus: [],
|
||||
|
||||
|
||||
createTodo: function(title) {
|
||||
state.todos.push({title: title.trim(), completed: false})
|
||||
},
|
||||
|
|
@ -97,7 +97,7 @@ var Todos = {
|
|||
m("input#toggle-all[type='checkbox']", {checked: state.remaining === 0, onclick: ui.toggleAll}),
|
||||
m("label[for='toggle-all']", {onclick: ui.toggleAll}, "Mark all as complete"),
|
||||
m("ul#todo-list", [
|
||||
state.todos.map(function(todo) {
|
||||
state.todosByStatus.map(function(todo) {
|
||||
return m("li", {class: (todo.completed ? "completed" : "") + " " + (todo === state.editing ? "editing" : "")}, [
|
||||
m(".view", [
|
||||
m("input.toggle[type='checkbox']", {checked: todo.completed, onclick: function() {ui.toggle(todo)}}),
|
||||
|
|
@ -115,9 +115,9 @@ var Todos = {
|
|||
state.remaining === 1 ? " item left" : " items left",
|
||||
]),
|
||||
m("ul#filters", [
|
||||
m("li", m("a[href='/']", {oncreate: m.route.link, class: state.filter === "" ? "selected" : ""}, "All")),
|
||||
m("li", m("a[href='/active']", {oncreate: m.route.link, class: state.filter === "active" ? "selected" : ""}, "Active")),
|
||||
m("li", m("a[href='/completed']", {oncreate: m.route.link, class: state.filter === "completed" ? "selected" : ""}, "Completed")),
|
||||
m("li", m("a[href='/']", {oncreate: m.route.link, class: state.showing === "" ? "selected" : ""}, "All")),
|
||||
m("li", m("a[href='/active']", {oncreate: m.route.link, class: state.showing === "active" ? "selected" : ""}, "Active")),
|
||||
m("li", m("a[href='/completed']", {oncreate: m.route.link, class: state.showing === "completed" ? "selected" : ""}, "Completed")),
|
||||
]),
|
||||
m("button#clear-completed", {onclick: function() {state.dispatch("clear")}}, "Clear completed"),
|
||||
]) : null,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue