FHEM - Entwicklung > FHEM Development

Möglichkeit für ein Modul eigenes .js File einzubinden.

(1/3) > >>

Dirk:
Hallo zusammen,

Für ein neues Modul hätte ich gerne die Möglichkeit ein eigenes .js File einzubinden.
Da das so derzeit nicht vorgesehen ist, hier die Frage ob jemand einen besseren Vorschlag hat das zu implementieren.

Derzeit sieht mein Vorschlag für eine Erweiterung von FHEMWEB.pl so aus:


--- Code: ---@@ -594,6 +594,17 @@

   my $prf = AttrVal($FW_wname, "stylesheetPrefix", "");
   FW_pO "<link href=\"$FW_ME/css/style.css\" rel=\"stylesheet\"/>";
+
+  ########################
+  # FW Extensions
+  if(defined($data{FWEXT})) {
+    foreach my $k (sort keys %{$data{FWEXT}}) {
+      my $h = $data{FWEXT}{$k};
+      next if($h !~ m/HASH/ || !$h->{SCRIPT});
+      FW_pO "<script type=\"text/javascript\" src=\"$FW_ME/js/$h->{SCRIPT}\"></script>";
+    }
+  }
+
   FW_pO "<script type=\"text/javascript\" src=\"$FW_ME/js/svg.js\"></script>"
                         if($FW_plotmode eq "SVG");
   FW_pO "<script type=\"text/javascript\" src=\"$FW_ME/js/fhemweb.js\"></script>";

--- Ende Code ---


Hat jemand einen anderen / besseren Vorschlag dies zu tun?
Ansonsten würde ich das mal so einchecken.

Gruß
Dirk

Martin Fischer:
> Hat jemand einen anderen / besseren Vorschlag dies zu tun?

ein anderer vorschlag: das benötigte script direkt aus javascript heraus laden. dann bleibt nämlich FHEMWEB.pl unangetastet.

alternativ:

> Ansonsten würde ich das mal so einchecken.

dieses vorher mit rudi abstimmen, da er gerne FHEMWEB.pl selber verwalten möchte.

gruss martin

Dirk:
> ein anderer vorschlag: das benötigte script direkt aus javascript heraus laden...

Dann also den code in fhemweb.js oder console.js integrieren?
Dann läd aber jeder den Code, auch wenn das modul nicht benutzt wird.

> dieses vorher mit rudi abstimmen, da er gerne FHEMWEB.pl selber verwalten möchte.
Daher der Thread hier vorher :)

@Rudi, was sagst du dazu?

Gruß
Dirk

rudolfkoenig:
Was soll das .js bewirken?
Und soll es im Raum-Uebersicht oder im Raum-Detail-Ansicht geladen sein?

Dirk:
Hi Rudi,

im Grunde genommen soll das js File dann global geladen werden. Also wie svg.js oder fhemweb.js auch.
Das muss auch nicht zwangsweise innerhalb eines Moduls gemacht werden, war für mich nur naheliegend, da ich das in Verbindung mit einem Modul auch nutzen möchte.

Grundsätzlich könnte man das ggf. auch in weblink implementieren. Dann hätten auch User, die keine Module entwickeln möchten, eine Erweiterungsmöglichkeit per Konfiguration. Das ganze müsste dann natürlich auch im Floorplan nachgezogen werden.

Natürlich könnte man die benötigten Funktionen auch in svg.js odr fhemweb.js einbauen. Ich bevorzuge aber eine einfache Lösung wo der "Endbenutzer" nicht erst Dateien bearbeiten muss.

Gruß
Dirk

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln