diff --git a/src/pretix/static/pretixpresale/js/widget/widget.js b/src/pretix/static/pretixpresale/js/widget/widget.js index 327873fb82..09f7e8d2e6 100644 --- a/src/pretix/static/pretixpresale/js/widget/widget.js +++ b/src/pretix/static/pretixpresale/js/widget/widget.js @@ -14,10 +14,6 @@ var Vue = module.exports; Vue.component('resize-observer', VueResize.ResizeObserver) var strings = { - 'quantity': django.pgettext('widget', 'Quantity'), - 'price': django.pgettext('widget', 'Price'), - 'select_item': django.pgettext('widget', 'Select %s'), - 'select_variant': django.pgettext('widget', 'Select variant %s'), 'sold_out': django.pgettext('widget', 'Sold out'), 'buy': django.pgettext('widget', 'Buy'), 'register': django.pgettext('widget', 'Register'), @@ -198,7 +194,7 @@ var widget_id = makeid(16); Vue.component('availbox', { template: ('
' + '
' - + '' + strings.voucher_required + '' + + '' + strings.voucher_required + '' + '
' + '
' @@ -214,13 +210,10 @@ Vue.component('availbox', { + '
' + '
' + '' + '' + '
' + '
'), @@ -259,11 +252,6 @@ Vue.component('availbox', { this.$root.$emit("amounts_changed") } }, - label_select_item: function () { - return this.item.has_variations - ? strings.select_variant.replace("%s", this.variation.value) - : strings.select_item.replace("%s", this.item.name) - }, input_name: function () { if (this.item.has_variations) { return 'variation_' + this.item.id + '_' + this.variation.id; @@ -309,7 +297,7 @@ Vue.component('pricebox', { + '{{ $root.currency }} ' + '' + + ' step="any">' + '' + '' + '{{ taxline }}' @@ -430,9 +418,8 @@ Vue.component('item', { + '
' + '' + '
' - + '' + + '' + '{{ item.name }}' + '' + '{{ item.name }}' @@ -459,8 +446,7 @@ Vue.component('item', { // Availability + '' @@ -468,7 +454,7 @@ Vue.component('item', { + '
' // Variations - + '
' + + '
' + '' + '' + '
' @@ -482,32 +468,6 @@ Vue.component('item', { expanded: this.$root.show_variations_expanded }; }, - watch: { - expanded: function (newValue) { - var v = this.$refs.variations; - if (newValue) { - v.hidden = false; - } else { - // Vue.nextTick does not work here - window.setTimeout(function () { - v.style.maxHeight = 0; - }, 50); - } - v.style.maxHeight = v.scrollHeight + 'px'; - } - }, - mounted: function () { - if (this.$refs.variations) { - this.$refs.variations.hidden = !this.expanded; - this.$refs.variations.addEventListener('transitionend', function (event) { - if (this.style.maxHeight && this.style.maxHeight != '0px') { - this.style.maxHeight = 'none'; - } else { - this.hidden = true; - } - }); - } - }, methods: { expand: function () { this.expanded = !this.expanded; @@ -739,14 +699,14 @@ var shared_iframe_fragment = ( + '' + '
' + '
' - + '' + '' + '
' + '
' @@ -1040,7 +1000,7 @@ Vue.component('pretix-widget-event-list-entry', { Vue.component('pretix-widget-event-list', { template: ('
' + '' @@ -1255,7 +1215,7 @@ Vue.component('pretix-widget-event-calendar', { // Back navigation + '' @@ -1268,11 +1228,11 @@ Vue.component('pretix-widget-event-calendar', { // Calendar navigation + '' @@ -1338,7 +1298,7 @@ Vue.component('pretix-widget-event-week-calendar', { template: ('
' // Back navigation + '' @@ -1351,11 +1311,11 @@ Vue.component('pretix-widget-event-week-calendar', { // Calendar navigation + '
' + '' @@ -2002,6 +1962,7 @@ window.PretixWidget.open = function (target_url, voucher, subevent, items, widge if (this.$root.useIframe) { this.$refs.btn.buy(); } else { + console.log(this.$refs.btn.$refs.form); this.$refs.btn.$refs.form.submit(); } }) diff --git a/src/pretix/static/pretixpresale/scss/widget.scss b/src/pretix/static/pretixpresale/scss/widget.scss index 2ffc711f6e..8768b474be 100644 --- a/src/pretix/static/pretixpresale/scss/widget.scss +++ b/src/pretix/static/pretixpresale/scss/widget.scss @@ -382,10 +382,23 @@ -webkit-transition-duration: 0.5s; -o-transition-duration: 0.5s; transition-duration: 0.5s; - -moz-transition-timing-function: ease-in-out; - -webkit-transition-timing-function: ease-in-out; - -o-transition-timing-function: ease-in-out; - transition-timing-function: ease-in-out; + -moz-transition-timing-function: cubic-bezier(0, 1, 0.5, 1); + -webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1); + -o-transition-timing-function: cubic-bezier(0, 1, 0.5, 1); + transition-timing-function: cubic-bezier(0, 1, 0.5, 1); + } + + .pretix-widget-item-variations-expanded { + -moz-transition-duration: 0.5s; + -webkit-transition-duration: 0.5s; + -o-transition-duration: 0.5s; + transition-duration: 0.5s; + -moz-transition-timing-function: ease-in; + -webkit-transition-timing-function: ease-in; + -o-transition-timing-function: ease-in; + transition-timing-function: ease-in; + max-height: 10000px; + overflow: hidden; } .pretix-widget-event-header { padding-top: 10px;