[FHEM-Tablet-UI] Position eines Popup-Widgets?

Begonnen von alpha1974, 22 Januar 2016, 16:47:22

Vorheriges Thema - Nächstes Thema

alpha1974

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), 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
FHEM/Z-Wave USB-Dongle + div. Devices

kvo1

Das würde mich auch interessieren für generelle Popup .
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

setstate

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?

hulzer

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