You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
17 KiB
37 lines
17 KiB
// All material copyright Esri, All Rights Reserved, unless otherwise specified. |
|
// See https://js.arcgis.com/4.30/esri/copyright.txt for details. |
|
//>>built |
|
define(["exports","../../../chunks/LineSeries","../../../chunks/Theme","../../../chunks/tslib.es6","../../../chunks/Button2"],function(z,x,l,K,L){class B extends x.XYSeries{constructor(){super(...arguments);Object.defineProperty(this,"_ph",{enumerable:!0,configurable:!0,writable:!0,value:0});Object.defineProperty(this,"_pw",{enumerable:!0,configurable:!0,writable:!0,value:0})}_makeGraphics(a,c){return this.makeColumn(c,a)}_makeFieldNames(){super._makeFieldNames();const a=this.get("xAxis"),c=this.get("yAxis"); |
|
a.isType("CategoryAxis")&&!this.get("openCategoryXField")&&(this._xOpenField=this._xField);a.isType("ValueAxis")&&!this.get("openValueXField")&&(this._xOpenField=this._xField);c.isType("CategoryAxis")&&!this.get("openCategoryYField")&&(this._yOpenField=this._yField);c.isType("ValueAxis")&&!this.get("openValueYField")&&(this._yOpenField=this._yField)}_prepareChildren(){super._prepareChildren();var a=this.get("xAxis");const c=this.get("yAxis");var d=this.dataItems.length;const b=Math.max(0,this.startIndex()- |
|
2);d=Math.min(this.endIndex()+2,d-1);if(a.inited&&c.inited)for(a=b;a<=d;a++)this._createGraphics(this.dataItems[a])}_updateChildren(){var a=this.chart;a&&(this._ph=a.plotContainer.height(),this._pw=a.plotContainer.width());a=this.get("xAxis");var c=this.get("yAxis"),d=this.get("baseAxis"),b=this.columns.template;this.isDirty("fill")&&null==b.get("fill")&&b.set("fill",this.get("fill"));this.isDirty("stroke")&&null==b.get("stroke")&&b.set("stroke",this.get("stroke"));let e=0,g=0,k=0;l.each(d.series, |
|
m=>{if(m instanceof B){const n=m.get("stacked");n&&0==k&&g++;!n&&m.get("clustered")&&g++}m===this&&(e=g-1);k++});this.get("clustered")||(e=0,g=1);0===g&&(g=1,e=0);var f=a.get("renderer");b=c.get("renderer");d=f.get("cellStartLocation",0);f=f.get("cellEndLocation",1);var h=b.get("cellStartLocation",0);b=b.get("cellEndLocation",1);this._aLocationX0=d+e/g*(f-d);this._aLocationX1=d+(e+1)/g*(f-d);this._aLocationY0=h+e/g*(b-h);this._aLocationY1=h+(e+1)/g*(b-h);if(a.inited&&c.inited){if(this._axesDirty|| |
|
this._valuesDirty||this._stackDirty||this.isDirty("vcx")||this.isDirty("vcy")||this._sizeDirty){a=this.dataItems.length;b=Math.max(0,this.startIndex()-2);c=Math.min(this.endIndex()+2,a-1);for(d=0;d<b;d++)this._toggleColumn(this.dataItems[d],!1);d=this.dataItems[b];for(f=b;f<=c;f++)if(h=this.dataItems[f],null!=h.get("valueX")&&null!=h.get("valueY")){d=h;if(0<f&&0<b)for(--f;0<=f;f--)if(h=this.dataItems[f],null!=h.get("valueX")&&null!=h.get("valueY")){d=h;break}break}else this._toggleColumn(h,!1);for(;b<= |
|
c;b++)f=this.dataItems[b],this._updateGraphics(f,d),null!=f.get("valueX")&&null!=f.get("valueY")&&(d=f);for(c+=1;c<a;c++)this._toggleColumn(this.dataItems[c],!1)}}else this._skipped=!0;this.updateLegendMarker(this.get("tooltipDataItem"));super._updateChildren()}_createGraphics(a){let c=a.get("graphics");if(!c){c=this._makeGraphics(this.columns,a);a.set("graphics",c);c._setDataItem(a);const d=a.get("legendDataItem");if(d){const e=d.get("markerRectangle");if(e){const g=e.states.lookup("default");l.each(l.visualSettings, |
|
k=>{const f=c.get(k,this.get(k));e.set(k,f);g.set(k,f)})}}let b=a.get("rangeGraphics");b&&l.each(b,e=>{e.dispose()});b=[];a.setRaw("rangeGraphics",b);this.axisRanges.each(e=>{const g=e.container,k=this._makeGraphics(e.columns,a);b&&b.push(k);k.setPrivate("list",e.columns);g.children.push(k)})}}createAxisRange(a){l.each(this.dataItems,c=>{const d=c.get("graphics");d&&(d.dispose(),c.set("graphics",void 0))});return super.createAxisRange(a)}_updateGraphics(a,c){var d=a.get("graphics"),b=this._xField, |
|
e=this._yField,g=a.get(b),k=a.get(e);if(null!=g&&null!=k){const A=this._xOpenField,H=this._yOpenField;var f=this.get("locationX",a.get("locationX",.5)),h=this.get("locationY",a.get("locationY",.5)),m=this.get("openLocationX",a.get("openLocationX",f)),n=this.get("openLocationY",a.get("openLocationY",h));const F=d.get("width");var p=d.get("height"),q=this.get("stacked");const t=this.get("xAxis"),u=this.get("yAxis"),M=this.get("baseAxis");g=t.get("start");k=t.get("end");const N=u.get("start"),O=u.get("end"); |
|
let r,y,v,w,C=this.get("vcy",1),D=this.get("vcx",1),I=!1,J=!1;u.isType("CategoryAxis")&&t.isType("CategoryAxis")?(q=this._aLocationX0+m-.5,f=this._aLocationX1+f-.5,F instanceof l.Percent&&(m=(f-q)*(1-F.value)/2,q+=m,f-=m),r=t.getDataItemPositionX(a,A,q,D),y=t.getDataItemPositionX(a,b,f,D),q=this._aLocationY0+n-.5,f=this._aLocationY1+h-.5,p instanceof l.Percent&&(b=(f-q)*(1-p.value)/2,q+=b,f-=b),v=u.getDataItemPositionY(a,H,q,C),w=u.getDataItemPositionY(a,e,f,C),a.setRaw("point",{x:r+(y-r)/2,y:v+(w- |
|
v)/2})):t===M?(p=this._aLocationX0+m-.5,f=this._aLocationX1+f-.5,F instanceof l.Percent&&(m=(f-p)*(1-F.value)/2,p+=m,f-=m),r=t.getDataItemPositionX(a,A,p,D),y=t.getDataItemPositionX(a,b,f,D),v=u.getDataItemPositionY(a,e,h,C),w=this._yOpenField!==this._yField?u.getDataItemPositionY(a,H,n,C):q?(b=a.get("stackToItemY"))?u.getDataItemPositionY(b,e,n,b.component.get("vcy")):u.basePosition():u.basePosition(),a.setRaw("point",{x:r+(y-r)/2,y:v}),J=!0):u===M&&(n=this._aLocationY0+n-.5,h=this._aLocationY1+ |
|
h-.5,p instanceof l.Percent&&(p=(h-n)*(1-p.value)/2,n+=p,h-=p),v=u.getDataItemPositionY(a,H,n,C),w=u.getDataItemPositionY(a,e,h,C),y=t.getDataItemPositionX(a,b,f,D),r=this._xOpenField!==this._xField?t.getDataItemPositionX(a,A,m,D):q?(e=a.get("stackToItemX"))?t.getDataItemPositionX(e,b,m,e.component.get("vcx")):t.basePosition():t.basePosition(),I=!0,a.setRaw("point",{x:y,y:v+(w-v)/2}));this._updateSeriesGraphics(a,d,r,y,v,w,I,J);r<g&&y<g||r>k&&y>k||v<N&&w<=N||v>=O&&w>O||l.isNaN(r)||l.isNaN(v)?this._toggleColumn(a, |
|
!1):this._toggleColumn(a,!0);(d=a.get("rangeGraphics"))&&l.each(d,P=>{this._updateSeriesGraphics(a,P,r,y,v,w,I,J)});this._applyGraphicsStates(a,c)}}_updateSeriesGraphics(a,c,d,b,e,g,k,f){var h=c.get("width"),m=c.get("height"),n=c.get("maxWidth"),p=c.get("maxHeight");e=this.getPoint(d,e);g=this.getPoint(b,g);if(d=a.get("point"))b=this.getPoint(d.x,d.y),d.x=b.x+this._x,d.y=b.y+this._y;d=e.x;b=g.x;e=e.y;g=g.y;l.isNumber(h)&&(h=(b-d-h)/2,d+=h,b-=h);l.isNumber(n)&&n<Math.abs(b-d)&&(n=(b-d-n)/2,d+=n,b-= |
|
n);l.isNumber(m)&&(m=(g-e-m)/2,e+=m,g-=m);l.isNumber(p)&&p<Math.abs(g-e)&&(p=(g-e-p)/2,e+=p,g-=p);this.get("adjustBulletPosition")&&(k&&(b=Math.min(Math.max(0,b),this._pw),d=Math.min(Math.max(0,d),this._pw)),f&&(e=Math.min(Math.max(0,e),this._ph),g=Math.min(Math.max(0,g),this._ph)));a.setRaw("left",d);a.setRaw("right",b);a.setRaw("top",e);a.setRaw("bottom",g);c.setPrivate("width",b-d);c.setPrivate("height",g-e);c.set("x",d);c.set("y",g-(g-e))}_handleDataSetChange(){super._handleDataSetChange();l.each(this._dataItems, |
|
a=>{this._toggleColumn(a,!1)})}_applyGraphicsStates(a,c){var d=a.get("graphics");const b=d.states.lookup("dropFromOpen"),e=d.states.lookup("riseFromOpen"),g=d.states.lookup("dropFromPrevious");d=d.states.lookup("riseFromPrevious");if(b||g||e||d){const k=this.get("xAxis"),f=this.get("yAxis"),h=this.get("baseAxis");let m,n,p;h===k&&f.isType("ValueAxis")?(m=a.get(this._yOpenField),n=a.get(this._yField),p=c.get(this._yField)):h===f&&k.isType("ValueAxis")&&(m=a.get(this._xOpenField),n=a.get(this._xField), |
|
p=c.get(this._xField));l.isNumber(m)&&l.isNumber(n)&&(n<m?b&&b.apply():e&&e.apply(),l.isNumber(p)&&(n<p?g&&g.apply():d&&d.apply()))}}disposeDataItem(a){super.disposeDataItem(a);const c=a.get("graphics");c&&(this.columns.removeValue(c),c.dispose());(a=a.get("rangeGraphics"))&&l.each(a,d=>{const b=d.getPrivate("list");b&&b.removeValue(d);d.dispose()})}hideDataItem(a,c){const d=Object.create(null,{hideDataItem:{get:()=>super.hideDataItem}});return K.__awaiter(this,void 0,void 0,function*(){const b=[d.hideDataItem.call(this, |
|
a,c)];var e=a.get("graphics");e&&b.push(e.hide(c));(e=a.get("rangeGraphics"))&&l.each(e,g=>{b.push(g.hide(c))});yield Promise.all(b)})}_toggleColumn(a,c){var d=a.get("graphics");d&&d.setPrivate("visible",c);(d=a.get("rangeGraphics"))&&l.each(d,b=>{b.setPrivate("visible",c)});(a=a.bullets)&&l.each(a,b=>{b.setPrivate("hidden",!c)})}showDataItem(a,c){const d=Object.create(null,{showDataItem:{get:()=>super.showDataItem}});return K.__awaiter(this,void 0,void 0,function*(){const b=[d.showDataItem.call(this, |
|
a,c)];var e=a.get("graphics");e&&b.push(e.show(c));(e=a.get("rangeGraphics"))&&l.each(e,g=>{b.push(g.show(c))});yield Promise.all(b)})}updateLegendMarker(a){let c=this.get("legendDataItem");if(this.get("useLastColorForLegendMarker")&&!a){const d=this.dataItems[this.endIndex()-1];d&&(a=d)}if(c){let d=this.columns.template;a&&(a=a.get("graphics"))&&(d=a);const b=c.get("markerRectangle");if(b&&!c.get("itemContainer").get("disabled")){const e=b.states.lookup("default");l.each(l.visualSettings,g=>{const k= |
|
d.get(g,this.get(g));b.set(g,k);e.set(g,k)})}}}_getTooltipTarget(a){return"bullet"==this.get("seriesTooltipTarget")?super._getTooltipTarget(a):(a=a.get("graphics"))?a:this}}Object.defineProperty(B,"className",{enumerable:!0,configurable:!0,writable:!0,value:"BaseColumnSeries"});Object.defineProperty(B,"classNames",{enumerable:!0,configurable:!0,writable:!0,value:x.XYSeries.classNames.concat([B.className])});class E extends x.Axis{constructor(){super(...arguments);Object.defineProperty(this,"_frequency", |
|
{enumerable:!0,configurable:!0,writable:!0,value:1});Object.defineProperty(this,"_itemMap",{enumerable:!0,configurable:!0,writable:!0,value:{}})}_afterNew(){this._settings.themeTags=l.mergeTags(this._settings.themeTags,["axis"]);this.fields.push("category");this.setPrivateRaw("name","category");this.addTag("category");super._afterNew()}_prepareChildren(){super._prepareChildren();const a=this.dataItems.length;let c=0;this._valuesDirty&&(this._itemMap={},l.each(this.dataItems,d=>{d.setRaw("index",c); |
|
this._itemMap[d.get("category")]=d;c++}),this.setPrivateRaw("maxZoomFactor",a));this.setPrivateRaw("startIndex",Math.max(Math.round(this.get("start",0)*a),0));this.setPrivateRaw("endIndex",Math.min(Math.round(this.get("end",1)*a),a));(this._sizeDirty||this._valuesDirty||this.isDirty("start")||this.isDirty("end")||this.isPrivateDirty("endIndex")||this.isPrivateDirty("startIndex")||this.isPrivateDirty("width")||this.isPrivateDirty("height"))&&0<this.dataItems.length&&(this._handleRangeChange(),this._prepareAxisItems(), |
|
this._updateAxisRanges())}_handleRangeChange(){l.each(this.series,a=>{var c=this.dataItems[this.startIndex()].get("category"),d=this.dataItems[this.endIndex()-1].get("category"),b=a.get("baseAxis");let e=a.get("xAxis"),g=a.get("yAxis");if(e instanceof E&&g instanceof E)a._markDirtyAxes();else if(b===this){var k;let h,m=g;e===b?(a.get("categoryXField")&&(k="categoryX"),a.get("openCategoryXField")&&(h="openCategoryX")):g===b&&(a.get("categoryYField")&&(k="categoryY"),a.get("openCategoryYField")&&(h= |
|
"openCategoryY"),m=e);if("ValueAxis"==m.className&&(k||h)){let n;for(let q=0,A=a.dataItems.length;q<A;q++){b=a.dataItems[q];if(k&&b.get(k)===c){var f=b;break}if(h&&b.get(h)===c){f=b;break}}for(c=a.dataItems.length-1;0<=c;c--){b=a.dataItems[c];if(k&&b.get(k)===d){n=b;break}if(h&&b.get(h)===d){n=b;break}}k=0;d=a.dataItems.length;f&&(k=a.dataItems.indexOf(f));n&&(d=a.dataItems.indexOf(n)+1);a.setPrivate("startIndex",k);a.setPrivate("endIndex",d);let p=!1;for(f=k;f<d;f++){const q=a.dataItems[f];l.each(a.__valueXShowFields, |
|
A=>{null!=q.get(A)&&(p=!0)});l.each(a.__valueYShowFields,A=>{null!=q.get(A)&&(p=!0)});if(p)break}a.setPrivate("outOfSelection",!p)}a._markDirtyAxes()}})}_prepareAxisItems(){var a,c=this.get("renderer"),d=this.dataItems.length,b=this.startIndex();0<b&&b--;let e=this.endIndex();e<d&&e++;const g=c.get("minorLabelsEnabled"),k=c.get("minorGridEnabled",g);var f=c.axisLength()/Math.max(c.get("minGridDistance"),1);f=Math.max(1,Math.min(d,Math.ceil((e-b)/f)));b=Math.floor(b/f)*f;this._frequency=f;for(var h= |
|
0;h<d;h++)this._toggleDataItem(this.dataItems[h],!1);d=this.dataItems[b].get("index",0);for(h=b;h<e;h+=f){let m=this.dataItems[h];this._createAssets(m,[]);this._toggleDataItem(m,!0);let n=f;k&&(n=1);this._prepareDataItem(m,d,n);d++}if(c.get("minorGridEnabled"))for(c=b;c<e;c++)b=this.dataItems[c],0!=c%f&&(this._createAssets(b,["minor"],!0),this._toggleDataItem(b,!0),this._prepareDataItem(b,0,1),g||(null===(a=b.get("label"))||void 0===a?void 0:a.setPrivate("visible",!1)));this._updateGhost()}_prepareDataItem(a, |
|
c,d){let b=this.get("renderer");var e=a.get("categoryLocation",0),g=a.get("endCategoryLocation",1),k=a.get("index");l.isNumber(k)||(k=this.categoryToIndex(a.get("category")));e=this.indexToPosition(k,e);var f=a.get("endCategory");let h;f?(h=this.categoryToIndex(f),l.isNumber(h)||(h=k)):h=k;f=this.indexToPosition(h,g);k=a.get("isRange")?h:k+this._frequency-1;g=this.indexToPosition(k,g);b.updateLabel(a.get("label"),e,f,d);b.updateGrid(a.get("grid"),e,f);b.updateTick(a.get("tick"),e,f,d);b.updateFill(a.get("axisFill"), |
|
e,g);this._processBullet(a);b.updateBullet(a.get("bullet"),e,f);(d=this.get("fillRule"))&&d(a,c)}startIndex(){let a=this.dataItems.length;return Math.min(Math.max(this.getPrivate("startIndex",0),0),a-1)}endIndex(){let a=this.dataItems.length;return Math.max(1,Math.min(this.getPrivate("endIndex",a),a))}baseValue(){}basePosition(){return 0}getX(a){return(a=this._itemMap[a])?this._settings.renderer.positionToCoordinate(this.indexToPosition(a.get("index",0))):NaN}getY(a){return(a=this._itemMap[a])?this._settings.renderer.positionToCoordinate(this.indexToPosition(a.get("index", |
|
0))):NaN}getDataItemPositionX(a,c,d,b){a=a.get(c);return(a=this._itemMap[a])?this.indexToPosition(a.get("index",0),d):NaN}getDataItemCoordinateX(a,c,d,b){return this._settings.renderer.positionToCoordinate(this.getDataItemPositionX(a,c,d,b))}getDataItemPositionY(a,c,d,b){a=a.get(c);return(a=this._itemMap[a])?this.indexToPosition(a.get("index",0),d):NaN}getDataItemCoordinateY(a,c,d,b){return this._settings.renderer.positionToCoordinate(this.getDataItemPositionY(a,c,d,b))}indexToPosition(a,c){l.isNumber(c)|| |
|
(c=.5);let d=this.dataItems.length,b=this.get("startLocation",0),e=this.get("endLocation",1);c=(a+c-b)/(d-b-(1-e));(a=this.dataItems[a])&&(c+=a.get("deltaPosition",0));return c}categoryToIndex(a){return(a=this._itemMap[a])?a.get("index"):NaN}dataItemToPosition(a){return this.indexToPosition(a.get("index"))}roundAxisPosition(a,c){a+=(.5-c)/this.dataItems.length;return this.indexToPosition(this.axisPositionToIndex(a),c)}axisPositionToIndex(a){let c=this.dataItems.length;return l.fitToRange(Math.floor(a* |
|
c),0,c-1)}getTooltipText(a,c){if(a=this.dataItems[this.axisPositionToIndex(a)])if(a=a.get("label"))return l.populateString(a,this.get("tooltipText",""))}_updateTooltipText(a,c){a._setDataItem(this.dataItems[this.axisPositionToIndex(c)]);a.label.text.markDirtyText()}getSeriesItem(a,c){if(0<this.dataItems.length){let b=this.getPrivate("name")+this.get("renderer").getPrivate("letter");var d=this.axisPositionToIndex(c);c=a.dataItems[d];let e=this.dataItems[d];d=e.get("category");if(c&&e&&c.get(b)===d)return c; |
|
for(let g=0,k=a.dataItems.length;g<k;g++)if(c=a.dataItems[g],c.get(b)===d)return c}}zoomToIndexes(a,c,d){let b=this.dataItems.length;this.zoom(a/b,c/b,d)}zoomToCategories(a,c,d){this.zoomToIndexes(this.categoryToIndex(a),this.categoryToIndex(c)+1,d)}getCellWidthPosition(){return this._frequency/this.dataItems.length/(this.get("end",1)-this.get("start",0))}nextPosition(a){null==a&&(a=1);"Y"==this.get("renderer").getPrivate("letter")&&(a*=-1);const c=this.getPrivate("tooltipPosition",0);a=l.fitToRange(this.axisPositionToIndex(c)+ |
|
a,0,this.dataItems.length-1);return this.toGlobalPosition(this.indexToPosition(a))}}Object.defineProperty(E,"className",{enumerable:!0,configurable:!0,writable:!0,value:"CategoryAxis"});Object.defineProperty(E,"classNames",{enumerable:!0,configurable:!0,writable:!0,value:x.Axis.classNames.concat([E.className])});class G extends B{constructor(){super(...arguments);Object.defineProperty(this,"columns",{enumerable:!0,configurable:!0,writable:!0,value:new l.ListTemplate(l.Template.new({}),()=>L.RoundedRectangle._new(this._root, |
|
{position:"absolute",themeTags:l.mergeTags(this.columns.template.get("themeTags",[]),["series","column"])},[this.columns.template]))})}makeColumn(a,c){const d=this.mainContainer.children.push(c.make());d._setDataItem(a);c.push(d);return d}_processAxisRange(a){super._processAxisRange(a);a.columns=new l.ListTemplate(l.Template.new({}),()=>L.RoundedRectangle._new(this._root,{position:"absolute",themeTags:l.mergeTags(a.columns.template.get("themeTags",[]),["series","column"])},[this.columns.template, |
|
a.columns.template]))}}Object.defineProperty(G,"className",{enumerable:!0,configurable:!0,writable:!0,value:"ColumnSeries"});Object.defineProperty(G,"classNames",{enumerable:!0,configurable:!0,writable:!0,value:B.classNames.concat([G.className])});z.AxisRendererXAm5=x.AxisRendererX;z.AxisRendererYAm5=x.AxisRendererY;z.LineSeriesAm5=x.LineSeries;z.ValueAxisAm5=x.ValueAxis;z.XYChartAm5=x.XYChart;z.XYCursorAm5=x.XYCursor;z.CategoryAxisAm5=E;z.ColumnSeriesAm5=G;Object.defineProperty(z,Symbol.toStringTag, |
|
{value:"Module"})}); |