source: Dev/trunk/src/client/util/docscripts/cheat.php

Last change on this file was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 3.7 KB
Line 
1<?php
2       
3        // for this to work, the file api.html needs to be writable locally. pass a "?build" to
4        // this url to trigger the generation. otherwise, work live from here. No JS ends up
5        // in the output. api.css gets inlined in the output, making cheat.html standalone.
6       
7        $head = '<!DOCTYPE html>
8        <html>
9                <head>
10                        <title>API Overview - Dojo Toolkit</title>
11               
12                ';
13
14        $foot = '</body></html>';
15
16        if(!empty($_POST['body'])){
17               
18                $head .= "<style type='text/css'>" . file_get_contents("cheat/cheat.css") ."</style></head><body>";
19                $page = $head . $_POST['body'] . $foot;
20                       
21                if(is_writable("./cheat.html")){
22                        file_put_contents("./cheat.html", stripslashes($page));
23                }else{
24                        header("HTTP", true, 500);
25                        print "Unwritable File: cheat.html";
26                }
27                die;
28        }
29       
30        print $head;
31       
32?>
33
34                <link rel="stylesheet" href="cheat/cheat.css">
35
36                <script type="text/javascript" src="../../dojo/dojo.js"></script>
37
38                <script type="text/javascript">         
39                        dojo.require("util.docscripts.cheat.lib");
40                        dojo.ready(function(){
41                               
42                                // a list of things to ignore in the dojo namespace (either useless, or handled specially)
43                                var ap = util.docscripts.cheat.lib;
44
45                                if(ap.hasTag("excludePlugd")){
46                                        ap.ignore.push(
47                                                // skip plugd api's for Dojo Base
48                                                "pub", "sub", "unique", "first", "last", "end", "show", "hide", "toggle",
49                                                "conflict", "animate", "wrap", "appendTo", "append", "hoverClass", "hover",
50                                                "qw","generateId"
51                                        );
52                                }
53
54                                // core Dojo stuff:
55                                if(!ap.hasTag("excludeDojo")){
56                                        ap.addIn("dojo");
57                                        ap.addIn("dojo.NodeList.prototype");
58                                        ap.addIn("dojo.fx", ap.getUl("Effects"));
59                                        ap.addIn("dojo.Animation.prototype", ap.getUl("Effects"));
60                                }
61                               
62                                if(!ap.hasTag("excludeKeys")){
63                                        var ul = ap.getUl("Key-Constants");
64                                        dojo.place("<li class='dblspan'>(dojo.keys.*)</li>", ul, "first");
65                                        ap.addIn("dojo.keys", ul);
66                                }
67
68                                ap.addIn({
69                                        "djConfig": dojo.mixin({},{
70                                                        parseOnLoad:false,
71                                                        requires:[]
72                                                },dojo.config),
73                                        "toString":function(){ return "djConfig" }
74                                }, ap.getUl("djConfig"));
75
76                                // fun quick way to pseudo-doc a tag
77//                              ap.addIn({
78//                                      "args":{
79//                                              "load":function(data, ioArgs){},
80//                                              "error":function(error){},
81//                                              "handle":function(dataOrError){},
82//                                              url:"", timeout: ""
83//                                      },
84//                                      "toString":function(){
85//                                              // this is to trick the thing into introversion
86//                                              return "args"
87//                                      }
88//                              }, ap.getUl("Ajax"))
89
90                                if(ap.hasTag("includeColor")){
91                                        ap.addIn("dojo.Color.prototype", ap.getUl("Colors"));
92                                }
93
94                                var finish = function(){
95                                        ap.sortFields("container");
96                                        ap.buildNav();
97                                        ap.hasTag("build") && ap.save();
98                                       
99                                }
100
101                                if(ap.hasTag("includeDijit")){
102                                        dojo.require("dijit.dijit");
103                                        dojo.addOnLoad(function(){
104
105                                                ap.addIn("dijit._Widget.prototype", null, "dijit");
106                                                ap.addIn("dijit", null, "dijit");
107                                                ap.addIn("dijit._Templated.prototype", null, "dijit");
108                                                ap.addIn("dijit.WidgetSet.prototype", ap.getUl("Widget-Access"));
109                                                ap.addIn("dijit.popup", ap.getUl("Widget-Control"));
110                                                finish();
111                                        });
112                                       
113                                }else{
114                                        finish();
115                                }
116                               
117                                dojo.connect(dojo.global, "onkeypress", function(e){
118                                        if(e.keyCode == dojo.keys.ESCAPE && e.ctrlKey){
119                                                ap.save();
120                                        }
121                                });
122                               
123                                dojo.byId("version").innerHTML = dojo.version;
124                               
125                        });
126                </script>
127       
128        <body>
129                <fieldset id="top"><div>
130                        <legend>Dojo API CheatSheet</legend>
131                                <ul id="nav">
132                                        <li><a href="#top">Top</a></li>
133                                </ul>
134                                <div id="key">
135                                        <fieldset>
136                                                <legend>var</legend>
137                                                <ul>
138                                                        <li>d = dojo,</li>
139                                                        <li>$ = d.query,</li>
140                                                        <li>dk = d.keys</li>
141                                                </ul>
142                                        </fieldset>
143                                </div>
144                        </div>
145                </fieldset>
146                <div id="container"></div>
147                <span id="version"></span>
148        </body>
149</html>
Note: See TracBrowser for help on using the repository browser.