Styleguide (in Bearbeitung)

Aus Wiki openKONSEQUENZ
Version vom 23. Mai 2019, 15:35 Uhr von Eschlenker (Diskussion | Beiträge) (Definition von Standard HTML Elementen)

Wechseln zu: Navigation, Suche

zurück zur Hauptseite zurück zur Styleguide

Zielsetzung und Abgrenzung

Zielsetzung und Abgrenzung der Styleguide Vorgaben
Zielsetzung:

  • Konsolidierung des UI StyleGuides
  • Evaluierung Tooling für den StyleGuide
    - IMIS
    - Wiki
    - sonst
  • Package Manager (npm)
  • Entwurfsentscheidungen ng Components vs Elements
  • Best of Konsolidierung der Steuerelemente aus den existierenden UserModulen
  • UX Vorgaben definieren
  • Paketierung der Styles (customized Bootstrap Template, eigenes allg. OK Stylesheet) als npm

    Abgrenzung:
  • Vorerst kein Code (nur beispielhaft)

    Design

    zum Seitenanfang #top

    Farben

    Hauptfarben

    Bezeichnung Farbe
    Primary
    #003a5f
    Success
    #80b300
    Info
    #0080c0
    Default
    #ffffff
    Text
    #333333

    Farbverläufe

    Bezeichnung Farbe CSS
    Streifen Header
    #79b61c - #0281c4
    background: linear-gradient(to right, rgba(121, 182, 28, 1) 0%, rgba(2, 129, 196, 1) 75%) repeat scroll 0 0 rgba(0, 0, 0, 0);
    Balken Header
    #e8eee7- #e5edf2
    background: linear-gradient(to right, rgba(232, 238, 231, 1) 0%, rgba(229, 237, 242, 1) 75%) repeat scroll 0 0 rgba(0, 0, 0, 0);

    Flächen und Linien

    Bezeichnung Farbe
    Hintergrund
    #f8fafd
    Flächen/Tabellen
    #f5f8fc
    Hervorhebung/Eingabefelder/Tabellenzeilen
    #e9f0f9
    Linien
    #ccdbe6
    Umrandung Formularfelder
    #b7cbda

    Sekundärfarben

    Bezeichnung Farbe
    Warning
    #ffb200
    Danger
    #990000
    Disabled
    #567d96

    Schriftarten

    Schriftfamilie

    Um ein einheitliches Erscheinungsbild der Anwendung sicherzustellen wurde die Schriftart Source Sans Pro festgelegt. Diese Schriftart soll bei allen Masken und Texten verwendet werden.

    Download-Link

    WebFont-Link

    Rahmenabstände

    Symbole

    In diesem Abschnitt werden allgemeine Bedien- und Status-Symbole beschrieben. Um ein einheitliches Aussehen der oK-Module sicherzustellen, sollen diese anwendungsübergreifend verwendet werden.

    Symbol Bezeichnung
    Filter.icon.svg
    Filter
    Menu.icon.svg
    Menü
    Search.icon.svg
    Suche
    Warning.icon.svg
    Warnung

    technische Vorschläge

    Komponenten

    Standard-Steuerelemente

    Eingabefeld (text)

    Darstellung

    inaktiv

    inaktives Eingabefeld mit Beschriftung "Beschreibung*"

    aktiv

    aktives Eingabefeld mit Beschriftung "Beschreibung*"

    Führungstext (label)

    Schaltfläche (button)

    Farben

    Schaltfläche Hintergrundfarbe Konturfarbe Textfarbe
    Primary
    #003a5f
    #002a45
    #ffffff
    Default
    #ffffff
    #b7cbda
    #0b325c
    Success
    #80b300
    #6e9a00
    #ffffff
    Info
    #0080c0
    #006fa7
    #ffffff
    Warning
    #ffb200
    #e6a000
    #ffffff
    Danger
    #990000
    #800000
    #ffffff
    Disabled
    #337ab7
    #2e6da4
    #ffffff

    Auswahl (check-box)

    Darstellung

    Auswahl mit Beschriftung "Gesamtnetz für Abregelung*"

    Auswahllisten (MultiSelect)

    Hinweis: Ticket SG-19

    Web primeng-multiselect-Link
    Web primeng-chips-Link

    Darstellung
    Als Dropdown

    Multiselect
  • Ohne Icons
  • Mit Icons
  • Filterbar

    Als Chips
    Multiselect als Chips
  • Ohne Icons
  • Mit Icons
    Beide Steuerelemente können kombiniert eingesetzt werden

    Dropdown-Liste (drop-down list)

    Darstellung inaktiv

    inaktive Dropdown-Liste mit Beschriftung "Grund der Abregelung*"

    aktiv

    aktive Dropdown-Liste mit Beschriftung "Grund der Abregelung*"

    Kalender (calendar)

    Darstellung

    Kalender mit Beschriftung "Startzeitpunkt*"

    Netzspezifische Icons

    Hinweis: Ticket SG-15
    offener Punkt, Klärungsbedarf

    Es werden die Icons der e-netz bereitgestellt. Lizenz MIT?

    Steuerelemente für Formulare

    Hinweis: Ticket SG-13

    Zur Erfassung von Daten werden Eingabe- und Auswahlfelder bereitgestellt, in die der Benutzer Werte über die Tastatur oder eine Werteliste eingeben kann oder Auswahlknöpfe, die der Benutzer mit der Maus beeinflusst. Hierbei werden Pflichtfelder (müssen gefüllt werden und sind mit einem Sternchen entsprechend gekennzeichnet) und Kann-Felder (können gefüllt werden) unterschieden. In der folgenden Tabelle finden Sie eine Auflisten der möglichen Steuerelemente für Formulare. Auf die einzelnen Elemente wird in den folgenden Abschnitten weiter eingegangen.

    Pflichtfeld Typ Visualisierung
    text invalid Steuerelemente fuer Formular 1.png
    text valid Steuerelemente fuer Formular 2.png
    numeric valid Steuerelemente fuer Formular-numeric.png
    date,datetime,date range valid Steuerelemente fuer Formular 3.png
    Gesperrt Steuerelemente fuer Formular 4.png
    Drop-Down valid Steuerelemente fuer Formular 5.png
    Validierung beim Verlassen eines Feldes Steuerelemente fuer Formular 6.png

    Steuerelement Kalender

    Hinweis: Ticket SG-14

    Web primeng-calendar-Link

    Darstellung

    Darstellung der Kalenderansicht für Monat, Woche und Tag

  • Sprung aus der Monatsansicht durch klick auf den Wochentag in die Tagesansicht
  • Termin durch klick editierbar
  • Neuen Termin durch klicken in freien Zeitraum
  • Neue Terminspanne durch klick mit SHIFT und markieren mit der linken Maustaste in freien Zeitraum
  • Monatsansicht, Tagesansicht, Wochenansicht, Arbeitswochenansicht
  • Drag & Drop
    Termine in einen anderen Wochentag verschieben (Monatsansicht, Wochenansicht)
    Termin zeitlich innerhalb eines Tages verschieben und Zeitspanne anpassen (Wochenansicht, Tagesansicht)
  • Termine ICS-Format exportieren (generell in der Applikation!)
  • Filtern über Kalendereinträge (ArrayList)
  • Unterschiedliche farbliche Darstellung einzelner Termine (Termin Template)

    Steuerelement Grid

    Hinweis: Ticket SG-12

  • Buttons zum Absprung in Detailmaske (Lese/Bearbeitung), Stornierbutton in die erste Linke Spalte im Grid
  • Absprung durch Doppelklick in Detailmaske (Lese/Bearbeiten)
  • Datensatz hinzufügen-Button rechts oberhalb des Grid´s
  • Alternating row color
  • Hovereffekt (Zeile)
  • Einzelselektion und Mehrfachselektion mit Strg-Taste, Shift-Taste
  • Hovereffekt in Spaltenkopf unterstreichen und Mauscursor Hand (Rückmeldung für mögliche Aktionen an den Benutzer)
  • Klick auf Spaltenkopf, Sortierung ASC, DESC
  • Merfachsortierung durch klicken der Shift-Taste
  • Filterzeile als eigene Zeile direkt unterhalb des Spaltenkopfs
  • Virtual scrolling anstatt Pagination
  • Spaltenkopf mit Filter und Fußzeile bleiben beim scrollen stehen
  • Quickfiler (optional)
  • Externe Filter (optional) aber als Toggle-Switch
  • Stylevorgaben kommen per ok-vendor.sass !!!!!!!!!
    - Schriftrart
    - Schriftgröße
    - Zeilenhöhe
    - Farben
    - Style fürs Grid
  • Kompaktes Grid definieren. Spaltengröße sinnvoll definieren

    Tabellen/Listen

    Tabelle

    Darstellung

    Darstellung einer Tabelle

    Elemente

    Elemente einer Tabelle

    1 Tabellenkopf
    1.1 Spaltenüberschrift
    1.2 Sortiereinstellungen
    1.3 Spaltenkopf
    1.4 Spaltenfilter
    1.5 Spaltensortierung
    2 Tabelleninhalt
    3 Tabellenfuß
    3.1 Spaltenfuß

    blätterbare Tabelle

    Darstellung

    Darstellung einer blätterbaren Tabelle

    Elemente

    Elemente einer blätterbaren Tabelle

    1 Tabellenkopf
    1.1 Spaltenüberschrift
    1.2 Sortiereinstellungen
    1.3 Spaltenkopf
    1.4 Spaltenfilter
    1.5 Sortierung
    2 Tabelleninhalt
    3 Seitennavigation

    oK-Steuerelemente

    Topologie-Baum

    Das Steuerelement bietet die Möglichkeit, topologische Zusammenhänge eines Stromnetzes hierarchisch darzustellen. Der Topologie-Baum ist als gemeinsames Steuerelment in unterschiedlichen ok-Modulen wiederverwendbar und definiert eine standardisierte Sicht. Die generell möglichen, darstellbaren topologischen Elemente richten sich nach den in oK definierten Elementen.

    Die Klärung der Frage, wie ein Netz hierarchisch dargestellt werden kann und welche Elemente des Netzes tatsächlich angezeigt und ausgewählt werden können, ist nicht Aufgabe dieses Steuerelementes. Dies ist Aufgabe der darunter liegenden Anwendung und kann aufgrund fachlicher Aspekte unterschiedlich ausgeprägt sein.

    Elemente

    Elemente eines Topologie-Baums

    1 Steuerleiste
    1.1 Suchbegriff
    Im Eingabefeld "Suchbegriff" können Begriffe eingeben werden, nach denen in der zugrundeliegenden Topologie gesucht werden kann. Die Begriffe können folgende Platzhalter (Wildcard) beinhalten:

    Platzhalter Bezeichnung Verwendung
    ? Fragezeichen Platzhalter für genau ein Zeichen
    * Sternchen Platzhalter für beliebig viele (auch null) Zeichen
    # Doppelkreuz Platzhalter für einen numerischen Wert

    1.2 Suchen
    Durch Drücken der Schaltfläche "Suchen", wird nach dem angegebenen Suchbegriff gesucht. Ist die Suche erfolgreich, werden alle Elemente im Navigationsbereich ausgewählt (Mehrfachselektion), die dem Suchbegriff entsprechen. Gleichzeit wird zum ersten Element aus der Ergebnismenge gesprungen.

    1.3 Einstellungen
    Über die Schaltfläche "Einstellungen" können Filterkriterien definiert werden, die die Anzeige auf passende topologische Elemente im Navigationsbereich einschränken.

    Warning-yellow.icon.svg Die Definition möglicher Filterkriterien und Regelwerke ist Teil späterer Festlegungen.

    2 Statusleiste
    Die Statusleiste zeigt allgemeine Informationen zu den im Navigationsbereich angezeigten Elementen an.
    2.1 Datum
    Das Erstellungsdatum (Stand) der zugrundeliegenden Daten, auf dem die Anzeige im Navigationsbereich basiert.
    2.2 Uhrzei
    Die Erstellungsuhrzeit(Stand) der zugrundeliegenden Daten, auf dem die Anzeige im Navigationsbereich basiert.
    2.3 Filter
    Das Symbol "Filter" zeigt an, ob mindestens ein Filter aktiviert ist.
    2.4 Benachrichtigung
    Im Benachrichtigungsbereich können verschiedene Symbole angezeigt werden, die über zusätzliche Hinweise informieren. In Beispiel ist liegt hier eine Warnungmeldung vor.

    3 Navigationsbereich
    Im Navigationsbereich werden topologische Zusammenhänge in einer baumartigen Struktur angezeigt. Die Ausprägung der Topologie als Hierarchie ist Aufgabe der jeweiligen Anwendung.

    Ordnung/Sortierreihenfolge
    Die Ordnung bzw. Sortierreihenfolge ist abhängig von den topologischen Zusammenhängen. Sie lässt sich nicht über das Steuerelement beeinflussen.

    Definition von ok HTML Elementen

    Hinweis: Ticket SG-11

    ok HTML Elemente müssen durch npm paketiert und oK-konform gestyled werden.

    Zu den oK HTML Elemente zählen:

  • Date (primeng)
  • DateTime (primeng)
  • DateRange (primeng)
  • komplexe DropDown (primeng) bspw. Icons, Tabelle, Gruppen
  • Grid (ag-grid)
  • Gantt (zurzeit nichts geeignetes gefunden)
  • Kalender (primeng)
  • Charts (primeng, c3js, d3js)
  • Navbar (ok-element)
  • Modale Dialoge (primeng) sollten vermieden werden
  • Tabs (primeng)
  • Akkordion (primeng)
  • MultiSelect (primeng)
  • Chips (primeng)
  • Editor (primeng)
  • Messages toast (primeng)

    ACHTUNG: Nicht definierte ok Steuerlemente immer erst bei primeng schauen!

    Weitere Steuerlemente müssen über SaaS Themeable sein!
  • Web primefaces - Link
  • Web ag-grid - Link
  • Web c3js.org - Link
  • Web d3js.org - Link

    Definition von Standard HTML Elementen

    Hinweis: Ticket SG-10

    Standard HTML Elemente müssen nicht durch npm paketiert werden.
    Es ist ausreichend, ok-Styles als npm Pakete zu definieren und auf den HTML Elementen anzuwenden.

    Zu den Standard HTML Elemente zählen:

  • Textfelder
  • Validation
  • Passwort
  • Simple DropDown Listen
  • CheckBox
  • Buttons
  • Button Groups
  • Radio Buttons
  • File Upload
  • Numerics
  • (Drag&Drop)
  • List Group
  • Tables (wenn keine besonder Funktionalität, sonst ag-grid)

    Components aus https://getbootstrap.com

    Kartendarstellung

    Hinweis: Ticket SG-16
    offener Punkt, Klärungsbedarf

    In diesem Kapitel geht es um das Einbinden von Karten-Elementen auf Webseiten.

    Web OpenLayers-Link

  • Unterstützt WMS-Services
  • OpenSreetMap muss Lizenz geklärt werden! ODbL.

    Layout

    Portal

    Standarddialoge

    Eingabedialog

    Darstellung

    Darstellung eines Eingabedialogs

    Elemente

    Elemente eines Eingabedialogs

    1 Titel
    2 Anzeige-/Eingabebereich
    3 Steuerleiste

    Benachrichtigungsdialog

    Darstellung

    Darstellung eines Benachrichtigungsdialogs

    Elemente

    Elemente eines Benachrichtigungsdialogs

    1 Titel
    2 Benachrichtigung
    3 Steuerleiste

    Wizard

    Darstellung

    Darstellung eines Wizards

    Elemente

    Elemente eines Wizards

    1 Überschrift
    2 Bearbeitungsschritte
    3 Inhalt
    4 Steuerleiste

    Message Toast

    Hinweis: Ticket SG-20
    Ein Message Toast ist ein kurzer Hinweistex welcher als Popup eingeblendet und nach einem Moment wieder ausgeblendet wird, ohne das zwangsläufig eine Benutzeraktion erfolgen muss.
    Die Eigenschaften eines Toast können beliebig konfiguriert werden.

    Darstellung

    Darstellung eines Message Toast

    Für open KONSEQUENZ wurden folgende Konfigurationen abgestimmt

  • Toasts erscheinen oben rechts
  • Verschwinden nach rechts oben
  • Automatisches verschwinden nach:
       Erfolgreich: 2 Sekunden
       Info: Muss manuell geschlossen werden
       Warnung: 7 Sekunden
       Fehler: 7 Sekunden
  • Messages: Erfolgreich, Fehler, Info, Warnung
  • Maximal drei Zeilen Content in einem Toast
  • Defaultfarben verwenden

    Web primeng-Toast-Link

    Navigationselemente


    Um das Navigieren innerhalb einer Web-Seite zu vereinfachen gibt es unterschiedliche Navigationselemente, diese werden in den folgenden Kapiteln kurz erläutert.

    Navigation Bar (Navbar)

    Hinweis: Ticket SG-21
    Das Navbar-Element ist ein permanent sichtbares Navigationselement, welches horizontal oder vertikal auf einer Webseite angeordnet werden kann und dem Benutzer die Möglichkeit bietet, wichtige Seiten direkt aufzurufen. Der Vorteil ist, dass eine Navbar für jede Seite separat konfiguriert werden kann.

    Darstellung

    Darstellung einer Navbar mit Autodisplay


    Darstellung einer Navbar ohne Autodisplay


    Vorteile einer Navbar:

  • Bietet einen schnellen Überblick über die Struktur der Webseite
  • Jede Seite, bzw. Kategorie ist direkt über die Navbar ansteuerbar
  • Die Navbar ist für jede Seite separat konfigurierbar
  • Für jedes Navigationselement kann ein eigenes Submenü erstellt werden
  • Die aktuelle Seite kann farblich hinterlegt werden
  • In einer Navbar können Funktionen wie zum Beispiel Abmelden oder eine Such-Funktion eingebunden werden
  • Es können bis zu vier Navbars auf einer Seite verwendet werden (Standartmäßig werden aber nur zwei implementiert)

    Nachteile einer Navbar:
  • Muss für jede Seite einzeln Konfiguriert werden
  • Kann bei umfangreichen Seiten schnell unübersichtlich werden oder Überladen wirken

    Web primeng-menubar-Link

    Accordion

    Hinweis: Ticket SG-18
    Beschreibung
    Ein Accordion ist ein Navigationselement, welches dazu dient umfangreiche Listen mit Inhalten platzsparend auf Webseiten abzubilden.
    Web primeng-accordion-Link

    Darstellung
    Einzelselektion

    Akkordion-einzelselektion.png

    Mehrfachselektion

    Akkordion-mehrfachselektion.png

    TabView

    Hinweis: Ticket SG-17
    Eine TabView ist eine Komponente zum einfachen Gruppieren von Inhalten auf einer Seite in Form von Registerkarten. Auf jeder Registerkarte können z.B. Formulare implementiert werden, die durch den Anwender abgearbeitet werden müssen. Durch die Verwendung von Registerkarten wird ein schnelles Navigieren zwischen den einzelnen Inhalten ermöglicht. Zudem können diese Registerkarten je nach Anfordeung konfuguriert werden.

    Web primeng-tabview-Link

    Darstellung einer TabView

    Für openKONSEQUENZ wurden folgende Konfigurationen vorgegeben:

  • Valid: Grüner Balken in Tab (Nur wenn allen Steuerelementen im Content valid sind)
  • Invalid: Roter Balken in Tab
  • Neuen Tab dynamisch hinzufügen per + Tab
  • Tab entfernen mit Lösch-Button im Content-Bereich
  • Icons können je nach bedarf im Tab angezeigt werden
  • Ausrichtung der Tabs (oben, unten, links, rechts)

    Barrierefreiheit

    Internationalisierung

    =allg. Usability-Richtlinien=