Codemirror berücksichtigt webname Attribut nicht

Begonnen von Loredo, 02 Februar 2015, 16:28:23

Vorheriges Thema - Nächstes Thema

Loredo

Hallo,


ich habe gerade einmal versucht den Codemirror Editor bei mir zu aktivieren.
Dabei ist mir aufgefallen, dass Codemirror wohl nur funktioniert, wenn FHEM über die URI /fhem angesprochen wird.
Meine Admin-Instanz ist jedoch über das FHEMWEB Attribut "webname" anders benannt und folglich ist die URI eine andere. Dies scheint wohl in fhem_codemirror.js nicht berücksichtigt zu sein.


Leider erhalte ich in der Browser Debug-Console gar keine Fehlermeldungen, so dass ich hierzu keine weiteren Infos mitgeben kann.






Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Blackcat

habe gerade gemerkt, dass seit neusten meine Zeilennummern nicht mehr angezeigt werden.

Also scheinen die Attribute irgendein Problem zu haben (nicht nur webname, sondern auch lineNumbers) ... das Theme geht aber komischerweise
Viele Grüße Sandra - FHEM Style Entwicklerin iOS6+12
-----
ZBox nano, Homematic, Homebridge, Hue + Mi Light, ZWave, Dyson, etc.
https://www.foodcat.de
https://www.youtube.com/c/FoodCat (hier gibt es auch immer mehr Hausautomatisierungsvideos)

betateilchen

@Blackcat hast Du mal getestet, ob das vielleicht fhem-style abhängig ist?

Bisher kann ich keine Probleme feststellen:

