Hauptmenü

FTUI version 3

Begonnen von Bunnu, 25 Oktober 2020, 09:25:41

Vorheriges Thema - Nächstes Thema

Eisix

Zitat von: yersinia am 08 Januar 2021, 09:33:12
Läuft auch nicht. Allerdings läuft auch ein
class="size-2 spin"
nicht.
Ich sehe auch gerade, dass die CSS Klasse .spin nicht referenziert wird obwohl sie in der ftui.css definiert ist. Ich werde mal den Browser neu starten.


EDIT: scheint ein Browser-Problem zu sein bei mir, die Klasse wird geladen, aber der FF (84.0.1) interpretiert das auf meiner FTUI3x Seite nicht. Auf anderen (nicht-FTUI-)Seiten funktioniert spin allerdings.

Beim map muss doch : anstatt = sein oder?
Bei mir funktioniert es so

<ftui-icon name="trash-o" color="black" [class-name]="Abfall:Calendar_RestmuellAWB_days | map('1:muellspin, 2:size-2')"></ftui-icon>


Die css Einträge habe ich wegen der Icongröße gemacht da die sonst nicht stimmen oder kann man mittlerweile 2 class angeben?
custom.css

.muellhop {
  animation-name: hop;
  animation-timing-function: cubic-bezier(0.280, 0.840, 0.420, 1);
  animation-duration: 2s;
  animation-iteration-count: infinite;
  font-size: 1rem;
}

.muellspin {
  animation-name: spin;
  animation-duration: 4000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  font-size: 1rem;
}



Gruß
Eisix

octek0815

Zitat von: Eisix am 08 Januar 2021, 10:57:52
Die css Einträge habe ich wegen der Icongröße gemacht da die sonst nicht stimmen oder kann man mittlerweile 2 class angeben?

Ja geht.


[class-name]="HWR1_EG_Fensterrollladen:moving | map('up:blink size-0, down:blink size-0, stop:size-0')">

yersinia

Zitat von: Eisix am 08 Januar 2021, 10:57:52
Beim map muss doch : anstatt = sein oder?
Bei mir geht beides, sowohl : als auch =. ich vermute = kann/soll bei numerischen Werten benutzt werden.

Zitat von: Eisix am 08 Januar 2021, 10:57:52
Die css Einträge habe ich wegen der Icongröße gemacht da die sonst nicht stimmen oder kann man mittlerweile 2 class angeben?
Ja, mit ` (ging bei mir aber auch ohne):
<ftui-icon name="trash-o" color="black" [class-name]="Abfall:Calendar_RestmuellAWB_days | map('1:`size-2 spin`, 2:`size-2`')"></ftui-icon>
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

setstate

Zitat von: yersinia am 08 Januar 2021, 11:18:09
Bei mir geht beides, sowohl : als auch =. ich vermute = kann/soll bei numerischen Werten benutzt werden.

Es geht beides. Der String muss ein gültiges HOCON sein.

https://en.wikipedia.org/wiki/HOCON

https://hocon-playground.herokuapp.com


moonsorrox

#544
@ setstate hast du mal bei meinem Problem mit der map im badge geschaut... ich bekomme es aktuell nicht hin ab Tag 2 eine Zahl anzuzeigen und am letzten Tag im Badge stehen zu haben Heute...

Nur Zahlen geht wunderbar
Es geht mit den Zahlen und werden jetzt auch richtig, wenn ich aber bei 0:Heute in die map eintrage zeigt er mir immer Heute an, evtl hast du es verfolgt...
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

setstate

Zitat von: moonsorrox am 08 Januar 2021, 13:08:56
@ setstate hast du mal bei meinem Problem mit der map im badge geschaut... ich bekomme es aktuell nicht hin ab Tag 2 eine Zahl anzuzeigen und am letzten Tag im Badge stehen zu haben Heute...

Nur Zahlen geht wunderbar
Es geht mit den Zahlen und werden jetzt auch richtig, wenn ich aber bei 0:Heute in die map eintrage zeigt er mir immer Heute an, evtl hast du es verfolgt...

Entweder du nimmst nur Zahlen

| map('0:Heute, 1:Morgen, 2:')

also: ab 0, ab 1, ab 2

Oder du zwingst zu einem RegEx Vergleich

| map('`[0]`:Heute, `[1]`:Morgen, .*:')

Hintergrund ist die benutze Funktion, die versucht den Vergleichstyp zu erraten:


export function isEqualOrGreater(pattern, value) {
  return value === pattern ||
    parseFloat(value) >= parseFloat(pattern) ||
    String(value).match('^' + pattern + '$');
}


Ich glaube es wäre besser, das map aufzusplittern in map (nur String und RegEx) und <andererNameAnstattMap> (Nummer ist gleich oder größer)

yersinia

Oder man erzeugt einfach zwei badges und versteckt immer ein Element:
<ftui-badge [text]="myAbfall:Restmuell_tage | map('0:Heute, 1:Morgen, 2:')"
[color]="myAbfall:Restmuell_tage | map('0:crimson, 1:darkviolet, 2:transparent')"
[hidden]="myAbfall:Restmuell_tage | map('0:false, 1:false, 2:true')" class="size-0">
</ftui-badge> <!-- Heute und Morgen -->
<ftui-badge [text]="myAbfall:Restmuell_tage"
color="darkblue"
[hidden]="myAbfall:Restmuell_tage | map('0:true, 1:true, 2:false')" class="size-0">
</ftui-badge> <!-- alles groesser 1 -->
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

moonsorrox

Zitat von: yersinia am 08 Januar 2021, 14:59:38
Oder man erzeugt einfach zwei badges und versteckt immer ein Element:

das ist eine gute Idee, ich werde mal die Varianten probieren.
Kein Wunder da ich das gestern nicht mehr hinbekommen habe... weil beides eben so nicht geht, dass hattest du ja schon vermutet... ;)
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

octek0815

Zitat von: yersinia am 08 Januar 2021, 14:59:38
Oder man erzeugt einfach zwei badges und versteckt immer ein Element:

So habe ich das auch von Anfang an laufen...


<ftui-column>
<ftui-icon [name]="System_Abfall:urSchwarz | map('0:_abfalltonne_auf, 1:_abfalltonne_zu')" color="_grau1"
[class-name]="System_Abfall:urSchwarz | map('0:spin, 1:hop, 2:')"></ftui-icon>
<ftui-badge [color]="System_Abfall:urSchwarz | map('0=_rot1, 1=_rot1, 2=_orange1, 3=gray')"
[text]="System_Abfall:urSchwarz" [hidden]="System_Abfall:urSchwarz | map('0:true, 1:false')"></ftui-badge>
<ftui-badge [color]="System_Abfall:urSchwarz | map('0=_rot1, 1=_rot1, 2=_orange1, 3=gray')"
[text]="System_Abfall:urSchwarz | map('0:!')"
[hidden]="System_Abfall:urSchwarz | map(' 0:false, 1:true')"></ftui-badge>
</ftui-column>

octek0815

Wie kann ich bei Chart die Punkte verkleinern oder gar weglassen?

moonsorrox

Zitat von: octek0815 am 08 Januar 2021, 18:47:08
So habe ich das auch von Anfang an laufen...
;)
das hat mich schon gewundert das du zwei badge hast, aber ich habe es nicht für wahr genommen..... :-\
War mir so nicht klar, dann hätte ich nur etwas mehr aufpassen müssen  ;)

Aber jetzt geht es ja
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

octek0815

wäre es möglich bei <ftui-content> das file aus einem FHEM Reading zu bekommen?

Beispielhaft...

<ftui-content [file]="Test_Dummy:state"></ftui-content>


Im Reading steht dann z.B. mein_content.html

Eisix

#552
Zitat von: Eisix am 04 Januar 2021, 12:43:34
Geht allerdings muss man das Icon nochmal klicken um einen refresh zu haben



<ftui-tab [view]="TEST"><ftui-icon class="size-2" name="television"></ftui-icon></ftui-tab>


Gruß
Eisix
Geht bei ftui-tab, TEST ist ein reading.

besseres beispiel

                <ftui-tab [view]="hub:activity | map('Fernsehen|Musik|PowerOff:TV, AmazonPrime:AmazonPrime')"><ftui-icon class="size-2" name="television"></ftui-icon></ftui-tab>


Gruß
Eisix

setstate

Zitat von: octek0815 am 09 Januar 2021, 08:22:19
wäre es möglich bei <ftui-content> das file aus einem FHEM Reading zu bekommen?

Beispielhaft...

<ftui-content [file]="Test_Dummy:state"></ftui-content>


Im Reading steht dann z.B. mein_content.html

teils teils

Das Attribute file wird bei Readingänderung gesetzt, aber die Komponente hat noch kein onAttributeChanged() implementiert, was darauf reagiert, um dann loadFileContent() zu rufen.

Müsste ich mal versuchen.

Ein Problemchen sehe ich: es wird dann immer ein ftuiApp.initComponents() für den neuen Content gerufen, aber die alten Inhalte werden nicht sauber aufgeräumt. Ich habe noch keine Ahnung, was die Subscriptions dann machen. Ob es knallt oder nur Datenmüll entsteht.

setstate

Zitat von: yersinia am 08 Januar 2021, 08:39:18
Habe ich jetzt hinzugefügt

<ftui-clock format="eeee, DD.MMMM YYYY" class="size-5"></ftui-clock>
Es funktioniert, aber MMMM gibt für Heute Februar zurück. ^^
(Ja, Systemzeiten FHEm/Browser-OS sind korrekt)


Danke, ist mir garnicht aufgefallen: ist aber jetzt korrigiert.