You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
3.7 KiB
149 lines
3.7 KiB
<?php |
|
|
|
// for this to work, the file api.html needs to be writable locally. pass a "?build" to |
|
// this url to trigger the generation. otherwise, work live from here. No JS ends up |
|
// in the output. api.css gets inlined in the output, making cheat.html standalone. |
|
|
|
$head = '<!DOCTYPE html> |
|
<html> |
|
<head> |
|
<title>API Overview - Dojo Toolkit</title> |
|
|
|
'; |
|
|
|
$foot = '</body></html>'; |
|
|
|
if(!empty($_POST['body'])){ |
|
|
|
$head .= "<style type='text/css'>" . file_get_contents("cheat/cheat.css") ."</style></head><body>"; |
|
$page = $head . $_POST['body'] . $foot; |
|
|
|
if(is_writable("./cheat.html")){ |
|
file_put_contents("./cheat.html", stripslashes($page)); |
|
}else{ |
|
header("HTTP", true, 500); |
|
print "Unwritable File: cheat.html"; |
|
} |
|
die; |
|
} |
|
|
|
print $head; |
|
|
|
?> |
|
|
|
<link rel="stylesheet" href="cheat/cheat.css"> |
|
|
|
<script type="text/javascript" src="../../dojo/dojo.js"></script> |
|
|
|
<script type="text/javascript"> |
|
dojo.require("util.docscripts.cheat.lib"); |
|
dojo.ready(function(){ |
|
|
|
// a list of things to ignore in the dojo namespace (either useless, or handled specially) |
|
var ap = util.docscripts.cheat.lib; |
|
|
|
if(ap.hasTag("excludePlugd")){ |
|
ap.ignore.push( |
|
// skip plugd api's for Dojo Base |
|
"pub", "sub", "unique", "first", "last", "end", "show", "hide", "toggle", |
|
"conflict", "animate", "wrap", "appendTo", "append", "hoverClass", "hover", |
|
"qw","generateId" |
|
); |
|
} |
|
|
|
// core Dojo stuff: |
|
if(!ap.hasTag("excludeDojo")){ |
|
ap.addIn("dojo"); |
|
ap.addIn("dojo.NodeList.prototype"); |
|
ap.addIn("dojo.fx", ap.getUl("Effects")); |
|
ap.addIn("dojo.Animation.prototype", ap.getUl("Effects")); |
|
} |
|
|
|
if(!ap.hasTag("excludeKeys")){ |
|
var ul = ap.getUl("Key-Constants"); |
|
dojo.place("<li class='dblspan'>(dojo.keys.*)</li>", ul, "first"); |
|
ap.addIn("dojo.keys", ul); |
|
} |
|
|
|
ap.addIn({ |
|
"djConfig": dojo.mixin({},{ |
|
parseOnLoad:false, |
|
requires:[] |
|
},dojo.config), |
|
"toString":function(){ return "djConfig" } |
|
}, ap.getUl("djConfig")); |
|
|
|
// fun quick way to pseudo-doc a tag |
|
// ap.addIn({ |
|
// "args":{ |
|
// "load":function(data, ioArgs){}, |
|
// "error":function(error){}, |
|
// "handle":function(dataOrError){}, |
|
// url:"", timeout: "" |
|
// }, |
|
// "toString":function(){ |
|
// // this is to trick the thing into introversion |
|
// return "args" |
|
// } |
|
// }, ap.getUl("Ajax")) |
|
|
|
if(ap.hasTag("includeColor")){ |
|
ap.addIn("dojo.Color.prototype", ap.getUl("Colors")); |
|
} |
|
|
|
var finish = function(){ |
|
ap.sortFields("container"); |
|
ap.buildNav(); |
|
ap.hasTag("build") && ap.save(); |
|
|
|
} |
|
|
|
if(ap.hasTag("includeDijit")){ |
|
dojo.require("dijit.dijit"); |
|
dojo.addOnLoad(function(){ |
|
|
|
ap.addIn("dijit._Widget.prototype", null, "dijit"); |
|
ap.addIn("dijit", null, "dijit"); |
|
ap.addIn("dijit._Templated.prototype", null, "dijit"); |
|
ap.addIn("dijit.WidgetSet.prototype", ap.getUl("Widget-Access")); |
|
ap.addIn("dijit.popup", ap.getUl("Widget-Control")); |
|
finish(); |
|
}); |
|
|
|
}else{ |
|
finish(); |
|
} |
|
|
|
dojo.connect(dojo.global, "onkeypress", function(e){ |
|
if(e.keyCode == dojo.keys.ESCAPE && e.ctrlKey){ |
|
ap.save(); |
|
} |
|
}); |
|
|
|
dojo.byId("version").innerHTML = dojo.version; |
|
|
|
}); |
|
</script> |
|
|
|
<body> |
|
<fieldset id="top"><div> |
|
<legend>Dojo API CheatSheet</legend> |
|
<ul id="nav"> |
|
<li><a href="#top">Top</a></li> |
|
</ul> |
|
<div id="key"> |
|
<fieldset> |
|
<legend>var</legend> |
|
<ul> |
|
<li>d = dojo,</li> |
|
<li>$ = d.query,</li> |
|
<li>dk = d.keys</li> |
|
</ul> |
|
</fieldset> |
|
</div> |
|
</div> |
|
</fieldset> |
|
<div id="container"></div> |
|
<span id="version"></span> |
|
</body> |
|
</html>
|
|
|