Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dbce287834 | |||
| 78c44d8de6 | |||
| d0916e7b39 | |||
| a55df0be90 | |||
| fc0d1fa1cc |
@@ -11,6 +11,7 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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) }}
|
||||||
@@ -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>
|
||||||
|
|||||||
@@ -46,12 +46,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');
|
||||||
|
|||||||
Reference in New Issue
Block a user