coffeescript-ui
Version:
Coffeescript User Interface System
1,309 lines (1,262 loc) • 25.6 kB
HTML
<html>
<head>
<meta charset='UTF-8'>
<title>Coffeescript-UI Documentation</title>
<script src='../../javascript/application.js'></script>
<script src='../../javascript/search.js'></script>
<link rel='stylesheet' href='../../stylesheets/application.css' type='text/css'>
</head>
<body>
<div id='base' data-path='../../'></div>
<div id='header'>
<div id='menu'>
<a href='../../alphabetical_index.html' title='Index'>
Index
</a>
»
<span class='title'>CUI</span>
»
<span class='title'>util</span>
</div>
</div>
<div id='content'>
<h1>
Class:
CUI.util
</h1>
<table class='box'>
<tr>
<td>Defined in:</td>
<td>base/util.coffee</td>
</tr>
</table>
<h2>Variables Summary</h2>
<dl class='constants'>
<dt id='getObjectClassRegexp-variable'>
getObjectClassRegexp
=
</dt>
<dd>
<pre><code class='coffeescript'>/^function\s*(\w+)/</code></pre>
</dd>
</dl>
<h2>Class Method Summary</h2>
<ul class='summary'>
<li>
<span class='signature'>
<a href='#assert-static'>
.
(void)
<b>assert</b><span>(condition, caller, message, debug_output)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#assertImplements-static'>
.
(void)
<b>assertImplements</b><span>(inst, methods)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#assertInstanceOf-static'>
.
(void)
<b>assertInstanceOf</b><span>(variableName, classClass, opts, value = void 0)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#$elementIsInDOM-static'>
.
(void)
<b>$elementIsInDOM</b><span>($el)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#getCoordinatesFromEvent-static'>
.
(void)
<b>getCoordinatesFromEvent</b><span>(ev)</span>
</a>
</span>
<span class='desc'>
for our self repeating mousemove event we track a scrollPageX and scrollPageY offset
from our own dragscroller
</span>
</li>
<li>
<span class='signature'>
<a href='#elementGetPosition-static'>
.
(void)
<b>elementGetPosition</b><span>(coordinates, el)</span>
</a>
</span>
<span class='desc'>
return the difference of the absolute position of coordinates and element
</span>
</li>
<li>
<span class='signature'>
<a href='#getObjectClass-static'>
.
(void)
<b>getObjectClass</b><span>(obj)</span>
</a>
</span>
<span class='desc'>
Returns the class name of the argument or undefined if it's not a valid JavaScript object.
</span>
</li>
<li>
<span class='signature'>
<a href='#isUndef-static'>
.
(void)
<b>isUndef</b><span>(obj)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isNull-static'>
.
(void)
<b>isNull</b><span>(obj)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isString-static'>
.
(void)
<b>isString</b><span>(obj)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isEmpty-static'>
.
(void)
<b>isEmpty</b><span>(obj)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isTrue-static'>
.
(void)
<b>isTrue</b><span>(obj)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isFalse-static'>
.
(void)
<b>isFalse</b><span>(obj)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isBoolean-static'>
.
(void)
<b>isBoolean</b><span>(obj)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isElement-static'>
.
(void)
<b>isElement</b><span>(obj)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isPosInt-static'>
.
(void)
<b>isPosInt</b><span>(obj)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isContent-static'>
.
(void)
<b>isContent</b><span>(obj)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isNumber-static'>
.
(void)
<b>isNumber</b><span>(n)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isFloat-static'>
.
(void)
<b>isFloat</b><span>(n)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isInteger-static'>
.
(void)
<b>isInteger</b><span>(n)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isPromise-static'>
.
(void)
<b>isPromise</b><span>(n)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isDeferred-static'>
.
(void)
<b>isDeferred</b><span>(n)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#escapeRegExp-static'>
.
(void)
<b>escapeRegExp</b><span>(str)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#getIntOrString-static'>
.
(void)
<b>getIntOrString</b><span>(s)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#getInt-static'>
.
(void)
<b>getInt</b><span>(s, ret_as_is = false)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#getFloat-static'>
.
(void)
<b>getFloat</b><span>(s)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#xor-static'>
.
(void)
<b>xor</b><span>(a, b)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#toHtml-static'>
.
(void)
<b>toHtml</b><span>(data, space2nbsp)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#copyObject-static'>
.
(void)
<b>copyObject</b><span>(obj, deep = false, level = 0)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#dump-static'>
.
(void)
<b>dump</b><span>(obj, space = "\t")</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#alert_dump-static'>
.
(void)
<b>alert_dump</b><span>(v)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#toDash-static'>
.
(void)
<b>toDash</b><span>(s)</span>
</a>
</span>
<span class='desc'>
convert camel case to dash
</span>
</li>
<li>
<span class='signature'>
<a href='#toClass-static'>
.
(void)
<b>toClass</b><span>(s)</span>
</a>
</span>
<span class='desc'>
convert to class compatible string
</span>
</li>
<li>
<span class='signature'>
<a href='#toDot-static'>
.
(void)
<b>toDot</b><span>(s)</span>
</a>
</span>
<span class='desc'>
convert to class compatible string
</span>
</li>
<li>
<span class='signature'>
<a href='#toCamel-static'>
.
(void)
<b>toCamel</b><span>(s, includeFirst = false)</span>
</a>
</span>
<span class='desc'>
convert dash to camel
</span>
</li>
<li>
<span class='signature'>
<a href='#removeFromArray-static'>
.
(void)
<b>removeFromArray</b><span>(value, arr, compFunc)</span>
</a>
</span>
<span class='desc'>
remove all occurrances of value from array returns the number of items removed
</span>
</li>
<li>
<span class='signature'>
<a href='#moveInArray-static'>
.
(void)
<b>moveInArray</b><span>(from, to, arr, after = false)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#compareIndex-static'>
.
(void)
<b>compareIndex</b><span>(a_idx, b_idx)</span>
</a>
</span>
<span class='desc'>
use in sort
</span>
</li>
<li>
<span class='signature'>
<a href='#pushOntoArray-static'>
.
(void)
<b>pushOntoArray</b><span>(value, arr, compFunc)</span>
</a>
</span>
<span class='desc'>
pushes value onto array, if not exists returns index of the pushed value
</span>
</li>
<li>
<span class='signature'>
<a href='#idxInArray-static'>
.
(void)
<b>idxInArray</b><span>(value, arr, compFunc)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#findInArray-static'>
.
(void)
<b>findInArray</b><span>(value, arr, compFunc)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#utoa-static'>
.
(void)
<b>utoa</b><span>(str)</span>
</a>
</span>
<span class='desc'>
ucs-2 string to base64 encoded ascii
</span>
</li>
<li>
<span class='signature'>
<a href='#atou-static'>
.
(void)
<b>atou</b><span>(str)</span>
</a>
</span>
<span class='desc'>
base64 encoded ascii to ucs-2 string
</span>
</li>
<li>
<span class='signature'>
<a href='#parseCoordinates-static'>
.
(void)
<b>parseCoordinates</b><span>(coordinates)</span>
</a>
</span>
<span class='desc'>
coordinates is a string, almost every coordinates format is accepted.
</span>
</li>
<li>
<span class='signature'>
<a href='#formatCoordinates-static'>
.
(void)
<b>formatCoordinates</b><span>(coordinates, format)</span>
</a>
</span>
<span class='desc'>
coordinates is a PlainObject with lat and lng attributes, format is a string which indicates what format will be used.
</span>
</li>
<li>
<span class='signature'>
<a href='#isArray-static'>
.
(void)
<b>isArray</b><span>(v)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#inArray-static'>
.
(void)
<b>inArray</b><span>(value, array)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isEqual-static'>
.
(void)
<b>isEqual</b><span>(x, y)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isMap-static'>
.
(void)
<b>isMap</b><span>(v)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isFunction-static'>
.
(void)
<b>isFunction</b><span>(v)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isPlainObject-static'>
.
(void)
<b>isPlainObject</b><span>(v)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#isEmptyObject-static'>
.
(void)
<b>isEmptyObject</b><span>(v)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#revertMap-static'>
.
(void)
<b>revertMap</b><span>(map)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#stringMapReplace-static'>
.
(void)
<b>stringMapReplace</b><span>(s, map)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#mergeMap-static'>
.
(void)
<b>mergeMap</b><span>(targetMap, mergeMap)</span>
</a>
</span>
<span class='desc'>
</span>
</li>
</ul>
<h2>Class Method Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='assert-static'>
.
(void)
<b>assert</b><span>(condition, caller, message, debug_output)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='assertImplements-static'>
.
(void)
<b>assertImplements</b><span>(inst, methods)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='assertInstanceOf-static'>
.
(void)
<b>assertInstanceOf</b><span>(variableName, classClass, opts, value = void 0)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='$elementIsInDOM-static'>
.
(void)
<b>$elementIsInDOM</b><span>($el)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='getCoordinatesFromEvent-static'>
.
(void)
<b>getCoordinatesFromEvent</b><span>(ev)</span>
<br>
</p>
<div class='docstring'>
<p>for our self repeating mousemove event we
track a scrollPageX and scrollPageY offset
from our own dragscroller</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='elementGetPosition-static'>
.
(void)
<b>elementGetPosition</b><span>(coordinates, el)</span>
<br>
</p>
<div class='docstring'>
<p>return the difference of the absolute position
of coordinates and element</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='getObjectClass-static'>
.
(void)
<b>getObjectClass</b><span>(obj)</span>
<br>
</p>
<div class='docstring'>
<p>Returns the class name of the argument or undefined if
it's not a valid JavaScript object.</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='isUndef-static'>
.
(void)
<b>isUndef</b><span>(obj)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isNull-static'>
.
(void)
<b>isNull</b><span>(obj)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isString-static'>
.
(void)
<b>isString</b><span>(obj)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isEmpty-static'>
.
(void)
<b>isEmpty</b><span>(obj)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isTrue-static'>
.
(void)
<b>isTrue</b><span>(obj)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isFalse-static'>
.
(void)
<b>isFalse</b><span>(obj)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isBoolean-static'>
.
(void)
<b>isBoolean</b><span>(obj)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isElement-static'>
.
(void)
<b>isElement</b><span>(obj)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isPosInt-static'>
.
(void)
<b>isPosInt</b><span>(obj)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isContent-static'>
.
(void)
<b>isContent</b><span>(obj)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isNumber-static'>
.
(void)
<b>isNumber</b><span>(n)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isFloat-static'>
.
(void)
<b>isFloat</b><span>(n)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isInteger-static'>
.
(void)
<b>isInteger</b><span>(n)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isPromise-static'>
.
(void)
<b>isPromise</b><span>(n)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isDeferred-static'>
.
(void)
<b>isDeferred</b><span>(n)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='escapeRegExp-static'>
.
(void)
<b>escapeRegExp</b><span>(str)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='getIntOrString-static'>
.
(void)
<b>getIntOrString</b><span>(s)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='getInt-static'>
.
(void)
<b>getInt</b><span>(s, ret_as_is = false)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='getFloat-static'>
.
(void)
<b>getFloat</b><span>(s)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='xor-static'>
.
(void)
<b>xor</b><span>(a, b)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='toHtml-static'>
.
(void)
<b>toHtml</b><span>(data, space2nbsp)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='copyObject-static'>
.
(void)
<b>copyObject</b><span>(obj, deep = false, level = 0)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='dump-static'>
.
(void)
<b>dump</b><span>(obj, space = "\t")</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='alert_dump-static'>
.
(void)
<b>alert_dump</b><span>(v)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='toDash-static'>
.
(void)
<b>toDash</b><span>(s)</span>
<br>
</p>
<div class='docstring'>
<p>convert camel case to dash</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='toClass-static'>
.
(void)
<b>toClass</b><span>(s)</span>
<br>
</p>
<div class='docstring'>
<p>convert to class compatible string</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='toDot-static'>
.
(void)
<b>toDot</b><span>(s)</span>
<br>
</p>
<div class='docstring'>
<p>convert to class compatible string</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='toCamel-static'>
.
(void)
<b>toCamel</b><span>(s, includeFirst = false)</span>
<br>
</p>
<div class='docstring'>
<p>convert dash to camel</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='removeFromArray-static'>
.
(void)
<b>removeFromArray</b><span>(value, arr, compFunc)</span>
<br>
</p>
<div class='docstring'>
<p>remove all occurrances of value from array
returns the number of items removed</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='moveInArray-static'>
.
(void)
<b>moveInArray</b><span>(from, to, arr, after = false)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='compareIndex-static'>
.
(void)
<b>compareIndex</b><span>(a_idx, b_idx)</span>
<br>
</p>
<div class='docstring'>
<p>use in sort</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='pushOntoArray-static'>
.
(void)
<b>pushOntoArray</b><span>(value, arr, compFunc)</span>
<br>
</p>
<div class='docstring'>
<p>pushes value onto array, if not exists
returns index of the pushed value</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='idxInArray-static'>
.
(void)
<b>idxInArray</b><span>(value, arr, compFunc)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='findInArray-static'>
.
(void)
<b>findInArray</b><span>(value, arr, compFunc)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='utoa-static'>
.
(void)
<b>utoa</b><span>(str)</span>
<br>
</p>
<div class='docstring'>
<p>ucs-2 string to base64 encoded ascii</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='atou-static'>
.
(void)
<b>atou</b><span>(str)</span>
<br>
</p>
<div class='docstring'>
<p>base64 encoded ascii to ucs-2 string</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='parseCoordinates-static'>
.
(void)
<b>parseCoordinates</b><span>(coordinates)</span>
<br>
</p>
<div class='docstring'>
<p>coordinates is a string, almost every coordinates format is accepted.
Returns an object with lat and lng attributes, or false if wasn't possible to parse or if coordinates is null.</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='formatCoordinates-static'>
.
(void)
<b>formatCoordinates</b><span>(coordinates, format)</span>
<br>
</p>
<div class='docstring'>
<p>coordinates is a PlainObject with lat and lng attributes, format is a string which indicates what format will be used.
It is possible that format be a function, and it is invoked with coordinates as parameter.
Returns a string formatted.</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='isArray-static'>
.
(void)
<b>isArray</b><span>(v)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='inArray-static'>
.
(void)
<b>inArray</b><span>(value, array)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isEqual-static'>
.
(void)
<b>isEqual</b><span>(x, y)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isMap-static'>
.
(void)
<b>isMap</b><span>(v)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isFunction-static'>
.
(void)
<b>isFunction</b><span>(v)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isPlainObject-static'>
.
(void)
<b>isPlainObject</b><span>(v)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='isEmptyObject-static'>
.
(void)
<b>isEmptyObject</b><span>(v)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='revertMap-static'>
.
(void)
<b>revertMap</b><span>(map)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='stringMapReplace-static'>
.
(void)
<b>stringMapReplace</b><span>(s, map)</span>
<br>
</p>
</div>
<div class='method_details'>
<p class='signature' id='mergeMap-static'>
.
(void)
<b>mergeMap</b><span>(targetMap, mergeMap)</span>
<br>
</p>
</div>
</div>
</div>
<div id='footer'>
By
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>
2.1.2
✲
Press H to see the keyboard shortcuts
✲
<a href='http://twitter.com/netzpirat' target='_parent'>@netzpirat</a>
✲
<a href='http://twitter.com/_inossidabile' target='_parent'>@_inossidabile</a>
</div>
<iframe id='search_frame'></iframe>
<div id='fuzzySearch'>
<input type='text'>
<ol></ol>
</div>
<div id='help'>
<p>
Quickly fuzzy find classes, mixins, methods, file:
</p>
<ul>
<li>
<span>T</span>
Open fuzzy finder dialog
</li>
</ul>
<p>
Control the navigation frame:
</p>
<ul>
<li>
<span>L</span>
Toggle list view
</li>
<li>
<span>C</span>
Show class list
</li>
<li>
<span>I</span>
Show mixin list
</li>
<li>
<span>F</span>
Show file list
</li>
<li>
<span>M</span>
Show method list
</li>
<li>
<span>E</span>
Show extras list
</li>
</ul>
<p>
You can focus and blur the search input:
</p>
<ul>
<li>
<span>S</span>
Focus search input
</li>
<li>
<span>Esc</span>
Blur search input
</li>
</ul>
</div>
</body>
</html>