a:36:{s:9:"#provides";s:23:"dojox.grid._EditManager";s:9:"#resource";s:20:"grid/_EditManager.js";s:9:"#requires";a:1:{i:0;a:2:{i:0;s:6:"common";i:1;s:15:"dojox.grid.util";}}s:23:"dojox.grid._EditManager";a:5:{s:4:"type";s:8:"Function";s:7:"summary";s:82:"Controls grid cell editing process. Owned by grid and used internally for editing.";s:10:"parameters";a:1:{s:6:"inGrid";a:2:{s:4:"type";s:10:"dojox.Grid";s:7:"summary";s:48:"The dojox.Grid this editor should be attached to";}}s:6:"source";s:170:" this.grid = inGrid; this.connections = []; if(dojo.isIE){ this.connections.push(dojo.connect(document.body, "onfocus", dojo.hitch(this, "_boomerangFocus"))); }";s:9:"classlike";b:1;}s:28:"dojox.grid._EditManager.info";a:4:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:6:"Object";s:8:"instance";s:23:"dojox.grid._EditManager";s:7:"summary";s:0:"";}s:31:"dojox.grid._EditManager.destroy";a:4:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:6:"source";s:49:" dojo.forEach(this.connections,dojo.disconnect);";s:7:"summary";s:0:"";}s:33:"dojox.grid._EditManager.cellFocus";a:6:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:6:"inCell";a:2:{s:4:"type";s:4:"cell";s:7:"summary";s:23:"object Grid cell object";}s:10:"inRowIndex";a:2:{s:4:"type";s:7:"Integer";s:7:"summary";s:14:"Grid row index";}}s:6:"source";s:425:" if(this.grid.singleClickEdit || this.isEditRow(inRowIndex)){ // if same row or quick editing, edit this.setEditCell(inCell, inRowIndex); }else{ // otherwise, apply any pending row edits this.apply(); } // if dynamic or static editing... if(this.isEditing() || (inCell && inCell.editable && inCell.alwaysEditing)){ // let the editor focus itself as needed this._focusEditor(inCell, inRowIndex); }";s:7:"summary";s:35:"Invoke editing when cell is focused";s:6:"chains";a:1:{s:4:"call";a:1:{i:0;s:4:"this";}}}s:32:"dojox.grid._EditManager.rowClick";a:6:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"e";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:75:" if(this.isEditing() && !this.isEditRow(e.rowIndex)){ this.apply(); }";s:6:"chains";a:1:{s:4:"call";a:1:{i:0;s:4:"this";}}s:7:"summary";s:0:"";}s:32:"dojox.grid._EditManager.styleRow";a:5:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:5:"inRow";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:94:" if(inRow.index == this.info.rowIndex){ inRow.customClasses += ' dojoxGridRowEditing'; }";s:7:"summary";s:0:"";}s:37:"dojox.grid._EditManager.dispatchEvent";a:5:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"e";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:100:" var c = e.cell, ed = (c && c["editable"]) ? c : 0; return ed && ed.dispatchEvent(e.dispatch, e);";s:7:"summary";s:0:"";}s:33:"dojox.grid._EditManager.isEditing";a:5:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:6:"source";s:42:" return this.info.rowIndex !== undefined;";s:7:"summary";s:36:"Indicates editing state of the grid.";s:14:"return_summary";s:40:"Boolean True if grid is actively editing";}s:34:"dojox.grid._EditManager.isEditCell";a:6:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:10:"inRowIndex";a:2:{s:4:"type";s:7:"Integer";s:7:"summary";s:14:"Grid row index";}s:11:"inCellIndex";a:2:{s:4:"type";s:7:"Integer";s:7:"summary";s:15:"Grid cell index";}}s:6:"source";s:86:" return (this.info.rowIndex === inRowIndex) && (this.info.cell.index == inCellIndex);";s:7:"summary";s:44:"Indicates if the given cell is being edited.";s:14:"return_summary";s:42:"Boolean True if given cell is being edited";}s:33:"dojox.grid._EditManager.isEditRow";a:6:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:10:"inRowIndex";a:2:{s:4:"type";s:7:"Integer";s:7:"summary";s:14:"Grid row index";}}s:6:"source";s:43:" return this.info.rowIndex === inRowIndex;";s:7:"summary";s:43:"Indicates if the given row is being edited.";s:14:"return_summary";s:41:"Boolean True if given row is being edited";}s:35:"dojox.grid._EditManager.setEditCell";a:5:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:6:"inCell";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:16:"Grid cell object";}s:10:"inRowIndex";a:2:{s:4:"type";s:7:"Integer";s:7:"summary";s:14:"Grid row index";}}s:6:"source";s:197:" if(!this.isEditCell(inRowIndex, inCell.index) && this.grid.canEdit && this.grid.canEdit(inCell, inRowIndex)){ this.start(inCell, inRowIndex, this.isEditRow(inRowIndex) || inCell.editable); }";s:7:"summary";s:31:"Set the given cell to be edited";}s:36:"dojox.grid._EditManager._focusEditor";a:6:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:6:"inCell";a:1:{s:4:"type";s:0:"";}s:10:"inRowIndex";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:54:" dojox.grid.util.fire(inCell, "focus", [inRowIndex]);";s:7:"private";b:1;s:7:"summary";s:0:"";}s:35:"dojox.grid._EditManager.focusEditor";a:4:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:6:"source";s:85:" if(this.isEditing()){ this._focusEditor(this.info.cell, this.info.rowIndex); }";s:7:"summary";s:0:"";}s:40:"dojox.grid._EditManager._boomerangWindow";a:3:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:7:"private";b:1;s:7:"summary";s:0:"";}s:45:"dojox.grid._EditManager._shouldCatchBoomerang";a:5:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:6:"source";s:53:" return this._catchBoomerang > new Date().getTime();";s:7:"private";b:1;s:7:"summary";s:0:"";}s:39:"dojox.grid._EditManager._boomerangFocus";a:5:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:6:"source";s:3508:"dojo.provide("dojox.grid._EditManager"); dojo.require("dojox.grid.util"); dojo.declare("dojox.grid._EditManager", null, { // summary: // Controls grid cell editing process. Owned by grid and used internally for editing. constructor: function(inGrid){ // inGrid: dojox.Grid // The dojox.Grid this editor should be attached to this.grid = inGrid; this.connections = []; if(dojo.isIE){ this.connections.push(dojo.connect(document.body, "onfocus", dojo.hitch(this, "_boomerangFocus"))); } }, info: {}, destroy: function(){ dojo.forEach(this.connections,dojo.disconnect); }, cellFocus: function(inCell, inRowIndex){ // summary: // Invoke editing when cell is focused // inCell: cell object // Grid cell object // inRowIndex: Integer // Grid row index if(this.grid.singleClickEdit || this.isEditRow(inRowIndex)){ // if same row or quick editing, edit this.setEditCell(inCell, inRowIndex); }else{ // otherwise, apply any pending row edits this.apply(); } // if dynamic or static editing... if(this.isEditing() || (inCell && inCell.editable && inCell.alwaysEditing)){ // let the editor focus itself as needed this._focusEditor(inCell, inRowIndex); } }, rowClick: function(e){ if(this.isEditing() && !this.isEditRow(e.rowIndex)){ this.apply(); } }, styleRow: function(inRow){ if(inRow.index == this.info.rowIndex){ inRow.customClasses += ' dojoxGridRowEditing'; } }, dispatchEvent: function(e){ var c = e.cell, ed = (c && c["editable"]) ? c : 0; return ed && ed.dispatchEvent(e.dispatch, e); }, // Editing isEditing: function(){ // summary: // Indicates editing state of the grid. // returns: Boolean // True if grid is actively editing return this.info.rowIndex !== undefined; }, isEditCell: function(inRowIndex, inCellIndex){ // summary: // Indicates if the given cell is being edited. // inRowIndex: Integer // Grid row index // inCellIndex: Integer // Grid cell index // returns: Boolean // True if given cell is being edited return (this.info.rowIndex === inRowIndex) && (this.info.cell.index == inCellIndex); }, isEditRow: function(inRowIndex){ // summary: // Indicates if the given row is being edited. // inRowIndex: Integer // Grid row index // returns: Boolean // True if given row is being edited return this.info.rowIndex === inRowIndex; }, setEditCell: function(inCell, inRowIndex){ // summary: // Set the given cell to be edited // inRowIndex: Integer // Grid row index // inCell: Object // Grid cell object if(!this.isEditCell(inRowIndex, inCell.index) && this.grid.canEdit && this.grid.canEdit(inCell, inRowIndex)){ this.start(inCell, inRowIndex, this.isEditRow(inRowIndex) || inCell.editable); } }, _focusEditor: function(inCell, inRowIndex){ dojox.grid.util.fire(inCell, "focus", [inRowIndex]); }, focusEditor: function(){ if(this.isEditing()){ this._focusEditor(this.info.cell, this.info.rowIndex); } }, // implement fix for focus boomerang effect on IE _boomerangWindow: 500, _shouldCatchBoomerang: function(){ return this._catchBoomerang > new Date().getTime(); }, _boomerangFocus: function(){ //console.log("_boomerangFocus"); if(this._shouldCatchBoomerang()){ // make sure we don't utterly lose focus this.grid.focus.focusGrid(); // let the editor focus itself as needed this.focusEditor(); // only catch once this._catchBoomerang = 0; }";s:7:"private";b:1;s:7:"summary";s:0:"";}s:41:"dojox.grid._EditManager._doCatchBoomerang";a:5:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:6:"source";s:3689:"dojo.provide("dojox.grid._EditManager"); dojo.require("dojox.grid.util"); dojo.declare("dojox.grid._EditManager", null, { // summary: // Controls grid cell editing process. Owned by grid and used internally for editing. constructor: function(inGrid){ // inGrid: dojox.Grid // The dojox.Grid this editor should be attached to this.grid = inGrid; this.connections = []; if(dojo.isIE){ this.connections.push(dojo.connect(document.body, "onfocus", dojo.hitch(this, "_boomerangFocus"))); } }, info: {}, destroy: function(){ dojo.forEach(this.connections,dojo.disconnect); }, cellFocus: function(inCell, inRowIndex){ // summary: // Invoke editing when cell is focused // inCell: cell object // Grid cell object // inRowIndex: Integer // Grid row index if(this.grid.singleClickEdit || this.isEditRow(inRowIndex)){ // if same row or quick editing, edit this.setEditCell(inCell, inRowIndex); }else{ // otherwise, apply any pending row edits this.apply(); } // if dynamic or static editing... if(this.isEditing() || (inCell && inCell.editable && inCell.alwaysEditing)){ // let the editor focus itself as needed this._focusEditor(inCell, inRowIndex); } }, rowClick: function(e){ if(this.isEditing() && !this.isEditRow(e.rowIndex)){ this.apply(); } }, styleRow: function(inRow){ if(inRow.index == this.info.rowIndex){ inRow.customClasses += ' dojoxGridRowEditing'; } }, dispatchEvent: function(e){ var c = e.cell, ed = (c && c["editable"]) ? c : 0; return ed && ed.dispatchEvent(e.dispatch, e); }, // Editing isEditing: function(){ // summary: // Indicates editing state of the grid. // returns: Boolean // True if grid is actively editing return this.info.rowIndex !== undefined; }, isEditCell: function(inRowIndex, inCellIndex){ // summary: // Indicates if the given cell is being edited. // inRowIndex: Integer // Grid row index // inCellIndex: Integer // Grid cell index // returns: Boolean // True if given cell is being edited return (this.info.rowIndex === inRowIndex) && (this.info.cell.index == inCellIndex); }, isEditRow: function(inRowIndex){ // summary: // Indicates if the given row is being edited. // inRowIndex: Integer // Grid row index // returns: Boolean // True if given row is being edited return this.info.rowIndex === inRowIndex; }, setEditCell: function(inCell, inRowIndex){ // summary: // Set the given cell to be edited // inRowIndex: Integer // Grid row index // inCell: Object // Grid cell object if(!this.isEditCell(inRowIndex, inCell.index) && this.grid.canEdit && this.grid.canEdit(inCell, inRowIndex)){ this.start(inCell, inRowIndex, this.isEditRow(inRowIndex) || inCell.editable); } }, _focusEditor: function(inCell, inRowIndex){ dojox.grid.util.fire(inCell, "focus", [inRowIndex]); }, focusEditor: function(){ if(this.isEditing()){ this._focusEditor(this.info.cell, this.info.rowIndex); } }, // implement fix for focus boomerang effect on IE _boomerangWindow: 500, _shouldCatchBoomerang: function(){ return this._catchBoomerang > new Date().getTime(); }, _boomerangFocus: function(){ //console.log("_boomerangFocus"); if(this._shouldCatchBoomerang()){ // make sure we don't utterly lose focus this.grid.focus.focusGrid(); // let the editor focus itself as needed this.focusEditor(); // only catch once this._catchBoomerang = 0; } }, _doCatchBoomerang: function(){ // give ourselves a few ms to boomerang IE focus effects if(dojo.isIE){this._catchBoomerang = new Date().getTime() + this._boomerangWindow;}";s:7:"private";b:1;s:7:"summary";s:0:"";}s:29:"dojox.grid._EditManager.start";a:5:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"inCell";a:1:{s:4:"type";s:0:"";}s:10:"inRowIndex";a:1:{s:4:"type";s:0:"";}s:9:"inEditing";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:624:" this.grid.beginUpdate(); this.editorApply(); if(this.isEditing() && !this.isEditRow(inRowIndex)){ this.applyRowEdit(); this.grid.updateRow(inRowIndex); } if(inEditing){ this.info = { cell: inCell, rowIndex: inRowIndex }; this.grid.doStartEdit(inCell, inRowIndex); this.grid.updateRow(inRowIndex); }else{ this.info = {}; } this.grid.endUpdate(); // make sure we don't utterly lose focus this.grid.focus.focusGrid(); // let the editor focus itself as needed this._focusEditor(inCell, inRowIndex); // give ourselves a few ms to boomerang IE focus effects this._doCatchBoomerang();";s:7:"summary";s:0:"";}s:33:"dojox.grid._EditManager._editorDo";a:6:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:8:"inMethod";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:142:" var c = this.info.cell //c && c.editor && c.editor[inMethod](c, this.info.rowIndex); c && c.editable && c[inMethod](this.info.rowIndex);";s:7:"private";b:1;s:7:"summary";s:0:"";}s:35:"dojox.grid._EditManager.editorApply";a:4:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:6:"source";s:26:" this._editorDo("apply");";s:7:"summary";s:0:"";}s:36:"dojox.grid._EditManager.editorCancel";a:4:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:6:"source";s:27:" this._editorDo("cancel");";s:7:"summary";s:0:"";}s:37:"dojox.grid._EditManager.applyCellEdit";a:5:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:7:"inValue";a:1:{s:4:"type";s:0:"";}s:6:"inCell";a:1:{s:4:"type";s:0:"";}s:10:"inRowIndex";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:113:" if(this.grid.canEdit(inCell, inRowIndex)){ this.grid.doApplyCellEdit(inValue, inRowIndex, inCell.field); }";s:7:"summary";s:0:"";}s:36:"dojox.grid._EditManager.applyRowEdit";a:4:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:6:"source";s:66:" this.grid.doApplyEdit(this.info.rowIndex, this.info.cell.field);";s:7:"summary";s:0:"";}s:29:"dojox.grid._EditManager.apply";a:4:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:6:"source";s:208:" if(this.isEditing()){ this.grid.beginUpdate(); this.editorApply(); this.applyRowEdit(); this.info = {}; this.grid.endUpdate(); this.grid.focus.focusGrid(); this._doCatchBoomerang(); }";s:7:"summary";s:17:"Apply a grid edit";}s:30:"dojox.grid._EditManager.cancel";a:4:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:6:"source";s:185:" if(this.isEditing()){ this.grid.beginUpdate(); this.editorCancel(); this.info = {}; this.grid.endUpdate(); this.grid.focus.focusGrid(); this._doCatchBoomerang(); }";s:7:"summary";s:18:"Cancel a grid edit";}s:28:"dojox.grid._EditManager.save";a:5:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:10:"inRowIndex";a:2:{s:4:"type";s:7:"Integer";s:7:"summary";s:14:"Grid row index";}s:6:"inView";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:9:"Grid view";}}s:6:"source";s:142:" var c = this.info.cell; if(this.isEditRow(inRowIndex) && (!inView || c.view==inView) && c.editable){ c.save(c, this.info.rowIndex); }";s:7:"summary";s:27:"Save the grid editing state";}s:31:"dojox.grid._EditManager.restore";a:5:{s:9:"prototype";s:23:"dojox.grid._EditManager";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:6:"inView";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:9:"Grid view";}s:10:"inRowIndex";a:2:{s:4:"type";s:7:"Integer";s:7:"summary";s:14:"Grid row index";}}s:6:"source";s:134:" var c = this.info.cell; if(this.isEditRow(inRowIndex) && c.view == inView && c.editable){ c.restore(c, this.info.rowIndex); }";s:7:"summary";s:31:"Restores the grid editing state";}s:37:"dojox.grid._EditManager.info.rowIndex";a:2:{s:8:"instance";s:23:"dojox.grid._EditManager";s:7:"summary";s:0:"";}s:39:"dojox.grid._EditManager._catchBoomerang";a:3:{s:8:"instance";s:23:"dojox.grid._EditManager";s:7:"private";b:1;s:7:"summary";s:0:"";}s:28:"dojox.grid._EditManager.grid";a:2:{s:8:"instance";s:23:"dojox.grid._EditManager";s:7:"summary";s:0:"";}s:35:"dojox.grid._EditManager.connections";a:2:{s:8:"instance";s:23:"dojox.grid._EditManager";s:7:"summary";s:0:"";}s:10:"dojox.grid";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:5:"dojox";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}