2026-04-02 15:39:46 +02:00
|
|
|
from nicegui import ui
|
2026-04-03 08:46:57 +02:00
|
|
|
from data import data_api
|
2026-04-02 15:39:46 +02:00
|
|
|
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"):
|
2026-04-03 08:46:57 +02:00
|
|
|
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']))
|