diff --git a/awesome_owl/static/src/todo_list/todo_list.js b/awesome_owl/static/src/todo_list/todo_list.js index 1f24099..aaeb8cd 100644 --- a/awesome_owl/static/src/todo_list/todo_list.js +++ b/awesome_owl/static/src/todo_list/todo_list.js @@ -2,6 +2,8 @@ import { Component, useState } from "@odoo/owl"; import { TodoItem } from "./todo_item"; +import "../utils.js"; +import { useAutofocus } from "../utils.js"; export class TodoList extends Component { static template = "awesome_owl.todo_list"; @@ -9,6 +11,7 @@ export class TodoList extends Component { setup() { this.todos = useState([]); + useAutofocus('todo_input'); } addTodo(ev) { diff --git a/awesome_owl/static/src/todo_list/todo_list.xml b/awesome_owl/static/src/todo_list/todo_list.xml index 0ff8792..8aaf87b 100644 --- a/awesome_owl/static/src/todo_list/todo_list.xml +++ b/awesome_owl/static/src/todo_list/todo_list.xml @@ -1,7 +1,7 @@ -

+

diff --git a/awesome_owl/static/src/utils.js b/awesome_owl/static/src/utils.js new file mode 100644 index 0000000..13d97d3 --- /dev/null +++ b/awesome_owl/static/src/utils.js @@ -0,0 +1,10 @@ +/** @odoo-module */ + +import { useRef, onMounted } from "@odoo/owl"; + +export function useAutofocus(name) { + const ref = useRef(name); + onMounted(() => { + ref.el.focus(); + }); +} \ No newline at end of file