summaryrefslogtreecommitdiff
path: root/includes/js/dojox/gfx/demos/beautify.html
blob: d1f02f5b2a82feeafb6d3d73ee17ee88d874a8f6 (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
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" >
<head>
<title>Beautify JSON</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
	@import "../../../dojo/resources/dojo.css";
	@import "../../../dijit/tests/css/dijitTests.css";
</style>
<script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug: true"></script>
<script type="text/javascript">

trimPath = function(o){
	if(o instanceof Array){
		for(var i = 0; i < o.length; ++i){
			trimPath(o[i]);
		}
		return;
	}
	if(("shape" in o) && ("path" in o.shape)){
		o.shape.path = dojo.trim(o.shape.path.replace(/\s\s+/g, " "));
	}
	if("children" in o){
		trimPath(o.children);
	}
};

beautify = function(){
	var t = dojo.byId("io");
	var v = dojo.fromJson(t.value);
	if(dojo.byId("path").checked){
		trimPath(v);
	}
	t.value = dojo.toJson(v, dojo.byId("pprint").checked);
};

</script>
</head>
<body>
	<h1>Beautify JSON</h1>
	<p>Paste valid JSON in this textarea and receive a pretty-printed version of it. Use Firefox, if you want to be able to read comma-ended sequences (Python style).
	Additionally it knows how to remove extra spaces from path elements.</p>
	<p><textarea id="io" cols="80" rows="10" wrap="off"></textarea></p>
	<p><button onclick="beautify()">Beautify!</button>
	&nbsp;&nbsp;&nbsp;<input type="checkbox" id="path" checked="checked" />&nbsp;Process "path" elements
	&nbsp;&nbsp;&nbsp;<input type="checkbox" id="pprint" checked="checked" />&nbsp;Pretty-print JSON</p>
	<p><em>This program is a companion for inspector.html.</em></p>
</body>
</html>