Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5f652530ed | |||
| 11b927b91f | |||
| e1a426bde4 | |||
| 8a422aa4ee | |||
| f014595bc5 | |||
| 6186a0d8bd | |||
| b28c19cb46 | |||
| 9b2b87d6ba | |||
| dbce287834 | |||
| 78c44d8de6 | |||
| d0916e7b39 | |||
| a55df0be90 | |||
| fc0d1fa1cc |
@@ -10,7 +10,7 @@ Contao 5 Bundle für Organisations-, Veranstaltungsort- und Event-Verwaltung ink
|
|||||||
## Installation (lokal via Composer)
|
## Installation (lokal via Composer)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
composer require mummert-media/eventmanager-bundle
|
composer require mummert/eventmanager-bundle
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installation im Contao Manager (VCS)
|
## Installation im Contao Manager (VCS)
|
||||||
@@ -18,7 +18,7 @@ composer require mummert-media/eventmanager-bundle
|
|||||||
1. **Contao Manager** → **Composer** → **Repositories** → **Repository hinzufügen**
|
1. **Contao Manager** → **Composer** → **Repositories** → **Repository hinzufügen**
|
||||||
2. Typ: `vcs`
|
2. Typ: `vcs`
|
||||||
3. URL: `https://github.com/<owner>/eventmanager-bundle`
|
3. URL: `https://github.com/<owner>/eventmanager-bundle`
|
||||||
4. Paket hinzufügen: `mummert-media/eventmanager-bundle`
|
4. Paket hinzufügen: `mummert/eventmanager-bundle`
|
||||||
5. Bei Bedarf Version `dev-main` oder ein Tag (z. B. `1.0.0`) wählen
|
5. Bei Bedarf Version `dev-main` oder ein Tag (z. B. `1.0.0`) wählen
|
||||||
6. Änderungen anwenden
|
6. Änderungen anwenden
|
||||||
|
|
||||||
|
|||||||
+4
-3
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "mummert-media/eventmanager-bundle",
|
"name": "mummert/eventmanager-bundle",
|
||||||
"description": "Internal Contao backend bundle for organizations, locations and event/member assignments.",
|
"description": "Internal Contao backend bundle for organizations, locations and event/member assignments.",
|
||||||
"type": "contao-bundle",
|
"type": "contao-bundle",
|
||||||
"license": "proprietary",
|
"license": "proprietary",
|
||||||
@@ -11,16 +11,17 @@
|
|||||||
"require": {
|
"require": {
|
||||||
"php": "^8.3",
|
"php": "^8.3",
|
||||||
"contao/core-bundle": "^5.7",
|
"contao/core-bundle": "^5.7",
|
||||||
|
"contao/calendar-bundle": "^5.7",
|
||||||
"contao/manager-plugin": "^2.0",
|
"contao/manager-plugin": "^2.0",
|
||||||
"numero2/contao-tags": "^0.5"
|
"numero2/contao-tags": "^0.5"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"MummertMedia\\EventManagerBundle\\": "src/"
|
"Mummert\\EventManagerBundle\\": "src/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
"contao-manager-plugin": "MummertMedia\\EventManagerBundle\\Contao\\Manager\\Plugin"
|
"contao-manager-plugin": "Mummert\\EventManagerBundle\\Contao\\Manager\\Plugin"
|
||||||
},
|
},
|
||||||
"prefer-stable": true,
|
"prefer-stable": true,
|
||||||
"config": {
|
"config": {
|
||||||
|
|||||||
@@ -3,16 +3,16 @@ services:
|
|||||||
autowire: true
|
autowire: true
|
||||||
autoconfigure: true
|
autoconfigure: true
|
||||||
|
|
||||||
MummertMedia\EventManagerBundle\:
|
Mummert\EventManagerBundle\:
|
||||||
resource: ../src/
|
resource: ../src/
|
||||||
exclude:
|
exclude:
|
||||||
- ../src/DependencyInjection/
|
- ../src/DependencyInjection/
|
||||||
- ../src/Contao/Manager/
|
- ../src/Contao/Manager/
|
||||||
- ../src/MummertMediaEventManagerBundle.php
|
- ../src/EventManagerBundle.php
|
||||||
|
|
||||||
MummertMedia\EventManagerBundle\EventListener\DataContainer\SetDateAddedCallback:
|
Mummert\EventManagerBundle\EventListener\DataContainer\SetDateAddedCallback:
|
||||||
tags:
|
tags:
|
||||||
- { name: contao.callback, table: tl_organization, target: config.onbeforesubmit, method: onBeforeSubmit }
|
- { name: contao.callback, table: tl_organization, target: config.onbeforesubmit, method: onBeforeSubmit }
|
||||||
- { name: contao.callback, table: tl_location, target: config.onbeforesubmit, method: onBeforeSubmit }
|
- { name: contao.callback, table: tl_location, target: config.onbeforesubmit, method: onBeforeSubmit }
|
||||||
|
|
||||||
MummertMedia\EventManagerBundle\Service\MapModuleDataProvider: ~
|
Mummert\EventManagerBundle\Service\MapModuleDataProvider: ~
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
$GLOBALS['TL_MODELS']['tl_organization'] = MummertMedia\EventManagerBundle\Model\OrganizationModel::class;
|
$GLOBALS['TL_MODELS']['tl_organization'] = Mummert\EventManagerBundle\Model\OrganizationModel::class;
|
||||||
$GLOBALS['TL_MODELS']['tl_location'] = MummertMedia\EventManagerBundle\Model\LocationModel::class;
|
$GLOBALS['TL_MODELS']['tl_location'] = Mummert\EventManagerBundle\Model\LocationModel::class;
|
||||||
|
|
||||||
$GLOBALS['BE_MOD']['content']['eventmanager_organisationen'] = [
|
$GLOBALS['BE_MOD']['content']['eventmanager_organisationen'] = [
|
||||||
'tables' => ['tl_organization'],
|
'tables' => ['tl_organization'],
|
||||||
|
|||||||
@@ -17,8 +17,8 @@
|
|||||||
<script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.min.js"></script>
|
<script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.min.js"></script>
|
||||||
<script src="https://unpkg.com/filepond-plugin-image-resize/dist/filepond-plugin-image-resize.min.js"></script>
|
<script src="https://unpkg.com/filepond-plugin-image-resize/dist/filepond-plugin-image-resize.min.js"></script>
|
||||||
<script src="https://unpkg.com/filepond-plugin-image-transform/dist/filepond-plugin-image-transform.min.js"></script>
|
<script src="https://unpkg.com/filepond-plugin-image-transform/dist/filepond-plugin-image-transform.min.js"></script>
|
||||||
<script type="module" src="{{ asset('bundles/mummertmediaeventmanager/editor.js') }}?v=1"></script>
|
<script type="module" src="{{ asset('bundles/eventmanager/editor.js') }}?v=1"></script>
|
||||||
<script src="{{ asset('bundles/mummertmediaeventmanager/editor-fallback.js') }}?v=1"></script>
|
<script src="{{ asset('bundles/eventmanager/editor-fallback.js') }}?v=1"></script>
|
||||||
|
|
||||||
{{ form_start(form, { action: app.request.uri, attr: { 'aria-live': 'polite' } }) }}
|
{{ form_start(form, { action: app.request.uri, attr: { 'aria-live': 'polite' } }) }}
|
||||||
<input type="hidden" name="REQUEST_TOKEN" value="{{ requestToken }}">
|
<input type="hidden" name="REQUEST_TOKEN" value="{{ requestToken }}">
|
||||||
@@ -27,7 +27,13 @@
|
|||||||
{{ form_row(form.title) }}
|
{{ form_row(form.title) }}
|
||||||
{{ form_row(form.startDate) }}
|
{{ form_row(form.startDate) }}
|
||||||
{{ form_row(form.endDate) }}
|
{{ form_row(form.endDate) }}
|
||||||
{{ form_row(form.addTime) }}
|
<div class="widget fullwidth">
|
||||||
|
<div class="ns-tag-switch-item">
|
||||||
|
{{ form_widget(form.addTime, { attr: { class: (form.addTime.vars.attr.class|default('') ~ ' ns-tag-switch-input')|trim, role: 'switch' } }) }}
|
||||||
|
{{ form_label(form.addTime) }}
|
||||||
|
</div>
|
||||||
|
{{ form_errors(form.addTime) }}
|
||||||
|
</div>
|
||||||
<div id="event-time-wrap" hidden aria-hidden="true">
|
<div id="event-time-wrap" hidden aria-hidden="true">
|
||||||
{{ form_row(form.startTime) }}
|
{{ form_row(form.startTime) }}
|
||||||
{{ form_row(form.endTime) }}
|
{{ form_row(form.endTime) }}
|
||||||
@@ -72,51 +78,51 @@
|
|||||||
aria-controls="{{ form.teaser.vars.id }}-editor"
|
aria-controls="{{ form.teaser.vars.id }}-editor"
|
||||||
>
|
>
|
||||||
<button type="button" data-action="paragraph" title="Absatz">
|
<button type="button" data-action="paragraph" title="Absatz">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/paragraph.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/paragraph.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Absatz</span>
|
<span class="visually-hidden">Absatz</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="h2" title="Überschrift H2">
|
<button type="button" data-action="h2" title="Überschrift H2">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/h2.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/h2.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">H2</span>
|
<span class="visually-hidden">H2</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="h3" title="Überschrift H3">
|
<button type="button" data-action="h3" title="Überschrift H3">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/h3.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/h3.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">H3</span>
|
<span class="visually-hidden">H3</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="bold" title="Fett (Strg/Cmd+B)" aria-keyshortcuts="Control+B Meta+B">
|
<button type="button" data-action="bold" title="Fett (Strg/Cmd+B)" aria-keyshortcuts="Control+B Meta+B">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/bold.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/bold.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Fett</span>
|
<span class="visually-hidden">Fett</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="italic" title="Kursiv (Strg/Cmd+I)" aria-keyshortcuts="Control+I Meta+I">
|
<button type="button" data-action="italic" title="Kursiv (Strg/Cmd+I)" aria-keyshortcuts="Control+I Meta+I">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/italic.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/italic.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Kursiv</span>
|
<span class="visually-hidden">Kursiv</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="underline" title="Unterstrichen (Strg/Cmd+U)" aria-keyshortcuts="Control+U Meta+U">
|
<button type="button" data-action="underline" title="Unterstrichen (Strg/Cmd+U)" aria-keyshortcuts="Control+U Meta+U">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/underline.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/underline.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Unterstrichen</span>
|
<span class="visually-hidden">Unterstrichen</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="bulletList" title="Liste">
|
<button type="button" data-action="bulletList" title="Liste">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/ul.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/ul.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Liste</span>
|
<span class="visually-hidden">Liste</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="orderedList" title="Nummerierte Liste">
|
<button type="button" data-action="orderedList" title="Nummerierte Liste">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/ol.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/ol.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Nummerierte Liste</span>
|
<span class="visually-hidden">Nummerierte Liste</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="indent" title="Einzug vergrößern">
|
<button type="button" data-action="indent" title="Einzug vergrößern">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/indent.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/indent.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Einzug vergrößern</span>
|
<span class="visually-hidden">Einzug vergrößern</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="outdent" title="Einzug verkleinern">
|
<button type="button" data-action="outdent" title="Einzug verkleinern">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/outdent.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/outdent.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Einzug verkleinern</span>
|
<span class="visually-hidden">Einzug verkleinern</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="undo" title="Rückgängig (Strg/Cmd+Z)" aria-keyshortcuts="Control+Z Meta+Z">
|
<button type="button" data-action="undo" title="Rückgängig (Strg/Cmd+Z)" aria-keyshortcuts="Control+Z Meta+Z">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/undo.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/undo.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Rückgängig</span>
|
<span class="visually-hidden">Rückgängig</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="redo" title="Wiederholen (Strg/Cmd+Shift+Z)" aria-keyshortcuts="Control+Shift+Z Meta+Shift+Z">
|
<button type="button" data-action="redo" title="Wiederholen (Strg/Cmd+Shift+Z)" aria-keyshortcuts="Control+Shift+Z Meta+Shift+Z">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/redo.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/redo.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Wiederholen</span>
|
<span class="visually-hidden">Wiederholen</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -150,7 +156,13 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ form_row(form.url) }}
|
{{ form_row(form.url) }}
|
||||||
{{ form_row(form.addImage) }}
|
<div class="widget fullwidth">
|
||||||
|
<div class="ns-tag-switch-item">
|
||||||
|
{{ form_widget(form.addImage, { attr: { class: (form.addImage.vars.attr.class|default('') ~ ' ns-tag-switch-input')|trim, role: 'switch' } }) }}
|
||||||
|
{{ form_label(form.addImage) }}
|
||||||
|
</div>
|
||||||
|
{{ form_errors(form.addImage) }}
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="event-image-upload-wrap" hidden aria-hidden="true">
|
<div id="event-image-upload-wrap" hidden aria-hidden="true">
|
||||||
{{ form_row(form.eventUpload) }}
|
{{ form_row(form.eventUpload) }}
|
||||||
@@ -158,10 +170,34 @@
|
|||||||
<p class="help-text">Die Angabe des Urhebers ist notwendig. Ihnen muss eine Genehmigung zur Verwendung des Bildes vorliegen.</p>
|
<p class="help-text">Die Angabe des Urhebers ist notwendig. Ihnen muss eine Genehmigung zur Verwendung des Bildes vorliegen.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ form_row(form.termsAccepted) }}
|
<div class="widget fullwidth">
|
||||||
{{ form_row(form.isSoldOut) }}
|
<div class="ns-tag-switch-item">
|
||||||
{{ form_row(form.isCanceled) }}
|
{{ form_widget(form.termsAccepted, { attr: { class: (form.termsAccepted.vars.attr.class|default('') ~ ' ns-tag-switch-input')|trim, role: 'switch' } }) }}
|
||||||
{{ form_row(form.published) }}
|
{{ form_label(form.termsAccepted) }}
|
||||||
|
</div>
|
||||||
|
{{ form_errors(form.termsAccepted) }}
|
||||||
|
</div>
|
||||||
|
<div class="widget fullwidth">
|
||||||
|
<div class="ns-tag-switch-item">
|
||||||
|
{{ form_widget(form.isSoldOut, { attr: { class: (form.isSoldOut.vars.attr.class|default('') ~ ' ns-tag-switch-input')|trim, role: 'switch' } }) }}
|
||||||
|
{{ form_label(form.isSoldOut) }}
|
||||||
|
</div>
|
||||||
|
{{ form_errors(form.isSoldOut) }}
|
||||||
|
</div>
|
||||||
|
<div class="widget fullwidth">
|
||||||
|
<div class="ns-tag-switch-item">
|
||||||
|
{{ form_widget(form.isCanceled, { attr: { class: (form.isCanceled.vars.attr.class|default('') ~ ' ns-tag-switch-input')|trim, role: 'switch' } }) }}
|
||||||
|
{{ form_label(form.isCanceled) }}
|
||||||
|
</div>
|
||||||
|
{{ form_errors(form.isCanceled) }}
|
||||||
|
</div>
|
||||||
|
<div class="widget fullwidth">
|
||||||
|
<div class="ns-tag-switch-item">
|
||||||
|
{{ form_widget(form.published, { attr: { class: (form.published.vars.attr.class|default('') ~ ' ns-tag-switch-input')|trim, role: 'switch' } }) }}
|
||||||
|
{{ form_label(form.published) }}
|
||||||
|
</div>
|
||||||
|
{{ form_errors(form.published) }}
|
||||||
|
</div>
|
||||||
<div class="actions" aria-label="Formularaktionen">
|
<div class="actions" aria-label="Formularaktionen">
|
||||||
<button type="submit" id="save-btn" disabled>Speichern</button>
|
<button type="submit" id="save-btn" disabled>Speichern</button>
|
||||||
<button type="submit" id="save-back-btn" name="save_back" value="1" disabled>Speichern und Zurück</button>
|
<button type="submit" id="save-back-btn" name="save_back" value="1" disabled>Speichern und Zurück</button>
|
||||||
|
|||||||
@@ -37,6 +37,69 @@
|
|||||||
<p id="eventfilter-status" class="visually-hidden" aria-live="polite"></p>
|
<p id="eventfilter-status" class="visually-hidden" aria-live="polite"></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.event-filter-target-list {
|
||||||
|
view-transition-name: event-filter-list;
|
||||||
|
contain: layout paint;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
scrollbar-gutter: stable both-edges;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes event-filter-vt-fade-in {
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes event-filter-vt-fade-out {
|
||||||
|
from {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-reduced-motion: no-preference) {
|
||||||
|
::view-transition-group(root),
|
||||||
|
::view-transition-old(root),
|
||||||
|
::view-transition-new(root) {
|
||||||
|
animation: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
::view-transition-group(event-filter-list) {
|
||||||
|
animation-duration: 240ms;
|
||||||
|
animation-timing-function: ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
::view-transition-old(event-filter-list),
|
||||||
|
::view-transition-new(event-filter-list) {
|
||||||
|
animation-duration: 240ms;
|
||||||
|
animation-timing-function: ease;
|
||||||
|
mix-blend-mode: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
::view-transition-old(event-filter-list) {
|
||||||
|
animation-name: event-filter-vt-fade-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
::view-transition-new(event-filter-list) {
|
||||||
|
animation-name: event-filter-vt-fade-in;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
<script type="module">
|
<script type="module">
|
||||||
const filters = document.getElementById('eventfilters');
|
const filters = document.getElementById('eventfilters');
|
||||||
|
|
||||||
@@ -46,12 +109,59 @@
|
|||||||
|
|
||||||
const targetEventListId = filters.dataset.eventlistId || 'eventlist';
|
const targetEventListId = filters.dataset.eventlistId || 'eventlist';
|
||||||
const list = document.getElementById(targetEventListId);
|
const list = document.getElementById(targetEventListId);
|
||||||
|
const initialStoredEventListView = (() => {
|
||||||
|
try {
|
||||||
|
return (window.localStorage.getItem('eventlist_view') || '').trim();
|
||||||
|
} catch (error) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
|
const applyDefaultGrid = (targetList) => {
|
||||||
|
if (!targetList) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
targetList.classList.add('event-filter-target-list');
|
||||||
|
targetList.classList.add('grid');
|
||||||
|
};
|
||||||
|
|
||||||
if (!list) {
|
if (!list) {
|
||||||
console.warn(`[event_filter] Target event list #${targetEventListId} was not found.`);
|
console.warn(`[event_filter] Target event list #${targetEventListId} was not found.`);
|
||||||
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
|
applyDefaultGrid(document.getElementById(targetEventListId));
|
||||||
|
}, { once: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
list?.classList.add('event-filter-target-list');
|
applyDefaultGrid(list);
|
||||||
|
|
||||||
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
|
window.setTimeout(() => {
|
||||||
|
if ('' !== initialStoredEventListView) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const targetList = document.getElementById(targetEventListId);
|
||||||
|
|
||||||
|
if (!targetList) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
targetList.classList.remove('list');
|
||||||
|
applyDefaultGrid(targetList);
|
||||||
|
|
||||||
|
const toggleToList = document.getElementById('toggletolist');
|
||||||
|
const toggleToGrid = document.getElementById('toggletogrid');
|
||||||
|
|
||||||
|
toggleToList?.classList.remove('disabled');
|
||||||
|
toggleToGrid?.classList.add('disabled');
|
||||||
|
|
||||||
|
try {
|
||||||
|
window.localStorage.setItem('eventlist_view', 'grid');
|
||||||
|
} catch (error) {
|
||||||
|
}
|
||||||
|
}, 0);
|
||||||
|
}, { once: true });
|
||||||
|
|
||||||
const events = list ? Array.from(list.querySelectorAll(':scope > .event')) : [];
|
const events = list ? Array.from(list.querySelectorAll(':scope > .event')) : [];
|
||||||
const tagSelect = filters.querySelector('#tag-filter');
|
const tagSelect = filters.querySelector('#tag-filter');
|
||||||
@@ -69,9 +179,62 @@
|
|||||||
|
|
||||||
const animationMs = 220;
|
const animationMs = 220;
|
||||||
let hideTimers = new WeakMap();
|
let hideTimers = new WeakMap();
|
||||||
|
const supportsViewTransitions = typeof document.startViewTransition === 'function';
|
||||||
|
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||||||
|
let activeViewTransition = null;
|
||||||
|
let isViewTransitionMutation = false;
|
||||||
|
let hasAppliedInitialFilter = false;
|
||||||
let currentFilter = { type: 'all', value: '' };
|
let currentFilter = { type: 'all', value: '' };
|
||||||
let suppressedChangeEvents = 0;
|
let suppressedChangeEvents = 0;
|
||||||
|
|
||||||
|
const runWithLayoutTransition = (mutation) => {
|
||||||
|
if (!supportsViewTransitions || prefersReducedMotion) {
|
||||||
|
mutation();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (activeViewTransition) {
|
||||||
|
mutation();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const transition = document.startViewTransition(() => {
|
||||||
|
isViewTransitionMutation = true;
|
||||||
|
|
||||||
|
try {
|
||||||
|
mutation();
|
||||||
|
} finally {
|
||||||
|
isViewTransitionMutation = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
activeViewTransition = transition;
|
||||||
|
|
||||||
|
transition.ready.catch(() => {
|
||||||
|
// Can reject when the transition is skipped.
|
||||||
|
});
|
||||||
|
|
||||||
|
transition.updateCallbackDone.catch(() => {
|
||||||
|
// Keep skipped/aborted update callbacks from surfacing as uncaught.
|
||||||
|
});
|
||||||
|
|
||||||
|
transition.finished
|
||||||
|
.catch(() => {
|
||||||
|
// Browsers can skip overlapping transitions; ignore these rejections.
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
if (activeViewTransition === transition) {
|
||||||
|
activeViewTransition = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
mutation();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const shouldMutateVisibilityImmediately = () => supportsViewTransitions && !prefersReducedMotion;
|
||||||
|
|
||||||
const hasOptionValue = (selectElement, value) => {
|
const hasOptionValue = (selectElement, value) => {
|
||||||
if (!selectElement) {
|
if (!selectElement) {
|
||||||
return false;
|
return false;
|
||||||
@@ -204,21 +367,38 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const showEvent = (eventItem) => {
|
const showEvent = (eventItem, { immediateVisibility = false } = {}) => {
|
||||||
clearHideTimer(eventItem);
|
clearHideTimer(eventItem);
|
||||||
|
|
||||||
|
if (immediateVisibility) {
|
||||||
eventItem.hidden = false;
|
eventItem.hidden = false;
|
||||||
|
eventItem.classList.remove('is-filtered-out');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eventItem.hidden) {
|
||||||
|
eventItem.hidden = false;
|
||||||
|
}
|
||||||
|
|
||||||
requestAnimationFrame(() => {
|
requestAnimationFrame(() => {
|
||||||
eventItem.classList.remove('is-filtered-out');
|
eventItem.classList.remove('is-filtered-out');
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const hideEvent = (eventItem) => {
|
const hideEvent = (eventItem, { immediateVisibility = false } = {}) => {
|
||||||
clearHideTimer(eventItem);
|
clearHideTimer(eventItem);
|
||||||
|
|
||||||
|
if (immediateVisibility) {
|
||||||
|
eventItem.classList.add('is-filtered-out');
|
||||||
|
eventItem.hidden = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
eventItem.classList.add('is-filtered-out');
|
eventItem.classList.add('is-filtered-out');
|
||||||
|
|
||||||
const timer = window.setTimeout(() => {
|
const timer = window.setTimeout(() => {
|
||||||
eventItem.hidden = true;
|
eventItem.hidden = true;
|
||||||
|
|
||||||
hideTimers.delete(eventItem);
|
hideTimers.delete(eventItem);
|
||||||
}, animationMs);
|
}, animationMs);
|
||||||
|
|
||||||
@@ -285,7 +465,7 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const visibleCount = events.filter((eventItem) => !eventItem.hidden).length;
|
const visibleCount = events.filter((eventItem) => matches(eventItem, filterState)).length;
|
||||||
let filterText = 'alle';
|
let filterText = 'alle';
|
||||||
|
|
||||||
if (filterState.type === 'tag' && tagSelect) {
|
if (filterState.type === 'tag' && tagSelect) {
|
||||||
@@ -310,13 +490,26 @@
|
|||||||
currentFilter = filterState;
|
currentFilter = filterState;
|
||||||
setActiveControl(filterState);
|
setActiveControl(filterState);
|
||||||
|
|
||||||
|
const immediateVisibility = shouldMutateVisibilityImmediately();
|
||||||
|
const shouldAnimateLayout = immediateVisibility && hasAppliedInitialFilter;
|
||||||
|
|
||||||
|
const mutateVisibility = () => {
|
||||||
events.forEach((eventItem) => {
|
events.forEach((eventItem) => {
|
||||||
if (matches(eventItem, filterState)) {
|
if (matches(eventItem, filterState)) {
|
||||||
showEvent(eventItem);
|
showEvent(eventItem, { immediateVisibility });
|
||||||
} else {
|
} else {
|
||||||
hideEvent(eventItem);
|
hideEvent(eventItem, { immediateVisibility });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
if (shouldAnimateLayout) {
|
||||||
|
runWithLayoutTransition(mutateVisibility);
|
||||||
|
} else {
|
||||||
|
mutateVisibility();
|
||||||
|
}
|
||||||
|
|
||||||
|
hasAppliedInitialFilter = true;
|
||||||
|
|
||||||
updateStatus(filterState);
|
updateStatus(filterState);
|
||||||
syncState(filterState);
|
syncState(filterState);
|
||||||
|
|||||||
@@ -85,4 +85,4 @@
|
|||||||
></div>
|
></div>
|
||||||
|
|
||||||
<script type="application/json" id="{{ mapDataElementId|e('html_attr') }}">{{ mapItemsJson|raw }}</script>
|
<script type="application/json" id="{{ mapDataElementId|e('html_attr') }}">{{ mapItemsJson|raw }}</script>
|
||||||
<script type="module" src="/bundles/mummertmediaeventmanager/assets/map-module.js?v=20260227b"></script>
|
<script type="module" src="/bundles/eventmanager/assets/map-module.js?v=20260227b"></script>
|
||||||
|
|||||||
@@ -56,7 +56,7 @@
|
|||||||
</form>
|
</form>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<script src="/bundles/mummertmediaeventmanager/assets/member-events-confirm.js?v=20260301a"></script>
|
<script src="/bundles/eventmanager/assets/member-events-confirm.js?v=20260301a"></script>
|
||||||
|
|
||||||
<h2>Vergangene Veranstaltungen</h2>
|
<h2>Vergangene Veranstaltungen</h2>
|
||||||
{% if pastEvents is empty %}
|
{% if pastEvents is empty %}
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
<script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.min.js"></script>
|
<script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.min.js"></script>
|
||||||
<script src="https://unpkg.com/filepond-plugin-image-resize/dist/filepond-plugin-image-resize.min.js"></script>
|
<script src="https://unpkg.com/filepond-plugin-image-resize/dist/filepond-plugin-image-resize.min.js"></script>
|
||||||
<script src="https://unpkg.com/filepond-plugin-image-transform/dist/filepond-plugin-image-transform.min.js"></script>
|
<script src="https://unpkg.com/filepond-plugin-image-transform/dist/filepond-plugin-image-transform.min.js"></script>
|
||||||
<script type="module" src="{{ asset('bundles/mummertmediaeventmanager/editor.js') }}?v=1"></script>
|
<script type="module" src="{{ asset('bundles/eventmanager/editor.js') }}?v=1"></script>
|
||||||
<script src="{{ asset('bundles/mummertmediaeventmanager/editor-fallback.js') }}?v=1"></script>
|
<script src="{{ asset('bundles/eventmanager/editor-fallback.js') }}?v=1"></script>
|
||||||
|
|
||||||
{{ form_start(form, { attr: { 'aria-live': 'polite' } }) }}
|
{{ form_start(form, { attr: { 'aria-live': 'polite' } }) }}
|
||||||
<input type="hidden" name="REQUEST_TOKEN" value="{{ requestToken }}">
|
<input type="hidden" name="REQUEST_TOKEN" value="{{ requestToken }}">
|
||||||
@@ -39,51 +39,51 @@
|
|||||||
aria-controls="{{ form.description.vars.id }}-editor"
|
aria-controls="{{ form.description.vars.id }}-editor"
|
||||||
>
|
>
|
||||||
<button type="button" data-action="paragraph" title="Absatz">
|
<button type="button" data-action="paragraph" title="Absatz">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/paragraph.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/paragraph.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Absatz</span>
|
<span class="visually-hidden">Absatz</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="h2" title="Überschrift H2">
|
<button type="button" data-action="h2" title="Überschrift H2">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/h2.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/h2.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">H2</span>
|
<span class="visually-hidden">H2</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="h3" title="Überschrift H3">
|
<button type="button" data-action="h3" title="Überschrift H3">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/h3.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/h3.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">H3</span>
|
<span class="visually-hidden">H3</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="bold" title="Fett (Strg/Cmd+B)" aria-keyshortcuts="Control+B Meta+B">
|
<button type="button" data-action="bold" title="Fett (Strg/Cmd+B)" aria-keyshortcuts="Control+B Meta+B">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/bold.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/bold.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Fett</span>
|
<span class="visually-hidden">Fett</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="italic" title="Kursiv (Strg/Cmd+I)" aria-keyshortcuts="Control+I Meta+I">
|
<button type="button" data-action="italic" title="Kursiv (Strg/Cmd+I)" aria-keyshortcuts="Control+I Meta+I">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/italic.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/italic.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Kursiv</span>
|
<span class="visually-hidden">Kursiv</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="underline" title="Unterstrichen (Strg/Cmd+U)" aria-keyshortcuts="Control+U Meta+U">
|
<button type="button" data-action="underline" title="Unterstrichen (Strg/Cmd+U)" aria-keyshortcuts="Control+U Meta+U">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/underline.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/underline.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Unterstrichen</span>
|
<span class="visually-hidden">Unterstrichen</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="bulletList" title="Liste">
|
<button type="button" data-action="bulletList" title="Liste">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/ul.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/ul.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Liste</span>
|
<span class="visually-hidden">Liste</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="orderedList" title="Nummerierte Liste">
|
<button type="button" data-action="orderedList" title="Nummerierte Liste">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/ol.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/ol.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Nummerierte Liste</span>
|
<span class="visually-hidden">Nummerierte Liste</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="indent" title="Einzug vergrößern">
|
<button type="button" data-action="indent" title="Einzug vergrößern">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/indent.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/indent.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Einzug vergrößern</span>
|
<span class="visually-hidden">Einzug vergrößern</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="outdent" title="Einzug verkleinern">
|
<button type="button" data-action="outdent" title="Einzug verkleinern">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/outdent.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/outdent.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Einzug verkleinern</span>
|
<span class="visually-hidden">Einzug verkleinern</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="undo" title="Rückgängig (Strg/Cmd+Z)" aria-keyshortcuts="Control+Z Meta+Z">
|
<button type="button" data-action="undo" title="Rückgängig (Strg/Cmd+Z)" aria-keyshortcuts="Control+Z Meta+Z">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/undo.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/undo.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Rückgängig</span>
|
<span class="visually-hidden">Rückgängig</span>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="redo" title="Wiederholen (Strg/Cmd+Shift+Z)" aria-keyshortcuts="Control+Shift+Z Meta+Shift+Z">
|
<button type="button" data-action="redo" title="Wiederholen (Strg/Cmd+Shift+Z)" aria-keyshortcuts="Control+Shift+Z Meta+Shift+Z">
|
||||||
<img src="{{ asset('bundles/mummertmediaeventmanager/icons/redo.svg') }}" alt="" aria-hidden="true">
|
<img src="{{ asset('bundles/eventmanager/icons/redo.svg') }}" alt="" aria-hidden="true">
|
||||||
<span class="visually-hidden">Wiederholen</span>
|
<span class="visually-hidden">Wiederholen</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,21 +2,21 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Contao\Manager;
|
namespace Mummert\EventManagerBundle\Contao\Manager;
|
||||||
|
|
||||||
use Contao\CalendarBundle\ContaoCalendarBundle;
|
use Contao\CalendarBundle\ContaoCalendarBundle;
|
||||||
use Contao\CoreBundle\ContaoCoreBundle;
|
use Contao\CoreBundle\ContaoCoreBundle;
|
||||||
use Contao\ManagerPlugin\Bundle\BundlePluginInterface;
|
use Contao\ManagerPlugin\Bundle\BundlePluginInterface;
|
||||||
use Contao\ManagerPlugin\Bundle\Config\BundleConfig;
|
use Contao\ManagerPlugin\Bundle\Config\BundleConfig;
|
||||||
use Contao\ManagerPlugin\Bundle\Parser\ParserInterface;
|
use Contao\ManagerPlugin\Bundle\Parser\ParserInterface;
|
||||||
use MummertMedia\EventManagerBundle\MummertMediaEventManagerBundle;
|
use Mummert\EventManagerBundle\EventManagerBundle;
|
||||||
|
|
||||||
class Plugin implements BundlePluginInterface
|
class Plugin implements BundlePluginInterface
|
||||||
{
|
{
|
||||||
public function getBundles(ParserInterface $parser): iterable
|
public function getBundles(ParserInterface $parser): iterable
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
BundleConfig::create(MummertMediaEventManagerBundle::class)
|
BundleConfig::create(EventManagerBundle::class)
|
||||||
->setLoadAfter([ContaoCoreBundle::class, ContaoCalendarBundle::class]),
|
->setLoadAfter([ContaoCoreBundle::class, ContaoCalendarBundle::class]),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Controller\Frontend;
|
namespace Mummert\EventManagerBundle\Controller\Frontend;
|
||||||
|
|
||||||
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
||||||
use Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
|
use Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
|
||||||
@@ -13,8 +13,8 @@ use Contao\FrontendUser;
|
|||||||
use Contao\ModuleModel;
|
use Contao\ModuleModel;
|
||||||
use Contao\PageModel;
|
use Contao\PageModel;
|
||||||
use Contao\StringUtil;
|
use Contao\StringUtil;
|
||||||
use MummertMedia\EventManagerBundle\Form\EventType;
|
use Mummert\EventManagerBundle\Form\EventType;
|
||||||
use MummertMedia\EventManagerBundle\Service\EventRepository;
|
use Mummert\EventManagerBundle\Service\EventRepository;
|
||||||
use Symfony\Component\Form\FormError;
|
use Symfony\Component\Form\FormError;
|
||||||
use Symfony\Component\HttpFoundation\File\UploadedFile;
|
use Symfony\Component\HttpFoundation\File\UploadedFile;
|
||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Controller\Frontend;
|
namespace Mummert\EventManagerBundle\Controller\Frontend;
|
||||||
|
|
||||||
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
||||||
use Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
|
use Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Controller\Frontend;
|
namespace Mummert\EventManagerBundle\Controller\Frontend;
|
||||||
|
|
||||||
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
||||||
use Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
|
use Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
|
||||||
@@ -10,7 +10,7 @@ use Contao\CoreBundle\Twig\FragmentTemplate;
|
|||||||
use Contao\ModuleModel;
|
use Contao\ModuleModel;
|
||||||
use Contao\PageModel;
|
use Contao\PageModel;
|
||||||
use Contao\StringUtil;
|
use Contao\StringUtil;
|
||||||
use MummertMedia\EventManagerBundle\Service\MapModuleDataProvider;
|
use Mummert\EventManagerBundle\Service\MapModuleDataProvider;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Controller\Frontend;
|
namespace Mummert\EventManagerBundle\Controller\Frontend;
|
||||||
|
|
||||||
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
||||||
use Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
|
use Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
|
||||||
@@ -11,7 +11,7 @@ use Contao\FrontendUser;
|
|||||||
use Contao\ModuleModel;
|
use Contao\ModuleModel;
|
||||||
use Contao\PageModel;
|
use Contao\PageModel;
|
||||||
use Contao\StringUtil;
|
use Contao\StringUtil;
|
||||||
use MummertMedia\EventManagerBundle\Service\EventRepository;
|
use Mummert\EventManagerBundle\Service\EventRepository;
|
||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Controller\Frontend;
|
namespace Mummert\EventManagerBundle\Controller\Frontend;
|
||||||
|
|
||||||
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
||||||
use Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
|
use Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
|
||||||
@@ -11,7 +11,7 @@ use Contao\FrontendUser;
|
|||||||
use Contao\ModuleModel;
|
use Contao\ModuleModel;
|
||||||
use Contao\PageModel;
|
use Contao\PageModel;
|
||||||
use Contao\StringUtil;
|
use Contao\StringUtil;
|
||||||
use MummertMedia\EventManagerBundle\Service\OrganizationRepository;
|
use Mummert\EventManagerBundle\Service\OrganizationRepository;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Controller\Frontend;
|
namespace Mummert\EventManagerBundle\Controller\Frontend;
|
||||||
|
|
||||||
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
||||||
use Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
|
use Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
|
||||||
@@ -13,8 +13,8 @@ use Contao\FrontendUser;
|
|||||||
use Contao\ModuleModel;
|
use Contao\ModuleModel;
|
||||||
use Contao\PageModel;
|
use Contao\PageModel;
|
||||||
use Contao\StringUtil;
|
use Contao\StringUtil;
|
||||||
use MummertMedia\EventManagerBundle\Form\OrganizationType;
|
use Mummert\EventManagerBundle\Form\OrganizationType;
|
||||||
use MummertMedia\EventManagerBundle\Service\OrganizationRepository;
|
use Mummert\EventManagerBundle\Service\OrganizationRepository;
|
||||||
use Symfony\Component\HttpFoundation\File\UploadedFile;
|
use Symfony\Component\HttpFoundation\File\UploadedFile;
|
||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|||||||
+2
-2
@@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\DependencyInjection;
|
namespace Mummert\EventManagerBundle\DependencyInjection;
|
||||||
|
|
||||||
use Symfony\Component\Config\FileLocator;
|
use Symfony\Component\Config\FileLocator;
|
||||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
use Symfony\Component\DependencyInjection\Extension\Extension;
|
use Symfony\Component\DependencyInjection\Extension\Extension;
|
||||||
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
|
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
|
||||||
|
|
||||||
class MummertMediaEventManagerExtension extends Extension
|
class EventManagerExtension extends Extension
|
||||||
{
|
{
|
||||||
public function load(array $configs, ContainerBuilder $container): void
|
public function load(array $configs, ContainerBuilder $container): void
|
||||||
{
|
{
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\EventListener\DataContainer;
|
namespace Mummert\EventManagerBundle\EventListener\DataContainer;
|
||||||
|
|
||||||
use Contao\DataContainer;
|
use Contao\DataContainer;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\EventListener;
|
namespace Mummert\EventManagerBundle\EventListener;
|
||||||
|
|
||||||
use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
|
use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
|
||||||
use Contao\StringUtil;
|
use Contao\StringUtil;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\EventListener;
|
namespace Mummert\EventManagerBundle\EventListener;
|
||||||
|
|
||||||
use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
|
use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
|
||||||
use Contao\Module;
|
use Contao\Module;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\EventListener;
|
namespace Mummert\EventManagerBundle\EventListener;
|
||||||
|
|
||||||
use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
|
use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
|
||||||
use Contao\StringUtil;
|
use Contao\StringUtil;
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle;
|
namespace Mummert\EventManagerBundle;
|
||||||
|
|
||||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
|
use Symfony\Component\HttpKernel\Bundle\Bundle;
|
||||||
|
|
||||||
class MummertMediaEventManagerBundle extends Bundle
|
class EventManagerBundle extends Bundle
|
||||||
{
|
{
|
||||||
public function getPath(): string
|
public function getPath(): string
|
||||||
{
|
{
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Form;
|
namespace Mummert\EventManagerBundle\Form;
|
||||||
|
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Form;
|
namespace Mummert\EventManagerBundle\Form;
|
||||||
|
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Model;
|
namespace Mummert\EventManagerBundle\Model;
|
||||||
|
|
||||||
use Contao\Model;
|
use Contao\Model;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Model;
|
namespace Mummert\EventManagerBundle\Model;
|
||||||
|
|
||||||
use Contao\Model;
|
use Contao\Model;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Service;
|
namespace Mummert\EventManagerBundle\Service;
|
||||||
|
|
||||||
use Doctrine\DBAL\Connection;
|
use Doctrine\DBAL\Connection;
|
||||||
use Doctrine\DBAL\ParameterType;
|
use Doctrine\DBAL\ParameterType;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Service;
|
namespace Mummert\EventManagerBundle\Service;
|
||||||
|
|
||||||
use Contao\CalendarEventsModel;
|
use Contao\CalendarEventsModel;
|
||||||
use Contao\CoreBundle\Framework\ContaoFramework;
|
use Contao\CoreBundle\Framework\ContaoFramework;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace MummertMedia\EventManagerBundle\Service;
|
namespace Mummert\EventManagerBundle\Service;
|
||||||
|
|
||||||
use Doctrine\DBAL\Connection;
|
use Doctrine\DBAL\Connection;
|
||||||
use Doctrine\DBAL\ParameterType;
|
use Doctrine\DBAL\ParameterType;
|
||||||
|
|||||||
Reference in New Issue
Block a user