Partial-Library Light Mode (Default)

Bootstrap Specifica

Die Dokumentation zu sämtlichen Bootstrap-Elementen findet sich hier  https://getbootstrap.com/docs/5.0/components/accordion/
Der div .mobile-screensize-alert wird nur angezeigt auf Bildschirmen < 1024px (Resize to check ;-). Er wird auf allen Seiten zu Beginn eingebunden (nach closing header tag). Er bewirkt, dass alle Inhalte unterhalb ausgeblendet werden.

--- Moleküle


Horizontale Tabs

Die Items der Komponente .nav-tabs-line sind per default gestyled als inaktive .nav-item. Das aktive Item hat daher die zusätzlichen Klasse .active. Disabled Items, welche nicht angewählt werden können, haben die zusätzliche Klasse .disabled. Im Fall des UHR hat das aktive Item die Klasse .h2, da dieses den Titel der Unterseite bildet.


Buttons

Actionbuttons Header / Less-Space-List / Icon-Buttons links/rechts


Small Buttons


Link Buttons


Filter-Tabs / Btn-Group

in der .component-list kann die zusätzliche Klasse .less-space eingefügt werden (wie hier), damit die Abstände nur 7.5px zwischen den Buttons beträgt. Regulär 15px
Um Icon Links und Text rechtsbündig anzuorden (bzw. umgekehrt), die folgende Klasse einfügen.justify-content-between

Bemerkung Secondary-Button: In der Library wird der Secondary als .btn-outline-primary gecodet. Weil das unlogisch praktikabel ist, wird empfohlen, stattdessen .btn-secondary einzusetzen. Im Stylesheet wurde dies entsprechend vorbereitet.

Verwendet in:
  • Header UHR
  • UHR überall

Tiles / Icontiles

in der .component-list kann die zusätzliche Klasse .less-space eingefügt werden (wie hier), damit die Abstände nur 7.5px zwischen den Buttons beträgt. Regulär 15px

Verwendet in:
  • UHR Home (Start)

LEER

[include ]

Erklärunggstext...


Switch-Toggler

txt

Verwendet in:
  • UHR Modals (AGB)

Formular Input Fields & Validation

Der Span mit der Description .og-input-description-above soll jederzeit im Markup ausgegeben werden. An Stellen, wo er nicht angezeigt werden soll, kann er mit .sr-only versteckt werden, sodass er für Screenreader immer noch verfügbar ist (Barrierefreiheit).

Verwendet in:
  • UHR

Formular Select Fields

txt

Verwendet in:
  • UHR

Formular Datepicker

Der Datepicker an sich ist noch nicht vorbereitet, da das wahrscheinlich in Blazor direkt besser funktioniert!? Im Fabrx-Theme wurde der folgende Datepicker verwendet: https://flatpickr.js.org/

Verwendet in:
  • UHR

Textarea

im unteren Kommentarfeld ist der span zur Beschreibung oberhalb ausgeblendet mit .sr-only (Barrierefreiheit, Screenreader)

Verwendet in:
  • UHR: Modal für Kommentar-Eingabe

Checkbox

 

Verwendet in:
  • APK

Radiobutton

 

Verwendet in:
  • APK



--- Komponenten

Accordion


Accordion Variante 1: Bootstrap Default Accordion:

Default: .accordion

Verwendet in:
  • -

Accordion Variante 2: OG functional Accordion:

Diese Version des Akkordeons mit der zusätzlichen CSS-Klasse .accordion.og-functional-accordion wird nur strukturell verwendet. Die Bootstrap Accordion-Styles (Rahmen und Abstände) wurden entfernt, sodass nur die Collapse/Expand-Funktion genutzt werden kann

Verwendet in:
  • UHR: Linke Inhaltskolonne


Modal

Erklärunggstext...

Verwendet in:
  • UHR: Linke Inhaltskolonne als Info-Anzeige
  • UHR: Home: AGBs



Progress (APK)

Spezifisch für OG entwickelt (nicht aus der Library)

Verwendet in:
  • APK

DevExpress Scheduler

