From 141e310320f6fa219f8b1214c415b5d24755d8f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Mummert?= Date: Sun, 1 Mar 2026 12:54:36 +0100 Subject: [PATCH] Add TipTap editor and switch tags to event/organization edit --- .../templates/frontend/event_edit.html.twig | 311 ++++++++++++++++- .../frontend/organization_edit.html.twig | 321 ++++++++++++++++- public/editor-fallback.js | 112 ++++++ public/editor.js | 330 ++++++++++++++++++ .../Frontend/EventEditController.php | 5 +- src/Form/EventType.php | 16 +- src/Form/OrganizationType.php | 13 +- 7 files changed, 1062 insertions(+), 46 deletions(-) create mode 100644 public/editor-fallback.js create mode 100644 public/editor.js diff --git a/contao/templates/frontend/event_edit.html.twig b/contao/templates/frontend/event_edit.html.twig index ea5e1e4..6a34c8b 100644 --- a/contao/templates/frontend/event_edit.html.twig +++ b/contao/templates/frontend/event_edit.html.twig @@ -11,6 +11,170 @@ - + + {{ form_start(form, { attr: { 'aria-live': 'polite' } }) }} - {{ form_widget(form) }} + {{ form_row(form.title) }} + {{ form_row(form.street) }} + {{ form_row(form.street2) }} + {{ form_row(form.postal) }} + {{ form_row(form.city) }} + {{ form_row(form.phone) }} + {{ form_row(form.email) }} + {{ form_row(form.website) }} + +
+ {{ form_label(form.description, null, { label_attr: { id: form.description.vars.id ~ '-label' } }) }} + + + +
+ Tastaturkürzel: +
    +
  • – Fett
  • +
  • – Kursiv
  • +
  • – Unterstrichen
  • +
  • – Rückgängig
  • +
  • – Wiederholen
  • +
  • Pfeiltasten links/rechts in der Toolbar – zwischen Buttons wechseln
  • +
+
+ +
+
+ {{ form_widget(form.description, { attr: { class: 'js-organization-description-source', rows: 8, 'aria-hidden': 'true', tabindex: '-1' } }) }} +
{{ form_errors(form.description) }}
+
+ +
+ {{ form.tags.vars.label }} +

Mehrfachauswahl möglich. Mit Leertaste ein- und ausschalten.

+
+ {% for tagField in form.tags %} + {% set tagLabelId = tagField.vars.id ~ '-label' %} +
+ {{ form_widget(tagField, { attr: { 'aria-describedby': tagField.vars.id ~ '-state', 'aria-labelledby': tagLabelId } }) }} + {{ form_label(tagField, null, { label_attr: { id: tagLabelId } }) }} + + {{ tagField.vars.checked ? 'Ein' : 'Aus' }} + +
+ {% endfor %} +
+
{{ form_errors(form.tags) }}
+
+ + {{ form_row(form.logoUpload) }} +
@@ -70,20 +356,23 @@