parent
52a2b2caab
commit
7548d1bbde
@ -0,0 +1,53 @@ |
||||
{% include "../header.html" %} |
||||
<h1>Your TODOs</h1> |
||||
|
||||
<script src="/alpine.js"></script> |
||||
|
||||
<script> |
||||
const new_task = async (todos, task) => { |
||||
const result = await axios({ |
||||
method: "post", |
||||
url: "/todo_alpine", |
||||
data: {task}, |
||||
headers: { |
||||
Accept: "application/json" |
||||
} |
||||
}); |
||||
|
||||
// zero error handling but fine for now |
||||
return result.data; |
||||
} |
||||
|
||||
const list_todo = async () => { |
||||
const result = await axios({ |
||||
method: "get", |
||||
url: "/todo_alpine", |
||||
headers: { |
||||
Accept: "application/json" |
||||
} |
||||
}); |
||||
|
||||
return result.data; |
||||
} |
||||
</script> |
||||
|
||||
<p>Welcome {{ name }}, here's your TODOs</p> |
||||
|
||||
<div |
||||
x-data="{todos: []}" |
||||
x-init="todos = await list_todo()"> |
||||
<ol> |
||||
<template x-for="todo of todos"> |
||||
<li x-text="todo.task"></li> |
||||
</template> |
||||
</ol> |
||||
|
||||
<h4>Add a New TODO</h4> |
||||
<form action="/todo_alpine" @submit.prevent="todos = await new_task(todos, task), task = ''" method="POST" x-data="{task: ''}"> |
||||
<label for="task">Task</label> |
||||
<input name="task" x-model="task"></input> |
||||
<button type="button" @click="todos = await new_task(todos, task), task = ''">Submit</button> |
||||
</form> |
||||
|
||||
</div> |
||||
{% include "../footer.html" %} |
Loading…
Reference in new issue