You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sobald bei kol-link der onClick Event-Handler gesetzt ist, werden für alle Click-Events preventDefault ausgeführt. Die native Navigation wird also verhindert.
Das passt für viele Fälle, in denen die Aktion komplett überschrieben werden soll, kann aber problematisch sein, wenn zur eigentlichen Navigation eine Aktion nur zusätzlich ausgeführt werden soll.
Aktueller Workaround: Die Navigation muss in JavaScript händisch ausgeführt werden. Hierbei werden ggf. nicht alle Spezialfälle beachtet wie z.B. ctrl+Click oder Mausrad-Click, die Links in neuen Tabs öffnen sollten.
Ein Beispiel für ein solches Workaround haben wir selber in der React Sample App umgesetzt: https://github.com/public-ui/kolibri/blob/develop/packages/samples/react/src/components/Sidebar.tsx#L41
Lösungsansatz: Das preventDefault komplett streichen. Die Entwickler:in ist dann selber dafür verantwortlich, es bei Bedarf auszuführen. Das Verhalten wäre analog zu regulärem HTML/JS. Leider stellt dies einen Breaking Change dar.
The text was updated successfully, but these errors were encountered:
deleonio
added
the
v3
Here are issues that need to be resolved for version 3.
label
Apr 18, 2024
Sobald bei kol-link der
onClick
Event-Handler gesetzt ist, werden für alle Click-EventspreventDefault
ausgeführt. Die native Navigation wird also verhindert.Das passt für viele Fälle, in denen die Aktion komplett überschrieben werden soll, kann aber problematisch sein, wenn zur eigentlichen Navigation eine Aktion nur zusätzlich ausgeführt werden soll.
Relevante Code-Stelle: https://github.com/public-ui/kolibri/blob/develop/packages/components/src/components/link/component.tsx#L45
Aktueller Workaround: Die Navigation muss in JavaScript händisch ausgeführt werden. Hierbei werden ggf. nicht alle Spezialfälle beachtet wie z.B.
ctrl
+Click oder Mausrad-Click, die Links in neuen Tabs öffnen sollten.Ein Beispiel für ein solches Workaround haben wir selber in der React Sample App umgesetzt: https://github.com/public-ui/kolibri/blob/develop/packages/samples/react/src/components/Sidebar.tsx#L41
Lösungsansatz: Das preventDefault komplett streichen. Die Entwickler:in ist dann selber dafür verantwortlich, es bei Bedarf auszuführen. Das Verhalten wäre analog zu regulärem HTML/JS. Leider stellt dies einen Breaking Change dar.
The text was updated successfully, but these errors were encountered: