Hallo Zusammen,
leider hab ich im Netz dazu keine Angaben gefunden, die mich weiterbringen.
Ich möchte ein ftui-icon einfärben:
<ftui-icon name="iconname" [color]="device:reading | map('on:success,off:warning')"/>
Das Prinzip von map ist mir hier klar. Aber wie realisiere folgendes: grün, wenn das Device "irgendein Text mit Leerzeichen" im Reading state hat und rot bei allen anderem?
Außerdem habe ich bei einigen Beispielen dieses Hochkomma (`) gesehen. Wann muss ich das benutzen? Was bedeutet in dem folgenden Beispiel das .* ? Ich hatte gehofft, dass .* "bei allem anderem" bedeutet, aber bei mir funktioniert es irgendwie nicht.
<ftui-icon name="trash-o" size="3" color="brown" [class-name]="myAbfall:Biotonne | map('`0|1`:hop,`.*`:')"></ftui-icon>
Ich bedanke mich schon mal für Eure Antworten.
VG
map('(0|1):hop') sollte funktionieren. .*: ohne value bringt ja nicht viel?
So geht es:
<ftui-icon [color]="myDev:myReading | map('´.* .*´:success, ´.*´:danger')" name="wrench"></ftui-icon>
Erklärung:
Der gesamte Ausdruck für [color] steht zwischen Anführungszeichen " "
Der gesamte Ausdruck für map steht zwischen Hochkommas ' '
Der gesamte Ausdruck für RegEx steht zwischen Backticks ´ ´
Der erste RegEx (.* .*) findet Ausdrücke mit irgendwas vor und hinter einem Leerzeichen.
Der zweite RegEx findet alles, was nicht leer ist.
Durch die Reihenfolge der RegExe erreichst du das, was du willst.
Willst du auf state prüfen, lässt du im oben genannten Ausdruck einfach den Teil :myReading weg.
.* .* findet leerzeichen, egal ob was davor oder dahinter ist. wenn das sein soll, dann wäre es .+ .+. wäre für die lesbarkeit aber besser \s zu nutzen
Mein Vorschlag funktioniert - hab ich getestet.
Zitat von: Guybrush am 13 Oktober 2025, 12:24:37dann wäre es .+ .+. wäre für die lesbarkeit aber besser \s zu nutzen
Möglicherweise funktioniert das auch, aber wie sähe denn der vollständige RegEx aus?