Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

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

Scheduled Pinned Locked Moved Visualisierung
650 Posts 111 Posters 223.8k Views 68 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • O Offline
    O Offline
    ok1
    wrote on last edited by
    #101

    @Uhula:

    @ok1

    Die Funktionalität war nicht für Views in Dialogen gedacht, sondern nur für solche im Hauptfenster (vis_container) selbst. Es wurde im Script nur ein Eventhandler für das Hauptfenster gesetzt. Ich habe es mal ausprobiert, diese auf den gesamten body zu setzen, dann funktioniert es auch in Dialogen.

    Dazu musst du im Script, in der unteren setTimeout() Funktion die "#vis_container" durch "body" ersetzen (insgesamt 4x).

    Bisher:

    setTimeout(function () {

    // click-Eventhandler für "mdui-scale-" setzen

    $("#vis_container").on( "click", "[class*='mdui-scale-']", function(event) {

    MDUI.scale( $(this) );

    } );

    …

    });

    Neu:

    setTimeout(function () {

    // click-Eventhandler für "mdui-scale-" setzen

    $("body").on( "click", "[class*='mdui-scale-']", function(event) {

    MDUI.scale( $(this) );

    } );

    …

    });

    Werde ich so auch in die Scripte übernehmen. Danke für den Hinweis. `

    Ich bin noch auf ein Problem gestoßen. Im normalen Anzeigemodus funktioniert die Lösung oben wunderbar. Geht man dann aber in den Fullscreen-Modus (über das Widget basic-FullScreen) verschwindet der Dialog unter der Fullscreen-Anzeige bzw. wird unter der Fullscreen-Anzeige erzeugt, ist aber nicht sichtbar. Erst wenn man den Fullscreen-Modus wieder verlässt erscheint die Dialog-Box. Leider habe ich bislang keine funktionierende CSS- bzw. Script-Lösung gefunden. Daher im Voraus vielen Dank für Eure Unterstützung.

    1 Reply Last reply
    0
    • UhulaU Offline
      UhulaU Offline
      Uhula
      wrote on last edited by
      #102

      @ok1:

      Ich bin noch auf ein Problem gestoßen. Im normalen Anzeigemodus funktioniert die Lösung oben wunderbar. Geht man dann aber in den Fullscreen-Modus (über das Widget basic-FullScreen) verschwindet der Dialog unter der Fullscreen-Anzeige bzw. wird unter der Fullscreen-Anzeige erzeugt, ist aber nicht sichtbar. Erst wenn man den Fullscreen-Modus wieder verlässt erscheint die Dialog-Box. Leider habe ich bislang keine funktionierende CSS- bzw. Script-Lösung gefunden. Daher im Voraus vielen Dank für Eure Unterstützung. `
      Das liegt daran, da im Fullscreen-Modus der z-index über die CSS-Klasse ":-webkit-full-screen { }" auf 2147483647 gesetzt wird (warum auch immer). Widget-Dialoge hingegen setzen den z-index nur auf 998; das Material Design Fullscreen auf z-index 2000. Wenn man beides auf 2147483647 anpasst und am Script eine kleine Änderungen vornimmt, geht es. Es bleibt aber die Frage, was dann nicht mehr geht. Kannst du ja mal testen, ob ich das generell ändern kann.

      Manuell:

      <u>In der MD CSS:</u>

      /* –---

      Dialog

      ----- */

      .mdui-runtime .ui-dialog {

      ...

      z-index: 2147483647 !important;

      }

      <u>In der MD Script:</u>

      function _toggleFullscreen( $ele ){

      …

      $target.attr("style","position:fixed; left:0; top:0; width:100%; height:100%; ****z-index: 2147483647 !important;****background:#212121 !important; ");

      $target.appendTo( "body" );

      //$target.appendTo( "body #vis_container" );

      }

      }

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

      1 Reply Last reply
      0
      • N Offline
        N Offline
        noxx
        wrote on last edited by
        #103

        @Uhula:

        @zahnheinrich:

        @noxx:

        Ein Video-Tutorial habe ich derzeit nicht geplant (dann würde ich lieber ein MD-vis Adapter machen …). Durch die MD-Demo bzw. MD-Simpel Projekte, die man als Basis eines eigenen Projekts nehmen sollte und dem PDF-Handbuch mit der Beschreibung der "mdui-" CSS sollte man aber auch so voran kommen. Wenn nicht, hier im Forum fragen. `

        Danke, leider fehlt mir etwas die Zeit mich da reinzuarbeiten. Evtl im Winter.

        Wenn man die Demos aufmacht, sind das natürlich für einen Einsteiger bömische Dörfer.

        In FHEM hatte mir das damals geholfen: https://www.youtube.com/watch?v=O5DsCKTNF8c

        Ist aber natürlich ein ganz anderer Funktionsumfang.

        Gruß

        1 Reply Last reply
        0
        • O Offline
          O Offline
          ok1
          wrote on last edited by
          #104

          @Uhula:

          Das liegt daran, da im Fullscreen-Modus der z-index über die CSS-Klasse ":-webkit-full-screen { }" auf 2147483647 gesetzt wird (warum auch immer). Widget-Dialoge hingegen setzen den z-index nur auf 998; das Material Design Fullscreen auf z-index 2000. Wenn man beides auf 2147483647 anpasst und am Script eine kleine Änderungen vornimmt, geht es. Es bleibt aber die Frage, was dann nicht mehr geht. Kannst du ja mal testen, ob ich das generell ändern kann.

          Manuell:

          <u>In der MD CSS:</u>

          /* –---

          Dialog

          ----- */

          .mdui-runtime .ui-dialog {

          ...

          z-index: 2147483647 !important;

          }

          <u>In der MD Script:</u>

          function _toggleFullscreen( $ele ){

          …

          $target.attr("style","position:fixed; left:0; top:0; width:100%; height:100%; ****z-index: 2147483647 !important;****background:#212121 !important; ");

          $target.appendTo( "body" );

          //$target.appendTo( "body #vis_container" );

          }

          } `

          Hallo Uhula,

          das Setzen des z-index hat sofort zum gewünschten Ergebnis geführt. Allerdings konnte ich bislang noch nicht intensiv testen, da ich mich weiterhin an den jquery-Dialogboxen festgebissen habe.

          Zum einen habe ich ein Problem mit dem Stacken von 2 Dialogen. Diese erscheinen nicht übereinander, sondern der 2. Dialog liegt unter dem ersten Dialog.

          Zum anderen gibt es noch einen Darstellungsfehler auf dem Tablet unter Android Chrome (die Darstellung auf dem Desktop Chrome ist ok). Der erste Aufruf des Dialogs funktioniert wie erwartet. Schließt man den Dialog über "Close" und öffnet den Dialog erneut, dann erscheint der Content nur zum Teil und ist nach oben verschoben. Über die Wisch-Geste kann man den Content dann nach unten ziehen. Es scheint auf dem Tablet eine Fehlberechnung des Content-Bereichs beim 2. Aufruf zu geben zu geben. Zudem ändert der "Close"-Button beim 2. Aufruf seine Farbe.

          Für beide Probleme wäre wahrscheinlich der direkte Eingriff für die Dialoge über das MD-Script sinnvoll, um z.B. statt "Dialog-Close" "Dialog-Destroy" o.ä. zu testen. Oder aber um das Stacking mit moveToTop() zu beeinflussen. Aber leider habe ich VIS noch nicht so verstanden, dass ich über das MD-Script den Zugriff auf die Dialog-Methoden, Events und Optionen erhalte um die implementierten Jquery-Standards zu modifizieren.

          Meine bisherigen Versuche waren noch nicht erfolgreich. Daher wäre ich für jede Hilfestellung sehr dankbar.
          3515_jqui-html-dialog-stack.png
          3515_jqui-html-dialog.png

          1 Reply Last reply
          0
          • O Offline
            O Offline
            ok1
            wrote on last edited by
            #105

            @ok1:

            Zum anderen gibt es noch einen Darstellungsfehler auf dem Tablet unter Android Chrome (die Darstellung auf dem Desktop Chrome ist ok). Der erste Aufruf des Dialogs funktioniert wie erwartet. Schließt man den Dialog über "Close" und öffnet den Dialog erneut, dann erscheint der Content nur zum Teil und ist nach oben verschoben. Über die Wisch-Geste kann man den Content dann nach unten ziehen. Es scheint auf dem Tablet eine Fehlberechnung des Content-Bereichs beim 2. Aufruf zu geben zu geben. Zudem ändert der "Close"-Button beim 2. Aufruf seine Farbe. `
            Den Darstellungsfehler konnte ich fixen. Es lag in einem Missverständnis über das Setzen der Auflösung unter "Tools" im VIS-Editor. Nachdem ich für den darzustellenden View im Dialog die Auflösung von Tablet-Auflösung auf "nicht definiert" gesetzt habe funktioniert die Dialog-Darstellung einwandfrei.

            Es bleibt damit noch das Problem der nicht übereinander liegenden, gestackten Dialoge.

            1 Reply Last reply
            0
            • UhulaU Offline
              UhulaU Offline
              Uhula
              wrote on last edited by
              #106

              @ok1:

              Es bleibt damit noch das Problem der nicht übereinander liegenden, gestackten Dialoge. `
              Das Dialog-Stacking schau ich mir mal an. jquery-UI kann es eigentlich. Ob aber vis es auch unterstützt, werde ich mal untersuchen.

              Alternativ kannst du aber versuchen auf das Dialog-Stacking zu verzichten in dem du auf deinem Main-Screen die Schaltfläche nicht wie bisher zum Öffnen des Konfigurationsdialogs und von dort aus weiter zur Graphanzeige designst, sondern die Schaltfläche im Main-Screen lediglich ein Kontextmenü öffnet, mit den beiden Einträgen "Konfiguration" und "Verlauf" (Kontextmenü wie es im Material Design für die FLOT Anpassung verwendet wird). Oder eben im Main-Screen zwei Schaltflächen.

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

              1 Reply Last reply
              0
              • E Offline
                E Offline
                ErazorVIP
                wrote on last edited by
                #107

                Hallo,

                ich hätte nochmal eine Frage bezüglich der CSS Klasse.

                Ich habe jetzt ein Image hinzugefügt mit 2 Systembildern…

                Jetzt möchte ich gerne "mdui-red-blink" verwenden.. Das soll aber nur bei Systembild 2 passieren.

                Hat jemand eine Idee wie ich das am besten umsetzen kann?

                Wenn ich "mdui-red-blink" bei Generell und CSS Klasse eintrage habe ich ja das Ergebnis bei beiden Bildern. :?: :?:

                1 Reply Last reply
                0
                • MeistertrM Offline
                  MeistertrM Offline
                  Meistertr
                  Developer
                  wrote on last edited by
                  #108

                  @ErazorVIP:

                  Hallo,

                  ich hätte nochmal eine Frage bezüglich der CSS Klasse.

                  Ich habe jetzt ein Image hinzugefügt mit 2 Systembildern…

                  Jetzt möchte ich gerne "mdui-red-blink" verwenden.. Das soll aber nur bei Systembild 2 passieren.

                  Hat jemand eine Idee wie ich das am besten umsetzen kann?

                  Wenn ich "mdui-red-blink" bei Generell und CSS Klasse eintrage habe ich ja das Ergebnis bei beiden Bildern. :?: :?: ` Du musst das unter den Reiter widget eintragen und nicht bei view. Dann geht es

                  Gesendet von meinem Handy

                  1 Reply Last reply
                  0
                  • E Offline
                    E Offline
                    ErazorVIP
                    wrote on last edited by
                    #109

                    @Meistertr:

                    @ErazorVIP:

                    Hallo,

                    ich hätte nochmal eine Frage bezüglich der CSS Klasse.

                    Ich habe jetzt ein Image hinzugefügt mit 2 Systembildern…

                    Jetzt möchte ich gerne "mdui-red-blink" verwenden.. Das soll aber nur bei Systembild 2 passieren.

                    Hat jemand eine Idee wie ich das am besten umsetzen kann?

                    Wenn ich "mdui-red-blink" bei Generell und CSS Klasse eintrage habe ich ja das Ergebnis bei beiden Bildern. :?: :?: ` Du musst das unter den Reiter widget eintragen und nicht bei view. Dann geht es

                    Gesendet von meinem Handy `

                    Ja das habe ich unter Widget eingetragen:

                    ~~![](</s><URL url=)http://up.picr.de/30746075bk.png" />

                    ~~![](</s><URL url=)http://up.picr.de/30746076ix.png" />

                    Das Problem ist halt nur ich möchte es nur bei ein Systembild haben wenn der Signalzustand auf true springt z.B.!~~~~

                    1 Reply Last reply
                    0
                    • UhulaU Offline
                      UhulaU Offline
                      Uhula
                      wrote on last edited by
                      #110

                      @ErazorVIP:

                      Das Problem ist halt nur ich möchte es nur bei ein Systembild haben wenn der Signalzustand auf true springt z.B.! `
                      CSS Klassen, die nur für die Signalbilder gelten sollen, sind dort unter der Eigenschaft "Klassen[x]" einzugeben. Z.B. "Klassen[0]" = "mdui-red-blink"

                      Damit blinkt dann das Signalbild, nicht das Widget! Letzteres ist auch via CSS-Klassen nicht erreichbar, da die Signale eigene HTML-Elemente auf gleicher Ebene wie das Widget selbst sind.

                      Eine Lösung, wo das Widget selbst den Blink-Style annimmt, wäre folgende: Du legst über dein Widget eine identische Kopie, setzt dort als CSS-Klasse für das Widget "mdui-red-blink" und unter "Sichtbarkeit" setzt du die Eigenschaft so, dass dieses Widget nur sichtbar ist, wenn dein gewünschter State gesetzt ist.

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

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        speedy78
                        wrote on last edited by
                        #111

                        Also erstmal vielen dank für diese Arbeit. Sieht sehr gut aus.

                        Jetzt habe ich nur eine Frage wie fange ich am besten an mit dem VIS Editor umzugehen. Hat jemand vielleicht eine Anleitung damit man mal richtig darein kommt um dann das hier besser umsetzen zu können.

                        Vielen dank im voraus.

                        ( Neuling )

                        1 Reply Last reply
                        0
                        • E Offline
                          E Offline
                          ErazorVIP
                          wrote on last edited by
                          #112

                          @Uhula:

                          @ErazorVIP:

                          Das Problem ist halt nur ich möchte es nur bei ein Systembild haben wenn der Signalzustand auf true springt z.B.! `
                          CSS Klassen, die nur für die Signalbilder gelten sollen, sind dort unter der Eigenschaft "Klassen[x]" einzugeben. Z.B. "Klassen[0]" = "mdui-red-blink"

                          Damit blinkt dann das Signalbild, nicht das Widget! Letzteres ist auch via CSS-Klassen nicht erreichbar, da die Signale eigene HTML-Elemente auf gleicher Ebene wie das Widget selbst sind.

                          Eine Lösung, wo das Widget selbst den Blink-Style annimmt, wäre folgende: Du legst über dein Widget eine identische Kopie, setzt dort als CSS-Klasse für das Widget "mdui-red-blink" und unter "Sichtbarkeit" setzt du die Eigenschaft so, dass dieses Widget nur sichtbar ist, wenn dein gewünschter State gesetzt ist. ` Danke, coole Projekt [emoji3]

                          Gesendet von meinem SM-G935F mit Tapatalk

                          1 Reply Last reply
                          0
                          • O Offline
                            O Offline
                            ok1
                            wrote on last edited by
                            #113

                            @Uhula:

                            @ok1:

                            Es bleibt damit noch das Problem der nicht übereinander liegenden, gestackten Dialoge. `
                            Das Dialog-Stacking schau ich mir mal an. jquery-UI kann es eigentlich. Ob aber vis es auch unterstützt, werde ich mal untersuchen.

                            . `
                            Hallo Uhula,

                            ich möchte kurz nachfragen, ob Du bereits nach dem Dialog-Stacking schauen konntest.

                            Wenn man die Dialog-Boxen als "nicht modal" öffnet, dann lassen sich die beiden übereinander liegenden Dialoge mit Click auf den jeweiligen Dialog nach vorne holen.

                            Was mir bislang nicht gelungen ist, ist dieses beim Öffnen eines neuen Dialogs über das MD-Script und Javascript- bzw. JQuery-Funktionen zu automatisieren. Es klemmt beim Selektieren der gesamten Box incl. Inhalt und der MoveToTop-Funktion von JQuery beim dialogopen-Event von JQuery. Für jede Hilfe bin ich dankbar !

                            1 Reply Last reply
                            0
                            • MeistertrM Offline
                              MeistertrM Offline
                              Meistertr
                              Developer
                              wrote on last edited by
                              #114

                              Insperiert von uhula Arbeite ich mich wie schon gesagt nun auch immer tiefer in css ein hier mal ein kleiner Vorgeschmack, falls jemand Interesse hat, kann ich es gerne (nach Fertigstellung) zur Verfügung stellen.

                              Eine Frage hab ich dies bezüglich noch:

                              1: wie kann am einfachsten den wert eines Buttons abfragen unter den scripten z.B jqui icon State?

                              2: wie kann ich aus den Reiter scripte heraus ein object in iobroker schalten?
                              1768_2017-10-28_17h42_05.gif

                              1 Reply Last reply
                              0
                              • BluefoxB Offline
                                BluefoxB Offline
                                Bluefox
                                wrote on last edited by
                                #115

                                Wäre so was interessant? Aber nicht umsonst :? ca. 10€ ?

                                Es ist GIF. Klick das Bild an.
                                48_pinpad.gif

                                1 Reply Last reply
                                0
                                • MeistertrM Offline
                                  MeistertrM Offline
                                  Meistertr
                                  Developer
                                  wrote on last edited by
                                  #116

                                  @Bluefox:

                                  Wäre so was interessant? Aber nicht umsonst :? ca. 10€ ?

                                  Es ist GIF. Klick das Bild an. `
                                  gefällt mir, aber als Pineingabe für mich nicht interessant, arbeite nun schon fast ein jahr an meiner visu und nun wo ich langsam auch css anfange sehe ich unbegrenzte Möglichkeiten :) Arbeite gerade noch an einem zweiten Pinpad…
                                  1768_2017-10-28_19h59_02.gif

                                  1 Reply Last reply
                                  0
                                  • BluefoxB Offline
                                    BluefoxB Offline
                                    Bluefox
                                    wrote on last edited by
                                    #117

                                    @Meistertr:

                                    @Bluefox:

                                    Wäre so was interessant? Aber nicht umsonst :? ca. 10€ ?

                                    Es ist GIF. Klick das Bild an. gefällt mir, aber als Pineingabe für mich nicht interessant, arbeite nun schon fast ein jahr an meiner visu und nun wo ich langsam auch css anfange sehe ich unbegrenzte Möglichkeiten :) Arbeite gerade noch an einem zweiten Pinpad…
                                    Kannst du daraus Widgets machen?

                                    1 Reply Last reply
                                    0
                                    • MeistertrM Offline
                                      MeistertrM Offline
                                      Meistertr
                                      Developer
                                      wrote on last edited by
                                      #118

                                      @uhula für meine handyversion finde ich das light theme besser als dark beim ändern des lnav background ist mir aufgefallen, dass die abdunklung des Hintergrundes auch den lnach background beeinflusst, kann ich das irgendwie ändern?

                                      1 Reply Last reply
                                      0
                                      • MeistertrM Offline
                                        MeistertrM Offline
                                        Meistertr
                                        Developer
                                        wrote on last edited by
                                        #119

                                        @Bluefox:

                                        @Meistertr:

                                        @Bluefox:

                                        Wäre so was interessant? Aber nicht umsonst :? ca. 10€ ?

                                        Es ist GIF. Klick das Bild an. gefällt mir, aber als Pineingabe für mich nicht interessant, arbeite nun schon fast ein jahr an meiner visu und nun wo ich langsam auch css anfange sehe ich unbegrenzte Möglichkeiten :) Arbeite gerade noch an einem zweiten Pinpad…
                                        Kannst du daraus Widgets machen? ` Ich versuch mich mal dran

                                        Gesendet von meinem Handy

                                        1 Reply Last reply
                                        0
                                        • UhulaU Offline
                                          UhulaU Offline
                                          Uhula
                                          wrote on last edited by
                                          #120

                                          @ok1:

                                          Hallo Uhula, ich möchte kurz nachfragen, ob Du bereits nach dem Dialog-Stacking schauen konntest. `
                                          Nein, leider noch nicht, ich bin ein paar Tage nicht zu Hause, und im Urlaub gehöre ich meiner Frau allein ;-)

                                          @Meistertr:

                                          für meine handyversion finde ich das light theme besser `
                                          Am Anfang hatte ich ein Light-Theme umgesetzt, dann aber verworfen, weil ich hier nur Dark-Themes gesehen habe (Tablets). Fürs Handy ein ein Light-Theme sicher interessant. Kommt auf die ToDo Liste.

                                          @Meistertr:

                                          beim ändern des lnav background ist mir aufgefallen, dass die abdunklung des Hintergrundes auch den lnach background beeinflusst, kann ich das irgendwie ändern? `
                                          lnach? Ich verstehe das Problem leider nicht.

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

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          528

                                          Online

                                          32.5k

                                          Users

                                          81.6k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe