Suche

Georgios 07.08.2017 - 15:05

Javascript function triggern

Hallo,

wir passen protonet momentan an unsere bedürfnisse an, mittels CSS und JS.

Bei JS haben wir dabei das Problem, dass  kein onload() event abgesetzt wird, wenn man durch Soul navigiert ( oder DOMContentLoaded). Deshalb können wir Teile des DOM nicht manipulieren, die bei erstmaligen (und einmaligen) ausführen  des JS Codes noch nicht geladen/vorhanden sind.

Konkret geht es darum den „Dateien“ Button einer Gruppe zu verändern. (also in der horizontalen Menüleiste einer Gruppe) Da dieser Button noch nicht „da ist“, wenn unser Custom JS ausgeführt wird, kann der Buttton nicht angesprochen und verändert werden.

Im Voraus vielen Dank für jegliche Hilfestellung.

Philipp

5 Antworten

Ali Jelveh (Protonet Support) 11.08.2017 - 16:24

Hi Farbanalyse,

muss ich mir im Detail anschauen! Danke für die gute und klare Kommunikation. Das hilft schonmal ;).

LG, Ali

Ali Jelveh (Protonet Support) 29.08.2017 - 4:08

Kurzes Update Farbanalyse,

wir haben noch alle Hände voll das Update vorzubereiten, ich habe Dich nicht vergessen.

Ali

Georgios 07.09.2017 - 11:29

Hallo Ali,

ohne drängeln zu wollen … aber kannst Du absehen, wann Du uns etwas dazu sagen kannst?

lg,
philipp

Georgios 21.09.2017 - 12:31

So wie ich das verstehe wird die Seite mit Ruby dynamisch zusammengesetzt, aber ich bin wahrlich kein Profi in dem Gebiet. Hat jemand ein kurze Erklärung parat „Wie das funktioniert“, bzw. konkret, wie man den „Dateien“ Button unter „Gruppen“ um ein onclick=“redirect()“ erweitern könnte.

Bisher habe ich die ID des Buttons nur in folgender Datei entdeckt:

/home/protonet/dashboard/releases/hot-fix-07b872165/app/views/projects/show.html.erb

Ich vermute das etwaige Änderungen nach einem Neustart überschrieben werden, doch als vorläufiger Workaround würde es uns reichen…

Vielen Dank schonmal!

Georgios 22.09.2017 - 15:33

nach etwas Recherche und trial and error steht user Workaround.
Für alle die ebenfalls an die Substanz müssen:

1) die erb Dateien findet man unter /home/protonet/dashboard/releases/ [releaseversion] /app/views/ … /*.erb

2) nach dem Modifizieren und erneutem Hochladen müssen diese im System aktualisiert werden. Das geht mittels:
sudo touch /home/protonet/dashboard/releases/ [releaseversion] /tmp/restart.txt
Dadurch bekommt die txt Dateie ein neues Änderungsdatum, dass den Reload triggert.

Alle Angaben OHNE Gewähr!