Icon
generateIcon(id, config) rendert ein Classic-Solid-Icon aus dem Font-Awesome-Pro-Kit mit
Titel. Der aktuelle State kommt aus config.value; konkrete Treffer stehen in
config.states. Wenn kein Treffer passt, wird config.default verwendet und No-Data-Text
angezeigt.
SENS-Aliase, direkte Font-Awesome-Slugs und app_color Farben stehen in den Grundlagen
unter Icons & Farben.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
generateIcon(id, config) | Ja | (string, IconConfig) => void | - | Entry point. |
config.icon | Ja | string | meal | SENS-Alias oder direkter Font-Awesome-Slug. |
config.title | Ja | string | - | Text unter dem Icon. |
config.value | Nein | string | number | - | Aktueller Wert, z.B. $button_1. |
config.states | Nein | IconStateItem[] | siehe unten | Konkrete State-Matches. |
config.default | Nein | IconDefaultState | siehe unten | Fallback-State mit No-Data-Anzeige. |
State Items
Abschnitt betitelt „State Items“config.states enthält nur konkrete Wert-Matches.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
states[].value | Ja | string | number | - | Wert, der mit config.value verglichen wird. |
states[].color | Nein | number | string | 6 | Farbe aus dem gemeinsamen app_color Katalog. |
states[].icon | Nein | string | - | Optionaler Alias oder FA-Slug statt config.icon. |
Diese Werte werden gleich behandelt: 0, 0.0, '0', '0.0'; ebenso 2, 2.0,
'2', '2.0'.
Ein leerer String ('') wird nicht als 0 normalisiert. Er führt wie fehlende Daten in
den Default-State.
Default State
Abschnitt betitelt „Default State“Der Default-State wird verwendet, wenn kein states Eintrag passt. Er rendert immer
No-Data-Text.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
default.color | Nein | number | string | 7 | Farbe aus dem gemeinsamen app_color Katalog. |
default.icon | Nein | string | - | Optionaler Alias oder FA-Slug statt config.icon. |
default.noDataText | Nein | string | NODATA | Text unter dem Icon. |
Wenn config.states fehlt, gelten diese Defaults:
Wenn config.default fehlt, gilt dieser Default:
Beispiele
Abschnitt betitelt „Beispiele“Mahlzeit
Abschnitt betitelt „Mahlzeit“Alle alten Button-Icons
Abschnitt betitelt „Alle alten Button-Icons“State-spezifisches Icon
Abschnitt betitelt „State-spezifisches Icon“Direkter Font-Awesome-Slug
Abschnitt betitelt „Direkter Font-Awesome-Slug“Für neue Icons ist kein Eintrag im JavaScript notwendig:
SENS-Alias
Abschnitt betitelt „SENS-Alias“Wenn der fachliche Name vom Font-Awesome-Slug abweicht, greift das zentrale Mapping:
Hier wird mousetrap automatisch als Font-Awesome-Icon mouse-field gerendert.