//>>built define("dojox/grid/enhanced/plugins/Printer",["dojo/_base/declare","dojo/_base/html","dojo/_base/Deferred","dojo/_base/lang","dojo/_base/sniff","dojo/_base/xhr","dojo/_base/array","dojo/query","dojo/DeferredList","../_Plugin","../../EnhancedGrid","./exporter/TableWriter"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c){ var _d=_1("dojox.grid.enhanced.plugins.Printer",_a,{name:"printer",constructor:function(_e){ this.grid=_e; this._mixinGrid(_e); _e.setExportFormatter(function(_f,_10,_11,_12){ return _10.format(_11,_12); }); },_mixinGrid:function(){ var g=this.grid; g.printGrid=_4.hitch(this,this.printGrid); g.printSelected=_4.hitch(this,this.printSelected); g.exportToHTML=_4.hitch(this,this.exportToHTML); g.exportSelectedToHTML=_4.hitch(this,this.exportSelectedToHTML); g.normalizePrintedGrid=_4.hitch(this,this.normalizeRowHeight); },printGrid:function(_13){ this.exportToHTML(_13,_4.hitch(this,this._print)); },printSelected:function(_14){ this.exportSelectedToHTML(_14,_4.hitch(this,this._print)); },exportToHTML:function(_15,_16){ _15=this._formalizeArgs(_15); var _17=this; this.grid.exportGrid("table",_15,function(str){ _17._wrapHTML(_15.title,_15.cssFiles,_15.titleInBody+str).then(_16); }); },exportSelectedToHTML:function(_18,_19){ _18=this._formalizeArgs(_18); var _1a=this; this.grid.exportSelected("table",_18.writerArgs,function(str){ _1a._wrapHTML(_18.title,_18.cssFiles,_18.titleInBody+str).then(_19); }); },_loadCSSFiles:function(_1b){ var dl=_7.map(_1b,function(_1c){ _1c=_4.trim(_1c); if(_1c.substring(_1c.length-4).toLowerCase()===".css"){ return _6.get({url:_1c}); }else{ var d=new _3(); d.callback(_1c); return d; } }); return _9.prototype.gatherResults(dl); },_print:function(_1d){ var win,_1e=this,_1f=function(w){ var doc=w.document; doc.open(); doc.write(_1d); doc.close(); _1e.normalizeRowHeight(doc); }; if(!window.print){ return; }else{ if(_5("chrome")||_5("opera")){ win=window.open("javascript: ''","","status=0,menubar=0,location=0,toolbar=0,width=1,height=1,resizable=0,scrollbars=0"); _1f(win); win.print(); win.close(); }else{ var fn=this._printFrame,dn=this.grid.domNode; if(!fn){ var _20=dn.id+"_print_frame"; if(!(fn=_2.byId(_20))){ fn=_2.create("iframe"); fn.id=_20; fn.frameBorder=0; _2.style(fn,{width:"1px",height:"1px",position:"absolute",right:0,bottom:0,border:"none",overflow:"hidden"}); if(!_5("ie")){ _2.style(fn,"visibility","hidden"); } dn.appendChild(fn); } this._printFrame=fn; } win=fn.contentWindow; _1f(win); win.focus(); win.print(); } } },_wrapHTML:function(_21,_22,_23){ return this._loadCSSFiles(_22).then(function(_24){ var i,sb=["","",_21,""]; for(i=0;i<_24.length;++i){ sb.push(""); } sb.push(""); if(_23.search(/^\s*"; } sb.push(_23,""); return sb.join(""); }); },normalizeRowHeight:function(doc){ var _25=_8(".grid_view",doc.body); var _26=_7.map(_25,function(_27){ return _8(".grid_header",_27)[0]; }); var _28=_7.map(_25,function(_29){ return _8(".grid_row",_29); }); var _2a=_28[0].length; var i,v,h,_2b=0; for(v=_25.length-1;v>=0;--v){ h=_2.contentBox(_26[v]).h; if(h>_2b){ _2b=h; } } for(v=_25.length-1;v>=0;--v){ _2.style(_26[v],"height",_2b+"px"); } for(i=0;i<_2a;++i){ _2b=0; for(v=_25.length-1;v>=0;--v){ h=_2.contentBox(_28[v][i]).h; if(h>_2b){ _2b=h; } } for(v=_25.length-1;v>=0;--v){ _2.style(_28[v][i],"height",_2b+"px"); } } var _2c=0,ltr=_2._isBodyLtr(); for(v=0;v<_25.length;++v){ _2.style(_25[v],ltr?"left":"right",_2c+"px"); _2c+=_2.marginBox(_25[v]).w; } },_formalizeArgs:function(_2d){ _2d=(_2d&&_4.isObject(_2d))?_2d:{}; _2d.title=String(_2d.title)||""; if(!_4.isArray(_2d.cssFiles)){ _2d.cssFiles=[_2d.cssFiles]; } _2d.titleInBody=_2d.title?["

",_2d.title,"

"].join(""):""; return _2d; }}); _b.registerPlugin(_d,{"dependency":["exporter"]}); return _d; });