From f0cfe83e3725f9a3928da97a6e3085e79cb25309 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 18 Mar 2013 10:26:24 +0400 Subject: upgrade dojo to 1.8.3 (refs #570) --- lib/dijit/Viewport.js.uncompressed.js | 50 +++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 lib/dijit/Viewport.js.uncompressed.js (limited to 'lib/dijit/Viewport.js.uncompressed.js') diff --git a/lib/dijit/Viewport.js.uncompressed.js b/lib/dijit/Viewport.js.uncompressed.js new file mode 100644 index 000000000..8de455af2 --- /dev/null +++ b/lib/dijit/Viewport.js.uncompressed.js @@ -0,0 +1,50 @@ +define("dijit/Viewport", [ + "dojo/Evented", + "dojo/on", + "dojo/ready", + "dojo/sniff", + "dojo/_base/window", // global + "dojo/window" // getBox() +], function(Evented, on, ready, has, win, winUtils){ + + // module: + // dijit/Viewport + + /*===== + return { + // summary: + // Utility singleton to watch for viewport resizes, avoiding duplicate notifications + // which can lead to infinite loops. + // description: + // Usage: Viewport.on("resize", myCallback). + // + // myCallback() is called without arguments in case it's _WidgetBase.resize(), + // which would interpret the argument as the size to make the widget. + }; + =====*/ + + var Viewport = new Evented(); + + ready(200, function(){ + var oldBox = winUtils.getBox(); + Viewport._rlh = on(win.global, "resize", function(){ + var newBox = winUtils.getBox(); + if(oldBox.h == newBox.h && oldBox.w == newBox.w){ return; } + oldBox = newBox; + Viewport.emit("resize"); + }); + + // Also catch zoom changes on IE8, since they don't naturally generate resize events + if(has("ie") == 8){ + var deviceXDPI = screen.deviceXDPI; + setInterval(function(){ + if(screen.deviceXDPI != deviceXDPI){ + deviceXDPI = screen.deviceXDPI; + Viewport.emit("resize"); + } + }, 500); + } + }); + + return Viewport; +}); -- cgit v1.2.3