(http://up.picr.de/20872548oj.png)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Loredo

#3
Ich nutze in der Tat den ios6 Style.
Vereinzelt wird es beim Ändern eines Attributes auch angezeigt, beim Editieren von Config-Files dagegen gar nicht.


Die Änderung von Attributen funktioniert jedoch nicht. Sobald ich das Editierfenster schließe bleibt das Value-Feld leer. Ich muss dann nochmals in das Value-Feld klicken, bekomme dann ein blau umrahmtes Fenster, diesmal ohne Codemirror, kopiere meinen vorher in der Zwischenablage gesicherten Code, klicke ok und dann ist das Value-Feld korrekt gefüllt.


Was ich außerdem herausgefunden habe: Ich hatte auch generelle Probleme mit der Anzeige von den Popup-Fenstern bei Editieren von Attributen. Das ist weg, seit dem ich in der FHEMWEB Config im JavaScript Attribut den expliziten Eintrag für jquery.min.js herausgenommen habe. Das mag aber mit den generelle JS Änderungen in FHEMWEB nun überflüssig geworden sein. Muss man aber eben wissen und entsprechend selbst Hand anlegen, wenn man es zuvor drin hatte.


Das Codemirror Problem ist damit allerdings nicht behoben.  :(
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Blackcat

@betateilchen:
liegt nicht am Sytle... liegt scheinbar am iPad o.O
im Chrome vom PC aus habe ich aufeinmal wieder Nummern

@Loredo:
konnte dein Problem nachstellen, habe ein attr webname angelegt und schon codemirror nicht mehr funktioniert. mit delattr wieder entfernt und es ging wieder.

Ich verstehe aber nicht was genau du mit dem Editierfenster meinst  :-[
Viele Grüße Sandra - FHEM Style Entwicklerin iOS6+12
-----
ZBox nano, Homematic, Homebridge, Hue + Mi Light, ZWave, Dyson, etc.
https://www.foodcat.de
https://www.youtube.com/c/FoodCat (hier gibt es auch immer mehr Hausautomatisierungsvideos)

Loredo

Zitat von: Blackcat am 02 Februar 2015, 19:45:41
Ich verstehe aber nicht was genau du mit dem Editierfenster meinst  :-[


Du schreibst im ios6 Post:
Zitat von: Blackcat am 09 Mai 2014, 15:56:23Wichtig für das Toggle Menü - Responsive Design : Sollte kein Dashboard eingerichtet sein :attr WEBtablet JavaScripts pgm2/jquery.min.js pgm2/ios6.js


Mit den aktuellen Änderungen in FHEMWEB darf pgm2/jquery.min.js offenbar nicht mehr enthalten sein, da es anderweitig bereits geladen wird.

Andernfalls funktioniert das Settingsmenü (wie du es nennst) nicht mehr. Wenn man z.B. das room Attribut ändern möchte und in das Value-Feld klickt, dann öffnet sich das Settingsmenü nicht mehr und man kann das Value-Feld auch nicht manuell editieren. Man muss das Kommando-Feld oben benutzen und das Attribut manuell per Befehl setzen. Korrigiert man wie oben erwähnt das JavaScript Attribut in FHEMWEB, dann funktioniert das Settingsmenü wieder.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Blackcat

oh ok, dann muss nur noch
attr WEBtablet JavaScripts pgm2/ios6.js codemirror/fhem_codemirror.js
stehen

ich passe das an  ;)

aber das behebt wahrscheinlich nicht dein Codemirror mit Fhem webname attr :(
Viele Grüße Sandra - FHEM Style Entwicklerin iOS6+12
-----
ZBox nano, Homematic, Homebridge, Hue + Mi Light, ZWave, Dyson, etc.
https://www.foodcat.de
https://www.youtube.com/c/FoodCat (hier gibt es auch immer mehr Hausautomatisierungsvideos)

rudolfkoenig

Ich habe aus www/codemirror/fhem_codemirror.js das Laden der jQuery entfernt, damit funktioniert bei mir auch etwas besser bei geaenderten webname (warum, habe ich aber nicht verstanden). Es bleibt noch ein direkter Aufruf in www/codemirror/fhem.js
$.getJSON( '/fhem?cmd=jsonlist2&XHR=1', function ( data ) {
mit hartcodierten Namen, das koennte man gegen location.pathname austauschen.
Das sollte aber betateilchen machen, ist "seine" Datei.

Loredo

Danke dir, Rudi. Vielleicht fühlt sich betateilchen ja berufen deinem Hinweis zu folgen, nachdem er mir gar nicht geantwortet hat.

Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

justme1968

@rudi: irgendetwas stimmt mit der letzen änderung nicht. ich habe zwei probleme mit dem codemirror im textfield-long:

- codemiror geht nur beim ersten aufruf. im gegensatz zur verwendung für DEF wird hier die seite nicht neu geladen und cm_loaded nicht wieder auf 0 gesetzt. beim zweiten aufruf funktioniert die prüfung auf != 4 nicht mehr. ein einfaches auf 0 setzen in AddCodeMirror reicht aber scheinbar nicht. der text ist dann im editor erst nach einem klick zu sehen.

- nach dem schliessen des popup wird nicht der editierte text übernommen sondern der ursprüngliche.

beides war vorher anders.

hast du eine idee woran es liegt?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig

Jetzt ja, allerdings hat das Zeit gekostet. Ich behaupte, textfield-long hat noch nie mit Codemirror funktioniert.

Wenn ich es richtig sehe, modifiziert CodeMirror das form-submit, damit die Werte uebernommen werden, ohne form/submit muss man diese Uebernahme selbst bauen. Das habe ich eingebaut, und das tut auch. Beim erneuten Aufruf ist die Darstellung aber erstmal schwarz, bis man was eintippt. Die Ursache habe ich nicht rausgefunden, im codemirror.js/updateDisplayInner() ist beim zweiten Aufruf display.wrapper.offsetWidth falsch, warum, weiss ich nicht, hier darfst Du es uebernehmen.

Ich habe den Rest auch etwas optimiert (z.Bsp. kein send an Backend im Raumansicht, falls man reinclickt, etc) und eingecheckt.

justme1968

ich bin mir sehr sicher das es funktioniert hat. ich habe es ja verwendet.

das mit dem schwarzen fenster schaue ich mir an.

danke
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rapster

#12
Sowohl das Problem mit dem schwarzen Fenster beim zweiten öffnen,
wie auch das Problem des verutschten Textes beim zweiten Aufruf welches durch die aktuelle codemirror.js ( 5.8 ) und aktivierten lineNumbers entsteht:
(http://forum.fhem.de/index.php?action=dlattach;topic=33226.0;attach=39252;image)

Konnte bei mir durch einbinden der autorefresh.js und setzen des Parameters
autoRefresh: true

behoben werden.

Ein zweiter Aufruf verhält sich jetzt genauso wie der erste.

Gruß
  Claudiu

betateilchen

Zitat von: Loredo am 03 Februar 2015, 20:45:02
Danke dir, Rudi. Vielleicht fühlt sich betateilchen ja berufen deinem Hinweis zu folgen, nachdem er mir gar nicht geantwortet hat.

Nur um das mal richtigzustellen, weil mir das nun schon zu zweiten Mal heute auffällt: Für die in www/codemirror enthaltenen, von anderen Forummitgliedern in der Entwicklungsphase erstellten .js Dateien habe ich nichts zu tun. Meine Aufgabe war damals bei der Einbindung des codemirror lediglich, dafür zu sorgen, dass die Dateien an der richtigen Stelle im SVN auftauchen und dazu auch ein Maintainer angegeben ist. Insofern ist meine "Verantwortung" eher organisatorischer Natur und nicht inhaltlich. Ich hasse Javascript.

Falls jemand die komplette Pflege von codemirror übernehmen möchte - einfach bei mir melden, ich habe nichts dagegen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rapster

Betateilchen, ok, js ist zwar auch nicht mein Steckenpferd, allerdings würde ich dann mal, falls nichts dagegen spricht, (fhem_)codemirror ein update verpassen, minified version einchecken, standardmäßig search & replace aktivieren, autorefresh aktivieren, die extraKeys aus dem anderen Thread zur verfügung stellen, und mich vorerst mal als Maintainer eintragen?