Commit Graph

160 Commits

Author SHA1 Message Date
Richard Schreiber
7177ac18f7 Widget: add missing semi-colon 2025-07-01 12:26:44 +02:00
Richard Schreiber
362ac8de6f [A11y] Widget: pass doc title in overlay to iframe.title (#5210) 2025-06-10 20:41:51 +02:00
Richard Schreiber
cced9cd768 Widget: remove role=alertdialog for checkout overlay as it is to obtrusive in NVDA (#5211) 2025-06-10 20:41:23 +02:00
Richard Schreiber
23489f50f8 [A11y] Widget: change calendar table aria-label to labelledby (#5217) 2025-06-10 20:40:33 +02:00
Richard Schreiber
80148a8435 [A11y] Widget: move dialog-focus to close-button (#5221) 2025-06-10 20:39:43 +02:00
Richard Schreiber
b75f8bf893 Widget: fix loading spinner not showing on API-request (#5228)
* Widget: fix loading spinner not showing while API-request

* remove not needed showModal as it is handled be frame_loading-watcher

* add double check if dialog is open before closing it
2025-06-10 20:35:11 +02:00
Richard Schreiber
d53af424cf Widget: fix prefill 1 with variation-product (#5229) 2025-06-10 20:34:47 +02:00
Richard Schreiber
92f7456eca Widget: add versioning support and add v2 with improved a11y-support (#5136)
* Add support for versioning widget.js

* add versionable css

* add version deprecation + redirect

* use dynamic template_path instead of dynamic css_path

* remove dummy code from widget.v1.scss

* fix typo

* [A11y] fix input border & focus style (#5149)

* [A11y] fix input border & focus style

* Fix double semi-colon

* [A11y] make collapse-indicator a button (#5150)

* Fix source order for cart-exists-message (#5152)

* [A11y] underline links (#5151)

* [A11y] Move modal-dialogs to HTMLDialogElement (#5147)

* [A11y] move widget/iframe to html-dialog

* make lightbox a dialog

* move error-alert to dialog

* re-add crossorigin

* fix esc-handling and move animation to icon to enable focusing the button

* fix code-style issues

* block canceling loading iframe

* Escape/cancel blocking fix for Chrome

* add round focus-outline when dialog is loading

* Widget v2: change voucher-link to hash-based link (#5161)

* Fix variants toggle-button being submit-button

* Widget v2: make single-item-select button and always show custom-spinners (#5165)

* Widget v2: make single-item-select=button default

* remove native-spinners and single_item_select

* Stop suggesting old parameter

---------

Co-authored-by: Raphael Michel <michel@rami.io>

* Widget v2: add filter button to events metadata-filter (#5162)

* Widget v2: do not underline events in list and calendar (#5163)

* Fix checkbox button missing border radius (#5158)

* Widget v2: turn add-to-cart-button into resume-button if cart-exists and no items selected (#5160)

* Widget v2: make cart-alert live=polite

* Add resume-button if cart-exists and no items selected

* fix error handling with new-tab and later returning to old window

* Fix cart-message button being full height

* fix amount_selected recalc

* Fix broken v-model

* fix merge

* Widget v2: Remove link from variation-product title (#5159)

* Remove link from variation-product, focus associated input

* open variations onclick on product-title

* clickable elements should be focussable and interactive, so better remove click-handler on product-title

* Widget v2: Fix calendar events color contrast (#5164)

* Widget v2: Fix calendar events color contrast

* fix status-bubbles in list-view

* fix color in mobile

* add striped-background to calendar and week

* improve display of calendar for super small screens

* Fix meta-filter legend not being screen-reader accessible

* update version_default to 2

Co-authored-by: Raphael Michel <michel@rami.io>

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2025-05-28 15:02:39 +02:00
Richard Schreiber
bf47da521c [A11y] add heading-level to product list (#5121) 2025-05-21 13:31:05 +02:00
Richard Schreiber
9ee50a28a1 [A11y] Widget fix td-cells being clickable but not focusable (#5106)
* [A11y] Widget fix td-cells being clickable but not focusable

* improve keyboard nav
2025-05-15 10:27:43 +02:00
Richard Schreiber
57d33e1eb1 [A11y] fix issues with labels and tabindex in widget (#5083) 2025-05-13 13:36:11 +02:00
Richard Schreiber
b6007a1af4 [A11y] fix widget buy button being disabled (#5084)
* [A11y] fix widget buy button being disabled

* make dialog an alertdialog for better close-button support
2025-05-13 10:00:35 +02:00
Richard Schreiber
f70874b21c [A11y] Widget: add missing labels to dialog and iframe 2025-03-27 13:20:13 +01:00
Richard Schreiber
1c8bcca846 [A11y] Improve focus management for widget overlay 2025-03-27 13:18:59 +01:00
Richard Schreiber
3eff74bf4c Refactor widget redeeming voucher form (#4890) 2025-03-17 11:38:59 +01:00
Raphael Michel
e38ff7021d Widget: Fix missing consent parameters 2025-03-04 18:25:58 +01:00
Raphael Michel
d9e8dd70e4 New mechanism to transfer cookie consent from the widget (Z#23181715) (#4875)
* Cookie consent: Add separate storage layer for widget

* Widget: Move cookie consent out of widget_data

* Add consent parameter to forms
2025-03-04 15:28:03 +01:00
Raphael Michel
79975e6174 Widget: Fix opening a subevent dynamically (#4876) 2025-02-28 11:18:11 +01:00
Richard Schreiber
59a7845ac4 [A11y] Improve focus handling for widget overlay
* move iframe after close-button to follow tab-order

* add missing prevActiveElement

* prepare focus-handling for error_message

* iframe.src through prop instead of directly accessing it

* do not change close button HTML-element for compatability

* make all overlay elements role=dialog and modals

* fix close button

* fix re-opening of iframe

* make error-message read out when shown

* Improve handling of frame_src with frame_loading

* manually focus continue or close button in alert-box

* fix btn-focus in transition

* Improve quantity group
2025-01-28 11:04:38 +01:00
Mira Weller
f014a9bbd3 Reapply "Implement hidden_if_item_available_mode option (Z#23177008) (#4776)"
This reverts commit 5cd7959e86.
2025-01-24 14:48:28 +01:00
Mira Weller
5cd7959e86 Revert "Implement hidden_if_item_available_mode option (Z#23177008) (#4776)"
This reverts commit b847612e1a.
2025-01-24 14:07:55 +01:00
Mira
b847612e1a Implement hidden_if_item_available_mode option (Z#23177008) (#4776) 2025-01-24 11:24:50 +01:00
Richard Schreiber
c25d6988a7 Widget: add option to always show event info 2025-01-16 11:54:24 +01:00
Richard Schreiber
f02b1be659 [A11y] Improve grouping and labels in widget’s product list 2024-12-18 15:24:28 +01:00
Richard Schreiber
18801f2d1c Widget: add unique html_id to use in labels, etc. 2024-12-11 08:30:44 +01:00
Richard Schreiber
e5f29bd592 Widget: add span around currency for easier styling 2024-12-11 08:29:55 +01:00
Raphael Michel
808775c76b Widget: Do not open seating plan when pressing return in input field (#4163) 2024-05-23 11:18:09 +02:00
Raphael Michel
b6a42ac8d2 Widget: Document and improve situation around COEP (Z#23149909) (#4051) 2024-04-22 13:15:33 +02:00
Richard Schreiber
3651c88289 Widget: pass utm-params from embedding page to presale 2024-03-20 09:19:02 +01:00
Mira
eee39b1300 Widget: fix availability of variations whose base item is unavailable (#3873)
* widget: fix variation/item unavailability

In case of an item variation, check the unavailability reasons of the item itself
as well as the variation.

* widget: Don't display waiting list on otherwise unavailable items
2024-02-13 22:25:08 +01:00
Phin Wolkwitz
cb17d80b63 Widget: Fix variations collapse indicator placement (#3883) 2024-02-12 13:51:25 +01:00
Phin Wolkwitz
365ccf159e Widget: Change text when expanding variations (Z#23141075) (#3852)
* Add text change to variation toggle
* Add svg caret
* Fix svg and css
* update caret-svg, add fill-link-color and animation
* Use computed property for link text
* Rename variable according to code review
* Improve texts

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-02-09 13:29:40 +01:00
Richard Schreiber
92e6ffc7ef Fix widget unavailability_reason 2024-02-06 13:55:34 +01:00
Mira
22f91f7aa2 Improve UI to configure unavailable items handling (Z#23131828) (#3739)
* start impl of unavailability modes ui

* add db migration

* use new widget for more fields

* improve contrast

* use new widget for hide_without_voucher field

* improved wording

* rebase migration

* undo changes to require_membership_hidden

* code formatting

* move unavail_reason logic around

* enforce consistent state of hide_without_voucher / require_voucher

* annotate unavailability info in get_grouped_items

* remove MSIE6 compat

* add unavailability reasons to widget

* remove test output

* Apply suggestions from code review

text improvements

Co-authored-by: Richard Schreiber <schreiber@rami.io>

* add css fix for jumping items due to tooltip

* dynamically retrieve unavailability reason message

* widget: simplify logic conditions

* add available_{from,until}_mode to api and api docs

* rebase migration

* rebase migration

* add unavailable_*_mode to ItemVariation

* add available_*_mode to API docs for items

* fix wrong reference

* fix test cases

* add available_*_mode to item variation form

* apply unavailability modes to subevents and variations (presale)

* /o\

* apply unavailability modes to subevents and variations (widget)

* display unavailability mode in subevent product settings

* fix widget test

* fix api item tests

* copy available_*_mode when copying an item

* Apply suggestions from code review

Co-authored-by: Raphael Michel <michel@rami.io>

* Add unavail mode indicator to bulk create and edit forms

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
Co-authored-by: Raphael Michel <michel@rami.io>
2024-02-06 12:27:19 +01:00
Richard Schreiber
abbf7bdd69 Widget: add support for html inside pretix-button 2024-01-17 09:39:33 +01:00
Raphael Michel
bbf360b569 Widget: Allow to call subevents by URL isntead of attribute 2023-11-28 09:37:45 +01:00
Raphael Michel
d7aa94d6ae Add public filters based on meta data (#3673)
* Add public filters based on meta data

* Fix licenseheaders

* ignore empty values

* Fix tests

* Full non-widget implementation

* Widget support

* Add a few tests

* Allow to reorder properties

* Fix isort

* Allow to opt-out for specific events

* Fix name clash between new and old field to make migration feasible
2023-11-10 12:10:01 +01:00
Raphael Michel
5d28e5a959 Add autoscroll to widget after changing pages (Z#23135651) (#3698)
* Add autoscroll to widget after changing pages

* revert add autoscroll to widget

* add watcher on root.view

* check if scrollIntoView is necessary

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-11-09 10:05:02 +01:00
Raphael Michel
000c64755d Free price: Allow to suggest a different price than the minimum (#3666)
* Free price: Allow to suggest a different price than the minimum

* Full implementation

* Widget tests

* Add min values to titles
2023-10-27 13:36:01 +02:00
Raphael Michel
abda800953 Do not treat event as free if there are mandatory non-free addons (#3646) 2023-10-16 12:35:20 +02:00
Richard Schreiber
3a26d6173e Widget: add single-item-select shopping cart (Z#23131246) (#3633) 2023-10-16 10:56:00 +02:00
Richard Schreiber
0cbb38f3d4 Widget: Fix waitinglist-URL for subevents (Z#23132845) (#3635) 2023-10-09 12:17:28 +02:00
Richard Schreiber
75abab403a Widget: make data-attributes reactive (#3586) 2023-09-14 10:51:35 +02:00
Richard Schreiber
66ae5d1af2 Widget: fix running different versions of Vue on the same page 2023-09-14 10:31:18 +02:00
Richard Schreiber
1d49c98cf2 Widget: add lightbox for product images (Z#23123811) (#3439) 2023-06-29 12:23:00 +02:00
Raphael Michel
90ee435f55 Widget: Fix waiting list integration of seated events (#3323) 2023-05-16 18:07:00 +02:00
Richard Schreiber
e7d6bfd8b1 Fix spin-buttons when no max-attribute present (Z#23122239) (#3317) 2023-05-16 10:23:42 +02:00
Richard Schreiber
b8c7ace30e Widget: fix quantity spinner buttons after reload (#3305) 2023-05-10 17:41:58 +02:00
Richard Schreiber
1d0eb81659 Widget & Cart: Add custom number spinners for item quantity 2023-05-08 11:38:44 +02:00
Raphael Michel
ecb2865cb8 Widget: Add hidden location in detail view 2023-04-05 11:22:40 +02:00