Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Projekt] Material Design CSS für ioBroker.vis

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.6k

[Projekt] Material Design CSS für ioBroker.vis

Geplant Angeheftet Gesperrt Verschoben Visualisierung
650 Beiträge 111 Kommentatoren 221.0k Aufrufe 68 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • UhulaU Uhula

    Material Design CSS V2.0

    Its done ! (fast, Doku usw. fehlt noch)

    Wer gerne reinschauen möchte, was mit dem Material Design CSS V2.0 so geht, der kann sich dieses als MP4-Film (ca. 1 min, 63 MByte) ansehen, oder sich das neue Demo-Projekt als ZIP herunter laden. Beim Import muss dieses als MD_Demo benannt werden, da sich in der CSS Datei eine Pfadangabe für den Icon-Font darauf bezieht, wählt man einen anderen Projekt-Namen, muss der Pfad in der CSS angepasst werden.

    Und wer dann noch Freude dran hat, kann sich weiter unten die Änderungen durchlesen ... es hat sich sehr viel verändert. Zwar ist das Prinzip mit card/aber/lnav/content usw. erhalten geblieben, trotzdem müssen in eigenen Projekten deutliche Anpassungen an den Widgets vorgenommen werden. Mag sich aber für den einen oder anderen lohnen. ;-)

    MD_Demo V2 als MP4 Film (Download, 1:08 min, 62 MByte)

    MD_Demo V2 Projekt (als MD_Demo aufnehmen)

    Wenn ich alles fertig habe, erstelle ein neues Thema und verlinke dort alles rein.

    Änderungen V2.0

    • Umstellung auf helles Thema
      Das komplette Design wurde auf das helle Thema (light) umgesetzt und passt sich
      flexibel an die jeweils gewählten Hintergrundfarben für abra, tnav, lnav, rnav
      und content an in dem es automatisch eine weiße bzw. schwarze Schrift- und
      Stiftfarbe wählt. Somit ist das dunkle Schema zur Laufzeit einstellbar.
      Siehe auch "Symbole, Icons"!

    • Konfiguration
      Die Farben werden nicht mehr direkt den abra, tnav, lnav, rnav und content
      -Elementen zugeordnet, sondern es wird z.B. im abar ein HTML-Element mit der
      CSS-Class mdui-config ausgewertet, in welchem alle Farbangaben zentral
      verzeichnet sind.
      Das HTML-Element muss folgenden Aufbau haben:
      "primary_color":"<farbe>",
      "lnav_color":"<farbe>",
      "rnav_color":"<farbe>",
      "secondary_color":"<farbe>",
      "content_color":"<farbe>",
      "lnav_fixed_width":"0..9999",
      "lnav_fixed_open":"true"
      Für <farbe> können die Werte:
      red, pink, purple, deeppurple, indigo, blue, lightblue, cyan, teal, green,
      lightgreen, lime, yellow, amber, orange, deeporange, brown, grey,
      darkgrey, bluegrey, white, black
      sowie jede Farbangabe im Format #rrggbb (Bsp: #8050FF) verwendet werden.
      In "lnav_fixed_width" wird die Breite in Pixel angegeben, ab der die lnav
      links permanent angezeigt werden soll.
      In "lnav_fixed_open" wird über true bzw. false festgelegt, ob die lnav beim
      Seitenwechsel geöffnet dargestellt werden soll (wenn die Breite ausreicht)

      Natürlich kann in allen Angaben auch von der binding-Fähigkeit von ioBroker
      Gebrauch gemacht werden um die Angaben über vis-States zu setzen und somit
      z.B. tagsüber ein helles Design und nachts ein dunkles Design zu verwenden.
      Beispiel: "primary_color":"{vis.0.md.primary_color}" verwendet dann die akutell in
      vis.0.md.primary_color eingestellte Farbe

    • mdui-flex (Responsive Design)
      Die Handhabung des responsive design, also die Anpassung des Inhalts an
      die Breite der Darstellung, wurde komplett geändert. Statt bisher mit
      dem float-Attribut zu arbeiten, wird nun flex verwendet. Dieses ist
      deutlich mächtiger und bietet u.a. die Möglichkeit die Reihenfolge der
      Child-Elemente unabhängig von ihrem Auftreten im HTML über die CSS-Class
      mdui-order-<nn> (<nn>=1..99) zu setzen. Damit entfällt das unständliche
      Kopieren/Einfügen von Elementen im Designer!
      Im Demo-Projekt wird flex für tnav, lnav, rnav und den content verwendet.
      Die mdui-flex CSS-Class wird dem Containerelement (z.B. mdui-content) zugeordnet,
      nicht den Child-Elementen (z.B. den mdui-card).

    • mdui-cols-<n>, mdui-rows-<n>
      Die Größenangaben der Cards mit mdui-cols-<n> (Breite) und mdui-rows-<n> (Höhe)
      basiert nun auf einem 80 Pixel Raster mit <n>=1-24 (bisher 156 Pixel Raster).
      Damit ist eine feinere Größenzuweisung möglich.
      Weiterhin kann nun jeweils auch eine maximale Größe mit angegeben werden. Dazu
      muss nur mdui-cols-<n> zu mdui-cols-<n>-toc-<m> ergänzt werden <m>=1-24, bzw.
      mdui-rows-<n> zu mdui-rows-<n>-tor-<m>.
      Beispiel: mdui-cols-4-toc-8 führt dazu, dass das Card-Element je nach Platz
      320 bis 640 Pixel breit dargestellt wird.
      (wenn der Container "mdui-content" die CSS-Class mdui-flex besitzt)
      Beispiel: mdui-rows-4-tor-8 führt dazu, dass das Card-Element je nach Platz
      320 bis 640 Pixel hoch dargestellt wird
      (wenn der Container "mdui-content" die CSS-Class mdui-flex-stretch besitzt)

    • Cards
      Die Darstellung der Cards wurde verändert. Sie fügen nun keine margins mehr hinzu,
      sondern stellen die Vard-Views so dar, wie sie designt wurden. Es empfiehlt sich
      in den Card-Views 16 Px linke und oben frei zu lassen.
      mdui-card : Darstellung als flache Card, mit 2px Außen-, 14px Innenabstand (früher: mdui-tile)
      mdui-card-raised : Darstellung mit Schatten, mit 8px Außen-, 8px Innenabstand (früher: mdui-card)
      mdui-card-outlined: Darstellung mit Rahmen, mit 8px Außen-, 8px Innenabstand

    • Buttons
      Hier wurden die CSS-Class namentlich verändert und vereinheitlicht:
      mdui-flatbutton -> mdui-button
      mdui-raisedbutton -> mdui-button-raised
      mdui-button-outlined: NEU Stellt Buttons mit einer Rahmenlinie dar, über
      mdui-<colorname>-ol kann die Rahmenfarbe gesetzt werden. Vorgabe: grau

    • Symbole, Icons
      Wenn man mit der Umschaltung heller und dunkler Schema arbeiten möchte, muss
      man auch dafür sorgen, dass Symbole und Icons z.B. von schwar auf weiß wechseln.
      Da dieses mit diskreten Bilddateien (img) nicht per CSS lösbar ist, können nun die
      Material Design Icons genutzt werden.
      Link: https://material.io/resources/icons/?style=baseline
      Hierzu werden alle Icons als Font in der CSS-Datei eingebunden und können dann in
      jeder HTML Eingabe als Icon durch <i class="material-icons">iconname</i> genutzt werden.
      Bsp:<i class="material-icons">home</i>
      Dadruch werden die Icons wie normaler Text behandelt und passen sich sowohl in der
      Größe (font-size) als auch in der Farbe (color) an!
      Wichtig: Die font-Dateien (Material-Icons-...) liegen im Demo-Projektordner
      (Bsp: /vis.0/MD_Demo/) im Images-Ordner. Wird ein eigenes Projekt verwendet, müssen
      die font-Dateien kopiert werden und die Pfadangaben in der CSS-Datei müssen
      für @font-face {} angepasst werden!!!

    • Slider
      Die Dartellung der Slider wurde erweitert, so ist nun sowohl die segmentierte
      Darstellung als auch die Anzeige des aktuellen Wertes während des slidens möglich.
      mdui-segment-<n> : Anzeige mit entspr. vielen Segmenten <n>=5,10,20,25,33,50
      mdui-show-hint : Während des Bedienens wird der aktuelle Wert angezeigt (0-100)
      mdui-range-<from>-<to> : Da kein Zugriff auf den aktuellen Wert im vis möglich ist
      und nur die Info 0 bis 100% im Slider zur Verfügung steht, kann über die mdui-range
      Angabe ein Sliderbereich für mdui-show-hint festgelegt werden. 0%=<from> 100%=<to>
      Beispiel: mdui-range-0-255 für die Festlegung eines Rot-Wertes

    • Tabellen
      Die Tabellen CSS-Classes haben sich ein wenig verändert, ebenso die Angabe der Optionen.
      Weiterhin wurde die Darstellung an die flat/raised/outlined Darstellung der Cards
      angepasst.
      mdui-table: Darstellung der Tabelle in normaler Tabellenform
      mdui-table-list : Darstellung in Zeilen (rows) Listenform
      mdui-table-raised : Darstellung der Zeilen (rows) als Cards, erhaben, mit Schatten
      mdui-table-outlined : Darstellung der Zeilen (rows) als Cards, mit Rahmen
      Die Optionen werden nun in einer seperaten CSS-Class angegeben:
      mdui-table-opt-[-r<responsewidth>][-w<colwidth>][-c<colcount>][-l]

    • Diverses

      • box-sizing wird global auf box-model gesetzt damit die width und height
        Berechnungen besser passen. Hinweis: Größenangaben werden nun inklusive
        Border+Padding interpretiert.
      • Werden mdui-toggle 100% Buttons in der lnav bzw. rnav verwendet um strukturierte
        Menüs zu erzeugen, so zeigen sie nun bereits einen Pfeil nach unten bzw.
        nach oben am rechten Rand automatisch an
    • Neue bzw. geänderte CSS Classes

      • mdui-center: Zentriert die Ausgabe im Element horizontal und vertikal
      • mdui-center-h: Zentriert die Ausgabe im Element horizontal
      • mdui-center-v: Zentriert die Ausgabe im Element vertikal
      • mdui-cols-<n>-toc-<m>: Über "-toc-<m>" kann nun eine max. Breite angegeben
        werden, mit <m>=1 bis 24
      • mdui-divider : zeichnet eine dünne horizontale Linie, kann z.B. in lnav
        verwendet werden, passt sich dem light-dark-Thema an
      • mdui-expand[-<height>]: Kann einer Schaltfläche zugewiesen werden um ein Element
        zu kollabieren/expandieren. Normalerweise also innerhalb eines Views, der als
        Card verwendet werden soll. Sinnvoll für Phone-Screens.
        In [-<height>] kann optional eine Zielhöhe in px im collabierten Zustand
        angegeben werden, wenn nicht, werden 64px angenommen
      • mdui-flex : Wird einem Container (view-in-view) zugeordnet und führt dazu,
        dass enthaltene Elemente automatisch angeordnet werden und je nach deren
        mdui-cols- Zuweisungen sich in der Breite anpassen
      • mdui-flex-stretch : Wird einem Container (view-in-view) zugeordnet und
        führt dazu, dass enthaltene Elemente je nach mdui-rows- Zuweisungen
        sich in der Höhe anpassen
      • mdui-noflex : Das Element wird im mdui-flex nicht berücksichtigt
      • mdui-h-flow bzw. mdui-v-flow: umbenannt zu mdui-flow, da man h/v flow durch
        das Drehen mit mdui-rotate-<grad> erreichen kann
      • mdui-input mdui-center-horizontal umbenannt zu mdui-input mdui-center-h
      • mdui-order-N: Festlegung der Reihenfolge dwer Elemente in flex-Darstellung,
        wird zur Designzeit im ElElement mit angezeigt
      • mdui-rotate-<grad> : Dreht ein Element um <grad>°. 0° entspricht der horizontalen
        Darstellung. 15° Schritte sind möglich.
        <grad>=000,015,030,045,060,075,090,105,120,135,150,165,180,195,210,225,
        240,255,270,285,300,315,330,345
      • mdui-rotateX-cw, mdui-rotateX-ccw : Lässt ein Element um seine X-Achse
        rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
        mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
        cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
      • mdui-rotateY-cw, mdui-rotateY-ccw : Lässt ein Element um seine Y-Achse
        rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
        mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
        cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
      • mdui-rotateZ-cw, mdui-rotateZ-ccw : Lässt ein Element um seine Z-Achse
        rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
        mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
        cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
      • mdui-rows-<n>-tor-<m>: Über "-tor-<m>" kann nun eine max. Höhe angegeben
        werden, mit <m>=1 bis 24
      • .mdui-scale-<n> : Dient der Skalierung des Elements/Widgets.
        Mit <n>=010,020,025,030,033,040,050,060,066,070,075,080,090

    Z Offline
    Z Offline
    zahnheinrich
    schrieb am zuletzt editiert von
    #431

    @Uhula
    Freu mich schon wie Bolle 😎

    MfG Ulrich

    1 Antwort Letzte Antwort
    0
    • UhulaU Uhula

      Material Design CSS V2.0

      Its done ! (fast, Doku usw. fehlt noch)

      Wer gerne reinschauen möchte, was mit dem Material Design CSS V2.0 so geht, der kann sich dieses als MP4-Film (ca. 1 min, 63 MByte) ansehen, oder sich das neue Demo-Projekt als ZIP herunter laden. Beim Import muss dieses als MD_Demo benannt werden, da sich in der CSS Datei eine Pfadangabe für den Icon-Font darauf bezieht, wählt man einen anderen Projekt-Namen, muss der Pfad in der CSS angepasst werden.

      Und wer dann noch Freude dran hat, kann sich weiter unten die Änderungen durchlesen ... es hat sich sehr viel verändert. Zwar ist das Prinzip mit card/aber/lnav/content usw. erhalten geblieben, trotzdem müssen in eigenen Projekten deutliche Anpassungen an den Widgets vorgenommen werden. Mag sich aber für den einen oder anderen lohnen. ;-)

      MD_Demo V2 als MP4 Film (Download, 1:08 min, 62 MByte)

      MD_Demo V2 Projekt (als MD_Demo aufnehmen)

      Wenn ich alles fertig habe, erstelle ein neues Thema und verlinke dort alles rein.

      Änderungen V2.0

      • Umstellung auf helles Thema
        Das komplette Design wurde auf das helle Thema (light) umgesetzt und passt sich
        flexibel an die jeweils gewählten Hintergrundfarben für abra, tnav, lnav, rnav
        und content an in dem es automatisch eine weiße bzw. schwarze Schrift- und
        Stiftfarbe wählt. Somit ist das dunkle Schema zur Laufzeit einstellbar.
        Siehe auch "Symbole, Icons"!

      • Konfiguration
        Die Farben werden nicht mehr direkt den abra, tnav, lnav, rnav und content
        -Elementen zugeordnet, sondern es wird z.B. im abar ein HTML-Element mit der
        CSS-Class mdui-config ausgewertet, in welchem alle Farbangaben zentral
        verzeichnet sind.
        Das HTML-Element muss folgenden Aufbau haben:
        "primary_color":"<farbe>",
        "lnav_color":"<farbe>",
        "rnav_color":"<farbe>",
        "secondary_color":"<farbe>",
        "content_color":"<farbe>",
        "lnav_fixed_width":"0..9999",
        "lnav_fixed_open":"true"
        Für <farbe> können die Werte:
        red, pink, purple, deeppurple, indigo, blue, lightblue, cyan, teal, green,
        lightgreen, lime, yellow, amber, orange, deeporange, brown, grey,
        darkgrey, bluegrey, white, black
        sowie jede Farbangabe im Format #rrggbb (Bsp: #8050FF) verwendet werden.
        In "lnav_fixed_width" wird die Breite in Pixel angegeben, ab der die lnav
        links permanent angezeigt werden soll.
        In "lnav_fixed_open" wird über true bzw. false festgelegt, ob die lnav beim
        Seitenwechsel geöffnet dargestellt werden soll (wenn die Breite ausreicht)

        Natürlich kann in allen Angaben auch von der binding-Fähigkeit von ioBroker
        Gebrauch gemacht werden um die Angaben über vis-States zu setzen und somit
        z.B. tagsüber ein helles Design und nachts ein dunkles Design zu verwenden.
        Beispiel: "primary_color":"{vis.0.md.primary_color}" verwendet dann die akutell in
        vis.0.md.primary_color eingestellte Farbe

      • mdui-flex (Responsive Design)
        Die Handhabung des responsive design, also die Anpassung des Inhalts an
        die Breite der Darstellung, wurde komplett geändert. Statt bisher mit
        dem float-Attribut zu arbeiten, wird nun flex verwendet. Dieses ist
        deutlich mächtiger und bietet u.a. die Möglichkeit die Reihenfolge der
        Child-Elemente unabhängig von ihrem Auftreten im HTML über die CSS-Class
        mdui-order-<nn> (<nn>=1..99) zu setzen. Damit entfällt das unständliche
        Kopieren/Einfügen von Elementen im Designer!
        Im Demo-Projekt wird flex für tnav, lnav, rnav und den content verwendet.
        Die mdui-flex CSS-Class wird dem Containerelement (z.B. mdui-content) zugeordnet,
        nicht den Child-Elementen (z.B. den mdui-card).

      • mdui-cols-<n>, mdui-rows-<n>
        Die Größenangaben der Cards mit mdui-cols-<n> (Breite) und mdui-rows-<n> (Höhe)
        basiert nun auf einem 80 Pixel Raster mit <n>=1-24 (bisher 156 Pixel Raster).
        Damit ist eine feinere Größenzuweisung möglich.
        Weiterhin kann nun jeweils auch eine maximale Größe mit angegeben werden. Dazu
        muss nur mdui-cols-<n> zu mdui-cols-<n>-toc-<m> ergänzt werden <m>=1-24, bzw.
        mdui-rows-<n> zu mdui-rows-<n>-tor-<m>.
        Beispiel: mdui-cols-4-toc-8 führt dazu, dass das Card-Element je nach Platz
        320 bis 640 Pixel breit dargestellt wird.
        (wenn der Container "mdui-content" die CSS-Class mdui-flex besitzt)
        Beispiel: mdui-rows-4-tor-8 führt dazu, dass das Card-Element je nach Platz
        320 bis 640 Pixel hoch dargestellt wird
        (wenn der Container "mdui-content" die CSS-Class mdui-flex-stretch besitzt)

      • Cards
        Die Darstellung der Cards wurde verändert. Sie fügen nun keine margins mehr hinzu,
        sondern stellen die Vard-Views so dar, wie sie designt wurden. Es empfiehlt sich
        in den Card-Views 16 Px linke und oben frei zu lassen.
        mdui-card : Darstellung als flache Card, mit 2px Außen-, 14px Innenabstand (früher: mdui-tile)
        mdui-card-raised : Darstellung mit Schatten, mit 8px Außen-, 8px Innenabstand (früher: mdui-card)
        mdui-card-outlined: Darstellung mit Rahmen, mit 8px Außen-, 8px Innenabstand

      • Buttons
        Hier wurden die CSS-Class namentlich verändert und vereinheitlicht:
        mdui-flatbutton -> mdui-button
        mdui-raisedbutton -> mdui-button-raised
        mdui-button-outlined: NEU Stellt Buttons mit einer Rahmenlinie dar, über
        mdui-<colorname>-ol kann die Rahmenfarbe gesetzt werden. Vorgabe: grau

      • Symbole, Icons
        Wenn man mit der Umschaltung heller und dunkler Schema arbeiten möchte, muss
        man auch dafür sorgen, dass Symbole und Icons z.B. von schwar auf weiß wechseln.
        Da dieses mit diskreten Bilddateien (img) nicht per CSS lösbar ist, können nun die
        Material Design Icons genutzt werden.
        Link: https://material.io/resources/icons/?style=baseline
        Hierzu werden alle Icons als Font in der CSS-Datei eingebunden und können dann in
        jeder HTML Eingabe als Icon durch <i class="material-icons">iconname</i> genutzt werden.
        Bsp:<i class="material-icons">home</i>
        Dadruch werden die Icons wie normaler Text behandelt und passen sich sowohl in der
        Größe (font-size) als auch in der Farbe (color) an!
        Wichtig: Die font-Dateien (Material-Icons-...) liegen im Demo-Projektordner
        (Bsp: /vis.0/MD_Demo/) im Images-Ordner. Wird ein eigenes Projekt verwendet, müssen
        die font-Dateien kopiert werden und die Pfadangaben in der CSS-Datei müssen
        für @font-face {} angepasst werden!!!

      • Slider
        Die Dartellung der Slider wurde erweitert, so ist nun sowohl die segmentierte
        Darstellung als auch die Anzeige des aktuellen Wertes während des slidens möglich.
        mdui-segment-<n> : Anzeige mit entspr. vielen Segmenten <n>=5,10,20,25,33,50
        mdui-show-hint : Während des Bedienens wird der aktuelle Wert angezeigt (0-100)
        mdui-range-<from>-<to> : Da kein Zugriff auf den aktuellen Wert im vis möglich ist
        und nur die Info 0 bis 100% im Slider zur Verfügung steht, kann über die mdui-range
        Angabe ein Sliderbereich für mdui-show-hint festgelegt werden. 0%=<from> 100%=<to>
        Beispiel: mdui-range-0-255 für die Festlegung eines Rot-Wertes

      • Tabellen
        Die Tabellen CSS-Classes haben sich ein wenig verändert, ebenso die Angabe der Optionen.
        Weiterhin wurde die Darstellung an die flat/raised/outlined Darstellung der Cards
        angepasst.
        mdui-table: Darstellung der Tabelle in normaler Tabellenform
        mdui-table-list : Darstellung in Zeilen (rows) Listenform
        mdui-table-raised : Darstellung der Zeilen (rows) als Cards, erhaben, mit Schatten
        mdui-table-outlined : Darstellung der Zeilen (rows) als Cards, mit Rahmen
        Die Optionen werden nun in einer seperaten CSS-Class angegeben:
        mdui-table-opt-[-r<responsewidth>][-w<colwidth>][-c<colcount>][-l]

      • Diverses

        • box-sizing wird global auf box-model gesetzt damit die width und height
          Berechnungen besser passen. Hinweis: Größenangaben werden nun inklusive
          Border+Padding interpretiert.
        • Werden mdui-toggle 100% Buttons in der lnav bzw. rnav verwendet um strukturierte
          Menüs zu erzeugen, so zeigen sie nun bereits einen Pfeil nach unten bzw.
          nach oben am rechten Rand automatisch an
      • Neue bzw. geänderte CSS Classes

        • mdui-center: Zentriert die Ausgabe im Element horizontal und vertikal
        • mdui-center-h: Zentriert die Ausgabe im Element horizontal
        • mdui-center-v: Zentriert die Ausgabe im Element vertikal
        • mdui-cols-<n>-toc-<m>: Über "-toc-<m>" kann nun eine max. Breite angegeben
          werden, mit <m>=1 bis 24
        • mdui-divider : zeichnet eine dünne horizontale Linie, kann z.B. in lnav
          verwendet werden, passt sich dem light-dark-Thema an
        • mdui-expand[-<height>]: Kann einer Schaltfläche zugewiesen werden um ein Element
          zu kollabieren/expandieren. Normalerweise also innerhalb eines Views, der als
          Card verwendet werden soll. Sinnvoll für Phone-Screens.
          In [-<height>] kann optional eine Zielhöhe in px im collabierten Zustand
          angegeben werden, wenn nicht, werden 64px angenommen
        • mdui-flex : Wird einem Container (view-in-view) zugeordnet und führt dazu,
          dass enthaltene Elemente automatisch angeordnet werden und je nach deren
          mdui-cols- Zuweisungen sich in der Breite anpassen
        • mdui-flex-stretch : Wird einem Container (view-in-view) zugeordnet und
          führt dazu, dass enthaltene Elemente je nach mdui-rows- Zuweisungen
          sich in der Höhe anpassen
        • mdui-noflex : Das Element wird im mdui-flex nicht berücksichtigt
        • mdui-h-flow bzw. mdui-v-flow: umbenannt zu mdui-flow, da man h/v flow durch
          das Drehen mit mdui-rotate-<grad> erreichen kann
        • mdui-input mdui-center-horizontal umbenannt zu mdui-input mdui-center-h
        • mdui-order-N: Festlegung der Reihenfolge dwer Elemente in flex-Darstellung,
          wird zur Designzeit im ElElement mit angezeigt
        • mdui-rotate-<grad> : Dreht ein Element um <grad>°. 0° entspricht der horizontalen
          Darstellung. 15° Schritte sind möglich.
          <grad>=000,015,030,045,060,075,090,105,120,135,150,165,180,195,210,225,
          240,255,270,285,300,315,330,345
        • mdui-rotateX-cw, mdui-rotateX-ccw : Lässt ein Element um seine X-Achse
          rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
          mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
          cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
        • mdui-rotateY-cw, mdui-rotateY-ccw : Lässt ein Element um seine Y-Achse
          rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
          mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
          cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
        • mdui-rotateZ-cw, mdui-rotateZ-ccw : Lässt ein Element um seine Z-Achse
          rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
          mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
          cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
        • mdui-rows-<n>-tor-<m>: Über "-tor-<m>" kann nun eine max. Höhe angegeben
          werden, mit <m>=1 bis 24
        • .mdui-scale-<n> : Dient der Skalierung des Elements/Widgets.
          Mit <n>=010,020,025,030,033,040,050,060,066,070,075,080,090

      sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      schrieb am zuletzt editiert von sigi234
      #432

      @Uhula sagte in [Projekt] Material Design CSS für ioBroker.vis:

      MD_DemoV2 Projekt

      Import Funktioniert nicht.
      Edit:
      Via Github geht es.

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Immer Daten sichern!

      L 1 Antwort Letzte Antwort
      0
      • MeistertrM Offline
        MeistertrM Offline
        Meistertr
        Developer
        schrieb am zuletzt editiert von
        #433

        gerade mal reingeschaut und ich bin beeindruckt und begeistert!!! hamma projekt

        1 Antwort Letzte Antwort
        0
        • sigi234S sigi234

          @Uhula sagte in [Projekt] Material Design CSS für ioBroker.vis:

          MD_DemoV2 Projekt

          Import Funktioniert nicht.
          Edit:
          Via Github geht es.

          L Offline
          L Offline
          lesiflo
          Most Active
          schrieb am zuletzt editiert von
          #434

          @sigi234 Klappt bei mir ohne Probleme

          1 Antwort Letzte Antwort
          0
          • UhulaU Uhula

            Material Design CSS V2.0

            Its done ! (fast, Doku usw. fehlt noch)

            Wer gerne reinschauen möchte, was mit dem Material Design CSS V2.0 so geht, der kann sich dieses als MP4-Film (ca. 1 min, 63 MByte) ansehen, oder sich das neue Demo-Projekt als ZIP herunter laden. Beim Import muss dieses als MD_Demo benannt werden, da sich in der CSS Datei eine Pfadangabe für den Icon-Font darauf bezieht, wählt man einen anderen Projekt-Namen, muss der Pfad in der CSS angepasst werden.

            Und wer dann noch Freude dran hat, kann sich weiter unten die Änderungen durchlesen ... es hat sich sehr viel verändert. Zwar ist das Prinzip mit card/aber/lnav/content usw. erhalten geblieben, trotzdem müssen in eigenen Projekten deutliche Anpassungen an den Widgets vorgenommen werden. Mag sich aber für den einen oder anderen lohnen. ;-)

            MD_Demo V2 als MP4 Film (Download, 1:08 min, 62 MByte)

            MD_Demo V2 Projekt (als MD_Demo aufnehmen)

            Wenn ich alles fertig habe, erstelle ein neues Thema und verlinke dort alles rein.

            Änderungen V2.0

            • Umstellung auf helles Thema
              Das komplette Design wurde auf das helle Thema (light) umgesetzt und passt sich
              flexibel an die jeweils gewählten Hintergrundfarben für abra, tnav, lnav, rnav
              und content an in dem es automatisch eine weiße bzw. schwarze Schrift- und
              Stiftfarbe wählt. Somit ist das dunkle Schema zur Laufzeit einstellbar.
              Siehe auch "Symbole, Icons"!

            • Konfiguration
              Die Farben werden nicht mehr direkt den abra, tnav, lnav, rnav und content
              -Elementen zugeordnet, sondern es wird z.B. im abar ein HTML-Element mit der
              CSS-Class mdui-config ausgewertet, in welchem alle Farbangaben zentral
              verzeichnet sind.
              Das HTML-Element muss folgenden Aufbau haben:
              "primary_color":"<farbe>",
              "lnav_color":"<farbe>",
              "rnav_color":"<farbe>",
              "secondary_color":"<farbe>",
              "content_color":"<farbe>",
              "lnav_fixed_width":"0..9999",
              "lnav_fixed_open":"true"
              Für <farbe> können die Werte:
              red, pink, purple, deeppurple, indigo, blue, lightblue, cyan, teal, green,
              lightgreen, lime, yellow, amber, orange, deeporange, brown, grey,
              darkgrey, bluegrey, white, black
              sowie jede Farbangabe im Format #rrggbb (Bsp: #8050FF) verwendet werden.
              In "lnav_fixed_width" wird die Breite in Pixel angegeben, ab der die lnav
              links permanent angezeigt werden soll.
              In "lnav_fixed_open" wird über true bzw. false festgelegt, ob die lnav beim
              Seitenwechsel geöffnet dargestellt werden soll (wenn die Breite ausreicht)

              Natürlich kann in allen Angaben auch von der binding-Fähigkeit von ioBroker
              Gebrauch gemacht werden um die Angaben über vis-States zu setzen und somit
              z.B. tagsüber ein helles Design und nachts ein dunkles Design zu verwenden.
              Beispiel: "primary_color":"{vis.0.md.primary_color}" verwendet dann die akutell in
              vis.0.md.primary_color eingestellte Farbe

            • mdui-flex (Responsive Design)
              Die Handhabung des responsive design, also die Anpassung des Inhalts an
              die Breite der Darstellung, wurde komplett geändert. Statt bisher mit
              dem float-Attribut zu arbeiten, wird nun flex verwendet. Dieses ist
              deutlich mächtiger und bietet u.a. die Möglichkeit die Reihenfolge der
              Child-Elemente unabhängig von ihrem Auftreten im HTML über die CSS-Class
              mdui-order-<nn> (<nn>=1..99) zu setzen. Damit entfällt das unständliche
              Kopieren/Einfügen von Elementen im Designer!
              Im Demo-Projekt wird flex für tnav, lnav, rnav und den content verwendet.
              Die mdui-flex CSS-Class wird dem Containerelement (z.B. mdui-content) zugeordnet,
              nicht den Child-Elementen (z.B. den mdui-card).

            • mdui-cols-<n>, mdui-rows-<n>
              Die Größenangaben der Cards mit mdui-cols-<n> (Breite) und mdui-rows-<n> (Höhe)
              basiert nun auf einem 80 Pixel Raster mit <n>=1-24 (bisher 156 Pixel Raster).
              Damit ist eine feinere Größenzuweisung möglich.
              Weiterhin kann nun jeweils auch eine maximale Größe mit angegeben werden. Dazu
              muss nur mdui-cols-<n> zu mdui-cols-<n>-toc-<m> ergänzt werden <m>=1-24, bzw.
              mdui-rows-<n> zu mdui-rows-<n>-tor-<m>.
              Beispiel: mdui-cols-4-toc-8 führt dazu, dass das Card-Element je nach Platz
              320 bis 640 Pixel breit dargestellt wird.
              (wenn der Container "mdui-content" die CSS-Class mdui-flex besitzt)
              Beispiel: mdui-rows-4-tor-8 führt dazu, dass das Card-Element je nach Platz
              320 bis 640 Pixel hoch dargestellt wird
              (wenn der Container "mdui-content" die CSS-Class mdui-flex-stretch besitzt)

            • Cards
              Die Darstellung der Cards wurde verändert. Sie fügen nun keine margins mehr hinzu,
              sondern stellen die Vard-Views so dar, wie sie designt wurden. Es empfiehlt sich
              in den Card-Views 16 Px linke und oben frei zu lassen.
              mdui-card : Darstellung als flache Card, mit 2px Außen-, 14px Innenabstand (früher: mdui-tile)
              mdui-card-raised : Darstellung mit Schatten, mit 8px Außen-, 8px Innenabstand (früher: mdui-card)
              mdui-card-outlined: Darstellung mit Rahmen, mit 8px Außen-, 8px Innenabstand

            • Buttons
              Hier wurden die CSS-Class namentlich verändert und vereinheitlicht:
              mdui-flatbutton -> mdui-button
              mdui-raisedbutton -> mdui-button-raised
              mdui-button-outlined: NEU Stellt Buttons mit einer Rahmenlinie dar, über
              mdui-<colorname>-ol kann die Rahmenfarbe gesetzt werden. Vorgabe: grau

            • Symbole, Icons
              Wenn man mit der Umschaltung heller und dunkler Schema arbeiten möchte, muss
              man auch dafür sorgen, dass Symbole und Icons z.B. von schwar auf weiß wechseln.
              Da dieses mit diskreten Bilddateien (img) nicht per CSS lösbar ist, können nun die
              Material Design Icons genutzt werden.
              Link: https://material.io/resources/icons/?style=baseline
              Hierzu werden alle Icons als Font in der CSS-Datei eingebunden und können dann in
              jeder HTML Eingabe als Icon durch <i class="material-icons">iconname</i> genutzt werden.
              Bsp:<i class="material-icons">home</i>
              Dadruch werden die Icons wie normaler Text behandelt und passen sich sowohl in der
              Größe (font-size) als auch in der Farbe (color) an!
              Wichtig: Die font-Dateien (Material-Icons-...) liegen im Demo-Projektordner
              (Bsp: /vis.0/MD_Demo/) im Images-Ordner. Wird ein eigenes Projekt verwendet, müssen
              die font-Dateien kopiert werden und die Pfadangaben in der CSS-Datei müssen
              für @font-face {} angepasst werden!!!

            • Slider
              Die Dartellung der Slider wurde erweitert, so ist nun sowohl die segmentierte
              Darstellung als auch die Anzeige des aktuellen Wertes während des slidens möglich.
              mdui-segment-<n> : Anzeige mit entspr. vielen Segmenten <n>=5,10,20,25,33,50
              mdui-show-hint : Während des Bedienens wird der aktuelle Wert angezeigt (0-100)
              mdui-range-<from>-<to> : Da kein Zugriff auf den aktuellen Wert im vis möglich ist
              und nur die Info 0 bis 100% im Slider zur Verfügung steht, kann über die mdui-range
              Angabe ein Sliderbereich für mdui-show-hint festgelegt werden. 0%=<from> 100%=<to>
              Beispiel: mdui-range-0-255 für die Festlegung eines Rot-Wertes

            • Tabellen
              Die Tabellen CSS-Classes haben sich ein wenig verändert, ebenso die Angabe der Optionen.
              Weiterhin wurde die Darstellung an die flat/raised/outlined Darstellung der Cards
              angepasst.
              mdui-table: Darstellung der Tabelle in normaler Tabellenform
              mdui-table-list : Darstellung in Zeilen (rows) Listenform
              mdui-table-raised : Darstellung der Zeilen (rows) als Cards, erhaben, mit Schatten
              mdui-table-outlined : Darstellung der Zeilen (rows) als Cards, mit Rahmen
              Die Optionen werden nun in einer seperaten CSS-Class angegeben:
              mdui-table-opt-[-r<responsewidth>][-w<colwidth>][-c<colcount>][-l]

            • Diverses

              • box-sizing wird global auf box-model gesetzt damit die width und height
                Berechnungen besser passen. Hinweis: Größenangaben werden nun inklusive
                Border+Padding interpretiert.
              • Werden mdui-toggle 100% Buttons in der lnav bzw. rnav verwendet um strukturierte
                Menüs zu erzeugen, so zeigen sie nun bereits einen Pfeil nach unten bzw.
                nach oben am rechten Rand automatisch an
            • Neue bzw. geänderte CSS Classes

              • mdui-center: Zentriert die Ausgabe im Element horizontal und vertikal
              • mdui-center-h: Zentriert die Ausgabe im Element horizontal
              • mdui-center-v: Zentriert die Ausgabe im Element vertikal
              • mdui-cols-<n>-toc-<m>: Über "-toc-<m>" kann nun eine max. Breite angegeben
                werden, mit <m>=1 bis 24
              • mdui-divider : zeichnet eine dünne horizontale Linie, kann z.B. in lnav
                verwendet werden, passt sich dem light-dark-Thema an
              • mdui-expand[-<height>]: Kann einer Schaltfläche zugewiesen werden um ein Element
                zu kollabieren/expandieren. Normalerweise also innerhalb eines Views, der als
                Card verwendet werden soll. Sinnvoll für Phone-Screens.
                In [-<height>] kann optional eine Zielhöhe in px im collabierten Zustand
                angegeben werden, wenn nicht, werden 64px angenommen
              • mdui-flex : Wird einem Container (view-in-view) zugeordnet und führt dazu,
                dass enthaltene Elemente automatisch angeordnet werden und je nach deren
                mdui-cols- Zuweisungen sich in der Breite anpassen
              • mdui-flex-stretch : Wird einem Container (view-in-view) zugeordnet und
                führt dazu, dass enthaltene Elemente je nach mdui-rows- Zuweisungen
                sich in der Höhe anpassen
              • mdui-noflex : Das Element wird im mdui-flex nicht berücksichtigt
              • mdui-h-flow bzw. mdui-v-flow: umbenannt zu mdui-flow, da man h/v flow durch
                das Drehen mit mdui-rotate-<grad> erreichen kann
              • mdui-input mdui-center-horizontal umbenannt zu mdui-input mdui-center-h
              • mdui-order-N: Festlegung der Reihenfolge dwer Elemente in flex-Darstellung,
                wird zur Designzeit im ElElement mit angezeigt
              • mdui-rotate-<grad> : Dreht ein Element um <grad>°. 0° entspricht der horizontalen
                Darstellung. 15° Schritte sind möglich.
                <grad>=000,015,030,045,060,075,090,105,120,135,150,165,180,195,210,225,
                240,255,270,285,300,315,330,345
              • mdui-rotateX-cw, mdui-rotateX-ccw : Lässt ein Element um seine X-Achse
                rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
                mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
                cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
              • mdui-rotateY-cw, mdui-rotateY-ccw : Lässt ein Element um seine Y-Achse
                rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
                mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
                cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
              • mdui-rotateZ-cw, mdui-rotateZ-ccw : Lässt ein Element um seine Z-Achse
                rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
                mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
                cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
              • mdui-rows-<n>-tor-<m>: Über "-tor-<m>" kann nun eine max. Höhe angegeben
                werden, mit <m>=1 bis 24
              • .mdui-scale-<n> : Dient der Skalierung des Elements/Widgets.
                Mit <n>=010,020,025,030,033,040,050,060,066,070,075,080,090

            kmxakK Offline
            kmxakK Offline
            kmxak
            Most Active
            schrieb am zuletzt editiert von kmxak
            #435

            @Uhula moin, mal eine Frage kann man auch von v1 updaten? Oder wäre das Zuviel Aufwand? Denke aber du hast das Grundgerüst so arg umgebaut das ich leider neu aufbauen muss.

            Klasse Arbeit die du da leistest! Danke dafür!

            @sigi234 bei mir geht der Import auch. Allerdings gehen manche Funktionen nicht wie im Video zu sehen.

            Gruß Alex

            L UhulaU 2 Antworten Letzte Antwort
            0
            • kmxakK kmxak

              @Uhula moin, mal eine Frage kann man auch von v1 updaten? Oder wäre das Zuviel Aufwand? Denke aber du hast das Grundgerüst so arg umgebaut das ich leider neu aufbauen muss.

              Klasse Arbeit die du da leistest! Danke dafür!

              @sigi234 bei mir geht der Import auch. Allerdings gehen manche Funktionen nicht wie im Video zu sehen.

              L Offline
              L Offline
              lesiflo
              Most Active
              schrieb am zuletzt editiert von
              #436

              @kmxak Das befürchte ich auch. Ich habe mal mein altes Projekt genommen und das neue CSS und Script reinkopiert. Danach sah meine Vis recht "unschön" aus. Kann man zwar alles wieder hinbiegen, der Aufwand ist mit aber zu groß.

              1 Antwort Letzte Antwort
              0
              • UhulaU Uhula

                Material Design CSS V2.0

                Its done ! (fast, Doku usw. fehlt noch)

                Wer gerne reinschauen möchte, was mit dem Material Design CSS V2.0 so geht, der kann sich dieses als MP4-Film (ca. 1 min, 63 MByte) ansehen, oder sich das neue Demo-Projekt als ZIP herunter laden. Beim Import muss dieses als MD_Demo benannt werden, da sich in der CSS Datei eine Pfadangabe für den Icon-Font darauf bezieht, wählt man einen anderen Projekt-Namen, muss der Pfad in der CSS angepasst werden.

                Und wer dann noch Freude dran hat, kann sich weiter unten die Änderungen durchlesen ... es hat sich sehr viel verändert. Zwar ist das Prinzip mit card/aber/lnav/content usw. erhalten geblieben, trotzdem müssen in eigenen Projekten deutliche Anpassungen an den Widgets vorgenommen werden. Mag sich aber für den einen oder anderen lohnen. ;-)

                MD_Demo V2 als MP4 Film (Download, 1:08 min, 62 MByte)

                MD_Demo V2 Projekt (als MD_Demo aufnehmen)

                Wenn ich alles fertig habe, erstelle ein neues Thema und verlinke dort alles rein.

                Änderungen V2.0

                • Umstellung auf helles Thema
                  Das komplette Design wurde auf das helle Thema (light) umgesetzt und passt sich
                  flexibel an die jeweils gewählten Hintergrundfarben für abra, tnav, lnav, rnav
                  und content an in dem es automatisch eine weiße bzw. schwarze Schrift- und
                  Stiftfarbe wählt. Somit ist das dunkle Schema zur Laufzeit einstellbar.
                  Siehe auch "Symbole, Icons"!

                • Konfiguration
                  Die Farben werden nicht mehr direkt den abra, tnav, lnav, rnav und content
                  -Elementen zugeordnet, sondern es wird z.B. im abar ein HTML-Element mit der
                  CSS-Class mdui-config ausgewertet, in welchem alle Farbangaben zentral
                  verzeichnet sind.
                  Das HTML-Element muss folgenden Aufbau haben:
                  "primary_color":"<farbe>",
                  "lnav_color":"<farbe>",
                  "rnav_color":"<farbe>",
                  "secondary_color":"<farbe>",
                  "content_color":"<farbe>",
                  "lnav_fixed_width":"0..9999",
                  "lnav_fixed_open":"true"
                  Für <farbe> können die Werte:
                  red, pink, purple, deeppurple, indigo, blue, lightblue, cyan, teal, green,
                  lightgreen, lime, yellow, amber, orange, deeporange, brown, grey,
                  darkgrey, bluegrey, white, black
                  sowie jede Farbangabe im Format #rrggbb (Bsp: #8050FF) verwendet werden.
                  In "lnav_fixed_width" wird die Breite in Pixel angegeben, ab der die lnav
                  links permanent angezeigt werden soll.
                  In "lnav_fixed_open" wird über true bzw. false festgelegt, ob die lnav beim
                  Seitenwechsel geöffnet dargestellt werden soll (wenn die Breite ausreicht)

                  Natürlich kann in allen Angaben auch von der binding-Fähigkeit von ioBroker
                  Gebrauch gemacht werden um die Angaben über vis-States zu setzen und somit
                  z.B. tagsüber ein helles Design und nachts ein dunkles Design zu verwenden.
                  Beispiel: "primary_color":"{vis.0.md.primary_color}" verwendet dann die akutell in
                  vis.0.md.primary_color eingestellte Farbe

                • mdui-flex (Responsive Design)
                  Die Handhabung des responsive design, also die Anpassung des Inhalts an
                  die Breite der Darstellung, wurde komplett geändert. Statt bisher mit
                  dem float-Attribut zu arbeiten, wird nun flex verwendet. Dieses ist
                  deutlich mächtiger und bietet u.a. die Möglichkeit die Reihenfolge der
                  Child-Elemente unabhängig von ihrem Auftreten im HTML über die CSS-Class
                  mdui-order-<nn> (<nn>=1..99) zu setzen. Damit entfällt das unständliche
                  Kopieren/Einfügen von Elementen im Designer!
                  Im Demo-Projekt wird flex für tnav, lnav, rnav und den content verwendet.
                  Die mdui-flex CSS-Class wird dem Containerelement (z.B. mdui-content) zugeordnet,
                  nicht den Child-Elementen (z.B. den mdui-card).

                • mdui-cols-<n>, mdui-rows-<n>
                  Die Größenangaben der Cards mit mdui-cols-<n> (Breite) und mdui-rows-<n> (Höhe)
                  basiert nun auf einem 80 Pixel Raster mit <n>=1-24 (bisher 156 Pixel Raster).
                  Damit ist eine feinere Größenzuweisung möglich.
                  Weiterhin kann nun jeweils auch eine maximale Größe mit angegeben werden. Dazu
                  muss nur mdui-cols-<n> zu mdui-cols-<n>-toc-<m> ergänzt werden <m>=1-24, bzw.
                  mdui-rows-<n> zu mdui-rows-<n>-tor-<m>.
                  Beispiel: mdui-cols-4-toc-8 führt dazu, dass das Card-Element je nach Platz
                  320 bis 640 Pixel breit dargestellt wird.
                  (wenn der Container "mdui-content" die CSS-Class mdui-flex besitzt)
                  Beispiel: mdui-rows-4-tor-8 führt dazu, dass das Card-Element je nach Platz
                  320 bis 640 Pixel hoch dargestellt wird
                  (wenn der Container "mdui-content" die CSS-Class mdui-flex-stretch besitzt)

                • Cards
                  Die Darstellung der Cards wurde verändert. Sie fügen nun keine margins mehr hinzu,
                  sondern stellen die Vard-Views so dar, wie sie designt wurden. Es empfiehlt sich
                  in den Card-Views 16 Px linke und oben frei zu lassen.
                  mdui-card : Darstellung als flache Card, mit 2px Außen-, 14px Innenabstand (früher: mdui-tile)
                  mdui-card-raised : Darstellung mit Schatten, mit 8px Außen-, 8px Innenabstand (früher: mdui-card)
                  mdui-card-outlined: Darstellung mit Rahmen, mit 8px Außen-, 8px Innenabstand

                • Buttons
                  Hier wurden die CSS-Class namentlich verändert und vereinheitlicht:
                  mdui-flatbutton -> mdui-button
                  mdui-raisedbutton -> mdui-button-raised
                  mdui-button-outlined: NEU Stellt Buttons mit einer Rahmenlinie dar, über
                  mdui-<colorname>-ol kann die Rahmenfarbe gesetzt werden. Vorgabe: grau

                • Symbole, Icons
                  Wenn man mit der Umschaltung heller und dunkler Schema arbeiten möchte, muss
                  man auch dafür sorgen, dass Symbole und Icons z.B. von schwar auf weiß wechseln.
                  Da dieses mit diskreten Bilddateien (img) nicht per CSS lösbar ist, können nun die
                  Material Design Icons genutzt werden.
                  Link: https://material.io/resources/icons/?style=baseline
                  Hierzu werden alle Icons als Font in der CSS-Datei eingebunden und können dann in
                  jeder HTML Eingabe als Icon durch <i class="material-icons">iconname</i> genutzt werden.
                  Bsp:<i class="material-icons">home</i>
                  Dadruch werden die Icons wie normaler Text behandelt und passen sich sowohl in der
                  Größe (font-size) als auch in der Farbe (color) an!
                  Wichtig: Die font-Dateien (Material-Icons-...) liegen im Demo-Projektordner
                  (Bsp: /vis.0/MD_Demo/) im Images-Ordner. Wird ein eigenes Projekt verwendet, müssen
                  die font-Dateien kopiert werden und die Pfadangaben in der CSS-Datei müssen
                  für @font-face {} angepasst werden!!!

                • Slider
                  Die Dartellung der Slider wurde erweitert, so ist nun sowohl die segmentierte
                  Darstellung als auch die Anzeige des aktuellen Wertes während des slidens möglich.
                  mdui-segment-<n> : Anzeige mit entspr. vielen Segmenten <n>=5,10,20,25,33,50
                  mdui-show-hint : Während des Bedienens wird der aktuelle Wert angezeigt (0-100)
                  mdui-range-<from>-<to> : Da kein Zugriff auf den aktuellen Wert im vis möglich ist
                  und nur die Info 0 bis 100% im Slider zur Verfügung steht, kann über die mdui-range
                  Angabe ein Sliderbereich für mdui-show-hint festgelegt werden. 0%=<from> 100%=<to>
                  Beispiel: mdui-range-0-255 für die Festlegung eines Rot-Wertes

                • Tabellen
                  Die Tabellen CSS-Classes haben sich ein wenig verändert, ebenso die Angabe der Optionen.
                  Weiterhin wurde die Darstellung an die flat/raised/outlined Darstellung der Cards
                  angepasst.
                  mdui-table: Darstellung der Tabelle in normaler Tabellenform
                  mdui-table-list : Darstellung in Zeilen (rows) Listenform
                  mdui-table-raised : Darstellung der Zeilen (rows) als Cards, erhaben, mit Schatten
                  mdui-table-outlined : Darstellung der Zeilen (rows) als Cards, mit Rahmen
                  Die Optionen werden nun in einer seperaten CSS-Class angegeben:
                  mdui-table-opt-[-r<responsewidth>][-w<colwidth>][-c<colcount>][-l]

                • Diverses

                  • box-sizing wird global auf box-model gesetzt damit die width und height
                    Berechnungen besser passen. Hinweis: Größenangaben werden nun inklusive
                    Border+Padding interpretiert.
                  • Werden mdui-toggle 100% Buttons in der lnav bzw. rnav verwendet um strukturierte
                    Menüs zu erzeugen, so zeigen sie nun bereits einen Pfeil nach unten bzw.
                    nach oben am rechten Rand automatisch an
                • Neue bzw. geänderte CSS Classes

                  • mdui-center: Zentriert die Ausgabe im Element horizontal und vertikal
                  • mdui-center-h: Zentriert die Ausgabe im Element horizontal
                  • mdui-center-v: Zentriert die Ausgabe im Element vertikal
                  • mdui-cols-<n>-toc-<m>: Über "-toc-<m>" kann nun eine max. Breite angegeben
                    werden, mit <m>=1 bis 24
                  • mdui-divider : zeichnet eine dünne horizontale Linie, kann z.B. in lnav
                    verwendet werden, passt sich dem light-dark-Thema an
                  • mdui-expand[-<height>]: Kann einer Schaltfläche zugewiesen werden um ein Element
                    zu kollabieren/expandieren. Normalerweise also innerhalb eines Views, der als
                    Card verwendet werden soll. Sinnvoll für Phone-Screens.
                    In [-<height>] kann optional eine Zielhöhe in px im collabierten Zustand
                    angegeben werden, wenn nicht, werden 64px angenommen
                  • mdui-flex : Wird einem Container (view-in-view) zugeordnet und führt dazu,
                    dass enthaltene Elemente automatisch angeordnet werden und je nach deren
                    mdui-cols- Zuweisungen sich in der Breite anpassen
                  • mdui-flex-stretch : Wird einem Container (view-in-view) zugeordnet und
                    führt dazu, dass enthaltene Elemente je nach mdui-rows- Zuweisungen
                    sich in der Höhe anpassen
                  • mdui-noflex : Das Element wird im mdui-flex nicht berücksichtigt
                  • mdui-h-flow bzw. mdui-v-flow: umbenannt zu mdui-flow, da man h/v flow durch
                    das Drehen mit mdui-rotate-<grad> erreichen kann
                  • mdui-input mdui-center-horizontal umbenannt zu mdui-input mdui-center-h
                  • mdui-order-N: Festlegung der Reihenfolge dwer Elemente in flex-Darstellung,
                    wird zur Designzeit im ElElement mit angezeigt
                  • mdui-rotate-<grad> : Dreht ein Element um <grad>°. 0° entspricht der horizontalen
                    Darstellung. 15° Schritte sind möglich.
                    <grad>=000,015,030,045,060,075,090,105,120,135,150,165,180,195,210,225,
                    240,255,270,285,300,315,330,345
                  • mdui-rotateX-cw, mdui-rotateX-ccw : Lässt ein Element um seine X-Achse
                    rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
                    mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
                    cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
                  • mdui-rotateY-cw, mdui-rotateY-ccw : Lässt ein Element um seine Y-Achse
                    rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
                    mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
                    cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
                  • mdui-rotateZ-cw, mdui-rotateZ-ccw : Lässt ein Element um seine Z-Achse
                    rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
                    mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
                    cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
                  • mdui-rows-<n>-tor-<m>: Über "-tor-<m>" kann nun eine max. Höhe angegeben
                    werden, mit <m>=1 bis 24
                  • .mdui-scale-<n> : Dient der Skalierung des Elements/Widgets.
                    Mit <n>=010,020,025,030,033,040,050,060,066,070,075,080,090

                D Offline
                D Offline
                darkiop
                Most Active
                schrieb am zuletzt editiert von
                #437

                @Uhula Na Klasse, jetzt geht dafür das halbe Wochenende drauf :D Danke dafür! Freu mich drauf - das Video macht lust auf mehr! Jetzt muss man entscheiden an welcher Stelle man auf dein CSS baut und wo mein Scroungers Widgets einsetzt.

                Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                1 Antwort Letzte Antwort
                0
                • kmxakK kmxak

                  @Uhula moin, mal eine Frage kann man auch von v1 updaten? Oder wäre das Zuviel Aufwand? Denke aber du hast das Grundgerüst so arg umgebaut das ich leider neu aufbauen muss.

                  Klasse Arbeit die du da leistest! Danke dafür!

                  @sigi234 bei mir geht der Import auch. Allerdings gehen manche Funktionen nicht wie im Video zu sehen.

                  UhulaU Offline
                  UhulaU Offline
                  Uhula
                  schrieb am zuletzt editiert von
                  #438

                  @kmxak ja, man kann von V1 auf V2 updaten, man muss nicht neu beginnen. An der Struktur hat sich ja nichts verändert, man muss "nur" die CSS-Class Zuweisungen und left/top Angaben anpassen. Die ersten Änderungen werden sperrig sein, da man nicht weiß was und wo - aber es wird mit der Zeit leichter. Der Aufwand ist aber nicht zu unterschätzen.

                  Ich sag es mal so: Wenn man mit seiner vis bisher zufrieden war, muss man auch nichts umstellen. ;-)

                  Ein Tipp dazu: Um nicht alle mdui-raisedbutton einzeln zu mdui-button-raised umbenennen zu müssen, habe ich direkt die Projekt JSON Datei bearbeitet und in einem Editor mit "replace" gearbeitet.

                  Uhula - Leise und Weise
                  Ex: ioBroker on Gigabyte NUC Proxmox

                  kmxakK 1 Antwort Letzte Antwort
                  0
                  • UhulaU Uhula

                    @kmxak ja, man kann von V1 auf V2 updaten, man muss nicht neu beginnen. An der Struktur hat sich ja nichts verändert, man muss "nur" die CSS-Class Zuweisungen und left/top Angaben anpassen. Die ersten Änderungen werden sperrig sein, da man nicht weiß was und wo - aber es wird mit der Zeit leichter. Der Aufwand ist aber nicht zu unterschätzen.

                    Ich sag es mal so: Wenn man mit seiner vis bisher zufrieden war, muss man auch nichts umstellen. ;-)

                    Ein Tipp dazu: Um nicht alle mdui-raisedbutton einzeln zu mdui-button-raised umbenennen zu müssen, habe ich direkt die Projekt JSON Datei bearbeitet und in einem Editor mit "replace" gearbeitet.

                    kmxakK Offline
                    kmxakK Offline
                    kmxak
                    Most Active
                    schrieb am zuletzt editiert von
                    #439

                    @Uhula ja top... genauso mache ich das auch immer. Wenn es wirklich nur die CSS Klassen sind die man ändern muss geht es ja eigentlich. Kannst du noch eine Info geben was genau geändert werden muss das wäre top.

                    Gruß Alex

                    1 Antwort Letzte Antwort
                    0
                    • UhulaU Uhula

                      Material Design CSS V2.0

                      Its done ! (fast, Doku usw. fehlt noch)

                      Wer gerne reinschauen möchte, was mit dem Material Design CSS V2.0 so geht, der kann sich dieses als MP4-Film (ca. 1 min, 63 MByte) ansehen, oder sich das neue Demo-Projekt als ZIP herunter laden. Beim Import muss dieses als MD_Demo benannt werden, da sich in der CSS Datei eine Pfadangabe für den Icon-Font darauf bezieht, wählt man einen anderen Projekt-Namen, muss der Pfad in der CSS angepasst werden.

                      Und wer dann noch Freude dran hat, kann sich weiter unten die Änderungen durchlesen ... es hat sich sehr viel verändert. Zwar ist das Prinzip mit card/aber/lnav/content usw. erhalten geblieben, trotzdem müssen in eigenen Projekten deutliche Anpassungen an den Widgets vorgenommen werden. Mag sich aber für den einen oder anderen lohnen. ;-)

                      MD_Demo V2 als MP4 Film (Download, 1:08 min, 62 MByte)

                      MD_Demo V2 Projekt (als MD_Demo aufnehmen)

                      Wenn ich alles fertig habe, erstelle ein neues Thema und verlinke dort alles rein.

                      Änderungen V2.0

                      • Umstellung auf helles Thema
                        Das komplette Design wurde auf das helle Thema (light) umgesetzt und passt sich
                        flexibel an die jeweils gewählten Hintergrundfarben für abra, tnav, lnav, rnav
                        und content an in dem es automatisch eine weiße bzw. schwarze Schrift- und
                        Stiftfarbe wählt. Somit ist das dunkle Schema zur Laufzeit einstellbar.
                        Siehe auch "Symbole, Icons"!

                      • Konfiguration
                        Die Farben werden nicht mehr direkt den abra, tnav, lnav, rnav und content
                        -Elementen zugeordnet, sondern es wird z.B. im abar ein HTML-Element mit der
                        CSS-Class mdui-config ausgewertet, in welchem alle Farbangaben zentral
                        verzeichnet sind.
                        Das HTML-Element muss folgenden Aufbau haben:
                        "primary_color":"<farbe>",
                        "lnav_color":"<farbe>",
                        "rnav_color":"<farbe>",
                        "secondary_color":"<farbe>",
                        "content_color":"<farbe>",
                        "lnav_fixed_width":"0..9999",
                        "lnav_fixed_open":"true"
                        Für <farbe> können die Werte:
                        red, pink, purple, deeppurple, indigo, blue, lightblue, cyan, teal, green,
                        lightgreen, lime, yellow, amber, orange, deeporange, brown, grey,
                        darkgrey, bluegrey, white, black
                        sowie jede Farbangabe im Format #rrggbb (Bsp: #8050FF) verwendet werden.
                        In "lnav_fixed_width" wird die Breite in Pixel angegeben, ab der die lnav
                        links permanent angezeigt werden soll.
                        In "lnav_fixed_open" wird über true bzw. false festgelegt, ob die lnav beim
                        Seitenwechsel geöffnet dargestellt werden soll (wenn die Breite ausreicht)

                        Natürlich kann in allen Angaben auch von der binding-Fähigkeit von ioBroker
                        Gebrauch gemacht werden um die Angaben über vis-States zu setzen und somit
                        z.B. tagsüber ein helles Design und nachts ein dunkles Design zu verwenden.
                        Beispiel: "primary_color":"{vis.0.md.primary_color}" verwendet dann die akutell in
                        vis.0.md.primary_color eingestellte Farbe

                      • mdui-flex (Responsive Design)
                        Die Handhabung des responsive design, also die Anpassung des Inhalts an
                        die Breite der Darstellung, wurde komplett geändert. Statt bisher mit
                        dem float-Attribut zu arbeiten, wird nun flex verwendet. Dieses ist
                        deutlich mächtiger und bietet u.a. die Möglichkeit die Reihenfolge der
                        Child-Elemente unabhängig von ihrem Auftreten im HTML über die CSS-Class
                        mdui-order-<nn> (<nn>=1..99) zu setzen. Damit entfällt das unständliche
                        Kopieren/Einfügen von Elementen im Designer!
                        Im Demo-Projekt wird flex für tnav, lnav, rnav und den content verwendet.
                        Die mdui-flex CSS-Class wird dem Containerelement (z.B. mdui-content) zugeordnet,
                        nicht den Child-Elementen (z.B. den mdui-card).

                      • mdui-cols-<n>, mdui-rows-<n>
                        Die Größenangaben der Cards mit mdui-cols-<n> (Breite) und mdui-rows-<n> (Höhe)
                        basiert nun auf einem 80 Pixel Raster mit <n>=1-24 (bisher 156 Pixel Raster).
                        Damit ist eine feinere Größenzuweisung möglich.
                        Weiterhin kann nun jeweils auch eine maximale Größe mit angegeben werden. Dazu
                        muss nur mdui-cols-<n> zu mdui-cols-<n>-toc-<m> ergänzt werden <m>=1-24, bzw.
                        mdui-rows-<n> zu mdui-rows-<n>-tor-<m>.
                        Beispiel: mdui-cols-4-toc-8 führt dazu, dass das Card-Element je nach Platz
                        320 bis 640 Pixel breit dargestellt wird.
                        (wenn der Container "mdui-content" die CSS-Class mdui-flex besitzt)
                        Beispiel: mdui-rows-4-tor-8 führt dazu, dass das Card-Element je nach Platz
                        320 bis 640 Pixel hoch dargestellt wird
                        (wenn der Container "mdui-content" die CSS-Class mdui-flex-stretch besitzt)

                      • Cards
                        Die Darstellung der Cards wurde verändert. Sie fügen nun keine margins mehr hinzu,
                        sondern stellen die Vard-Views so dar, wie sie designt wurden. Es empfiehlt sich
                        in den Card-Views 16 Px linke und oben frei zu lassen.
                        mdui-card : Darstellung als flache Card, mit 2px Außen-, 14px Innenabstand (früher: mdui-tile)
                        mdui-card-raised : Darstellung mit Schatten, mit 8px Außen-, 8px Innenabstand (früher: mdui-card)
                        mdui-card-outlined: Darstellung mit Rahmen, mit 8px Außen-, 8px Innenabstand

                      • Buttons
                        Hier wurden die CSS-Class namentlich verändert und vereinheitlicht:
                        mdui-flatbutton -> mdui-button
                        mdui-raisedbutton -> mdui-button-raised
                        mdui-button-outlined: NEU Stellt Buttons mit einer Rahmenlinie dar, über
                        mdui-<colorname>-ol kann die Rahmenfarbe gesetzt werden. Vorgabe: grau

                      • Symbole, Icons
                        Wenn man mit der Umschaltung heller und dunkler Schema arbeiten möchte, muss
                        man auch dafür sorgen, dass Symbole und Icons z.B. von schwar auf weiß wechseln.
                        Da dieses mit diskreten Bilddateien (img) nicht per CSS lösbar ist, können nun die
                        Material Design Icons genutzt werden.
                        Link: https://material.io/resources/icons/?style=baseline
                        Hierzu werden alle Icons als Font in der CSS-Datei eingebunden und können dann in
                        jeder HTML Eingabe als Icon durch <i class="material-icons">iconname</i> genutzt werden.
                        Bsp:<i class="material-icons">home</i>
                        Dadruch werden die Icons wie normaler Text behandelt und passen sich sowohl in der
                        Größe (font-size) als auch in der Farbe (color) an!
                        Wichtig: Die font-Dateien (Material-Icons-...) liegen im Demo-Projektordner
                        (Bsp: /vis.0/MD_Demo/) im Images-Ordner. Wird ein eigenes Projekt verwendet, müssen
                        die font-Dateien kopiert werden und die Pfadangaben in der CSS-Datei müssen
                        für @font-face {} angepasst werden!!!

                      • Slider
                        Die Dartellung der Slider wurde erweitert, so ist nun sowohl die segmentierte
                        Darstellung als auch die Anzeige des aktuellen Wertes während des slidens möglich.
                        mdui-segment-<n> : Anzeige mit entspr. vielen Segmenten <n>=5,10,20,25,33,50
                        mdui-show-hint : Während des Bedienens wird der aktuelle Wert angezeigt (0-100)
                        mdui-range-<from>-<to> : Da kein Zugriff auf den aktuellen Wert im vis möglich ist
                        und nur die Info 0 bis 100% im Slider zur Verfügung steht, kann über die mdui-range
                        Angabe ein Sliderbereich für mdui-show-hint festgelegt werden. 0%=<from> 100%=<to>
                        Beispiel: mdui-range-0-255 für die Festlegung eines Rot-Wertes

                      • Tabellen
                        Die Tabellen CSS-Classes haben sich ein wenig verändert, ebenso die Angabe der Optionen.
                        Weiterhin wurde die Darstellung an die flat/raised/outlined Darstellung der Cards
                        angepasst.
                        mdui-table: Darstellung der Tabelle in normaler Tabellenform
                        mdui-table-list : Darstellung in Zeilen (rows) Listenform
                        mdui-table-raised : Darstellung der Zeilen (rows) als Cards, erhaben, mit Schatten
                        mdui-table-outlined : Darstellung der Zeilen (rows) als Cards, mit Rahmen
                        Die Optionen werden nun in einer seperaten CSS-Class angegeben:
                        mdui-table-opt-[-r<responsewidth>][-w<colwidth>][-c<colcount>][-l]

                      • Diverses

                        • box-sizing wird global auf box-model gesetzt damit die width und height
                          Berechnungen besser passen. Hinweis: Größenangaben werden nun inklusive
                          Border+Padding interpretiert.
                        • Werden mdui-toggle 100% Buttons in der lnav bzw. rnav verwendet um strukturierte
                          Menüs zu erzeugen, so zeigen sie nun bereits einen Pfeil nach unten bzw.
                          nach oben am rechten Rand automatisch an
                      • Neue bzw. geänderte CSS Classes

                        • mdui-center: Zentriert die Ausgabe im Element horizontal und vertikal
                        • mdui-center-h: Zentriert die Ausgabe im Element horizontal
                        • mdui-center-v: Zentriert die Ausgabe im Element vertikal
                        • mdui-cols-<n>-toc-<m>: Über "-toc-<m>" kann nun eine max. Breite angegeben
                          werden, mit <m>=1 bis 24
                        • mdui-divider : zeichnet eine dünne horizontale Linie, kann z.B. in lnav
                          verwendet werden, passt sich dem light-dark-Thema an
                        • mdui-expand[-<height>]: Kann einer Schaltfläche zugewiesen werden um ein Element
                          zu kollabieren/expandieren. Normalerweise also innerhalb eines Views, der als
                          Card verwendet werden soll. Sinnvoll für Phone-Screens.
                          In [-<height>] kann optional eine Zielhöhe in px im collabierten Zustand
                          angegeben werden, wenn nicht, werden 64px angenommen
                        • mdui-flex : Wird einem Container (view-in-view) zugeordnet und führt dazu,
                          dass enthaltene Elemente automatisch angeordnet werden und je nach deren
                          mdui-cols- Zuweisungen sich in der Breite anpassen
                        • mdui-flex-stretch : Wird einem Container (view-in-view) zugeordnet und
                          führt dazu, dass enthaltene Elemente je nach mdui-rows- Zuweisungen
                          sich in der Höhe anpassen
                        • mdui-noflex : Das Element wird im mdui-flex nicht berücksichtigt
                        • mdui-h-flow bzw. mdui-v-flow: umbenannt zu mdui-flow, da man h/v flow durch
                          das Drehen mit mdui-rotate-<grad> erreichen kann
                        • mdui-input mdui-center-horizontal umbenannt zu mdui-input mdui-center-h
                        • mdui-order-N: Festlegung der Reihenfolge dwer Elemente in flex-Darstellung,
                          wird zur Designzeit im ElElement mit angezeigt
                        • mdui-rotate-<grad> : Dreht ein Element um <grad>°. 0° entspricht der horizontalen
                          Darstellung. 15° Schritte sind möglich.
                          <grad>=000,015,030,045,060,075,090,105,120,135,150,165,180,195,210,225,
                          240,255,270,285,300,315,330,345
                        • mdui-rotateX-cw, mdui-rotateX-ccw : Lässt ein Element um seine X-Achse
                          rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
                          mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
                          cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
                        • mdui-rotateY-cw, mdui-rotateY-ccw : Lässt ein Element um seine Y-Achse
                          rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
                          mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
                          cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
                        • mdui-rotateZ-cw, mdui-rotateZ-ccw : Lässt ein Element um seine Z-Achse
                          rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
                          mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
                          cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
                        • mdui-rows-<n>-tor-<m>: Über "-tor-<m>" kann nun eine max. Höhe angegeben
                          werden, mit <m>=1 bis 24
                        • .mdui-scale-<n> : Dient der Skalierung des Elements/Widgets.
                          Mit <n>=010,020,025,030,033,040,050,060,066,070,075,080,090

                      P Offline
                      P Offline
                      Pittini
                      Developer
                      schrieb am zuletzt editiert von
                      #440

                      @Uhula Schaut sehr gut aus, da hast nen super Job gemacht. Ich verwende das alte ja recht intensiv bei rund 100 Seiten und werde erst mal warten bis auch die Doku steht. Siehst Du bei der neuen Version die Möglichkeit die "Flot Skalierung" auch mit Grafana hinzukriegen (ich nutze Flot nicht wegen häßlich)?

                      UhulaU 1 Antwort Letzte Antwort
                      0
                      • P Pittini

                        @Uhula Schaut sehr gut aus, da hast nen super Job gemacht. Ich verwende das alte ja recht intensiv bei rund 100 Seiten und werde erst mal warten bis auch die Doku steht. Siehst Du bei der neuen Version die Möglichkeit die "Flot Skalierung" auch mit Grafana hinzukriegen (ich nutze Flot nicht wegen häßlich)?

                        UhulaU Offline
                        UhulaU Offline
                        Uhula
                        schrieb am zuletzt editiert von
                        #441

                        @Pittini Mit Grafana kann ich so nichts anfangen, kenne ich nicht. Wie wird es eingebunden? Ist es ein ioBroker Adapter? Wird es im vis via iFrame-URL eingebunden? Wenn ja, sind in der URL die Zeitangaben zugänglich? Wenn ja, dann kann ich die wie die flots bearbeiten.

                        @kmxak "Ganz genau" kann ich das nicht angeben, denn das ist ja abhängig von der Art und Weise, wie MD V1.x genutzt wurde. Generell gilt aber:

                        MD CSS V1.x -> MD CSS V2.0

                        • in den cardXXX
                          • mdui-Classes anpassen, welche umbenannt wurden (Bsp: mdui-raisedbutton -> mdui-button-raised, mdui-flatbutton -> mdui-button). Die Umbenennungen habe ich in den Änderungen zur V2.0 im Post genannt
                          • die Position der Widgets so anpassen, dass sie links und oben mind. 16 Px frei lassen
                        • in den contXXX
                          • mdui-Classes anpassen, welche umbenannt wurden (Bsp: mdui-card -> mdui-card-raised, mdui-tile -> mdui-card; oder mdui-card-outlined nutzen). Die Umbenennungen habe ich in den Änderungen zur V2.0 im Post genannt
                          • [optional] haben die view-in-view cardXXX mit mdui-cols-<n> u/o mdui-rows-<n> Angaben, dann bezogen sich diese bisher auf ein 156er Raster, jetzt ist es ein 80er Raster. D.h. die <n> müssen angepasst werden, i.d.R. verdoppelt
                          • [optional] die view-in-view cardXXX mit mdui-order-<n> versehen, wenn man die Reihenfolge selbst festlegen möchte
                          • [optional] view-in-view cardXXX mit mdui-cols-<n>-toc-<m> versehen, wenn man mit einer automatischen Breitenanpassung der cardXXX arbeiten möchten
                          • [optional] contXXX die view-in-view cardXXX mit mdui-rows-<n>-tor-<m> versehen, wenn man mit einer automatischen Höhenanpassung der cardXXX arbeiten möchten
                        • abar
                          • ein HTML-Widget einfügen und mdui-config zuweisen. Inhalt wie unter den Änderungen zur V2.0 im Post beschrieben setzen (für die Farben)
                        • tnav, bnav
                          • Widgets als mdui-navitem kennzeichnen
                          • [optional] mit mdui-order-<n> für die Sortierung versehen
                        • [optional] wenn die navitems versteckt werden sollen, wenn die lnav fixiert angezeigt wird, dann die Widgets im tnav um mdui-lnav-fixed-open-hide ergänzen
                        • lnav, rnav
                          • Widgets als mdui-navitem kennzeichnen
                          • [optional] mit mdui-order-<n> für die Sortierung versehen
                          • width auf 100% setzen
                        • in den pageXXX
                          • [optional] Anpassung an 80er Grid: abar.Height auf 40 setzen; tnav.Top auf 40 setzen, tnav.Height auf 40 setzen; content.Top auf 80 setzen, content.Height auf calc(100% - 80px) setzen
                          • tnav, lnav und rnav um mdui-flex ergänzen
                          • content um mdui-flex ergänzen
                          • [optional] wenn eine automatische Höhenanpassung der cardXXX mit mdui-rows-<n>-tor-<m> im contXXX zugewiesen wurde, dann im pageXXX den content um mdui-flex-stretch erweitern

                        Ich werde beim Schreiben der Doku das mit aufnehmen. Demnächst.

                        Uhula - Leise und Weise
                        Ex: ioBroker on Gigabyte NUC Proxmox

                        foxriver76F P 2 Antworten Letzte Antwort
                        1
                        • UhulaU Uhula

                          @Pittini Mit Grafana kann ich so nichts anfangen, kenne ich nicht. Wie wird es eingebunden? Ist es ein ioBroker Adapter? Wird es im vis via iFrame-URL eingebunden? Wenn ja, sind in der URL die Zeitangaben zugänglich? Wenn ja, dann kann ich die wie die flots bearbeiten.

                          @kmxak "Ganz genau" kann ich das nicht angeben, denn das ist ja abhängig von der Art und Weise, wie MD V1.x genutzt wurde. Generell gilt aber:

                          MD CSS V1.x -> MD CSS V2.0

                          • in den cardXXX
                            • mdui-Classes anpassen, welche umbenannt wurden (Bsp: mdui-raisedbutton -> mdui-button-raised, mdui-flatbutton -> mdui-button). Die Umbenennungen habe ich in den Änderungen zur V2.0 im Post genannt
                            • die Position der Widgets so anpassen, dass sie links und oben mind. 16 Px frei lassen
                          • in den contXXX
                            • mdui-Classes anpassen, welche umbenannt wurden (Bsp: mdui-card -> mdui-card-raised, mdui-tile -> mdui-card; oder mdui-card-outlined nutzen). Die Umbenennungen habe ich in den Änderungen zur V2.0 im Post genannt
                            • [optional] haben die view-in-view cardXXX mit mdui-cols-<n> u/o mdui-rows-<n> Angaben, dann bezogen sich diese bisher auf ein 156er Raster, jetzt ist es ein 80er Raster. D.h. die <n> müssen angepasst werden, i.d.R. verdoppelt
                            • [optional] die view-in-view cardXXX mit mdui-order-<n> versehen, wenn man die Reihenfolge selbst festlegen möchte
                            • [optional] view-in-view cardXXX mit mdui-cols-<n>-toc-<m> versehen, wenn man mit einer automatischen Breitenanpassung der cardXXX arbeiten möchten
                            • [optional] contXXX die view-in-view cardXXX mit mdui-rows-<n>-tor-<m> versehen, wenn man mit einer automatischen Höhenanpassung der cardXXX arbeiten möchten
                          • abar
                            • ein HTML-Widget einfügen und mdui-config zuweisen. Inhalt wie unter den Änderungen zur V2.0 im Post beschrieben setzen (für die Farben)
                          • tnav, bnav
                            • Widgets als mdui-navitem kennzeichnen
                            • [optional] mit mdui-order-<n> für die Sortierung versehen
                          • [optional] wenn die navitems versteckt werden sollen, wenn die lnav fixiert angezeigt wird, dann die Widgets im tnav um mdui-lnav-fixed-open-hide ergänzen
                          • lnav, rnav
                            • Widgets als mdui-navitem kennzeichnen
                            • [optional] mit mdui-order-<n> für die Sortierung versehen
                            • width auf 100% setzen
                          • in den pageXXX
                            • [optional] Anpassung an 80er Grid: abar.Height auf 40 setzen; tnav.Top auf 40 setzen, tnav.Height auf 40 setzen; content.Top auf 80 setzen, content.Height auf calc(100% - 80px) setzen
                            • tnav, lnav und rnav um mdui-flex ergänzen
                            • content um mdui-flex ergänzen
                            • [optional] wenn eine automatische Höhenanpassung der cardXXX mit mdui-rows-<n>-tor-<m> im contXXX zugewiesen wurde, dann im pageXXX den content um mdui-flex-stretch erweitern

                          Ich werde beim Schreiben der Doku das mit aufnehmen. Demnächst.

                          foxriver76F Offline
                          foxriver76F Offline
                          foxriver76
                          Developer
                          schrieb am zuletzt editiert von
                          #442

                          @Uhula Wieso packst du eigentlich das JS-File nicht mal eigenständig auf GitHub. Sehe ich das richtig, dass ich immer erst das Projekt importieren muss (bzw. aus dem File ziehen, dann jedoch noch schick formatieren)? ;-)
                          Ebenfalls kann man dann in Zukunft die Änderungen auch auf GitHub auf Code-Ebene nachvollziehen.

                          Videotutorials & mehr

                          Hier könnt ihr mich unterstützen.

                          1 Antwort Letzte Antwort
                          0
                          • UhulaU Uhula

                            @Pittini Mit Grafana kann ich so nichts anfangen, kenne ich nicht. Wie wird es eingebunden? Ist es ein ioBroker Adapter? Wird es im vis via iFrame-URL eingebunden? Wenn ja, sind in der URL die Zeitangaben zugänglich? Wenn ja, dann kann ich die wie die flots bearbeiten.

                            @kmxak "Ganz genau" kann ich das nicht angeben, denn das ist ja abhängig von der Art und Weise, wie MD V1.x genutzt wurde. Generell gilt aber:

                            MD CSS V1.x -> MD CSS V2.0

                            • in den cardXXX
                              • mdui-Classes anpassen, welche umbenannt wurden (Bsp: mdui-raisedbutton -> mdui-button-raised, mdui-flatbutton -> mdui-button). Die Umbenennungen habe ich in den Änderungen zur V2.0 im Post genannt
                              • die Position der Widgets so anpassen, dass sie links und oben mind. 16 Px frei lassen
                            • in den contXXX
                              • mdui-Classes anpassen, welche umbenannt wurden (Bsp: mdui-card -> mdui-card-raised, mdui-tile -> mdui-card; oder mdui-card-outlined nutzen). Die Umbenennungen habe ich in den Änderungen zur V2.0 im Post genannt
                              • [optional] haben die view-in-view cardXXX mit mdui-cols-<n> u/o mdui-rows-<n> Angaben, dann bezogen sich diese bisher auf ein 156er Raster, jetzt ist es ein 80er Raster. D.h. die <n> müssen angepasst werden, i.d.R. verdoppelt
                              • [optional] die view-in-view cardXXX mit mdui-order-<n> versehen, wenn man die Reihenfolge selbst festlegen möchte
                              • [optional] view-in-view cardXXX mit mdui-cols-<n>-toc-<m> versehen, wenn man mit einer automatischen Breitenanpassung der cardXXX arbeiten möchten
                              • [optional] contXXX die view-in-view cardXXX mit mdui-rows-<n>-tor-<m> versehen, wenn man mit einer automatischen Höhenanpassung der cardXXX arbeiten möchten
                            • abar
                              • ein HTML-Widget einfügen und mdui-config zuweisen. Inhalt wie unter den Änderungen zur V2.0 im Post beschrieben setzen (für die Farben)
                            • tnav, bnav
                              • Widgets als mdui-navitem kennzeichnen
                              • [optional] mit mdui-order-<n> für die Sortierung versehen
                            • [optional] wenn die navitems versteckt werden sollen, wenn die lnav fixiert angezeigt wird, dann die Widgets im tnav um mdui-lnav-fixed-open-hide ergänzen
                            • lnav, rnav
                              • Widgets als mdui-navitem kennzeichnen
                              • [optional] mit mdui-order-<n> für die Sortierung versehen
                              • width auf 100% setzen
                            • in den pageXXX
                              • [optional] Anpassung an 80er Grid: abar.Height auf 40 setzen; tnav.Top auf 40 setzen, tnav.Height auf 40 setzen; content.Top auf 80 setzen, content.Height auf calc(100% - 80px) setzen
                              • tnav, lnav und rnav um mdui-flex ergänzen
                              • content um mdui-flex ergänzen
                              • [optional] wenn eine automatische Höhenanpassung der cardXXX mit mdui-rows-<n>-tor-<m> im contXXX zugewiesen wurde, dann im pageXXX den content um mdui-flex-stretch erweitern

                            Ich werde beim Schreiben der Doku das mit aufnehmen. Demnächst.

                            P Offline
                            P Offline
                            Pittini
                            Developer
                            schrieb am zuletzt editiert von
                            #443

                            @Uhula sagte in [Projekt] Material Design CSS für ioBroker.vis:

                            Mit Grafana kann ich so nichts anfangen, kenne ich nicht. Wie wird es eingebunden? Ist es ein ioBroker Adapter? Wird es im vis via iFrame-URL eingebunden? Wenn ja, sind in der URL die Zeitangaben zugänglich? Wenn ja, dann kann ich die wie die flots bearbeiten.

                            Sorry, ich nahm an Du kennst Grafana. Es wird genauso eingebunden wie Flot, also via Iframe. Nen Adapter gibts dazu nicht, das Ding hat ne Weboberfläche um die Grafiken zu erstellen. Is halt viel mächtiger als Flot, kann auch Tortengrafiken usw. Die Befehlszeile für das Iframe sieht so aus:

                            http://192.168.2.15:3000/d-solo/_m6IgtAWk/energieverbrauch?orgId=1&refresh=1m&panelId=2" width="450" height="200" frameborder="0"
                            
                            

                            Und wenn ich mir das so anschau kann ich fast meine Frage selber beantworten, geht nicht weil die Zeiten nicht drin sind. Und aussehen tut das ganze so z.B.
                            2020-01-24 13_18_07-vis.png

                            1 Antwort Letzte Antwort
                            0
                            • UhulaU Uhula

                              Material Design CSS V2.0

                              Its done ! (fast, Doku usw. fehlt noch)

                              Wer gerne reinschauen möchte, was mit dem Material Design CSS V2.0 so geht, der kann sich dieses als MP4-Film (ca. 1 min, 63 MByte) ansehen, oder sich das neue Demo-Projekt als ZIP herunter laden. Beim Import muss dieses als MD_Demo benannt werden, da sich in der CSS Datei eine Pfadangabe für den Icon-Font darauf bezieht, wählt man einen anderen Projekt-Namen, muss der Pfad in der CSS angepasst werden.

                              Und wer dann noch Freude dran hat, kann sich weiter unten die Änderungen durchlesen ... es hat sich sehr viel verändert. Zwar ist das Prinzip mit card/aber/lnav/content usw. erhalten geblieben, trotzdem müssen in eigenen Projekten deutliche Anpassungen an den Widgets vorgenommen werden. Mag sich aber für den einen oder anderen lohnen. ;-)

                              MD_Demo V2 als MP4 Film (Download, 1:08 min, 62 MByte)

                              MD_Demo V2 Projekt (als MD_Demo aufnehmen)

                              Wenn ich alles fertig habe, erstelle ein neues Thema und verlinke dort alles rein.

                              Änderungen V2.0

                              • Umstellung auf helles Thema
                                Das komplette Design wurde auf das helle Thema (light) umgesetzt und passt sich
                                flexibel an die jeweils gewählten Hintergrundfarben für abra, tnav, lnav, rnav
                                und content an in dem es automatisch eine weiße bzw. schwarze Schrift- und
                                Stiftfarbe wählt. Somit ist das dunkle Schema zur Laufzeit einstellbar.
                                Siehe auch "Symbole, Icons"!

                              • Konfiguration
                                Die Farben werden nicht mehr direkt den abra, tnav, lnav, rnav und content
                                -Elementen zugeordnet, sondern es wird z.B. im abar ein HTML-Element mit der
                                CSS-Class mdui-config ausgewertet, in welchem alle Farbangaben zentral
                                verzeichnet sind.
                                Das HTML-Element muss folgenden Aufbau haben:
                                "primary_color":"<farbe>",
                                "lnav_color":"<farbe>",
                                "rnav_color":"<farbe>",
                                "secondary_color":"<farbe>",
                                "content_color":"<farbe>",
                                "lnav_fixed_width":"0..9999",
                                "lnav_fixed_open":"true"
                                Für <farbe> können die Werte:
                                red, pink, purple, deeppurple, indigo, blue, lightblue, cyan, teal, green,
                                lightgreen, lime, yellow, amber, orange, deeporange, brown, grey,
                                darkgrey, bluegrey, white, black
                                sowie jede Farbangabe im Format #rrggbb (Bsp: #8050FF) verwendet werden.
                                In "lnav_fixed_width" wird die Breite in Pixel angegeben, ab der die lnav
                                links permanent angezeigt werden soll.
                                In "lnav_fixed_open" wird über true bzw. false festgelegt, ob die lnav beim
                                Seitenwechsel geöffnet dargestellt werden soll (wenn die Breite ausreicht)

                                Natürlich kann in allen Angaben auch von der binding-Fähigkeit von ioBroker
                                Gebrauch gemacht werden um die Angaben über vis-States zu setzen und somit
                                z.B. tagsüber ein helles Design und nachts ein dunkles Design zu verwenden.
                                Beispiel: "primary_color":"{vis.0.md.primary_color}" verwendet dann die akutell in
                                vis.0.md.primary_color eingestellte Farbe

                              • mdui-flex (Responsive Design)
                                Die Handhabung des responsive design, also die Anpassung des Inhalts an
                                die Breite der Darstellung, wurde komplett geändert. Statt bisher mit
                                dem float-Attribut zu arbeiten, wird nun flex verwendet. Dieses ist
                                deutlich mächtiger und bietet u.a. die Möglichkeit die Reihenfolge der
                                Child-Elemente unabhängig von ihrem Auftreten im HTML über die CSS-Class
                                mdui-order-<nn> (<nn>=1..99) zu setzen. Damit entfällt das unständliche
                                Kopieren/Einfügen von Elementen im Designer!
                                Im Demo-Projekt wird flex für tnav, lnav, rnav und den content verwendet.
                                Die mdui-flex CSS-Class wird dem Containerelement (z.B. mdui-content) zugeordnet,
                                nicht den Child-Elementen (z.B. den mdui-card).

                              • mdui-cols-<n>, mdui-rows-<n>
                                Die Größenangaben der Cards mit mdui-cols-<n> (Breite) und mdui-rows-<n> (Höhe)
                                basiert nun auf einem 80 Pixel Raster mit <n>=1-24 (bisher 156 Pixel Raster).
                                Damit ist eine feinere Größenzuweisung möglich.
                                Weiterhin kann nun jeweils auch eine maximale Größe mit angegeben werden. Dazu
                                muss nur mdui-cols-<n> zu mdui-cols-<n>-toc-<m> ergänzt werden <m>=1-24, bzw.
                                mdui-rows-<n> zu mdui-rows-<n>-tor-<m>.
                                Beispiel: mdui-cols-4-toc-8 führt dazu, dass das Card-Element je nach Platz
                                320 bis 640 Pixel breit dargestellt wird.
                                (wenn der Container "mdui-content" die CSS-Class mdui-flex besitzt)
                                Beispiel: mdui-rows-4-tor-8 führt dazu, dass das Card-Element je nach Platz
                                320 bis 640 Pixel hoch dargestellt wird
                                (wenn der Container "mdui-content" die CSS-Class mdui-flex-stretch besitzt)

                              • Cards
                                Die Darstellung der Cards wurde verändert. Sie fügen nun keine margins mehr hinzu,
                                sondern stellen die Vard-Views so dar, wie sie designt wurden. Es empfiehlt sich
                                in den Card-Views 16 Px linke und oben frei zu lassen.
                                mdui-card : Darstellung als flache Card, mit 2px Außen-, 14px Innenabstand (früher: mdui-tile)
                                mdui-card-raised : Darstellung mit Schatten, mit 8px Außen-, 8px Innenabstand (früher: mdui-card)
                                mdui-card-outlined: Darstellung mit Rahmen, mit 8px Außen-, 8px Innenabstand

                              • Buttons
                                Hier wurden die CSS-Class namentlich verändert und vereinheitlicht:
                                mdui-flatbutton -> mdui-button
                                mdui-raisedbutton -> mdui-button-raised
                                mdui-button-outlined: NEU Stellt Buttons mit einer Rahmenlinie dar, über
                                mdui-<colorname>-ol kann die Rahmenfarbe gesetzt werden. Vorgabe: grau

                              • Symbole, Icons
                                Wenn man mit der Umschaltung heller und dunkler Schema arbeiten möchte, muss
                                man auch dafür sorgen, dass Symbole und Icons z.B. von schwar auf weiß wechseln.
                                Da dieses mit diskreten Bilddateien (img) nicht per CSS lösbar ist, können nun die
                                Material Design Icons genutzt werden.
                                Link: https://material.io/resources/icons/?style=baseline
                                Hierzu werden alle Icons als Font in der CSS-Datei eingebunden und können dann in
                                jeder HTML Eingabe als Icon durch <i class="material-icons">iconname</i> genutzt werden.
                                Bsp:<i class="material-icons">home</i>
                                Dadruch werden die Icons wie normaler Text behandelt und passen sich sowohl in der
                                Größe (font-size) als auch in der Farbe (color) an!
                                Wichtig: Die font-Dateien (Material-Icons-...) liegen im Demo-Projektordner
                                (Bsp: /vis.0/MD_Demo/) im Images-Ordner. Wird ein eigenes Projekt verwendet, müssen
                                die font-Dateien kopiert werden und die Pfadangaben in der CSS-Datei müssen
                                für @font-face {} angepasst werden!!!

                              • Slider
                                Die Dartellung der Slider wurde erweitert, so ist nun sowohl die segmentierte
                                Darstellung als auch die Anzeige des aktuellen Wertes während des slidens möglich.
                                mdui-segment-<n> : Anzeige mit entspr. vielen Segmenten <n>=5,10,20,25,33,50
                                mdui-show-hint : Während des Bedienens wird der aktuelle Wert angezeigt (0-100)
                                mdui-range-<from>-<to> : Da kein Zugriff auf den aktuellen Wert im vis möglich ist
                                und nur die Info 0 bis 100% im Slider zur Verfügung steht, kann über die mdui-range
                                Angabe ein Sliderbereich für mdui-show-hint festgelegt werden. 0%=<from> 100%=<to>
                                Beispiel: mdui-range-0-255 für die Festlegung eines Rot-Wertes

                              • Tabellen
                                Die Tabellen CSS-Classes haben sich ein wenig verändert, ebenso die Angabe der Optionen.
                                Weiterhin wurde die Darstellung an die flat/raised/outlined Darstellung der Cards
                                angepasst.
                                mdui-table: Darstellung der Tabelle in normaler Tabellenform
                                mdui-table-list : Darstellung in Zeilen (rows) Listenform
                                mdui-table-raised : Darstellung der Zeilen (rows) als Cards, erhaben, mit Schatten
                                mdui-table-outlined : Darstellung der Zeilen (rows) als Cards, mit Rahmen
                                Die Optionen werden nun in einer seperaten CSS-Class angegeben:
                                mdui-table-opt-[-r<responsewidth>][-w<colwidth>][-c<colcount>][-l]

                              • Diverses

                                • box-sizing wird global auf box-model gesetzt damit die width und height
                                  Berechnungen besser passen. Hinweis: Größenangaben werden nun inklusive
                                  Border+Padding interpretiert.
                                • Werden mdui-toggle 100% Buttons in der lnav bzw. rnav verwendet um strukturierte
                                  Menüs zu erzeugen, so zeigen sie nun bereits einen Pfeil nach unten bzw.
                                  nach oben am rechten Rand automatisch an
                              • Neue bzw. geänderte CSS Classes

                                • mdui-center: Zentriert die Ausgabe im Element horizontal und vertikal
                                • mdui-center-h: Zentriert die Ausgabe im Element horizontal
                                • mdui-center-v: Zentriert die Ausgabe im Element vertikal
                                • mdui-cols-<n>-toc-<m>: Über "-toc-<m>" kann nun eine max. Breite angegeben
                                  werden, mit <m>=1 bis 24
                                • mdui-divider : zeichnet eine dünne horizontale Linie, kann z.B. in lnav
                                  verwendet werden, passt sich dem light-dark-Thema an
                                • mdui-expand[-<height>]: Kann einer Schaltfläche zugewiesen werden um ein Element
                                  zu kollabieren/expandieren. Normalerweise also innerhalb eines Views, der als
                                  Card verwendet werden soll. Sinnvoll für Phone-Screens.
                                  In [-<height>] kann optional eine Zielhöhe in px im collabierten Zustand
                                  angegeben werden, wenn nicht, werden 64px angenommen
                                • mdui-flex : Wird einem Container (view-in-view) zugeordnet und führt dazu,
                                  dass enthaltene Elemente automatisch angeordnet werden und je nach deren
                                  mdui-cols- Zuweisungen sich in der Breite anpassen
                                • mdui-flex-stretch : Wird einem Container (view-in-view) zugeordnet und
                                  führt dazu, dass enthaltene Elemente je nach mdui-rows- Zuweisungen
                                  sich in der Höhe anpassen
                                • mdui-noflex : Das Element wird im mdui-flex nicht berücksichtigt
                                • mdui-h-flow bzw. mdui-v-flow: umbenannt zu mdui-flow, da man h/v flow durch
                                  das Drehen mit mdui-rotate-<grad> erreichen kann
                                • mdui-input mdui-center-horizontal umbenannt zu mdui-input mdui-center-h
                                • mdui-order-N: Festlegung der Reihenfolge dwer Elemente in flex-Darstellung,
                                  wird zur Designzeit im ElElement mit angezeigt
                                • mdui-rotate-<grad> : Dreht ein Element um <grad>°. 0° entspricht der horizontalen
                                  Darstellung. 15° Schritte sind möglich.
                                  <grad>=000,015,030,045,060,075,090,105,120,135,150,165,180,195,210,225,
                                  240,255,270,285,300,315,330,345
                                • mdui-rotateX-cw, mdui-rotateX-ccw : Lässt ein Element um seine X-Achse
                                  rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
                                  mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
                                  cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
                                • mdui-rotateY-cw, mdui-rotateY-ccw : Lässt ein Element um seine Y-Achse
                                  rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
                                  mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
                                  cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
                                • mdui-rotateZ-cw, mdui-rotateZ-ccw : Lässt ein Element um seine Z-Achse
                                  rotieren, die Rotationsgeschwindigkeit kann über mdui-slowest, mdui-slower,
                                  mdui-slow, ..., mdui-fast, mdui-faster, mdui-fastest festgelegt werden.
                                  cw=im Uhrzeigersinn, ccw=gegen den Uhrzeigersinn
                                • mdui-rows-<n>-tor-<m>: Über "-tor-<m>" kann nun eine max. Höhe angegeben
                                  werden, mit <m>=1 bis 24
                                • .mdui-scale-<n> : Dient der Skalierung des Elements/Widgets.
                                  Mit <n>=010,020,025,030,033,040,050,060,066,070,075,080,090

                              D Offline
                              D Offline
                              darkiop
                              Most Active
                              schrieb am zuletzt editiert von
                              #444

                              @Uhula Ich habe eben versucht deine v2.0 zusammen mit dem View in Widget 8 zu testen. Leider funktionieren da die flex-boxen nicht.

                              Beispiel mit den beiden Testseiten im Anhang - das ganze sollte in Kombination mit Scroungers Material Design Widgets laufen - es macht hier allerdings keinen Unterschied ob das Top App Bar Widget Aktiv ist. Es muss wohl am "view in widget 8" liegen.

                              Hättest du eine Idee dafür?

                              72043b49-3f2c-45b3-9b78-31a43f88719f-grafik.png

                              2020-01-24-MD_Demo.zip

                              Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                              UhulaU 1 Antwort Letzte Antwort
                              0
                              • foxriver76F Offline
                                foxriver76F Offline
                                foxriver76
                                Developer
                                schrieb am zuletzt editiert von foxriver76
                                #445

                                @Uhula Wie ist das von dir gedachte Vorgehen um ein mdui-value rechtsbündig anzuzeigen? Gibt es ein äquivalent zu mdui-center fürs rechts und links alignen?

                                Dann noch zwei andere Geschichten. Durch die Umstellung auf Flex, sind die Cards leider nicht mehr zentriert wenn sie so umbrechen, dass je eine Card je Zeile angezeigt wird. (EDIT: das konnte ich für die meisten Fälle lösen mit mdui-cols-<n>-toc-<k> und für Zeilenabstände das entsprechende Row Pardon).

                                Beim letzten Problem ist es so, dass die Anzeige nur für den initial sichtbaren Screen passt, beim scrollen ist dann alles darunter kaputt.
                                WhatsApp Image 2020-01-24 at 22.26.20(1).jpeg

                                Sind das alles Konfigurationsprobleme meinerseits? ;-)

                                Der neue Slider mit der Hint Funktion gefällt mir auch sehr gut - nur hatte ich gedacht, dass der Hint nach dem verstellen z. B. mittels Timeout verschwindet/verblasst und nicht erst durch Klick woanders hin. Was ist deine Meinung hierzu?

                                Und kann ich die Top Nav scrollbar machen? Siehe meine mobilen Screenshots, passen nur zwei Punkte drauf. Wenn ein Float/Flex Element aktiv ist, kann ich nicht scrollen, ohne das floaten geht es. Ist es möglich trotz Flexbox das scrollen zu ermöglichen?

                                Videotutorials & mehr

                                Hier könnt ihr mich unterstützen.

                                UhulaU 1 Antwort Letzte Antwort
                                0
                                • D darkiop

                                  @Uhula Ich habe eben versucht deine v2.0 zusammen mit dem View in Widget 8 zu testen. Leider funktionieren da die flex-boxen nicht.

                                  Beispiel mit den beiden Testseiten im Anhang - das ganze sollte in Kombination mit Scroungers Material Design Widgets laufen - es macht hier allerdings keinen Unterschied ob das Top App Bar Widget Aktiv ist. Es muss wohl am "view in widget 8" liegen.

                                  Hättest du eine Idee dafür?

                                  72043b49-3f2c-45b3-9b78-31a43f88719f-grafik.png

                                  2020-01-24-MD_Demo.zip

                                  UhulaU Offline
                                  UhulaU Offline
                                  Uhula
                                  schrieb am zuletzt editiert von
                                  #446

                                  @darkiop Mit dem Widget 8 habe ich das nie versucht, das nutze ich an keiner Stelle. Ich habe es mir aber in deinem Projekt angesehen, es kann so nicht gehen, da das Widget 8 eine zusätzliches vis-widget-body Element mit verschachtelt, darauf ist mdui-flex nicht eingestellt.

                                  Du kannst es aber erreichen, indem du an zwei Stellen die CSS erweiterst. Die ### Zeilen einfügen (ohne ### davor):

                                  /* flex 
                                    align-items : stretch;
                                  */
                                  ###.mdui-flex>.vis-widget-body>.vis-view-container>.vis-view,
                                  .mdui-flex>.vis-view-container>.vis-view {
                                    display: flex;
                                  
                                  /* ist das flex-item, muss wieder in den normalen Verlauf rein */
                                  
                                  ###.mdui-flex>.vis-widget-body>.vis-view-container>.vis-view>div:not(.mdui-noflex), 
                                  .mdui-flex>.vis-view-container>.vis-view>div:not(.mdui-noflex) { 
                                    position: relative !important;
                                  

                                  Bei mir funktionierte dann mdui-flex auch im Widget 8 - wenn man denn contXXX einfügt.

                                  Uhula - Leise und Weise
                                  Ex: ioBroker on Gigabyte NUC Proxmox

                                  D 1 Antwort Letzte Antwort
                                  1
                                  • foxriver76F foxriver76

                                    @Uhula Wie ist das von dir gedachte Vorgehen um ein mdui-value rechtsbündig anzuzeigen? Gibt es ein äquivalent zu mdui-center fürs rechts und links alignen?

                                    Dann noch zwei andere Geschichten. Durch die Umstellung auf Flex, sind die Cards leider nicht mehr zentriert wenn sie so umbrechen, dass je eine Card je Zeile angezeigt wird. (EDIT: das konnte ich für die meisten Fälle lösen mit mdui-cols-<n>-toc-<k> und für Zeilenabstände das entsprechende Row Pardon).

                                    Beim letzten Problem ist es so, dass die Anzeige nur für den initial sichtbaren Screen passt, beim scrollen ist dann alles darunter kaputt.
                                    WhatsApp Image 2020-01-24 at 22.26.20(1).jpeg

                                    Sind das alles Konfigurationsprobleme meinerseits? ;-)

                                    Der neue Slider mit der Hint Funktion gefällt mir auch sehr gut - nur hatte ich gedacht, dass der Hint nach dem verstellen z. B. mittels Timeout verschwindet/verblasst und nicht erst durch Klick woanders hin. Was ist deine Meinung hierzu?

                                    Und kann ich die Top Nav scrollbar machen? Siehe meine mobilen Screenshots, passen nur zwei Punkte drauf. Wenn ein Float/Flex Element aktiv ist, kann ich nicht scrollen, ohne das floaten geht es. Ist es möglich trotz Flexbox das scrollen zu ermöglichen?

                                    UhulaU Offline
                                    UhulaU Offline
                                    Uhula
                                    schrieb am zuletzt editiert von
                                    #447

                                    @foxriver76 mit dem mdui-label geht rechtsbündig im Moment nicht, da die Child-Elemente durch das CSS mit display:flex zentriert werden. Du kannst aber im CSS für mdui-value (entsprechend auch für mdui-title, mdui-subtitle und mdui-label) dieses entfernen. Dann kannst du im Widget über die "CSS Font Text" "text-align" die Ausrichtung vornehmen.

                                    Dieses weg:

                                    .mdui-value>.vis-widget-body,
                                    .mdui-value>.vis-widget-body>* {
                                      display:flex;
                                      align-items: center;
                                    }
                                    

                                    Ich muss mal sehen, warum ich das vertikale Zentrieren da drin habe, kann evtl. grundsätzlich weg.

                                    Slider: Die Darstellung reagiert auf :hover und :focus - man könnte auf :focus verzichten, aber dann fehlt es bei der Bedienung am Desktop wenn man die Elemente mit der TAB Taste durchgeht

                                    tnav: Scrollbar mit float/flex. Ist mir nicht bekannt, und wiederspricht auch dem flex Charakter. Ich hatte bei meinem Produktiv tnav das gleiche Problem und habe mich dann auf max. 5 Werte je tnav beschränkt, so dass es auf 320px Breite noch passt (kann man im MD_Demo sehen). Alternativ ohne float/flex arbeiten und die Widgets wieder per Hand sortieren.

                                    Uhula - Leise und Weise
                                    Ex: ioBroker on Gigabyte NUC Proxmox

                                    foxriver76F 1 Antwort Letzte Antwort
                                    0
                                    • UhulaU Uhula

                                      @darkiop Mit dem Widget 8 habe ich das nie versucht, das nutze ich an keiner Stelle. Ich habe es mir aber in deinem Projekt angesehen, es kann so nicht gehen, da das Widget 8 eine zusätzliches vis-widget-body Element mit verschachtelt, darauf ist mdui-flex nicht eingestellt.

                                      Du kannst es aber erreichen, indem du an zwei Stellen die CSS erweiterst. Die ### Zeilen einfügen (ohne ### davor):

                                      /* flex 
                                        align-items : stretch;
                                      */
                                      ###.mdui-flex>.vis-widget-body>.vis-view-container>.vis-view,
                                      .mdui-flex>.vis-view-container>.vis-view {
                                        display: flex;
                                      
                                      /* ist das flex-item, muss wieder in den normalen Verlauf rein */
                                      
                                      ###.mdui-flex>.vis-widget-body>.vis-view-container>.vis-view>div:not(.mdui-noflex), 
                                      .mdui-flex>.vis-view-container>.vis-view>div:not(.mdui-noflex) { 
                                        position: relative !important;
                                      

                                      Bei mir funktionierte dann mdui-flex auch im Widget 8 - wenn man denn contXXX einfügt.

                                      D Offline
                                      D Offline
                                      darkiop
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #448

                                      @Uhula sagte in [Projekt] Material Design CSS für ioBroker.vis:

                                      Bei mir funktionierte dann mdui-flex auch im Widget 8 - wenn man denn contXXX einfügt.

                                      Danke das funktioniert. Jetzt mal überlegen wie und ob ich umstelle :)

                                      Wirst du die beiden Zeile in deine Version übernehmen oder macht es Sinn diese extra am Ende des CSS in persönliche Anpassungen zu packen?

                                      Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                                      1 Antwort Letzte Antwort
                                      0
                                      • UhulaU Uhula

                                        @foxriver76 mit dem mdui-label geht rechtsbündig im Moment nicht, da die Child-Elemente durch das CSS mit display:flex zentriert werden. Du kannst aber im CSS für mdui-value (entsprechend auch für mdui-title, mdui-subtitle und mdui-label) dieses entfernen. Dann kannst du im Widget über die "CSS Font Text" "text-align" die Ausrichtung vornehmen.

                                        Dieses weg:

                                        .mdui-value>.vis-widget-body,
                                        .mdui-value>.vis-widget-body>* {
                                          display:flex;
                                          align-items: center;
                                        }
                                        

                                        Ich muss mal sehen, warum ich das vertikale Zentrieren da drin habe, kann evtl. grundsätzlich weg.

                                        Slider: Die Darstellung reagiert auf :hover und :focus - man könnte auf :focus verzichten, aber dann fehlt es bei der Bedienung am Desktop wenn man die Elemente mit der TAB Taste durchgeht

                                        tnav: Scrollbar mit float/flex. Ist mir nicht bekannt, und wiederspricht auch dem flex Charakter. Ich hatte bei meinem Produktiv tnav das gleiche Problem und habe mich dann auf max. 5 Werte je tnav beschränkt, so dass es auf 320px Breite noch passt (kann man im MD_Demo sehen). Alternativ ohne float/flex arbeiten und die Widgets wieder per Hand sortieren.

                                        foxriver76F Offline
                                        foxriver76F Offline
                                        foxriver76
                                        Developer
                                        schrieb am zuletzt editiert von foxriver76
                                        #449

                                        @Uhula sagte in [Projekt] Material Design CSS für ioBroker.vis:

                                        Ich muss mal sehen, warum ich das vertikale Zentrieren da drin habe, kann evtl. grundsätzlich weg.

                                        Bei mdui-button ähnliches Problem, durch die flex-box wird der Text nicht mehr horizontal zentriert (was in v1.X der Fall war).

                                        Bildschirmfoto von 2020-01-25 14-32-38.png

                                        Und die Filter für Flot Grafiken werden anscheinend nicht in der Farbe angepasst. Siehe
                                        Bildschirmfoto von 2020-01-25 14-45-53.png

                                        An allen anderen Stellen ist die Schriftfarbe automatisch auf Weiß gesprungen. Weiterhin habe ich das Problem, dass über dem scrollbaren Content so eine milchiger Layer liegt, sprich Content passt nicht ganz auf die Seite, ich scrolle runter und über dem Content ist so eine weiß-transparente Schicht. Ist auch im Edit-Mode schon so.

                                        Videotutorials & mehr

                                        Hier könnt ihr mich unterstützen.

                                        1 Antwort Letzte Antwort
                                        0
                                        • C cuuira

                                          Nabend

                                          Ich habe leider keinen Plan von diesem ganzen CSS Sachen. Deswegen brauche ich mal eine Hilfe…. ich jetzt so einige Sachen in meinem Projekt angepasst und würde gerne bei einer bestimmten Auflösung die Namen kürzen. Dazu gibt es auch in der Anleitung eine Beschreibung. Leider weiß ich damit nichts anzufangen.

                                          > Wenn man hier Rücksicht auf ein responsive Design nehmen möchte, kann man den Text so gestalten, dass er bei Bildschirmauflösungen von max. 480px und mehr als 480px unterschiedlich dargestellt wird. Hierzu sind die CSS Klassen mdui-show480 und mdui-hide480 zu nutzen. Bsp: EGErdgeschoß

                                          Gruß Cuuira

                                          jpgorganizerJ Offline
                                          jpgorganizerJ Offline
                                          jpgorganizer
                                          schrieb am zuletzt editiert von
                                          #450

                                          @cuuira said in [Projekt] Material Design CSS für ioBroker.vis:

                                          Wenn man hier Rücksicht auf ein responsive Design nehmen möchte, kann man den Text so gestalten, dass er bei Bildschirmauflösungen von max. 480px und mehr als 480px unterschiedlich dargestellt wird. Hierzu sind die CSS Klassen mdui-show480 und mdui-hide480 zu nutzen. Bsp: EGErdgeschoß

                                          Hi,
                                          ich versuche gerade verschiedene Text in Abhängigkeit der Pixelanzahl auszugeben. Aber irgenwas mache ich komplett falsch. Es werden sowohl der kurze Text als auch der lange Text gleichzeitig ausgebenen.

                                          Also auf das o.a. Beispiel: steht bei mir: "EGErdgeschoß"
                                          24a09446-726d-49e6-9c98-51d556ff529a-grafik.png
                                          Ich habe den Text aus dem Beispiel in das Feld Text kopiert.
                                          82605f05-fd55-4ba3-b528-89baaad79c94-grafik.png

                                          Ich vermute, dass ich grundsätzlich was falsch mache. Nur was? Please help.

                                          Das Projekt ist Uhula's Demo Projekt. Nur ein paar Texte ausgetauscht. Frisch geholt am 25.1.20 aus Github https://github.com/Uhula/ioBroker-Material-Design-Style

                                          Ideen?

                                          Grüße
                                          jpgorganizer

                                          Bitte keine Fragen per PN, die gehören ins Forum!

                                          ioBroker
                                          smartgarden Adapter für GARDENA smart system
                                          Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                                          UhulaU 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          621

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe