Autor Thema: Javascript Editor einbinden  (Gelesen 128178 mal)

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5858
Antw:Javascript Editor einbinden
« Antwort #435 am: 06 Juni 2016, 12:40:24 »
Wenn wirklich alles aktuell ist, wird Cache leeren helfen.

Offline abc2006

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1010
Antw:Javascript Editor einbinden
« Antwort #436 am: 14 Oktober 2016, 21:48:30 »
Hi,
wollte mich nochmal zu Wort melden. Das Problem mit dem Dropdown hinter dem Codemirrror-Popup (gestestet bei UserReadings) besteht immer noch...
Oder gibt es hierfür einen Fix?


Grüße
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Offline abc2006

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1010
Antw:Javascript Editor einbinden
« Antwort #437 am: 25 Oktober 2016, 12:02:35 »
Gerade ist mir nochwas aufgefallen:

ich wollte ein Reading prüfen:

DOIF ([DS18B20:temperature] > 12)()...
Codemirror kann den Namen des Devices vervollständigen, nach dem Doppelpunkt kommt aber wieder die Liste mit FHEM-Befehlen (at,IF, usw).
IDEE:
Ist es möglich, hier die Readings des Devices darzustellen?

Grüße
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Offline iamandy

  • Full Member
  • ***
  • Beiträge: 102
Antw:Javascript Editor einbinden
« Antwort #438 am: 03 März 2017, 15:54:10 »
Als Nutzer eines MACs scheint es nicht möglich zu sein z.B. die Suchen / Ersetzen Funktion des Javascript Editors zu nutzen.

Das liegt daran das beim MacOS statt der Taste STRG/CTRL die CMD Taste im Javascript Editor genutzt werden muss.

Die meisten Tastenkombinationen mit CMD sind beim MAC aber schon anderweitig belegt und daher kann man diese Funktonen am Javascript Editor nicht nutzen...

Habt ihr eine Idee wie man das ändern könnte?

Offline kotaro

  • Full Member
  • ***
  • Beiträge: 163
Antw:Javascript Editor einbinden
« Antwort #439 am: 04 Dezember 2018, 13:42:07 »
Hallo, ich weiß nicht ob ich hier richtig bin,
aber es geht um den erweiterten Editor.

Ich habe folgendes Problem:
#Wetter
define Pollenflugvorhersage allergy 12209
attr Pollenflugvorhersage levelsFormat rc_dot@white,rc_dot@yellow,rc_dot@orange,rc_dot@red
attr Pollenflugvorhersage room Wetter-vorhersage
attr Pollenflugvorhersage stateFormat fc1_maximum
attr Pollenflugvorhersage updateEmpty 1
attr Pollenflugvorhersage updateIgnored 1
define rgPollenvorhersage readingsGroup Pollenflugvorhersage:<Pollen>,fc0_day_of_week,fc1_day_of_week,fc2_day_of_week,fc3_day_of_week,fc4_day_of_week,fc5_day_of_week,fc6_day_of_week,fc7_day_of_week \
                                        Pollenflugvorhersage:<Ambrosia>,fc0_Ambrosia,fc1_Ambrosia,fc2_Ambrosia,fc3_Ambrosia,fc4_Ambrosia,fc5_Ambrosia,fc6_Ambrosia,fc7_Ambrosia \
                                        Pollenflugvorhersage:<Ampfer>,fc0_Ampfer,fc1_Ampfer,fc2_Ampfer,fc3_Ampfer,fc4_Ampfer,fc5_Ampfer,fc6_Ampfer,fc7_Ampfer \
                                        Pollenflugvorhersage:<Beifuß>,fc0_Beifuss,fc1_Beifuss,fc2_Beifuss,fc3_Beifuss,fc4_Beifuss,fc5_Beifuss,fc6_Beifuss,fc7_Beifuss \
                                        Pollenflugvorhersage:<<b>Birke</b>>,fc0_Birke,fc1_Birke,fc2_Birke,fc3_Birke,fc4_Birke,fc5_Birke,fc6_Birke,fc7_Birke \
                                        Pollenflugvorhersage:<Buche>,fc0_Buche,fc1_Buche,fc2_Buche,fc3_Buche,fc4_Buche,fc5_Buche,fc6_Buche,fc7_Buche \
                                        Pollenflugvorhersage:<Eiche>,fc0_Eiche,fc1_Eiche,fc2_Eiche,fc3_Eiche,fc4_Eiche,fc5_Eiche,fc6_Eiche,fc7_Eiche \
                                        Pollenflugvorhersage:<<b>Erle<Erle</b>>,fc0_Erle,fc1_Erle,fc2_Erle,fc3_Erle,fc4_Erle,fc5_Erle,fc6_Erle,fc7_Erle \
                                        Pollenflugvorhersage:<<b>Gräser</b>>,fc0_Graeser,fc1_Graeser,fc2_Graeser,fc3_Graeser,fc4_Graeser,fc5_Graeser,fc6_Graeser,fc7_Graeser \
                                        Pollenflugvorhersage:<<b>Hasel<Hasel</b>>,fc0_Hasel,fc1_Hasel,fc2_Hasel,fc3_Hasel,fc4_Hasel,fc5_Hasel,fc6_Hasel,fc7_Hasel \
                                        Pollenflugvorhersage:<Pappel>,fc0_Pappel,fc1_Pappel,fc2_Pappel,fc3_Pappel,fc4_Pappel,fc5_Pappel,fc6_Pappel,fc7_Pappel\
                                        Pollenflugvorhersage:<Roggen>,fc0_Roggen,fc1_Roggen,fc2_Roggen,fc3_Roggen,fc4_Roggen,fc5_Roggen,fc6_Roggen,fc7_Roggen \
                                        Pollenflugvorhersage:<Ulme>,fc0_Ulme,fc1_Ulme,fc2_Ulme,fc3_Ulme,fc4_Ulme,fc5_Ulme,fc6_Ulme,fc7_Ulme \
                                        Pollenflugvorhersage:<Wegerich>,fc0_Wegerich,fc1_Wegerich,fc2_Ulme,fc3_Wegerich,fc4_Wegerich,fc5_Wegerich,fc6_Wegerich,fc7_Wegerich \
                                        Pollenflugvorhersage:<Weide>,fc0_Weide,fc1_Weide,fc2_Weide,fc3_Weide,fc4_Weide,fc5_Weide,fc6_Weide,fc7_Weide
