From 540c122248ea999be724b3609a601783af9dcc87 Mon Sep 17 00:00:00 2001 From: Marie Birner Date: Sat, 3 May 2025 12:44:46 +0200 Subject: [PATCH] [TASK] refactor ui user detail page --- frontend/main.ts | 13 +- templates/admin/user/view.html.tera | 285 ++++++++++++++-------------- templates/includes/macros.html.tera | 45 ++++- 3 files changed, 193 insertions(+), 150 deletions(-) diff --git a/frontend/main.ts b/frontend/main.ts index 82c38e9..62fa9ba 100644 --- a/frontend/main.ts +++ b/frontend/main.ts @@ -50,11 +50,16 @@ function editReadOnlyField() { Array.prototype.forEach.call(editBtns, (btn: HTMLButtonElement) => { btn.addEventListener("click", function () { let wrapper = btn.parentElement; - let input = wrapper?.querySelector('input'); + let input = wrapper?.querySelector('input.input'), + select = wrapper?.querySelector('select.input'), + attribute = 'readonly'; + + if(select) attribute = 'disabled'; + let element = input ? input : select; - wrapper?.classList.toggle('editable') - input?.toggleAttribute('readonly'); - if(!input?.hasAttribute('readonly')) input?.focus(); + element?.toggleAttribute(attribute); + if(!element?.hasAttribute(attribute)) element?.focus(); + wrapper?.classList.toggle('editable'); }); }); } diff --git a/templates/admin/user/view.html.tera b/templates/admin/user/view.html.tera index f870461..f749ae5 100644 --- a/templates/admin/user/view.html.tera +++ b/templates/admin/user/view.html.tera @@ -4,50 +4,48 @@ {% block content %}

{{ user.name }}

+
{% endblock content %} diff --git a/templates/includes/macros.html.tera b/templates/includes/macros.html.tera index 1dcb298..6f189ca 100644 --- a/templates/includes/macros.html.tera +++ b/templates/includes/macros.html.tera @@ -199,14 +199,55 @@ function setChoiceByLabel(choicesInstance, label) { {% if pattern %}pattern="{{ pattern }}"{% endif %} readonly/> {% if allowed_to_edit %} - + {% endif %}
{% endmacro inputgroup %} - +{% macro selectgroup(label, data, name='trip_type', default='', id='', selected_id='', display='', extras='', class='', wrapper_class='', required=false, show_seats=false, new_last_entry='', nonSelectableDefault=false, only_ergo=false, readonly=false) %} +
+ + {% if display == '' %} + {% set display = ["name"] %} + {% endif %} +
+ + {% if allowed_to_edit %} + + + + {% endif %} +
+
+{% endmacro selectgroup %} {% macro checkbox(label, name, id='', checked=false, class='', disabled=false, readonly=false) %}