Stylesheet wird vom switch nicht übernommen

Begonnen von Sailor, 23 März 2018, 11:16:29

Vorheriges Thema - Nächstes Thema

Sailor

Hallo zusammen

ich bin erst vor Kurzem (letzte Woche) auf das ftui gestossen und hellauf begeistert.
Da hat sich Jemand endlich mal was einfallen lassen, fhem WAF-tauglich zu bekommen!  ;D

Und schon habe ich ein Problem, von dem ich nicht glaube, dass ich der Erste mit diesem Problem bin.

Ich habe in meiner index.html einen header-Eintrag gemacht der lautet wie folgt:

<link rel="stylesheet" href="css/fhem-darkblue-ui.css" />

Dies funktioniert auch für die bereits von mir verwendeten Widgets wie "homestatus" und "push".
Beide sind in ihrer Farbe auf dunkelblau umgestiegen.

Nur das Widget "switch" zickt rum und bleibt auf der Farbe "Amber" fest.

Ich habe mal die .css Dateien verglichen und mir ist aufgefallen das widget_push den folgenden Eintrag hat:

            elem.initData('off-color', ftui.getStyle('.' + me.widgetname + '.off', 'color') || '#505050');
            elem.initData('off-background-color', elem.data('background-color') || ftui.getStyle('.' + me.widgetname + '.off', 'background-color') || '#505050');
            elem.initData('on-color', ftui.getClassColor(elem) || ftui.getStyle('.' + me.widgetname + '.on', 'color') || '#aa6900');
            elem.initData('on-background-color', ftui.getClassColor(elem) || ftui.getStyle('.' + me.widgetname + '.on', 'background-color') || '#aa6900');
            elem.initData('background-icon', 'fa-circle-thin');


Während das widget_switch lediglich ein



            elem.initData('off-color', elem.data('color') || '#2A2A2A');
            elem.initData('off-background-color', elem.data('background-color') || '#505050');
            elem.initData('on-color', elem.data('color')  || '#2A2A2A');
            elem.initData('on-background-color', elem.data('background-color') || '#aa6900');


Aber selbst wenn ich widget_switch wie folgt ändere funktioniert es nicht:


            elem.initData('off-color', elem.data('color') || ftui.getClassColor(elem) || ftui.getStyle('.' + me.widgetname + '.off', 'color') || '#2A2A2A');
            elem.initData('off-background-color', elem.data('background-color') || ftui.getClassColor(elem) || ftui.getStyle('.' + me.widgetname + '.off', 'background-color') || '#505050');
            elem.initData('on-color', elem.data('color') || ftui.getClassColor(elem) || ftui.getStyle('.' + me.widgetname + '.on', 'color') || '#2A2A2A');
            elem.initData('on-background-color', elem.data('background-color') || ftui.getClassColor(elem) || ftui.getStyle('.' + me.widgetname + '.on', 'background-color') || '#aa6900');


Was mache ich hier falsch?

Gruss
   Sailor
******************************
Man wird immer besser...

setstate

Oh, da bist du gerade auf eine offene Baustelle gestoßen. Bei mir bin ich da schon ein Stück weiter. Ich versuche mal heute Abend den neusten Stand hochzuladen. Da werden dann auch Beispiele dabei sein (z.B. Darkgreen) wo man die neue Art der Definition gut sieht. Push, Switch und Symbol werden dann nur noch mit reinem CSS gestylt. Ohne getStyle() Umweg. Nur noch Widgets, die per Canvas gezeichnet werden (Knob, Thermostat, Volume ...), brauchen das noch und damit auch ein reinit() beim Style live wechseln.

Sailor


Hi setstate

Zitat von: setstate am 23 März 2018, 11:28:32
Oh, da bist du gerade auf eine offene Baustelle gestoßen.
Kaum dabei und schon beta-Tester!  ;D

Zitat von: setstate am 23 März 2018, 11:28:32
Bei mir bin ich da schon ein Stück weiter. Ich versuche mal heute Abend den neusten Stand hochzuladen.
Nur immer her damit. Dann zerbreche ich mir nicht weiter den Kopf darüber.


Ich habe da einen weiteren Vorschlag:
a) ein weiteres Verzeichnis unter ./www/tablet/examples
b) Dort die ganzen Beispieldatein hinterlegen
c) Das ./www/tablet/ komplett leer lassen.

Damit wird verhindert, das bei einem Updat die index.html überschrieben wird ohne dass man die html Dateien unter "exclude_from_update" in den global attributes aufführen muss.

Gruss
    Sailor
******************************
Man wird immer besser...