feat: integrate with htmx

This commit is contained in:
Björn Fromme
2024-02-07 10:15:59 +01:00
parent 4d1799ca49
commit 1e572606f8
154 changed files with 1447 additions and 1461 deletions
@@ -1,11 +0,0 @@
{{ form_start(form) }}
<div class="flex flex-col space-y-4 pb-8">
{{ form_row(form.dateFrom) }}
{{ form_row(form.dateTo) }}
{{ form_row(form.description) }}
</div>
<button type="submit" class="btn">
Speichern
</button>
{{ form_rest(form) }}
{{ form_end(form) }}
@@ -32,12 +32,9 @@
{% if is_granted('DELETE', availability) %}
<button type="button"
title="Zeitraum entfernen/löschen"
{{ stimulus_controller('modal-button', [], [], {'confirmation-modal': '#confirmation-modal'}) }}
{{ stimulus_action('modal-button', 'confirmation', null, {
'title': 'Bist du sicher?',
'content': 'Möchtest du den Zeitraum wirklich löschen?',
'target-url': path('app_teamer_profile_availability_delete', { 'id': availability.id })
}) }}>
hx-get="{{ path('app_teamer_profile_availability_delete', { 'id': availability.id }) }}"
hx-target="body"
hx-swap="beforeend">
{{ icon('delete', 'w-5 h-5') }}
</button>
{% endif %}
@@ -89,11 +86,10 @@
</div>
<button type="button"
class="btn"
{{ stimulus_controller('modal-button', [], [], {'ajax-modal': '#ajax-modal'}) }}
{{ stimulus_action('modal-button', 'ajax', null, {
'title': 'Zeitraum hinzufügen',
'url': path('app_teamer_profile_availability_create')
}) }}>
title="Eigenen Zeitraum hinzufügen"
hx-get="{{ path('app_teamer_profile_availability_create') }}"
hx-target="body"
hx-swap="beforeend">
Eigenen Zeitraum hinzufügen
</button>
{% endblock %}
@@ -0,0 +1,17 @@
{% extends 'htmx_modal.html.twig' %}
{% block title %}Eigenen Zeitraum hinzufügen{% endblock %}
{% block content %}
{{ form_start(form, { 'attr': { 'hx-post': app.request.uri, 'hx-target': '#htmx-modal', 'hx-swap': 'outerHTML' } }) }}
<div class="flex flex-col space-y-4 pb-8">
{{ form_row(form.dateFrom) }}
{{ form_row(form.dateTo) }}
{{ form_row(form.description) }}
</div>
<button type="submit" class="btn">
Speichern
</button>
{{ form_rest(form) }}
{{ form_end(form) }}
{% endblock %}
@@ -0,0 +1,8 @@
{% extends 'htmx_confirmation_modal.html.twig' %}
{% block content %}
<div>
Möchtest du die Verfügbarkeit <em>{{ availability }}{% if availability.description %} ({{ availability.description }}){% endif %}</em>
wirklich löschen?
</div>
{% endblock %}
@@ -1,25 +0,0 @@
{{ form_start(form) }}
{% if not form.vars.valid %}
<div class="border border-red-500 rounded-md p-4 text-red-500 mb-4">
{% include '_partials/_form_errors.html.twig' with { 'form': form } %}
</div>
{% endif %}
<div class="flex flex-col space-y-4 pb-8">
{{ form_row(form.type) }}
{{ form_row(form.date) }}
<div>
<label class="block font-bold pb-2">
Nachweis hochladen (PDF)
</label>
{% include '_partials/_upload_collection_form.html.twig' with {
'endpoint_upload': path('_uploader_upload_certificate'),
'upload_session_params': form.vars.upload_session_params,
'accepted_files': 'application/pdf',
} %}
</div>
</div>
<button type="submit" class="btn">
Speichern
</button>
{{ form_rest(form) }}
{{ form_end(form) }}
@@ -0,0 +1,31 @@
{% extends 'htmx_modal.html.twig' %}
{% block title %}Lizenz hinzufügen{% endblock %}
{% block content %}
{{ form_start(form, { 'attr': { 'hx-post': app.request.uri, 'hx-target': '#htmx-modal', 'hx-swap': 'outerHTML' } }) }}
{% if not form.vars.valid %}
<div class="border border-red-500 rounded-md p-4 text-red-500 mb-4">
{% include '_partials/_form_errors.html.twig' with { 'form': form } %}
</div>
{% endif %}
<div class="flex flex-col space-y-4 pb-8">
{{ form_row(form.type) }}
{{ form_row(form.date) }}
<div>
<label class="block font-bold pb-2">
Nachweis hochladen (PDF)
</label>
{% include '_partials/_upload_collection_form.html.twig' with {
'endpoint_upload': path('_uploader_upload_certificate'),
'upload_session_params': form.vars.upload_session_params,
'accepted_files': 'application/pdf',
} %}
</div>
</div>
<button type="submit" class="btn">
Speichern
</button>
{{ form_rest(form) }}
{{ form_end(form) }}
{% endblock %}
@@ -0,0 +1,7 @@
{% extends 'htmx_confirmation_modal.html.twig' %}
{% block content %}
<div>
Möchtest du die Lizenz <em>{{ license.type|license_label }}</em> wirklich löschen?
</div>
{% endblock %}
+7 -11
View File
@@ -42,12 +42,9 @@
<button type="button"
class="text-red-500"
title="Lizenz löschen"
{{ stimulus_controller('modal-button', [], [], {'confirmation-modal': '#confirmation-modal'}) }}
{{ stimulus_action('modal-button', 'confirmation', null, {
'title': 'Bist du sicher?',
'content': 'Möchtest du die Lizenz wirklich löschen?',
'target-url': path('app_teamer_profile_license_delete', { 'uuid': license.uuid })
}) }}>
hx-get="{{ path('app_teamer_profile_license_delete', { 'uuid': license.uuid }) }}"
hx-target="body"
hx-swap="beforeend">
{{ icon('delete') }}
</button>
{% endif %}
@@ -61,11 +58,10 @@
</ul>
<button type="button"
class="btn"
{{ stimulus_controller('modal-button', [], [], {'ajax-modal': '#ajax-modal'}) }}
{{ stimulus_action('modal-button', 'ajax', null, {
'title': 'Lizenz hinzufügen',
'url': path('app_teamer_profile_license_add')
}) }}>
title="Lizenz hinzufügen"
hx-get="{{ path('app_teamer_profile_license_add') }}"
hx-target="body"
hx-swap="beforeend">
Lizenz hinzufügen
</button>
</div>