webgui/www/extras/yui-ext/docs/output/CellEditor.js.html
JT Smith cfd09a5cb6 upgraded to yui 0.12.0
upgraded to yui-ext 0.33 rc2
2006-11-28 02:23:34 +00:00

91 lines
No EOL
18 KiB
HTML

<html><head><title>CellEditor.js</title><link rel="stylesheet" type="text/css" href="../style.css" media="screen"/></head><body><div class="hl-main"><pre><span class="hl-comment">/**
* @class YAHOO.ext.grid.CellEditor
* Base class for all EditorGrid editors
*/
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">grid</span><span class="hl-default">.</span><span class="hl-identifier">CellEditor</span><span class="hl-default"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">element</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">colIndex</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">editing</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">originalValue</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code"> = </span><span class="hl-identifier">getEl</span><span class="hl-brackets">(</span><span class="hl-identifier">element</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">addClass</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">ygrid-editor</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">tabIndex</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">initialized</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">callback</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-default">;
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">grid</span><span class="hl-default">.</span><span class="hl-identifier">CellEditor</span><span class="hl-default">.</span><span class="hl-identifier">prototype</span><span class="hl-default"> = </span><span class="hl-brackets">{
</span><span class="hl-identifier">init</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">grid</span><span class="hl-code">, </span><span class="hl-identifier">bodyElement</span><span class="hl-code">, </span><span class="hl-identifier">callback</span><span class="hl-brackets">){
</span><span class="hl-comment">// there's no way for the grid to know if multiple columns
// share the same editor so it will try to initialize the
// same one over and over
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">initialized</span><span class="hl-brackets">) </span><span class="hl-reserved">return</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">initialized</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">callback</span><span class="hl-code"> = </span><span class="hl-identifier">callback</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code"> = </span><span class="hl-identifier">grid</span><span class="hl-code">;
</span><span class="hl-identifier">bodyElement</span><span class="hl-code">.</span><span class="hl-identifier">appendChild</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">initEvents</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">initEvents</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">var </span><span class="hl-identifier">stopOnEnter</span><span class="hl-code"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">browserEvent</span><span class="hl-code">.</span><span class="hl-identifier">keyCode</span><span class="hl-code"> == </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">RETURN</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">stopEditing</span><span class="hl-brackets">(</span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else if</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">browserEvent</span><span class="hl-code">.</span><span class="hl-identifier">keyCode</span><span class="hl-code"> == </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">ESC</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setValue</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">originalValue</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">stopEditing</span><span class="hl-brackets">(</span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">keydown</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">stopOnEnter</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">blur</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">stopEditing</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">startEditing</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">value</span><span class="hl-code">, </span><span class="hl-identifier">row</span><span class="hl-code">, </span><span class="hl-identifier">cell</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">originalValue</span><span class="hl-code"> = </span><span class="hl-identifier">value</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code"> = </span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">colIndex</span><span class="hl-code"> = </span><span class="hl-identifier">cell</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">cell</span><span class="hl-code"> = </span><span class="hl-identifier">cell</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setValue</span><span class="hl-brackets">(</span><span class="hl-identifier">value</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">cellbox</span><span class="hl-code"> = </span><span class="hl-identifier">getEl</span><span class="hl-brackets">(</span><span class="hl-identifier">cell</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">getBox</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fitToCell</span><span class="hl-brackets">(</span><span class="hl-identifier">cellbox</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">editing</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">show</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">stopEditing</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">focusCell</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">editing</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">editing</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">newValue</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getValue</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">hide</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-comment">//if(focusCell){try{this.cell.focus();}catch(e){}}; // try to give the cell focus so keyboard nav still works
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">originalValue</span><span class="hl-code"> != </span><span class="hl-identifier">newValue</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">callback</span><span class="hl-brackets">(</span><span class="hl-identifier">newValue</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">colIndex</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
}</span><span class="hl-code">,
</span><span class="hl-identifier">setValue</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">value</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">value</span><span class="hl-code"> = </span><span class="hl-identifier">value</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">getValue</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">value</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">fitToCell</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">box</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">setBox</span><span class="hl-brackets">(</span><span class="hl-identifier">box</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">show</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">show</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">focus</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">hide</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">try</span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">blur</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">catch</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){}
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">hide</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-default">;</span></pre></div><hr>Copyright &copy; 2006 Jack Slocum. All rights reserved.</body></html>