Repository navigation
Entwicklung Icons
Tabler Outline wird lokal vendort. Verfügbare Namen stehen in
app/static/icons/tabler-auswahl.txt.
Neue Namen dort ergänzen und npm run vendor ausführen; npm run vendor:check
prüft SVGs, Lizenz und das generierte icons.js. Diese Datei nicht von Hand ändern.
{{ icon("printer") }}
{{ icon("alert-triangle", size="sm", cls="ecp-icon--warning") }}
<button aria-label="Schließen">{{ icon("x") }}</button>
{{ icon("info-circle", label="Information") }}Dekorative Icons sind für Screenreader verborgen. label= erzeugt role="img",
aria-label und einen SVG-Titel. Icon-only-Buttons brauchen aria-label oder
label=. Die Helfer stehen auch in den weiteren Jinja-Environments zur Verfügung.
xs, sm, md (Standard), lg entsprechen 16, 20, 24, 32 px.
Standardfarbe ist die geerbte Textfarbe. Farbklassen: ecp-icon--muted,
ecp-icon--danger, ecp-icon--warning, ecp-icon--success, ecp-icon--info,
ecp-icon--on-primary; sie verwenden die Theme-Tokens. Buttons und Navigation
verwenden gap für den Abstand zum Text.
{{ status_dot("gruen", "Einsatzbereit") }}Statuswerte: rot, orange, gelb, gruen, blau, grau, schwarz, weiss.
Das Label liefert Textalternative und Tooltip. JS: ecpStatusDot('gruen', 'Einsatzbereit').
ecpIcon('printer', {size: 'sm', cls: 'ecp-icon--muted', label: 'Drucken'});
ecpMarkerIcon('firetruck', {color: '#d42225', size: 36, cls: ''});ecpIcon gibt einen SVG-String zurück. Unbekannte Namen verwenden help-square
und warnen einmal je Name; Python wirft mit ICONS_STRICT=true einen KeyError.
Unbekannte Größen oder Statuswerte sind Fehler.
ecpMarkerIcon liefert mit Leaflet ein L.divIcon, sonst null. Standard:
32 px, Farbe #d42225. Erlaubt sind Hexfarben und var(--token); ungültige Farben
fallen auf den Standard zurück. icons.js wird im Service Worker precacht.
Weitere Optionen: text zeigt statt eines Icons ein (escaptes) Fachzeichen im
Marker, border einen Rahmen (nur einfache CSS-Werte). Der Marker ist ein Kreis
und mittig verankert – keine Pin-Anker ([x, 2x]) übernehmen.
-
modul_icon("archiv")– einheitliches Icon je Modul (MODUL_ICONSinapp/core/icons.py). -
merkmal_icon(merkmal)– Objektmerkmal: Tabler-Icon ausicon_name, sonst Altwert ausicon, sonsttag. In der Katalogpflege wird das Icon ausgewählt. - PDF-Templates binden
pdf/_icon_styles.htmlein (Größen in pt). Der xhtml2pdf-Fallback entfernt System-Icons überstrip_icons_for_xhtml2pdf.
- In Flex-Containern fällt das Leerzeichen zwischen Icon und Text weg –
gapsetzen. -
x-text/textContentnie mit SVG-Strings füllen; Icon statisch daneben, beix-showmitx-cloak. -
<option>kann kein SVG – dort keine Icons.
UI-Emojis und weitere Icon-Bibliotheken/CDNs sind ausgeschlossen. Bewusst als Emoji
bleiben: externe Textkanäle (SMS/Teams/Mail/Push), Gefahren-Piktogramme (fachliche
Information), Feuerwehr-Fachzeichen ohne Tabler-Entsprechung (Mure, Damm, Brücke,
Verklausung, Kartenlegenden, taktische Zeichen), Kompatibilitätsfelder in JSON-Ausgaben.
Jede verbliebene Stelle steht mit Begründung in tests/data/icon_emoji_baseline.txt
(Gründe: AUSNAHME_GRUENDE in scripts/icon_inventar.py).
Einsatz führen
Im Einsatz
Einsatzbegleitend
Verwaltung & Planung
Auswertung
Großschadenslage
Verwaltung
Systemadministration
- Überblick und Inbetriebnahme
- Systemdiagnose
- Datenbank: Snapshot-Isolation
- System-Admin-MCP
- Zwei-Faktor-Authentifizierung
Mehr