[FTUI 3] <ftui-icon> map Funktion String und variable Zahl gemeinsam, wie?

Begonnen von CottonIJo, 19 Januar 2023, 18:44:08

Vorheriges Thema - Nächstes Thema

CottonIJo

Hallo zusammen,

bin gerade dabei für die Rollläden ein Bedienfeld zu entwickeln.
Funktioniert auch soweit wie gewünscht, nur bei der Darstellung des Icon für die Position des Rollladen scheitere ich.

Das mapping des ftui-icon funktioniert für on, off und jeder definierten Zahl.
Nur, der Rollladen kann ja jede beliebige Position innerhalb von 0 .. 100 annehmen.

Frage wie muss die Variable für den Zahlenwert definiert sein damit jede Zahl zwischen 1..99 einem Icon zugewiesen wird (und nicht nur 10)?
Momentan kommt bei jeder nicht definierten Rollladenstellung, dass das Icon nicht gefunden werden kann (ausser on, 10, off)

Grüße Joachim

            <!------- Bedienung Rollladen Technikraum --------->
            <ftui-grid-tile row="11" col="24" height="3" width="6" shape="round">
                <ftui-label size="2">UG-Technikraum</ftui-label>
                <ftui-cell>
                    <ftui-row>
                        <ftui-column>
                            <ftui-button (value)="00_UG_Technikraum_Rollladen" states="on" color="primary" fill="solid" margin="1em">
                                <ftui-icon name="angle-double-up" size="2"></ftui-icon>
                            </ftui-button>
                            <ftui-button (value)="00_UG_Technikraum_Rollladen" states="stop" color="primary" fill="solid" margin="1em">
                                <ftui-icon name="ftui-square-o" size="1"></ftui-icon>
                            </ftui-button>

                            <ftui-button (value)="00_UG_Technikraum_Rollladen" states="off" color="primary" fill="solid" margin="1em">
                                <ftui-icon name="angle-double-down" size="2"></ftui-icon>
                            </ftui-button>
                        </ftui-column>

                            <ftui-icon [name]="00_UG_Technikraum_Rollladen:state | map('on:window-shutter-open, 10:window-shutter-alert, off:window-shutter')" size="4">                       
                            </ftui-icon>

                        <ftui-column>
                            <ftui-button (value)="00_UG_Technikraum_Rollladen" states="up" color="primary" fill="solid" margin="1em">
                                <ftui-icon name="angle-up" size="2"></ftui-icon>
                            </ftui-button>

                            <ftui-button (value)="00_UG_Technikraum_Rollladen" states="down" color="primary" fill="solid" margin="1em">
                                <ftui-icon name="angle-down" size="2"></ftui-icon>
                            </ftui-button>
                        </ftui-column>

                    </ftui-row>
                    <ftui-row>
                        <ftui-row width="80%" height="10%">
                            <ftui-label [text]="00_UG_Technikraum_Rollladen:level" unit="%"
                                    [color]="00_UG_Technikraum_Rollladen:level | map('0:red, 50:mygreen, 100:white')" class="size-5">
                            </ftui-label>
                        </ftui-row>
                    </ftui-row>
                </ftui-cell>
            </ftui-grid-tile>

OdfFhem

Neben map gibt es auch noch step.

map bedeutet ... gleich/passend ...
step bedeutet ... ab ...

vermutlich musst Du zunächst on,off auf eine jeweils passende Zahl mappen und anschließend step anwenden ...

CottonIJo

@OdfFhem, das mappen von String --> Zahl hatte ich mir fast schon gedacht.
Wenn ich auf "Step" gehe, muss ich dann für 0 und 100 einen Bereich definieren oder wirken auch einzelne Zahlen,
0, 1..20, 21..50, 51..80, 81..99, 100.
Geht das bei Step jedem Bereichswert sowie einer einzelnen Zahl ein eigenes icon zuzuweisen?

OdfFhem

Nach den Zahlen müsstest Du bei step 0,1,21,51,81 und 100 angeben.

Heißt übersetzt ab 0, ab 1, ab 21, ab 51 , ab 81 und ab 100.