Ankündigung

Einklappen
Keine Ankündigung bisher.

Plot Breite

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Plot Breite

    Hi,

    ich bin gerade dabei mein Heizung in die Visu zu integrieren. Ist das so gewollt, dass der Plot sich nicht an die Größe des Parent anschmiegt?

    Screenshot_20190511_100748.png





    EDIT: Ich habe gesehen, dass wenn ich die Größe einmal anpasse (Fenster kleiner mache und dann wieder Maximiert), dass er dann das Chart anpasst.

    Ich vermute das hängt damit zusammen, dass ich das ganze in einem Widget gepackt habe und dort per folgendem Code die Größe des Blocks nachträglich auf 100% setzte.

    HTML-Code:
        <script type="text/javascript">
            $( document ).ready(function() {
                $(".block:nth-of-type(2)").css("width", "100%");
            })
        </script>
    wie könnte man aber sonnst aus dem Widget heraus die Größe des Blocks bestimmen? Die Blöcke werden aus shNG automatisch erzeugt für die Seite. Deswegen ist das nicht so einfach.

    Evtl. kann man ja nochmal den Java Code zum anpassen der Größe anpassen, damit der Highchars nochmal Signalisiert, dass sich die Größe geändert hat....
    Zuletzt geändert von TCr82; 11.05.2019, 12:24.

    #2
    So, ich habe auf der Suche folgendes gefunden: https://stackoverflow.com/questions/...-window-resize

    Dort wird empfohlen dem chart-redraw-event ein .reflow() mitzugeben.

    Ich wollte jetzt nichts am Code der Visu anpassen, deswegen habe ich mein Skript im Widget wie folgt angepasst:

    HTML-Code:
        <script type="text/javascript">
            $( document ).ready(function() {
                $(".block:nth-of-type(2)").css("width", "100%");
                $("#technik_heizung-plot").highcharts().reflow();
            })
        </script>
    Seid dem funktioniert es auf Anhieb mit der Breite... Aber wäre es nicht besser es würde nicht wie vorgeschlagen per Default in der Visu stecken?

    EDIT: ok, ich habe es auch mal getestet, wie es ist, wenn ich den reflow() in das resize event der chartOptions (also global on der plot.js) rein packe.

    HTML-Code:
                    // draw the plot
                    var chartOptions = {
    [....]
                            rangeSelector: { buttons: rangeSelectorButtons },
                            events: {
                                    redraw: function() {
                                                    this.reflow();
                                            }
                            },
                            plotOptions: {
    [....]
    Entweder habe ich aber was falsch gemacht oder es funktioniert schlicht nicht. Denn 1. wird es nicht wie gewünscht in der Breite angepasst und zweites, wird der event auch nicht mal getriggert (hatte extra dort ein Haltepunkt gesetzt), auch nicht wenn ich das ganze Fenster resize... Erklärt natürlich auch 1.
    Zuletzt geändert von TCr82; 11.05.2019, 23:32.

    Kommentar

    Lädt...
    X