Quelle: DevExpress Scheduler, Month View

  • Markup wurde von Devexpress kopiert, um die Styles zu simulieren. In der Umsetzungssolution wird Markup generiert, nicht hardcoded. Sämtliche og-spezifischen Styles wurden mit dem CSS-Klassen-Prefix .og-sdl-" hinzugefügt.
  • Da einige Styles im Scheduler dynamisch geladen wurden (z.B. bei den Termin-Kacheln die Höhe, Breite und position (absolut positioniert), wurden diese Styles im .og-prototype.scss überschrieben, damit die Kacheln in der Component Library angemessen angezeigt werden (und auch out of context funktionieren)
  • die divs mit der klasse .og-prototype-item muss (soll!) nicht in die solution übernommen werden, dies dient lediglich der darstellung innerhalb der component library
  • Die Kacheln beinhalten per Default in DevExpress die Farb-Klasse: .dxsc-apt-bg.dxbs-scheduler-blue-color. Diese definiert die Farbe. Wird hier überschrieben durch die Kachel-Types z.b..og-sdl-type-written

Erklärung der OG-spezifischen Klassen:

  • .og-sdl-tile:
  • Kategorie:
    • .og-sdl-type-written: Roter Hintergrund (schriftlich)
    • .og-sdl-type-oral: Blauer Hintergrund (mündlich)
    • .og-sdl-type-neutral: Grauer Hintergrund (Blocker oder neutral)
  • Status:
    • .og-sdl-status-booked: Grüner Rahmen Hintergrund (gebucht)
    • .og-sdl-status-notbooked: Grauer Rahmen Hintergrund (nicht gebucht)
  • Kalender:
    • .og-sdl-calendar-day-curret: Türkis Linie oben (aktueller Tag)
    • .og-sdl-calendar-day-past: Grauer Hintergrund (Vergangenheit)
Verwendet in:
  • ...



--- Atome


Typographie

 


Abstände (Bootstrap)

die in den OG-Anwendungen gängigsten CSS-Klassen für Abstände und ihre Auswirkungen:

Ober-Abstände ausserhalb des Elements

  • .mt-0 --> margin-top: 0 !important
  • .mt-1 --> margin-top: 1 Einheit
  • .mt-... --> margin-top: ... Einheiten
  • .mt-5 --> margin-top: 5 Einheiten

Horizontale (X) und Vertikale (Y) Abstände ausserhalb (margin) bzw. innerhalb des Elements (padding). z.b.

  • .mx-1 --> margin-left und margin-right von 1 Einheit
  • .my-5 --> margin-top und margin-bottom von 5 Einheiten
  • .ml-3 --> margin-left von 3 Einheiten
  • .mb-5 --> margin-bottom von 5 Einheiten
  • .pb-5 --> padding-bottom von 5 Einheiten
  • .px-2 --> padding-left und padding-right von 2 Einheiten
  • .p-3 --> padding (oben, links, unten, rechts) von 3 Einheiten
Detailinfos über Spacing vgl. Bootstrap


Bootstrap Flex

  • Flexbox hilft bei der Ausrichtung von Elementen
Detailinfos zum Bootstrap Flex vgl. https://getbootstrap.com/docs/5.0/utilities/flex/


Bootstrap Grid (Columns)

  • Relevant vorallem bei Responsive Lösungen (Breakpoint-Spezifische Kolonnenbreiten). Daher hier nur kurz eingeführt
  • 12-er-Grid: 1 Kolonne = 100% / 12
  • Geeignet für: Grosse Container (Seitenbreit)
  • Nicht geeignet für kleinere Elemente, z.b. zwei-geteilter Button, da padding immer vorgegeben ist und dadurch zu viel Platz einnimmt. Hier stattdessen besser mit Flex arbeiten, siehe oben.
  • paddings innerhalb der Columns ist bereits vorgegeben
  • Markup-Nesting immer container > row > col > row > col
  • Falsch: row > row
  • Falsch: col > col
  • Richtig: row > col
  • Breakpoint-spezifische Kolonnenbreiten:
    .col-12.col-md-8
    --> Auf mittelgrossen Screens nimmt die Kolonne 8/12 ein. Auf anderen Screenbreiten (ganz schmale Screens und ganz breite Screens) verteilt sich die Kolonne gleichmässig mit den anderen
Detailinfos zum Bootstrap Grid vgl. Bootstrap


Icons (FontAwesome) / Textfarben)

Grössen, Icon, Animation lassen sich durch CSS-Klassen definieren. Icons werden wie Schriftzeichen erkannt (Webfont) und lassen sich dadurch stylen (z.B. Farbe, Grösse, Hintergrund..)

Detailinfos zur FontAwesome vgl. https://fontawesome.com/search

Farbdefinitionen

Erklärunggstext...