summaryrefslogtreecommitdiff
path: root/includes/js/dojox/grid/_data/editors.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dojox/grid/_data/editors.js')
-rw-r--r--includes/js/dojox/grid/_data/editors.js239
1 files changed, 0 insertions, 239 deletions
diff --git a/includes/js/dojox/grid/_data/editors.js b/includes/js/dojox/grid/_data/editors.js
deleted file mode 100644
index 48f76cc..0000000
--- a/includes/js/dojox/grid/_data/editors.js
+++ /dev/null
@@ -1,239 +0,0 @@
-if(!dojo._hasResource["dojox.grid._data.editors"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.grid._data.editors"] = true;
-dojo.provide("dojox.grid._data.editors");
-dojo.provide("dojox.grid.editors");
-
-dojo.declare("dojox.grid.editors.Base", null, {
- // summary:
- // base grid editor class. Other grid editors should inherited from this class.
- constructor: function(inCell){
- this.cell = inCell;
- },
- //private
- _valueProp: "value",
- _formatPending: false,
- format: function(inDatum, inRowIndex){
- // summary:
- // formats the cell for editing
- // inDatum: anything
- // cell data to edit
- // inRowIndex: int
- // grid row index
- // returns: string of html to place in grid cell
- },
- //protected
- needFormatNode: function(inDatum, inRowIndex){
- this._formatPending = true;
- dojox.grid.whenIdle(this, "_formatNode", inDatum, inRowIndex);
- },
- cancelFormatNode: function(){
- this._formatPending = false;
- },
- //private
- _formatNode: function(inDatum, inRowIndex){
- if(this._formatPending){
- this._formatPending = false;
- // make cell selectable
- dojo.setSelectable(this.cell.grid.domNode, true);
- this.formatNode(this.getNode(inRowIndex), inDatum, inRowIndex);
- }
- },
- //protected
- getNode: function(inRowIndex){
- return (this.cell.getNode(inRowIndex) || 0).firstChild || 0;
- },
- formatNode: function(inNode, inDatum, inRowIndex){
- // summary:
- // format the editing dom node. Use when editor is a widget.
- // inNode: dom node
- // dom node for the editor
- // inDatum: anything
- // cell data to edit
- // inRowIndex: int
- // grid row index
- if(dojo.isIE){
- // IE sux bad
- dojox.grid.whenIdle(this, "focus", inRowIndex, inNode);
- }else{
- this.focus(inRowIndex, inNode);
- }
- },
- dispatchEvent: function(m, e){
- if(m in this){
- return this[m](e);
- }
- },
- //public
- getValue: function(inRowIndex){
- // summary:
- // returns value entered into editor
- // inRowIndex: int
- // grid row index
- // returns:
- // value of editor
- return this.getNode(inRowIndex)[this._valueProp];
- },
- setValue: function(inRowIndex, inValue){
- // summary:
- // set the value of the grid editor
- // inRowIndex: int
- // grid row index
- // inValue: anything
- // value of editor
- var n = this.getNode(inRowIndex);
- if(n){
- n[this._valueProp] = inValue
- };
- },
- focus: function(inRowIndex, inNode){
- // summary:
- // focus the grid editor
- // inRowIndex: int
- // grid row index
- // inNode: dom node
- // editor node
- dojox.grid.focusSelectNode(inNode || this.getNode(inRowIndex));
- },
- save: function(inRowIndex){
- // summary:
- // save editor state
- // inRowIndex: int
- // grid row index
- this.value = this.value || this.getValue(inRowIndex);
- //console.log("save", this.value, inCell.index, inRowIndex);
- },
- restore: function(inRowIndex){
- // summary:
- // restore editor state
- // inRowIndex: int
- // grid row index
- this.setValue(inRowIndex, this.value);
- //console.log("restore", this.value, inCell.index, inRowIndex);
- },
- //protected
- _finish: function(inRowIndex){
- // summary:
- // called when editing is completed to clean up editor
- // inRowIndex: int
- // grid row index
- dojo.setSelectable(this.cell.grid.domNode, false);
- this.cancelFormatNode(this.cell);
- },
- //public
- apply: function(inRowIndex){
- // summary:
- // apply edit from cell editor
- // inRowIndex: int
- // grid row index
- this.cell.applyEdit(this.getValue(inRowIndex), inRowIndex);
- this._finish(inRowIndex);
- },
- cancel: function(inRowIndex){
- // summary:
- // cancel cell edit
- // inRowIndex: int
- // grid row index
- this.cell.cancelEdit(inRowIndex);
- this._finish(inRowIndex);
- }
-});
-dojox.grid.editors.base = dojox.grid.editors.Base; // back-compat
-
-dojo.declare("dojox.grid.editors.Input", dojox.grid.editors.Base, {
- // summary
- // grid cell editor that provides a standard text input box
- constructor: function(inCell){
- this.keyFilter = this.keyFilter || this.cell.keyFilter;
- },
- // keyFilter: object
- // optional regex for disallowing keypresses
- keyFilter: null,
- format: function(inDatum, inRowIndex){
- this.needFormatNode(inDatum, inRowIndex);
- return '<input class="dojoxGrid-input" type="text" value="' + inDatum + '">';
- },
- formatNode: function(inNode, inDatum, inRowIndex){
- this.inherited(arguments);
- // FIXME: feels too specific for this interface
- this.cell.registerOnBlur(inNode, inRowIndex);
- },
- doKey: function(e){
- if(this.keyFilter){
- var key = String.fromCharCode(e.charCode);
- if(key.search(this.keyFilter) == -1){
- dojo.stopEvent(e);
- }
- }
- },
- _finish: function(inRowIndex){
- this.inherited(arguments);
- var n = this.getNode(inRowIndex);
- try{
- dojox.grid.fire(n, "blur");
- }catch(e){}
- }
-});
-dojox.grid.editors.input = dojox.grid.editors.Input; // back compat
-
-dojo.declare("dojox.grid.editors.Select", dojox.grid.editors.Input, {
- // summary:
- // grid cell editor that provides a standard select
- // options: text of each item
- // values: value for each item
- // returnIndex: editor returns only the index of the selected option and not the value
- constructor: function(inCell){
- this.options = this.options || this.cell.options;
- this.values = this.values || this.cell.values || this.options;
- },
- format: function(inDatum, inRowIndex){
- this.needFormatNode(inDatum, inRowIndex);
- var h = [ '<select class="dojoxGrid-select">' ];
- for (var i=0, o, v; ((o=this.options[i]) !== undefined)&&((v=this.values[i]) !== undefined); i++){
- h.push("<option", (inDatum==v ? ' selected' : ''), ' value="' + v + '"', ">", o, "</option>");
- }
- h.push('</select>');
- return h.join('');
- },
- getValue: function(inRowIndex){
- var n = this.getNode(inRowIndex);
- if(n){
- var i = n.selectedIndex, o = n.options[i];
- return this.cell.returnIndex ? i : o.value || o.innerHTML;
- }
- }
-});
-dojox.grid.editors.select = dojox.grid.editors.Select; // back compat
-
-dojo.declare("dojox.grid.editors.AlwaysOn", dojox.grid.editors.Input, {
- // summary:
- // grid cell editor that is always on, regardless of grid editing state
- // alwaysOn: boolean
- // flag to use editor to format grid cell regardless of editing state.
- alwaysOn: true,
- _formatNode: function(inDatum, inRowIndex){
- this.formatNode(this.getNode(inRowIndex), inDatum, inRowIndex);
- },
- applyStaticValue: function(inRowIndex){
- var e = this.cell.grid.edit;
- e.applyCellEdit(this.getValue(inRowIndex), this.cell, inRowIndex);
- e.start(this.cell, inRowIndex, true);
- }
-});
-dojox.grid.editors.alwaysOn = dojox.grid.editors.AlwaysOn; // back-compat
-
-dojo.declare("dojox.grid.editors.Bool", dojox.grid.editors.AlwaysOn, {
- // summary:
- // grid cell editor that provides a standard checkbox that is always on
- _valueProp: "checked",
- format: function(inDatum, inRowIndex){
- return '<input class="dojoxGrid-input" type="checkbox"' + (inDatum ? ' checked="checked"' : '') + ' style="width: auto" />';
- },
- doclick: function(e){
- if(e.target.tagName == 'INPUT'){
- this.applyStaticValue(e.rowIndex);
- }
- }
-});
-dojox.grid.editors.bool = dojox.grid.editors.Bool; // back-compat
-
-}