diff --git a/src/pretix/control/templates/pretixcontrol/base.html b/src/pretix/control/templates/pretixcontrol/base.html index 1801a76faf..67cd8ed834 100644 --- a/src/pretix/control/templates/pretixcontrol/base.html +++ b/src/pretix/control/templates/pretixcontrol/base.html @@ -38,6 +38,8 @@ + + @@ -54,7 +56,6 @@ - @@ -465,23 +466,5 @@ - diff --git a/src/pretix/presale/templates/pretixpresale/fragment_js.html b/src/pretix/presale/templates/pretixpresale/fragment_js.html index 304452adc2..42a048be78 100644 --- a/src/pretix/presale/templates/pretixpresale/fragment_js.html +++ b/src/pretix/presale/templates/pretixpresale/fragment_js.html @@ -10,6 +10,7 @@ + diff --git a/src/pretix/presale/templates/pretixpresale/fragment_modals.html b/src/pretix/presale/templates/pretixpresale/fragment_modals.html index 07a29352c7..db3a9a1fb6 100644 --- a/src/pretix/presale/templates/pretixpresale/fragment_modals.html +++ b/src/pretix/presale/templates/pretixpresale/fragment_modals.html @@ -31,37 +31,6 @@ - - {% if request.organizer and request.organizer.settings.cookie_consent %} {% if cookie_consent_from_widget %} diff --git a/src/pretix/static/pretixbase/js/dialogs.js b/src/pretix/static/pretixbase/js/dialogs.js new file mode 100644 index 0000000000..779f1278b0 --- /dev/null +++ b/src/pretix/static/pretixbase/js/dialogs.js @@ -0,0 +1,100 @@ +/*global $,gettext,ngettext */ +function EL(tagName, attrs) { + var el = document.createElement(tagName); + if (attrs) for(var key in attrs) + if (key === 'style' && typeof attrs[key] === 'object') Object.assign(el.style, attrs[key]); + else if (key === 'innerHTML') el.innerHTML = attrs[key]; + else if (key === 'appendTo' && (attrs.appendTo instanceof HTMLElement || attrs.appendTo instanceof ShadowRoot)) attrs.appendTo.append(el); + else if (key === 'prependTo' && (attrs.prependTo instanceof HTMLElement || attrs.prependTo instanceof ShadowRoot)) attrs.prependTo.prepend(el); + else if (key === 'insertBefore' && attrs.insertBefore instanceof HTMLElement) attrs.insertBefore.before(el); + else if (key === 'insertAfter' && attrs.insertAfter instanceof HTMLElement) attrs.insertAfter.after(el); + else if (key.startsWith("on")) el.addEventListener(key.substring(2), attrs[key], false); + else if (key.startsWith(":")) el[key.substring(1)] = attrs[key]; + else if (key === 'checked' && 'checked' in el) el.checked = attrs.checked; + else if (key === 'selected' && 'selected' in el) el.selected = attrs.selected; + else if (key === 'multiple' && 'multiple' in el) el.multiple = attrs.multiple; + else el.setAttribute(key, attrs[key]); + + if (arguments[2] instanceof Array) + var args = arguments[2], i = 0; + else + var args = arguments, i = 2; + for(;i