/
plugin.coffee.html
56 lines (46 loc) · 5.67 KB
/
plugin.coffee.html
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
---
layout: docco
title: mithgrid/code/src/plugin.coffee.html
---
<div id="container"><div id="background"></div><div id="jump_to">Jump To …<div id="jump_wrapper"><div id="jump_page"><a href="../index.html" class="source"><span class="file_name">README</span></a><a href="../src/application.coffee.html" class="source "><span class="base_path">src / </span><span class="file_name">application.coffee</span></a><a href="../src/controller.coffee.html" class="source "><span class="base_path">src / </span><span class="file_name">controller.coffee</span></a><a href="../src/core.coffee.html" class="source "><span class="base_path">src / </span><span class="file_name">core.coffee</span></a><a href="../src/data.coffee.html" class="source "><span class="base_path">src / </span><span class="file_name">data.coffee</span></a><a href="../src/expression.coffee.html" class="source "><span class="base_path">src / </span><span class="file_name">expression.coffee</span></a><a href="../src/facet.coffee.html" class="source "><span class="base_path">src / </span><span class="file_name">facet.coffee</span></a><a href="../src/intro.coffee.html" class="source "><span class="base_path">src / </span><span class="file_name">intro.coffee</span></a><a href="../src/outro.coffee.html" class="source "><span class="base_path">src / </span><span class="file_name">outro.coffee</span></a><a href="../src/plugin.coffee.html" class="source selected"><span class="base_path">src / </span><span class="file_name">plugin.coffee</span></a><a href="../src/presentation.coffee.html" class="source "><span class="base_path">src / </span><span class="file_name">presentation.coffee</span></a></div></div></div><table cellpadding="0" cellspacing="0"><thead><tr><th class="docs"><h1>plugin.coffee</h1><div class="filepath">src/</div></th><th class="code"></th></tr></thead><tbody><tr id="section-1"><td class="docs"><div class="pilwrap"><a href="#section-1" class="pilcrow">¶</a></div><h1>Plugins</h1>
</td><td class="code"><div class="highlight"><pre><span class="nx">MITHGrid</span><span class="p">.</span><span class="nx">namespace</span> <span class="s">"Plugin"</span><span class="p">,</span> <span class="nf">(exports) -></span></pre></div></td></tr><tr id="section-2"><td class="docs"><div class="pilwrap"><a href="#section-2" class="pilcrow">¶</a></div><p>This is the base of a plugin, which can package together various things that augment
an application.</p>
<p>MITHGrid.Plugin.MyPlugin.initInstance = function(options) {
var that = MITHGrid.Plugin.initInstance('MyPlugin', options, { ... })
};</p>
<p>var myApp = MITHGrid.Application({
plugins: [ { name: 'MyPlugin', ... } ]
});</p>
</td><td class="code"><div class="highlight"><pre>
<span class="nv">exports.initInstance = </span><span class="nf">(klass, options) -></span>
<span class="nv">that = </span><span class="p">{</span> <span class="nv">options: </span><span class="nx">options</span><span class="p">,</span> <span class="nv">presentation: </span><span class="p">{</span> <span class="p">}</span> <span class="p">}</span>
<span class="nv">readyFns = </span><span class="p">[</span> <span class="p">]</span>
<span class="nv">that.getTypes = </span><span class="nf">() -></span>
<span class="k">if</span> <span class="nx">options</span><span class="o">?</span><span class="p">.</span><span class="nx">types</span><span class="o">?</span>
<span class="nx">options</span><span class="p">.</span><span class="nx">types</span>
<span class="k">else</span>
<span class="p">[</span> <span class="p">]</span>
<span class="nv">that.getProperties = </span><span class="nf">() -></span>
<span class="k">if</span> <span class="nx">options</span><span class="o">?</span><span class="p">.</span><span class="nx">properties</span><span class="o">?</span>
<span class="nx">options</span><span class="p">.</span><span class="nx">properties</span>
<span class="k">else</span>
<span class="p">[</span> <span class="p">]</span>
<span class="nv">that.getComponents = </span><span class="nf">() -></span>
<span class="k">if</span> <span class="nx">options</span><span class="o">?</span><span class="p">.</span><span class="nx">components</span><span class="o">?</span>
<span class="nx">options</span><span class="p">.</span><span class="nx">components</span>
<span class="k">else</span>
<span class="p">[</span> <span class="p">]</span>
<span class="nv">that.getPresentations = </span><span class="nf">() -></span>
<span class="k">if</span> <span class="nx">options</span><span class="o">?</span><span class="p">.</span><span class="nx">presentations</span><span class="o">?</span>
<span class="nx">options</span><span class="p">.</span><span class="nx">presentations</span>
<span class="k">else</span>
<span class="p">[</span> <span class="p">]</span>
<span class="nv">that.ready = </span><span class="nx">readyFns</span><span class="p">.</span><span class="nx">push</span>
<span class="nv">that.eventReady = </span><span class="nf">(app) -></span>
<span class="k">for</span> <span class="nx">fn</span> <span class="k">in</span> <span class="nx">readyFns</span>
<span class="nx">fn</span> <span class="nx">app</span>
<span class="nv">readyFns = </span><span class="p">[]</span>
<span class="nv">that.ready = </span><span class="nf">(fn) -></span>
<span class="nx">fn</span> <span class="nx">app</span>
<span class="nx">that</span>
</pre></div></td></tr></tbody></table><div id="generated">generated Mon Jul 23 2012 08:51:44 GMT-0400 (EDT) </div><div id="projectname"><a href="../index.html">MITHgrid</a></div></div>