summaryrefslogtreecommitdiff
path: root/includes/js/dijit/bench/create_widgets.html
blob: 9a6f78af32f30215af642ffd6d3b849974c65294 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<title>PROGRAMMATIC - Dojo Widget Creation Test</title>
		<script type="text/javascript" src="../../dojo/dojo.js"></script>
		<script type="text/javascript" src="../dijit.js"></script>
		<script type="text/javascript">
			var queryCount = location.search.match(/count=(\d*)/);
			var count = (queryCount ? parseInt(queryCount[1]) : 100);
			var queryClass = location.search.match(/class=([a-zA-z.]*)/);
			var className = (queryClass ? queryClass[1] : "form.Button");

			dojo.require("dijit." + className);
			dojo.require("dojo.parser");
			logMessage = window.alert;
		</script>
		<style type="text/css">
			@import "../themes/tundra/tundra.css";
			/* group multiple buttons in a row */
			.box {
				display: block;
				text-align: center;
			}
			.box .dojoButton {
				width: 80px;
				margin-right: 10px;
			}
			.dojoButtonContents {
				font-size: 1.6em;
			}

			#buttonContainer {
				border: 1px solid black;
				width: 100%;
			}

			#results {
				color: darkred;
			}
		</style>
	</head>
	<body class=tundra>
		<script language='javascript'>
			document.write("<h2>Currently Creating "+count+" "+className+" instances</h2>");
		</script>
		Pass <code>?count=<i><b>100</b></i></code> in the query string to change the number of widgets.<br>
		Pass <code>?class=<i><b>form.Button</b></i></code> in the query string to change the widget class.
		<h3 id="results"></h3>

		<div id="buttonContainer" class='box'></div>
		<br>
		<script type="text/javascript">
			// See if we can make a widget in script and attach it to the DOM ourselves.
			var constructor = dojo.getObject("dijit."+className);
			function makeEm(){
				var container = dojo.byId("buttonContainer");
				var t0 = new Date().getTime();
				for (var i = 1; i <= count; i++) {
					var it =
						new constructor(
								{label:"Button "+i, onclick:'logMessage("clicked simple")'}
							);
					container.appendChild(it.domNode);
					it.domNode.style.display = '';
				}
				var t1 = new Date().getTime();
				dojo.byId("results").innerHTML = "It took " + (t1 - t0) + " msec to create " + count + " "+className+" instances programmatically.";
			}
			dojo.addOnLoad(makeEm);
		</script>
	</body>
</html>