sync
[roojs1] / docs2 / src / Roo_KeyMap.js.html
diff --git a/docs2/src/Roo_KeyMap.js.html b/docs2/src/Roo_KeyMap.js.html
deleted file mode 100644 (file)
index 13c6c11..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-<html><head><title>/home/alan/gitlive/roojs1/Roo/KeyMap.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
- * Based on:
- * Ext JS Library 1.1.1
- * Copyright(c) 2006-2007, Ext JS, LLC.
- *
- * Originally Released Under LGPL - original licence link has changed is not relivant.
- *
- * Fork - LGPL
- * &lt;script type=&quot;text/javascript&quot;&gt;
- */
-
-
-/**
- * @class Roo.KeyMap
- * Handles mapping keys to actions for an element. One key map can be used for multiple actions.
- * The constructor accepts the same config object as defined by {@link #addBinding}.
- * If you bind a callback function to a KeyMap, anytime the KeyMap handles an expected key
- * combination it will call the function with this signature (if the match is a multi-key
- * combination the callback will still be called only once): (String key, Roo.EventObject e)
- * A KeyMap can also handle a string representation of keys.&lt;br /&gt;
- * Usage:
- &lt;pre&gt;&lt;code&gt;
-// map one key by key code
-var map = new Roo.KeyMap(&quot;my-element&quot;, {
-    key: 13, // or Roo.EventObject.ENTER
-    fn: myHandler,
-    scope: myObject
-});
-
-// map multiple keys to one action by string
-var map = new Roo.KeyMap(&quot;my-element&quot;, {
-    key: &quot;a\r\n\t&quot;,
-    fn: myHandler,
-    scope: myObject
-});
-
-// map multiple keys to multiple actions by strings and array of codes
-var map = new Roo.KeyMap(&quot;my-element&quot;, [
-    {
-        key: [10,13],
-        fn: function(){ alert(&quot;Return was pressed&quot;); }
-    }, {
-        key: &quot;abc&quot;,
-        fn: function(){ alert('a, b or c was pressed'); }
-    }, {
-        key: &quot;\t&quot;,
-        ctrl:true,
-        shift:true,
-        fn: function(){ alert('Control + shift + tab was pressed.'); }
-    }
-]);
-&lt;/code&gt;&lt;/pre&gt;
- * &lt;b&gt;Note: A KeyMap starts enabled&lt;/b&gt;
- * @constructor
- * @param {String/HTMLElement/Roo.Element} el The element to bind to
- * @param {Object} config The config (see {@link #addBinding})
- * @param {String} eventName (optional) The event to bind to (defaults to &quot;keydown&quot;)
- */
-</span><span class="jsdoc-var">Roo.KeyMap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">eventName</span><span class="jsdoc-syntax">){
-    </span><span class="jsdoc-var">this.el  </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
-    </span><span class="jsdoc-var">this.eventName </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">eventName </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">&quot;keydown&quot;</span><span class="jsdoc-syntax">;
-    </span><span class="jsdoc-var">this.bindings </span><span class="jsdoc-syntax">= [];
-    </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
-        </span><span class="jsdoc-var">this.addBinding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
-    }
-    </span><span class="jsdoc-var">this.enable</span><span class="jsdoc-syntax">();
-};
-
-</span><span class="jsdoc-var">Roo.KeyMap.prototype </span><span class="jsdoc-syntax">= {
-    </span><span class="jsdoc-comment">/**
-     * True to stop the event from bubbling and prevent the default browser action if the
-     * key was handled by the KeyMap (defaults to false)
-     * @type Boolean
-     */
-    </span><span class="jsdoc-var">stopEvent </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
-
-    </span><span class="jsdoc-comment">/**
-     * Add a new binding to this KeyMap. The following config object properties are supported:
-     * &lt;pre&gt;
-Property    Type             Description
-----------  ---------------  ----------------------------------------------------------------------
-key         String/Array     A single keycode or an array of keycodes to handle
-shift       Boolean          True to handle key only when shift is pressed (defaults to false)
-ctrl        Boolean          True to handle key only when ctrl is pressed (defaults to false)
-alt         Boolean          True to handle key only when alt is pressed (defaults to false)
-fn          Function         The function to call when KeyMap finds the expected key combination
-scope       Object           The scope of the callback function
-&lt;/pre&gt;
-     *
-     * Usage:
-     * &lt;pre&gt;&lt;code&gt;
-// Create a KeyMap
-var map = new Roo.KeyMap(document, {
-    key: Roo.EventObject.ENTER,
-    fn: handleKey,
-    scope: this
-});
-
-//Add a new binding to the existing KeyMap later
-map.addBinding({
-    key: 'abc',
-    shift: true,
-    fn: handleKey,
-    scope: this
-});
-&lt;/code&gt;&lt;/pre&gt;
-     * @param {Object/Array} config A single KeyMap config or an array of configs
-     */
-       </span><span class="jsdoc-var">addBinding </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
-        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Array</span><span class="jsdoc-syntax">){
-            </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
-                </span><span class="jsdoc-var">this.addBinding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
-            }
-            </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
-        }
-        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">keyCode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.key</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">shift </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.shift</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">ctrl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.ctrl</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">alt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.alt</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">fn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.fn</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">scope </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.scope</span><span class="jsdoc-syntax">;
-        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">keyCode </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;string&quot;</span><span class="jsdoc-syntax">){
-            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ks </span><span class="jsdoc-syntax">= [];
-            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">keyString </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">keyCode.toUpperCase</span><span class="jsdoc-syntax">();
-            </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">keyString.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">++){
-                </span><span class="jsdoc-var">ks.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">keyString.charCodeAt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">));
-            }
-            </span><span class="jsdoc-var">keyCode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ks</span><span class="jsdoc-syntax">;
-        }
-        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">keyArray </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">keyCode </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Array</span><span class="jsdoc-syntax">;
-        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">handler </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
-            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">((!</span><span class="jsdoc-var">shift </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">e.shiftKey</span><span class="jsdoc-syntax">) &amp;&amp; (!</span><span class="jsdoc-var">ctrl </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">) &amp;&amp;  (!</span><span class="jsdoc-var">alt </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">e.altKey</span><span class="jsdoc-syntax">)){
-                </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">e.getKey</span><span class="jsdoc-syntax">();
-                </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">keyArray</span><span class="jsdoc-syntax">){
-                    </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">keyCode.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
-                        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">keyCode</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] == </span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">){
-                          </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.stopEvent</span><span class="jsdoc-syntax">){
-                              </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
-                          }
-                          </span><span class="jsdoc-var">fn.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scope </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">window</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
-                          </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
-                        }
-                    }
-                }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
-                    </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">keyCode</span><span class="jsdoc-syntax">){
-                        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.stopEvent</span><span class="jsdoc-syntax">){
-                           </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
-                        }
-                        </span><span class="jsdoc-var">fn.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scope </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">window</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
-                    }
-                }
-            }
-        };
-        </span><span class="jsdoc-var">this.bindings.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">);
-       },
-
-    </span><span class="jsdoc-comment">/**
-     * Shorthand for adding a single key listener
-     * @param {Number/Array/Object} key Either the numeric key code, array of key codes or an object with the
-     * following options:
-     * {key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)}
-     * @param {Function} fn The function to call
-     * @param {Object} scope (optional) The scope of the function
-     */
-    </span><span class="jsdoc-var">on </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fn</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">){
-        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">keyCode</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">shift</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ctrl</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">alt</span><span class="jsdoc-syntax">;
-        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">key </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;object&quot; </span><span class="jsdoc-syntax">&amp;&amp; !(</span><span class="jsdoc-var">key </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Array</span><span class="jsdoc-syntax">)){
-            </span><span class="jsdoc-var">keyCode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">key.key</span><span class="jsdoc-syntax">;
-            </span><span class="jsdoc-var">shift </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">key.shift</span><span class="jsdoc-syntax">;
-            </span><span class="jsdoc-var">ctrl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">key.ctrl</span><span class="jsdoc-syntax">;
-            </span><span class="jsdoc-var">alt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">key.alt</span><span class="jsdoc-syntax">;
-        }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
-            </span><span class="jsdoc-var">keyCode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">;
-        }
-        </span><span class="jsdoc-var">this.addBinding</span><span class="jsdoc-syntax">({
-            </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">keyCode</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">shift</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">shift</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">ctrl</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">ctrl</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">alt</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">alt</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">fn</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">fn</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">scope
-        </span><span class="jsdoc-syntax">})
-    },
-
-    </span><span class="jsdoc-comment">// private
-    </span><span class="jsdoc-var">handleKeyDown </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
-           </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.enabled</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-comment">//just in case
-           </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.bindings</span><span class="jsdoc-syntax">;
-           </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
-               </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
-           }
-           }
-       },
-
-       </span><span class="jsdoc-comment">/**
-        * Returns true if this KeyMap is enabled
-        * @return {Boolean} 
-        */
-       </span><span class="jsdoc-var">isEnabled </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
-           </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.enabled</span><span class="jsdoc-syntax">;
-       },
-
-       </span><span class="jsdoc-comment">/**
-        * Enables this KeyMap
-        */
-       </span><span class="jsdoc-var">enable</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
-               </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.enabled</span><span class="jsdoc-syntax">){
-                   </span><span class="jsdoc-var">this.el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.eventName</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleKeyDown</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
-                   </span><span class="jsdoc-var">this.enabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
-               }
-       },
-
-       </span><span class="jsdoc-comment">/**
-        * Disable this KeyMap
-        */
-       </span><span class="jsdoc-var">disable</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
-               </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.enabled</span><span class="jsdoc-syntax">){
-                   </span><span class="jsdoc-var">this.el.removeListener</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.eventName</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleKeyDown</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
-                   </span><span class="jsdoc-var">this.enabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
-               }
-       }
-};</span></code></body></html>
\ No newline at end of file