ATS-Doku/gui/admin_gui.py
2026-05-05 13:31:03 +00:00

47 lines
1.9 KiB
Python

from nicegui import ui
from data import data_api
from gui import gui_style
def setup_route():
@ui.page("/admin")
def admin_page():
gui_style.apply_design()
with ui.row().classes("w-full flex-1 p-4 gap-4 no-wrap overflow-hidden"):
with ui.card().classes("flex-1"):
ui.label(text="ATS Träger anpassen.")
with ui.card().classes("flex-1"):
ui.label(text="Einträge Löschen")
columns = [
{'name': 'actions', 'label': '', 'field': 'actions', 'align': 'left', 'sortable': False},
{'name': 'datum', 'label': 'Datum', 'field': 'datum', 'align': 'left'},
{'name': 'name', 'label': 'Name', 'field': 'name', 'align': 'left'},
{'name': 'ort', 'label': 'Ort', 'field': 'ort', 'align': 'left'},
{'name': 'dauer', 'label': 'Dauer', 'field': 'dauer', 'align': 'left'},
{'name': 'art', 'label': 'Art', 'field': 'art', 'align': 'left'},
{'name': 'geraet', 'label': 'Gerät', 'field': 'geraet', 'align': 'left'},]
rows = data_api.get_entrys()
def delete_entry(entry_id: int):
data_api.delete_entry(entry_id)
table.update()
table = ui.table(columns=columns, rows= rows, row_key='id').classes('w-full')
table.add_slot('body-cell-actions', '''
<q-td :props="props">
<q-btn
flat
round
dense
color="negative"
icon="close"
size="sm"
@click="$parent.$emit('delete', props.row)"
/>
</q-td>
''')
table.on('delete', lambda e: delete_entry(e.args['id']))