text: /**
   * dojox - A version of dojox.js framework that ported to running on skylarkjs.
   * @author Hudaokeji, Inc.
   * @version v0.9.0
   * @link https://github.com/skylark-integration/dojox/
   * @license MIT
   */
  define(["dojo/_base/lang","dojo/_base/array","dojo/_base/declare","dojo/has","./CartesianBase","./_PlotEvents","./common","dojox/lang/functional","dojox/lang/functional/reversed","dojox/lang/utils","dojox/gfx/fx"],function(e,t,i,s,a,r,o,n,h,l,c){var d=h.lambda("item.purgeGroup()");return i("dojox.charting.plot2d.Columns",[a,r],{defaultParams:{gap:0,animate:null,enableCache:!1},optionalParams:{minBarSize:1,maxBarSize:1,stroke:{},outline:{},shadow:{},fill:{},filter:{},styleFunc:null,font:"",fontColor:""},constructor:function(t,i){this.opt=e.clone(e.mixin(this.opt,this.defaultParams)),l.updateWithObject(this.opt,i),l.updateWithPattern(this.opt,i,this.optionalParams),this.animate=this.opt.animate,this.renderingOptions={"shape-rendering":"crispEdges"}},getSeriesStats:function(){var e=o.collectSimpleStats(this.series);return e.hmin-=.5,e.hmax+=.5,e},createRect:function(e,t,i){var s;return this.opt.enableCache&&e._rectFreePool.length>0?((s=e._rectFreePool.pop()).setShape(i),t.add(s)):s=t.createRect(i),this.opt.enableCache&&e._rectUsePool.push(s),s},render:function(i,a){if(this.zoom&&!this.isDataDirty())return this.performZoom(i,a);var r;this.resetEvents(),this.dirty=this.isDirty(),this.dirty&&(t.forEach(this.series,d),this._eventSeries={},this.cleanGroup(),r=this.getGroup(),n.forEachRev(this.series,function(e){e.cleanGroup(r)}));var o=this.chart.theme,h=this._hScaler.scaler.getTransformerFromModel(this._hScaler),l=this._vScaler.scaler.getTransformerFromModel(this._vScaler),c=Math.max(0,this._vScaler.bounds.lower),u=l(c),m=this.events(),p=this.getBarProperties(),f=this.series.length;t.forEach(this.series,function(e){e.hidden&&f--});for(var g=this.series.length-1;g>=0;--g){var y=this.series[g];if(this.dirty||y.dirty){y.cleanGroup(),this.opt.enableCache&&(y._rectFreePool=(y._rectFreePool?y._rectFreePool:[]).concat(y._rectUsePool?y._rectUsePool:[]),y._rectUsePool=[]);var v=o.next("column",[this.opt,y]),_=new Array(y.data.length);if(y.hidden)y.dyn.fill=v.series.fill;else{f--,r=y.group;for(var x=t.some(y.data,function(e){return"number"==typeof e||e&&!e.hasOwnProperty("x")}),b=x?Math.max(0,Math.floor(this._hScaler.bounds.from-1)):0,S=x?Math.min(y.data.length,Math.ceil(this._hScaler.bounds.to)):y.data.length,F=b;F<S;++F){var P=y.data[F];if(null!=P){var w,j,k=this.getValue(P,F,g,x),C=l(k.y),M=Math.abs(C-u);if(this.opt.styleFunc||"number"!=typeof P){var E="number"!=typeof P?[P]:[];this.opt.styleFunc&&E.push(this.opt.styleFunc(P)),w=o.addMixin(v,"column",E,!0)}else w=o.post(v,"column");if(p.width>=1&&M>=0){var B={x:a.l+h(k.x+.5)+p.gap+p.thickness*f,y:i.height-a.b-(k.y>c?C:u),width:p.width,height:M};if(w.series.shadow){var z=e.clone(B);z.x+=w.series.shadow.dx,z.y+=w.series.shadow.dy,j=this.createRect(y,r,z).setFill(w.series.shadow.color).setStroke(w.series.shadow),this.animate&&this._animateColumn(j,i.height-a.b+u,M)}var G=this._plotFill(w.series.fill,i,a);G=this._shapeFill(G,B);var R=this.createRect(y,r,B).setFill(G).setStroke(w.series.stroke);if(R.setFilter&&w.series.filter&&R.setFilter(w.series.filter),y.dyn.fill=R.getFill(),y.dyn.stroke=R.getStroke(),m){var O={element:"column",index:F,run:y,shape:R,shadow:j,cx:k.x+.5,cy:k.y,x:x?F:y.data[F].x,y:x?y.data[F]:y.data[F].y};this._connectEvents(O),_[F]=O}!isNaN(k.py)&&k.py>c&&(B.height=C-l(k.py)),this.createLabel(r,P,B,w),this.animate&&this._animateColumn(R,i.height-a.b-u,M)}}}this._eventSeries[y.name]=_,y.dirty=!1}}else o.skip(),this._reconnectEvents(y.name)}return this.dirty=!1,s("dojo-bidi")&&this._checkOrientation(this.group,i,a),this},getValue:function(e,t,i,s){var a,r;return s?(a="number"==typeof e?e:e.y,r=t):(a=e.y,r=e.x-1),{x:r,y:a}},getBarProperties:function(){var e=o.calculateBarSize(this._hScaler.bounds.scale,this.opt);return{gap:e.gap,width:e.size,thickness:0}},_animateColumn:function(t,i,s){0==s&&(s=1),c.animateTransform(e.delegate({shape:t,duration:1200,transform:[{name:"translate",start:[0,i-i/s],end:[0,0]},{name:"scale",start:[1,1/s],end:[1,1]},{name:"original"}]},this.animate)).play()}})});
  //# sourceMappingURL=../../sourcemaps/charting/plot2d/Columns.js.map
  