attr rgPollenvorhersage mapping %READING
attr rgPollenvorhersage room Wetter-vorhersage
attr rgPollenvorhersage valueIcon %VALUE
attr rgPollenvorhersage valueStyle %VALUE

In diesem Beispiel wird alles nach <<b>Birke</b>> bzw ab zwischen den << kein Code mehr erkannt. Mache ich ein Leerschritt zwischen den beiden Eckigen Klammern, wird der Code im erweitereten Editor angezeigt, wird aber in Fhem nicht mehr korrekt dargestellt ( es steht <b dort start Birke)
Ist dies möglich zu beheben?

lg und danke für eure fleißige Arbeit bisher

Offline Keule_09

  • Jr. Member
  • **
  • Beiträge: 61
Antw:Javascript Editor einbinden
« Antwort #440 am: 14 Dezember 2018, 18:38:00 »
Hallo Zusammen,

kann man die Mindestbreite im DEF- Bearbeitungsfeld irgendwo einstellen? Hab das Problem wenn ich es am Smartphone(Samsung S7)  öffne wird mir das Editorfeld sehr schmal angezeigt (siehe Bild). Unter Edit Files wird es mir über die ganze Seite am Smartphone angezeigt.

Gruß Marco
« Letzte Änderung: 14 Dezember 2018, 18:41:19 von Keule_09 »

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24686
Antw:Javascript Editor einbinden
« Antwort #441 am: 14 Dezember 2018, 18:50:00 »
Ist vermutlich das bekannte CodeMirror Problem im Zusammenhang mit Zeilennumer.
Ich habe vor laengerem versucht es fuer den Desktop zu fixen, eher erfolglos.
Aber mir fehlt auch die Motivation, weil ich nicht auf CodeMirror stehe.
Ohne Codemirror ist auf dem Telefon zwar auch nicht optimal, aber besser.

Offline Keule_09

  • Jr. Member
  • **
  • Beiträge: 61
Antw:Javascript Editor einbinden
« Antwort #442 am: 14 Dezember 2018, 20:36:28 »
ok danke für die Info.

Offline krikan

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7028
Antw:Javascript Editor einbinden
« Antwort #443 am: 03 Mai 2019, 10:21:46 »
Die Befehlsvervollständigungsfunktion von codemirror funktioniert nach meiner Beobachtung nur, wenn in der FHEMWEB-Instanz
attr <FHEMWEB> csrfToken nonegesetzt ist.

