1 <!DOCTYPE html
> <html> <head> <title>bootstrap.coffee
</title> <meta http-equiv=
"content-type" content=
"text/html; charset=UTF-8"> <link rel=
"stylesheet" media=
"all" href=
"docco.css" /> </head> <body> <div id=
"container"> <div id=
"background"></div> <table cellpadding=
"0" cellspacing=
"0"> <thead> <tr> <th class=
"docs"> <h1> bootstrap.coffee
</h1> </th> <th class=
"code"> </th> </tr> </thead> <tbody> <tr id=
"section-1"> <td class=
"docs"> <div class=
"pilwrap"> <a class=
"pilcrow" href=
"#section-1">¶</a> </div> </td> <td class=
"code"> <div class=
"highlight"><pre><span class=
"s">"use strict
"</span>
3 <span class=
"p">{
</span> <span class=
"nv">classes:
</span><span class=
"nx">Cc
</span><span class=
"p">,
</span> <span class=
"nv">interfaces:
</span><span class=
"nx">Ci
</span><span class=
"p">,
</span> <span class=
"nv">utils:
</span><span class=
"nx">Cu
</span> <span class=
"p">}
</span> <span class=
"o">=
</span> <span class=
"nx">Components
</span>
5 <span class=
"p">(
</span><span class=
"nf">(global) -
></span>
7 <span class=
"nv">tools =
</span><span class=
"p">{}
</span>
8 <span class=
"nx">Cu
</span><span class=
"p">.
</span><span class=
"nx">import
</span> <span class=
"s">"resource://gre/modules/Services.jsm
"</span><span class=
"p">,
</span> <span class=
"nx">tools
</span>
9 <span class=
"nv">baseURI =
</span><span class=
"nx">tools
</span><span class=
"p">.
</span><span class=
"nx">Services
</span><span class=
"p">.
</span><span class=
"nx">io
</span><span class=
"p">.
</span><span class=
"nx">newURI
</span> <span class=
"nx">__SCRIPT_URI_SPEC__
</span><span class=
"p">,
</span> <span class=
"kc">null
</span><span class=
"p">,
</span> <span class=
"kc">null
</span>
11 <span class=
"nv">include =
</span><span class=
"nf">(src, scope = {}) -
></span>
12 <span class=
"k">try
</span>
13 <span class=
"nv">uri =
</span><span class=
"nx">tools
</span><span class=
"p">.
</span><span class=
"nx">Services
</span><span class=
"p">.
</span><span class=
"nx">io
</span><span class=
"p">.
</span><span class=
"nx">newURI
</span> <span class=
"s">"packages/
</span><span class=
"si">#{
</span> <span class=
"nx">src
</span> <span class=
"si">}
</span><span class=
"s">.js
"</span><span class=
"p">,
</span> <span class=
"kc">null
</span><span class=
"p">,
</span> <span class=
"nx">baseURI
</span>
14 <span class=
"nx">tools
</span><span class=
"p">.
</span><span class=
"nx">Services
</span><span class=
"p">.
</span><span class=
"nx">scriptloader
</span><span class=
"p">.
</span><span class=
"nx">loadSubScript
</span> <span class=
"nx">uri
</span><span class=
"p">.
</span><span class=
"nx">spec
</span><span class=
"p">,
</span> <span class=
"nx">scope
</span>
15 <span class=
"k">catch
</span> <span class=
"nx">error
</span>
16 <span class=
"nv">uri =
</span><span class=
"nx">tools
</span><span class=
"p">.
</span><span class=
"nx">Services
</span><span class=
"p">.
</span><span class=
"nx">io
</span><span class=
"p">.
</span><span class=
"nx">newURI
</span> <span class=
"nx">src
</span><span class=
"p">,
</span> <span class=
"kc">null
</span><span class=
"p">,
</span> <span class=
"nx">baseURI
</span>
17 <span class=
"nx">tools
</span><span class=
"p">.
</span><span class=
"nx">Services
</span><span class=
"p">.
</span><span class=
"nx">scriptloader
</span><span class=
"p">.
</span><span class=
"nx">loadSubScript
</span> <span class=
"nx">uri
</span><span class=
"p">.
</span><span class=
"nx">spec
</span><span class=
"p">,
</span> <span class=
"nx">scope
</span>
19 <span class=
"k">return
</span> <span class=
"nx">scope
</span>
22 <span class=
"nv">modules =
</span><span class=
"p">{}
</span>
23 <span class=
"nv">require =
</span><span class=
"nf">(src) -
></span>
24 <span class=
"k">if
</span> <span class=
"nx">modules
</span><span class=
"p">[
</span><span class=
"nx">src
</span><span class=
"p">]
</span>
25 <span class=
"k">return
</span> <span class=
"nx">modules
</span><span class=
"p">[
</span><span class=
"nx">src
</span><span class=
"p">]
</span>
26 <span class=
"k">else
</span>
27 <span class=
"nv">scope =
</span>
28 <span class=
"nv">require:
</span><span class=
"nx">require
</span>
29 <span class=
"nv">include:
</span><span class=
"nx">include
</span>
30 <span class=
"nv">exports:
</span><span class=
"p">{}
</span>
32 <span class=
"nx">include
</span> <span class=
"nx">src
</span><span class=
"p">,
</span> <span class=
"nx">scope
</span>
34 <span class=
"k">return
</span> <span class=
"nx">modules
</span><span class=
"p">[
</span><span class=
"nx">src
</span><span class=
"p">]
</span> <span class=
"o">=
</span> <span class=
"nx">scope
</span><span class=
"p">.
</span><span class=
"nx">exports
</span><span class=
"p">;
</span>
36 <span class=
"nv">Console =
</span><span class=
"nx">require
</span><span class=
"p">(
</span><span class=
"s">"console
"</span><span class=
"p">).
</span><span class=
"nx">Console
</span>
37 <span class=
"nv">global.console =
</span><span class=
"k">new
</span> <span class=
"nx">Console
</span> <span class=
"s">"vimff
"</span>
38 <span class=
"nv">global.include =
</span><span class=
"nx">include
</span>
39 <span class=
"nv">global.require =
</span><span class=
"nx">require
</span>
41 <span class=
"p">)(
</span><span class=
"k">this
</span><span class=
"p">);
</span>
43 <span class=
"p">{
</span> <span class=
"nx">WindowEventTracker
</span><span class=
"p">,
</span> <span class=
"nx">loadCss
</span><span class=
"p">,
</span> <span class=
"nx">unloadCss
</span><span class=
"p">,
</span> <span class=
"p">}
</span> <span class=
"o">=
</span> <span class=
"nx">require
</span> <span class=
"s">'utils
'</span>
44 <span class=
"p">{
</span> <span class=
"nx">handlers
</span> <span class=
"p">}
</span> <span class=
"o">=
</span> <span class=
"nx">require
</span> <span class=
"s">'event-handlers
'</span>
46 <span class=
"nv">tracker =
</span><span class=
"k">new
</span> <span class=
"nx">WindowEventTracker
</span> <span class=
"nx">handlers
</span>
48 <span class=
"nv">startup =
</span><span class=
"nf">(data, reason) -
></span>
49 <span class=
"nx">loadCss
</span> <span class=
"s">'vimff
'</span>
50 <span class=
"nx">tracker
</span><span class=
"p">.
</span><span class=
"nx">start
</span><span class=
"p">()
</span>
52 <span class=
"nv">shutdown =
</span><span class=
"nf">(data, reason) -
></span>
53 <span class=
"nx">tracker
</span><span class=
"p">.
</span><span class=
"nx">stop
</span><span class=
"p">()
</span>
54 <span class=
"nx">unloadCss
</span> <span class=
"s">'vimff
'</span>
56 </pre></div> </td> </tr> </tbody> </table> </div> </body> </html>