Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2150 mathias 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2
		"http://www.w3.org/TR/html4/strict.dtd">
3
<html>
4
<head>
5
	<title>dijit.getViewport() test</title>
6
	<style type="text/css">
7
		@import "../../../dojo/resources/dojo.css";
8
		@import "../css/dijitTests.css";
9
		html, body { margin: 0px; padding: 0px; }
10
	</style>
11
	<script type="text/javascript" src="../../../dojo/dojo.js"
12
		djConfig="isDebug: false, parseOnLoad: false"></script>
13
	<script type="text/javascript" src="../_testCommon.js"></script>
14
 
15
	<script type="text/javascript">
16
		dojo.require("doh.runner");
17
		dojo.require("dijit.dijit");
18
 
19
		function compute(){
20
			var d = dojo.marginBox(dojo.byId("documentBorder")),
21
				v = dijit.getViewport();
22
			dojo.byId("results").innerHTML +=
23
				"Document is " + d.w + "px x " + d.h + "px" +
24
				", viewport is " + v.w + "px x " + v.h + "px" +
25
				 ", with scroll offset of (" + v.l + ", " + v.t + ")<br>";
26
		}
27
 
28
		function addText(){
29
			dojo.byId("results").innerHTML += "Adding text...<br><br>";
30
			var text="";
31
			for(var i=0;i<100;i++){
32
				text += "<span style='white-space: nowrap'>";
33
				for(var j=0;j<3;j++){ text += "Now is the time for all good men to come to the aid of their country."; }
34
				text += "</span><br>";
35
			}
36
			dojo.byId("documentBorder").innerHTML += text;
37
		}
38
 
39
		dojo.addOnLoad(function(){
40
			doh.register("dijit._base.manager",
41
				[
42
					function initial(t){
43
						console.log("calling compute");
44
						compute();
45
						console.log("called compute");
46
						var d = dojo.marginBox(dojo.byId("documentBorder")),
47
							v = dijit.getViewport();
48
						doh.t(v.h > d.h);
49
					},
50
					function expand(t){
51
						var v = dijit.getViewport();
52
						addText();
53
						compute();
54
						var v2 = dijit.getViewport();
55
						doh.t(v2.h <= v.h);
56
						doh.t(v2.h+20 >= v.h);
57
					}
58
				]
59
			);
60
			doh.run();
61
		});
62
 
63
	</script>
64
</head>
65
<body>
66
	<div id="documentBorder" style="border: solid red 2px;">
67
		<h1>dijit.getViewport() test</h1>
68
		<div style="padding: 10px; border: solid blue 1px;">padding div</div>
69
		<button onclick="addText(); compute();">add text and compute size</button>
70
		<button onclick="compute();">recompute size</button>
71
		<ol>
72
			<li>check results div below to see that before adding text, document is smaller than viewport
73
			<li>after adding text, document should be bigger than viewport,and check that viewport size hasn't changed,
74
				except maybe being a little bit smaller (about 15px) because of the size of the scrollbars
75
			<li>resize browser window and click the "recompute size" button; reported viewport size should change
76
			<li>scroll the window and click "recompute size" to see that the scroll position is taken into effect
77
		</ol>
78
		<div id=results style="border: 5px solid blue;">
79
	</div>
80
</body>
81
</html>