Editorfenster codemirror Editor zu groß, zu weit rechts

Begonnen von Otto123, 24 Juli 2020, 15:24:45

Vorheriges Thema - Nächstes Thema

Otto123

Ich habe mal wieder einen Browserfenster breiten abhängigen Effekt, der  mich schon länger stört und den ich jetztmal untersucht habe.
Ich verwende
Internals:
   BYTES_READ 1132600
   BYTES_WRITTEN 6483473
   CONNECTS   515
   CSRFTOKEN  csrf_246228733591984
   DEF        8083 global
   FD         5
   FUUID      5f00bbb9-f33f-3a57-af36-0cea886c3d2cadc3
   NAME       WEB
   NR         3
   NTFY_ORDER 50-WEB
   PORT       8083
   STATE      Initialized
   TYPE       FHEMWEB
   READINGS:
     2020-07-17 22:50:46   state           Initialized
Attributes:
   JavaScripts codemirror/fhem_codemirror.js
   codemirrorParam { "lineNumbers":true }
   longpoll   websocket
   plotfork   1
   stylesheetPrefix f18
   
Beim großen Plus (oder woanders immer gleich) geht das schwarze Fenster des Editors auf.
Das codemirror Editor Fenster wird tendenziell immer Rechts platziert.
Bis 1220 Pixel Breite des Browserfensters passt das Editorfenster genau bis zum Rand.
Bis 1280 Pixel ist der Close Button noch fast komplett sichtbar.
Bei 1440 Pixel ist der Close Button verschwunden.

Das Problem ist noch: Diese Postion wird "gespeichert" d.h. mach ich das Fenster jetzt wieder kleiner, seh ich gar nix mehr.
Drück ich F5 beginnt das Spiel von vorn.

D.h. Fenster relativ schmal machen, dann Editor öffnen, dann kann man beliebig arbeiten bis zum nächsten Cache leeren.

Beim normalen Editor tritt der Effekt nicht, das Fenster wird immer mittig und mit geringer Größe positioniert.


Kann man das irgendwie verbessern?
Kann ich da noch weitere Infos liefern?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rudolfkoenig

Ich gehe davon aus, dass Du hier keine Antwort kriegst, da Codemirror in FHEM mehr oder weniger verwaist ist.

Otto123

Ich hatte gehofft es liegt nicht unbedingt an Codemirror und Jemand hat eine Idee.  :D Gibt es Alternativen?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Ellert


rudolfkoenig

Das kann er natuerlich tun, das da adressierte Problem hat aber mit diesem nichts zu tun.

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Ellert

#6
Möglicherweise lässt sich das Problem mit einer Ergänzung von f18.js lösen.

Die Dialogdefinition (ab Zeile 868) müsste um das Attribut position ergänzt werden.

  $("#"+n).dialog({
    dialogClass:"no-close", modal:true, width:"auto", closeOnEscape:true,
    maxWidth:$(window).width()*0.9, maxHeight:$(window).height()*0.9,
    position: { my: "right", at: "center" },
    buttons: [
    {text:"Execute",click:function(){ FW_execRawDef( ta.val()) }},
    {text:"Close", click:function(){ $(this).remove(); }},
    ],
    close:function(){ $("#"+n).remove(); }
  });


also um
position: { my: "right", at: "center" },

Dann wird das Fenster wie in der Anlage dargestellt.

Die Funktionalität des Dialogfensters ohne Codemirror wird nicht beeinträchtigt, siehe 2. Anlage

rudolfkoenig

Danke fuer den Hinweis, habe die Zeile eingebaut.

Bemerkungen:
- ohne CodeMirror gibt es auch eine Aenderung (das Dialog wird nicht mehr zentriert dargestellt, sondern auf der linken Seite), das finde ich aber verschmerzbar.
- mit CodeMirror gibt es weiterhin Probleme, wenn man nach Laden der Seite die Fenstergroesse aendert. Abhilfe: Seite nach Groessen-Aenderung erneut laden.
- CodeMirror ignoriert die "bestellte" Fenstergroesse (20 x 60 Zeichen), und macht irgendwas der Art 14 x 0.8*Fensterbreite.