on master help sign in
Fix Window.height in the first frame.
commit04d320efac866d81846882dcc9f2afa5f5acd8f5 authorevancz <info@elm-lang.org> dateSun 5 May 2013, 17:52 (14 years ago) parent9f29649
1 file changed+8−5
libraries/Native/Signal/Window.js+8−5
libraries/Native/Signal/Window.js+8−5
@@ -8,8 +8,12 @@ Elm.Native.Window = function(elm) {
88 var Signal = Elm.Signal(elm);
99 var Tuple2 = Elm.Native.Utils(elm).Tuple2;
1010
11− var dimensions = Signal.constant(Tuple2(elm.node.clientWidth,
12− elm.node.clientHeight));
11+ function getWidth() { return elm.node.clientWidth; }
12+ function getHeight() {
13+ return document.body === elm.node ? window.innerHeight : elm.node.clientHeight;
14+ }
15+
16+ var dimensions = Signal.constant(Tuple2(getWidth(), getHeight()));
1317 dimensions.defaultNumberOfKids = 2;
1418
1519 // Do not move width and height into Elm. By setting the default number of kids,
@@ -21,9 +25,8 @@ Elm.Native.Window = function(elm) {
2125 height.defaultNumberOfKids = 0;
2226
2327 function resize(e) {
24− var w = elm.node.clientWidth;
25− var h = document.body === elm.node ? window.innerHeight : elm.node.clientHeight;
26− console.log('cmp', dimensions.value._0, w, dimensions.value._1, h);
28+ var w = getWidth();
29+ var h = getHeight();
2730 if (dimensions.value._0 === w && dimensions.value._1 === h) return;
2831 var hasListener = elm.notify(dimensions.id, Tuple2(w,h));
2932 if (!hasListener) window.removeEventListener('resize', resize);