From 8fcc2e1b4eb8ec7ea98b38f9cf3e23d1193cd0b8 Mon Sep 17 00:00:00 2001 From: Alexander Malzkuhn Date: Thu, 15 May 2025 12:17:51 +0200 Subject: [PATCH] =?UTF-8?q?Tooltips=20in=20Abwesenheits=C3=BCbersicht=20Fe?= =?UTF-8?q?hlerbehebung=20Homepage=20User?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api.py | 13 +++++++++++-- homepage.py | 11 +++++++---- users/testuser1/2025-5.txt | 4 ++++ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/api.py b/api.py index 5811694..ca2816b 100644 --- a/api.py +++ b/api.py @@ -387,17 +387,26 @@ def page_overview_absence(username: str, year: int): if str(column) in list(absences): bg_color = absence_entries[absences[str(column)]]['color'] text_color = absence_entries[absences[str(column)]]['text-color'] - ui.markdown(absences[str(column)]).classes(f'border px-{pad_x} py-{pad_y} bg-{bg_color} text-{text_color} text-center') + tooltip_text = absence_entries[absences[str(column)]]['name'] + with ui.element(): + ui.markdown(absences[str(column)]).classes(f'border px-{pad_x} py-{pad_y} bg-{bg_color} text-{text_color} align-middle text-center') + ui.tooltip(tooltip_text) else: + tooltip_text = "" if column > monthrange(year, month)[1]: bg_color = 'gray-500' + tooltip_text="Tag exisitiert nicht" elif int(current_user.get_day_workhours(year, month, column)) == 0: bg_color = 'gray-300' + tooltip_text = "Kein Arbeitstag" elif int(current_user.get_day_workhours(year, month, column)) == -1: bg_color = 'gray-400' + tooltip_text = "Kein Arbeitsverhältnis" else: bg_color = 'inherit' - ui.space().classes(f'border px-{pad_x} py-{pad_y} bg-{bg_color}') + with ui.label("").classes(f'border px-{pad_x} py-{pad_y} bg-{bg_color}'): + if tooltip_text != "": + ui.tooltip(tooltip_text) absence_calender() diff --git a/homepage.py b/homepage.py index 57b36f5..eb322a4 100644 --- a/homepage.py +++ b/homepage.py @@ -89,10 +89,10 @@ def homepage(): binder_available_years = ValueBinder() - binder_vacation = ValueBinder + binder_vacation = ValueBinder() binder_vacation.value = False - binder_absence = ValueBinder + binder_absence = ValueBinder() binder_absence.value = False def enable_month(): @@ -150,6 +150,9 @@ def homepage(): def activate_vacation(): binder_vacation.value = True + def activate_absence(): + binder_absence.value = True + with ui.grid(columns='1fr 1fr'): ui.markdown("**Monatsübersicht:**").classes('col-span-2') @@ -164,8 +167,8 @@ def homepage(): vacation_select = ui.select(list(reversed(available_years)), on_change=activate_vacation) vacation_button = ui.button("Anzeigen", on_click=lambda: ui.navigate.to(f"/api/vacation/{current_user.username}/{vacation_select.value}", new_tab=True)).bind_enabled_from(binder_vacation, 'value') ui.markdown("**Fehlzeitenübersicht**").classes('col-span-2') - absences_select = ui.select(list(reversed(available_years))) - absences_button = ui.button("Anzeigen").bind_enabled_from(binder_absence, 'value') + absences_select = ui.select(list(reversed(available_years)), on_change=activate_absence) + absences_button = ui.button("Anzeigen", on_click=lambda: ui.navigate.to(f"api/absence/{current_user.username}/{absences_select.value}", new_tab=True)).bind_enabled_from(binder_absence, 'value') ui.separator().classes('col-span-2') def logout(): diff --git a/users/testuser1/2025-5.txt b/users/testuser1/2025-5.txt index 96885a2..cdc85f6 100644 --- a/users/testuser1/2025-5.txt +++ b/users/testuser1/2025-5.txt @@ -14,3 +14,7 @@ 1747220619 1747301302 1747301459 +1747302876 +1747302887 +1747302889 +1747302897