/* Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved. Available via Academic Free License >= 2.1 OR the modified BSD license. see: http://dojotoolkit.org/license for details */ if(!dojo._hasResource["dojox.grid.cells.dijit"]){dojo._hasResource["dojox.grid.cells.dijit"]=true;dojo.provide("dojox.grid.cells.dijit");dojo.require("dojox.grid.cells");dojo.require("dijit.form.DateTextBox");dojo.require("dijit.form.TimeTextBox");dojo.require("dijit.form.ComboBox");dojo.require("dojo.data.ItemFileReadStore");dojo.require("dijit.form.CheckBox");dojo.require("dijit.form.TextBox");dojo.require("dijit.form.NumberSpinner");dojo.require("dijit.form.NumberTextBox");dojo.require("dijit.form.CurrencyTextBox");dojo.require("dijit.form.HorizontalSlider");dojo.require("dijit.Editor");(function(){var _1=dojox.grid.cells;dojo.declare("dojox.grid.cells._Widget",_1._Base,{widgetClass:dijit.form.TextBox,constructor:function(_2){this.widget=null;if(typeof this.widgetClass=="string"){dojo.deprecated("Passing a string to widgetClass is deprecated","pass the widget class object instead","2.0");this.widgetClass=dojo.getObject(this.widgetClass);}},formatEditing:function(_3,_4){this.needFormatNode(_3,_4);return "
";},getValue:function(_5){return this.widget.attr("value");},setValue:function(_6,_7){if(this.widget&&this.widget.attr){if(this.widget.onLoadDeferred){var _8=this;this.widget.onLoadDeferred.addCallback(function(){_8.widget.attr("value",_7===null?"":_7);});}else{this.widget.attr("value",_7);}}else{this.inherited(arguments);}},getWidgetProps:function(_9){return dojo.mixin({},this.widgetProps||{},{constraints:dojo.mixin({},this.constraint)||{},value:_9});},createWidget:function(_a,_b,_c){return new this.widgetClass(this.getWidgetProps(_b),_a);},attachWidget:function(_d,_e,_f){_d.appendChild(this.widget.domNode);this.setValue(_f,_e);},formatNode:function(_10,_11,_12){if(!this.widgetClass){return _11;}if(!this.widget){this.widget=this.createWidget.apply(this,arguments);}else{this.attachWidget.apply(this,arguments);}this.sizeWidget.apply(this,arguments);this.grid.rowHeightChanged(_12);this.focus();return undefined;},sizeWidget:function(_13,_14,_15){var p=this.getNode(_15),box=dojo.contentBox(p);dojo.marginBox(this.widget.domNode,{w:box.w});},focus:function(_16,_17){if(this.widget){setTimeout(dojo.hitch(this.widget,function(){dojox.grid.util.fire(this,"focus");}),0);}},_finish:function(_18){this.inherited(arguments);dojox.grid.util.removeNode(this.widget.domNode);}});_1._Widget.markupFactory=function(_19,_1a){_1._Base.markupFactory(_19,_1a);var d=dojo;var _1b=d.trim(d.attr(_19,"widgetProps")||"");var _1c=d.trim(d.attr(_19,"constraint")||"");var _1d=d.trim(d.attr(_19,"widgetClass")||"");if(_1b){_1a.widgetProps=d.fromJson(_1b);}if(_1c){_1a.constraint=d.fromJson(_1c);}if(_1d){_1a.widgetClass=d.getObject(_1d);}};dojo.declare("dojox.grid.cells.ComboBox",_1._Widget,{widgetClass:dijit.form.ComboBox,getWidgetProps:function(_1e){var _1f=[];dojo.forEach(this.options,function(o){_1f.push({name:o,value:o});});var _20=new dojo.data.ItemFileReadStore({data:{identifier:"name",items:_1f}});return dojo.mixin({},this.widgetProps||{},{value:_1e,store:_20});},getValue:function(){var e=this.widget;e.attr("displayedValue",e.attr("displayedValue"));return e.attr("value");}});_1.ComboBox.markupFactory=function(_21,_22){_1._Widget.markupFactory(_21,_22);var d=dojo;var _23=d.trim(d.attr(_21,"options")||"");if(_23){var o=_23.split(",");if(o[0]!=_23){_22.options=o;}}};dojo.declare("dojox.grid.cells.DateTextBox",_1._Widget,{widgetClass:dijit.form.DateTextBox,setValue:function(_24,_25){if(this.widget){this.widget.attr("value",new Date(_25));}else{this.inherited(arguments);}},getWidgetProps:function(_26){return dojo.mixin(this.inherited(arguments),{value:new Date(_26)});}});_1.DateTextBox.markupFactory=function(_27,_28){_1._Widget.markupFactory(_27,_28);};dojo.declare("dojox.grid.cells.CheckBox",_1._Widget,{widgetClass:dijit.form.CheckBox,getValue:function(){return this.widget.checked;},setValue:function(_29,_2a){if(this.widget&&this.widget.attributeMap.checked){this.widget.attr("checked",_2a);}else{this.inherited(arguments);}},sizeWidget:function(_2b,_2c,_2d){return;}});_1.CheckBox.markupFactory=function(_2e,_2f){_1._Widget.markupFactory(_2e,_2f);};dojo.declare("dojox.grid.cells.Editor",_1._Widget,{widgetClass:dijit.Editor,getWidgetProps:function(_30){return dojo.mixin({},this.widgetProps||{},{height:this.widgetHeight||"100px"});},createWidget:function(_31,_32,_33){var _34=new this.widgetClass(this.getWidgetProps(_32),_31);dojo.connect(_34,"onLoad",dojo.hitch(this,"populateEditor"));return _34;},formatNode:function(_35,_36,_37){this.content=_36;this.inherited(arguments);if(dojo.isMoz){var e=this.widget;e.open();if(this.widgetToolbar){dojo.place(e.toolbar.domNode,e.editingArea,"before");}}},populateEditor:function(){this.widget.attr("value",this.content);this.widget.placeCursorAtEnd();}});_1.Editor.markupFactory=function(_38,_39){_1._Widget.markupFactory(_38,_39);var d=dojo;var h=dojo.trim(dojo.attr(_38,"widgetHeight")||"");if(h){if((h!="auto")&&(h.substr(-2)!="em")){h=parseInt(h,10)+"px";}_39.widgetHeight=h;}};})();}