Christian Kruse: Feature Wunsch um alert-Botschaften abzuschaffen

Beitrag lesen

Hallo Felix,

Da wird es auch erstmal bleiben, das zu ändern wäre einerseits sehr viel Arbeit und andererseits gibt es durchaus auch Gründe, warum es immer an dieser Stelle ist, egal wie im Dokument gescrollt wird.

ist das eine vorübergehende Notlösung, da für etwas besseres gerade die Zeit und die Priorität fehlt? Das könnte ich nachvollziehen. Als endgültige Entscheidung hätte ich ein Problem damit.

Das ist eine Lösung in Ermangelung einer besseren. Und nein, ich halte es nicht für besser die Alerts an irgendwelchen Elementen festzumachen.

Das ist nett, aber das zieht grössere Änderungen nach sich. Ich möchte auf Dauer ganz auf jquery-ujs (das ist eine Sammlung von unobstrusive JS-Erweiterungen von Rails) verzichten und ersatzlos streichen bzw im Falle von data-confirm ersetzen durch etwas eigenes. Das ist aber einiges an Arbeit.

Hmm. Warum möchtest Du auf ein Framework verzichten?

Welches Framework? Ich möchte nur auf jquery_ujs verzichten, weil mir das zu unflexibel ist und ich eh nur zwei Funktionen daraus benutze.

Um ein anderes einzusetzen? Um das alles mit Vanilla-JS zu lösen?

Ohjemine, nein! Ich bin ein absoluter Befürworter der Verwendung von Tools wie jQuery.

Ich bin mir nicht sicher, was du von mir erwartest.

Welche strukturellen Vorgaben muss ich beachten, damit ich Deine Lösung "verbessern" kann, um Dir zuarbeiten zu können?

JS-Code ist in app/assets/javascript. Wesentlich mehr fällt mir jetzt nicht ein.

Wenn Du sagst, "schau ins Dokument, da findest Du das Markup, den Rest musst Du selbst herausfinden", dann mache ich das. Wenn Du aber sagst, "hier ist die Kommunikationslogik für die Forensoftware und hier ist die Logik für die DOM-Manipulationen, werde selber schlau daraus", dann kann ich das auch.

Nun, wie ich bereits schrieb: um das so einzusetzen wie ich mir das vorstelle (data-confirm bleibt, wird aber durch einen Button, der inline eingeblendet wird, abgelöst) muss auf jquery_ujs verzichtet werden. Um darauf zu verzichten müssen alle JS-Targets abgeschafft werden, an vielen Stellen verwende ich noch link_to "Target", url, method: :delete. Bei dieser Art Link wird durch das UJS der Klick dann abgefangen und zu einem POST mit den notwendigen CSRF-Tokens und einem Feld _method=delete umgeformt. Das zu ändern ist aber eine grössere Sache, ich muss halt alle stellen finden und durch ein button_to ersetzen, dass ein Formular generiert.

Alternativ könnte man auch den „kleinen“ Weg gehen und data-confirm durch data-cf-confirm ersetzen und das durch das neue JS abfangen. Das halte ich aber für eine unschöne, temporäre Lösung.

LG,
CK