Salut miteinander,
nachdem es mir nun nach einigem Probieren gelungen ist, ein Popup mit einem Chart zu erstellen (für DBLog-Charts siehe auch hier (http://forum.fhem.de/index.php/topic,37378.msg377336.html#msg377336)), würde ich gerne noch die Position des Popup-Fensters bestimmen. Bislang erscheint es "unten rechts". Schöner wäre mitte-mitte ::) Nur wie?
So sieht es zur Zeit aus:
<div class="inline">
<div data-type="label" class="cell">Temperatur</div>
<div data-type="popup" data-width="480px" data-height="240px" data-mode="fade" class="inline">
<div data-type="label" data-device="ZWave_multisensor_2" data-get="temperature" class="big" ></div>
<div class="dialog">
<header>CHART</header>
<div class="normal"
data-type="chart"
data-device="logdb"
data-logdevice="logdb"
data-logfile='["HISTORY"]'
data-columnspec='["ZWave_multisensor_2:temperature"]'
data-style="ftui l1fill"
data-ptype="lines"
data-uaxis="primary"
data-minvalue="auto"
data-maxvalue="auto"
data-yunit="°C"
data-legend="Temperatur"
data-daysago="7"
data-yticks="auto"
data-xticks="auto">
</div>
</div>
</div>
</div>
Besten Dank für hilfreiche Tipps und schönes Wochenende,
alpha1974
Das würde mich auch interessieren für generelle Popup .
Der Dialog sollte genau mittig starten, so sollte es zumindest laut Code funktionieren:
dialog.options.end_top = ($(window).height() - dialog.outerHeight()) / 2;
dialog.options.end_left = ($(window).width() - dialog.outerWidth()) / 2;
Da werden vermutlich falsche Werte ermittelt, wenn es nicht passt. Warum das passiert, habe ich noch keine Idee.
Kann hier die Auslösung oder Zoomeinstellungen zu falschen Werten führen?
Hallo,
dialog.outerWidth() bzw. dialog.outerHeight() kann zu bestimmten Zeitpunkten nicht die korrekten Werte ermitteln, entweder ist das Element noch nicht im DOM oder nicht sichtbar.
Ich habe jetzt testweise die festen Werte eingesetzt:
dialog.options.end_top = ($(window).height() - parseInt(elem.data('height'))) / 2; // ($(window).height() - dialog.outerHeight()) / 2
dialog.options.end_left = ($(window).width() - parseInt(elem.data('width'))) / 2; //($(window).width() - dialog.outerWidth()) / 2;
Bei mir sieht es jetzt besser aus.
Gruß
Hulzer