To Do List

plugins = [ "https://pyscript.net/latest/plugins/python/py_tutor.py", "./py_list.py" ] [[fetch]] files = ["./utils.py"] from js import document from datetime import datetime as dt from pyodide.ffi.wrappers import add_event_listener def add_task(*args, **kws): # create a new dictionary representing the new task new_task_content = Element("new-task-content") task = { "content": new_task_content.value, "done": False, "created_at": dt.now() } # add a new task to the list and tell it to use the `content` key to show in the UI # and to use the key `done` to sync the task status with a checkbox element in the UI myList = Element("myList") myList.element.pyElementInstance.add(task) # clear the inputbox element used to create the new task new_task_content.clear() def on_click(evt): add_task() def handle_keypress(evt): if evt.key == "Enter": add_task() add_event_listener( document.getElementById("new-task-content"), "keypress", handle_keypress )