Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit eb45aa2

Browse filesBrowse files
committed
updating annotated example
1 parent e83070c commit eb45aa2
Copy full SHA for eb45aa2

File tree

Expand file treeCollapse file tree

1 file changed

+5
-21
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+5
-21
lines changed

‎docs/example.html

Copy file name to clipboardExpand all lines: docs/example.html
+5-21Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -85,32 +85,16 @@
8585
<span class="p">}</span>
8686
<span class="k">return</span> <span class="nx">findNode</span><span class="p">(</span><span class="nx">current</span><span class="p">,</span> <span class="nx">_</span><span class="p">.</span><span class="nx">rest</span><span class="p">(</span><span class="nx">parts</span><span class="p">),</span> <span class="nx">callback</span><span class="p">);</span>
8787
<span class="p">}</span></pre></div> </td> </tr> <tr id="section-21"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-21">&#182;</a> </div> <h2>Setup Document Behavior</h2> </td> <td class="code"> <div class="highlight"><pre></pre></div> </td> </tr> <tr id="section-22"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-22">&#182;</a> </div> <p>Activation and display behavior happens at document ready time.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">$</span><span class="p">(</span><span class="nb">document</span><span class="p">).</span><span class="nx">ready</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span></pre></div> </td> </tr> <tr id="section-23"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-23">&#182;</a> </div> <p>The default name for the div the shell uses as its container is <code>shell-panel</code>, although that can be changed via
88-
the shell config parameter <code>shell-view-id</code>. The <code>Shell</code> display model relies on a div to contain a 'view'. The
89-
acts as the view-port, i.e. the visible portion of the shell content, while the view is appended to and
90-
scrolled up as new content is added.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="kd">var</span> <span class="nx">$consolePanel</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#shell-panel&#39;</span><span class="p">);</span></pre></div> </td> </tr> <tr id="section-24"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-24">&#182;</a> </div> <p>We use <strong>jquery-ui</strong>'s <code>resizable</code> to let us drag the bottom edge of the console up and down.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">$consolePanel</span><span class="p">.</span><span class="nx">resizable</span><span class="p">({</span> <span class="nx">handles</span><span class="o">:</span> <span class="s2">&quot;s&quot;</span><span class="p">});</span></pre></div> </td> </tr> <tr id="section-25"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-25">&#182;</a> </div> <p>Wire up a the keypress handler. This will be used only for shell activation.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">$</span><span class="p">(</span><span class="nb">document</span><span class="p">).</span><span class="nx">keypress</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">event</span><span class="p">)</span> <span class="p">{</span></pre></div> </td> </tr> <tr id="section-26"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-26">&#182;</a> </div> <p>If the shell is already active drop out of the keyhandler, since all keyhandling happens in <code>Readline</code>.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="k">if</span><span class="p">(</span><span class="nx">shell</span><span class="p">.</span><span class="nx">isActive</span><span class="p">())</span> <span class="p">{</span>
91-
<span class="k">return</span><span class="p">;</span>
92-
<span class="p">}</span></pre></div> </td> </tr> <tr id="section-27"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-27">&#182;</a> </div> <p>Mimicking <em>Quake</em>-style dropdown consoles, we activate and show on <code>~</code>.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">_console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s2">&quot;activating shell&quot;</span><span class="p">);</span>
93-
<span class="k">if</span><span class="p">(</span><span class="nx">event</span><span class="p">.</span><span class="nx">keyCode</span> <span class="o">==</span> <span class="mi">126</span><span class="p">)</span> <span class="p">{</span>
94-
<span class="nx">event</span><span class="p">.</span><span class="nx">preventDefault</span><span class="p">();</span>
95-
<span class="nx">shell</span><span class="p">.</span><span class="nx">activate</span><span class="p">();</span>
96-
<span class="nx">$consolePanel</span><span class="p">.</span><span class="nx">slideDown</span><span class="p">();</span>
97-
<span class="nx">$consolePanel</span><span class="p">.</span><span class="nx">focus</span><span class="p">();</span>
98-
<span class="p">}</span>
99-
<span class="p">});</span></pre></div> </td> </tr> <tr id="section-28"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-28">&#182;</a> </div> <p>Whenever we get either a <code>EOT</code> (<code>Ctrl-D</code> on empty line) or a <code>Cancel</code> (<code>Ctrl-C</code>) signal from the shell,
100-
we deactivate the shell and hide the console.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="kd">function</span> <span class="nx">hideAndDeactivate</span><span class="p">()</span> <span class="p">{</span>
101-
<span class="nx">_console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s2">&quot;deactivating shell&quot;</span><span class="p">);</span>
102-
<span class="nx">shell</span><span class="p">.</span><span class="nx">deactivate</span><span class="p">();</span>
103-
<span class="nx">$consolePanel</span><span class="p">.</span><span class="nx">slideUp</span><span class="p">();</span>
104-
<span class="nx">$consolePanel</span><span class="p">.</span><span class="nx">blur</span><span class="p">();</span>
105-
<span class="p">}</span></pre></div> </td> </tr> <tr id="section-29"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-29">&#182;</a> </div> <p>Attach our hide function to the EOT and Cancel events.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">shell</span><span class="p">.</span><span class="nx">onEOT</span><span class="p">(</span><span class="nx">hideAndDeactivate</span><span class="p">);</span>
106-
<span class="nx">shell</span><span class="p">.</span><span class="nx">onCancel</span><span class="p">(</span><span class="nx">hideAndDeactivate</span><span class="p">);</span>
107-
<span class="p">});</span></pre></div> </td> </tr> <tr id="section-30"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-30">&#182;</a> </div> <p>We attach the various objects we've created here to <code>Josh.Instance</code> purely so they can be inspected via a
88+
the shell config parameter <code>shell-panel-id</code>. The <code>Shell</code> display model relies on a 'panel' to contain a 'view'.
89+
The 'panel' acts as the view-port, i.e. the visible portion of the shell content, while the 'view' is appended
90+
to and scrolled up as new content is added.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="kd">var</span> <span class="nx">$consolePanel</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#shell-panel&#39;</span><span class="p">);</span></pre></div> </td> </tr> <tr id="section-24"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-24">&#182;</a> </div> <p>We use <strong>jquery-ui</strong>'s <code>resizable</code> to let us drag the bottom edge of the console up and down.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">$consolePanel</span><span class="p">.</span><span class="nx">resizable</span><span class="p">({</span> <span class="nx">handles</span><span class="o">:</span> <span class="s2">&quot;s&quot;</span><span class="p">});</span></pre></div> </td> </tr> <tr id="section-25"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-25">&#182;</a> </div> <p>activate the shell</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">shell</span><span class="p">.</span><span class="nx">activate</span><span class="p">();</span>
91+
<span class="p">});</span></pre></div> </td> </tr> <tr id="section-26"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-26">&#182;</a> </div> <p>We attach the various objects we've created here to <code>Josh.Instance</code> purely so they can be inspected via a
10892
javascript console. This is not required for the functionality of the example.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">Josh</span><span class="p">.</span><span class="nx">Instance</span> <span class="o">=</span> <span class="p">{</span>
10993
<span class="nx">Tree</span><span class="o">:</span> <span class="nx">treeroot</span><span class="p">,</span>
11094
<span class="nx">Shell</span><span class="o">:</span> <span class="nx">shell</span><span class="p">,</span>
11195
<span class="nx">PathHandler</span><span class="o">:</span> <span class="nx">pathhandler</span><span class="p">,</span>
11296
<span class="nx">KillRing</span><span class="o">:</span> <span class="nx">killring</span>
113-
<span class="p">};</span></pre></div> </td> </tr> <tr id="section-31"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-31">&#182;</a> </div> <p>This code builds our <em>fake</em> directory structure. Since most real applications of <code>Josh</code> would not keep their
97+
<span class="p">};</span></pre></div> </td> </tr> <tr id="section-27"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-27">&#182;</a> </div> <p>This code builds our <em>fake</em> directory structure. Since most real applications of <code>Josh</code> would not keep their
11498
entire hierarchy in memory, but instead make callbacks to a server to find nodes and node children, the details
11599
of this function are of little interest.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="kd">function</span> <span class="nx">buildTree</span><span class="p">()</span> <span class="p">{</span>
116100
<span class="kd">var</span> <span class="nx">fs</span> <span class="o">=</span> <span class="p">{</span>

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.