Vermutung:
Der mit FHEM 5.7 eingeführte csrfToken ist wohl noch nicht in https://svn.fhem.de/trac/browser/trunk/fhem/www/codemirror/fhem.js.unoptimized bzw. fhem.js berücksichtigt. Der Aufruf in Zeile 857 von fhem.js.unoptimized scheitert bei aktivem csrfToken.

Gruß, Christian

Offline jschuppe

  • New Member
  • *
  • Beiträge: 7
Antw:Javascript Editor einbinden - Fullscreen/Vollbildschirm
« Antwort #444 am: 29 Januar 2021, 19:57:23 »
Hallo,

ich will den Thread mal wieder anheizen. Ich hatte keine so richtige Einstellung gefunden, den Codemirror Editor passend für mich einzurichten. Er sollte kompakt sein, aber bei größeren Codeblöcken trotzdem komfortabel. Da ich keinen ordentlichen Kompromiss gefunden hatte, habe ich mich mit einem Modul beschäftigt, welches es für Codemirror gibt, welches aber nicht mit in fhem gewandert ist. Das Modul heißt einfach nur "fullscreen" (https://codemirror.net/demo/fullscreen.html).

Ich habe jetzt den Editor so integriert, dass er relativ schmal ist (20 Zeilen, volle Breite), sich aber per F11 Taste in den Vollbildmodus versetzen lässt. Mit F11 oder ESC kommt man dann wieder zurück in die vorherige Ansicht.

Anpassungen im Code in der Datei "/opt/fhem/www/codemirror/fhem_codemirror.js":

Am Anfang der Datei das "cm_attr" Array erweitert:
...
var cm_attr = {
    fullscreen:          true,
   ...

Weiter unten nach dem Block "cm_attr.height" den "fullscreen" Codeblock eingebaut:

...
    // editor user preferences
    if (cm_attr.height) {
         …
    }
    // Neu ab hier ->
    if (cm_attr.fullscreen) {
        cm_active++;
        loadLink("codemirror/fullscreen.css");
        loadScript("codemirror/fullscreen.js", function(){cm_loaded++;} );
        cm_attr.extraKeys['F11'] = function(cm) {
            cm.setOption("fullScreen", !cm.getOption("fullScreen"));
        }
        cm_attr.extraKeys['Esc'] = function(cm) {
            if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
        }
    }

Folgende zusätzliche Dateien werden benötigt:

fullscreen.css
fullscreen.js

Beide sind ins /opt/fhem/www/codemirror Verzeichniss zu packen (Quellen: https://codemirror.net/addon/display/fullscreen.css und https://codemirror.net/addon/display/fullscreen.js)

Mein Problem war jedoch, dass hier irgendetwas im cache lagert und die Änderungen nur nach mehrmaligem Anpassen des Attributes "JavaScripts" mit dem Wert "codemirror/fhem_codemirror_xxx.js" unter "global" zu bewerkstelligen war. "_xxx" bedeutet, ich hatte eine Copy gemacht und zwischen den Dateien hin und her geschaltet bis es irgendwann funktionierte.

Vielleicht finden die Anpassungen irgendwann den Weg in den Standard von fhem  :)
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline FHEMAN

  • Sr. Member
  • ****
  • Beiträge: 689
Antw:Javascript Editor einbinden
« Antwort #445 am: 25 August 2021, 14:39:13 »
Hi, bevor ich mich selber ran mache: gibt es eine Möglichkeit, die Syntaxhervorhebung auch im normalen Lesemodus immer aktiv zu haben?
Idealerweise mit dem (gelben) FHEM Hintergrund zur Unterscheidung.

//edit:

Ich meine so, wie im Screenshot unten. Das habe ich via JS zwar schon hingefrickelt, aber wie bekomme ich die Codemirror Sourcen schon vor dem Klick auf DEF geladen? (Idealerweise ohne alles parallel nochmal neu einzubinden)

Zitat
//var script = document.createElement('script');
//script.src = "fhem/codemirror/fhem_codemirror.js";
var ce = $("#disp > PRE")[0];
var text = ce.textContent || ce.innerText;
var editor = CodeMirror(function(node){ce.parentNode.replaceChild(node, ce);}, {
  value: text,
    matchBrackets:       true,
    search:              true,
    comment:             true
});
$(".CodeMirror").css("background-color", "transparent");
« Letzte Änderung: 26 August 2021, 10:17:52 von FHEMAN »
NUC7i5 | PROXMOX | FHEM 5.9 | 2 HMLAND | HM | UMTS | LMS | HIFIBERRY | DOORBIRD | KM200 | HUE | ECHO | MILIGHT | LUFTDATENINFO | MQTT | INDEGO | ROBOROCK