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.
50 lines
24 KiB
50 lines
24 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","./tslib.es6","./Theme"],function(z,C,g){function T(a){return new Promise((b,c)=>{setTimeout(b,a)})}function A(a,b){null==b&&(b=1);return U[a]*b}function G(a,b,c,d,k,e,l){if(!l||k){l=0;k||"millisecond"==b||(l=a.getTimezoneOffset(),a.setUTCMinutes(a.getUTCMinutes()-l));switch(b){case "day":d=a.getUTCDate();1<c?e&&(e=G(e,"day",1),d=a.getTime()-e.getTime(),d=Math.floor(d/A("day")/c),c=A("day",d*c),a.setTime(e.getTime()+c-l*A("minute"))):a.setUTCDate(d);a.setUTCHours(0,0,0,0);break; |
|
case "second":e=a.getUTCSeconds();1<c&&(e=Math.floor(e/c)*c);a.setUTCSeconds(e,0);break;case "millisecond":if(1==c)return a;e=a.getUTCMilliseconds();e=Math.floor(e/c)*c;a.setUTCMilliseconds(e);break;case "hour":e=a.getUTCHours();1<c&&(e=Math.floor(e/c)*c);a.setUTCHours(e,0,0,0);break;case "minute":e=a.getUTCMinutes();1<c&&(e=Math.floor(e/c)*c);a.setUTCMinutes(e,0,0);break;case "month":e=a.getUTCMonth();1<c&&(e=Math.floor(e/c)*c);a.setUTCMonth(e,1);a.setUTCHours(0,0,0,0);break;case "year":e=a.getUTCFullYear(); |
|
1<c&&(e=Math.floor(e/c)*c);a.setUTCFullYear(e,0,1);a.setUTCHours(0,0,0,0);break;case "week":if(1<c&&e){e=G(e,"week",1);var m=a.getTime()-e.getTime();m=Math.floor(m/A("week")/c);c=A("week",m*c);a.setTime(e.getTime()+c-l*A("minute"))}c=a.getUTCDate();e=a.getUTCDay();g.isNumber(d)||(d=1);a.setUTCDate(e>=d?c-e+d:c-(7+e)+d);a.setUTCHours(0,0,0,0)}k||"millisecond"==b||(a.setUTCMinutes(a.getUTCMinutes()+l),"day"!=b&&"week"!=b&&"month"!=b&&"year"!=b)||(b=a.getTimezoneOffset(),b!=l&&(b-=l,a.setUTCMinutes(a.getUTCMinutes()+ |
|
b)))}else{if(isNaN(a.getTime()))return a;m=l.offsetUTC(a);let p=a.getTimezoneOffset();var h=l.parseDate(a);let t=h.year,n=h.month,f=h.day,u=h.hour,q=h.minute,x=h.second,w=h.millisecond;h=h.weekday;m-=p;switch(b){case "day":1<c&&e&&(e=G(e,"day",1,d,k,void 0,l),b=a.getTime()-e.getTime(),b=Math.floor(b/A("day")/c),b=A("day",b*c),a.setTime(e.getTime()+b),h=l.parseDate(a),t=h.year,n=h.month,f=h.day);u=0;q=m;w=x=0;break;case "second":q+=m;1<c&&(x=Math.floor(x/c)*c);w=0;break;case "millisecond":q+=m;1<c&& |
|
(w=Math.floor(w/c)*c);break;case "hour":1<c&&(u=Math.floor(u/c)*c);q=m;w=x=0;break;case "minute":1<c&&(q=Math.floor(q/c)*c);q+=m;w=x=0;break;case "month":1<c&&(n=Math.floor(n/c)*c);f=1;u=0;q=m;w=x=0;break;case "year":1<c&&(t=Math.floor(t/c)*c);n=0;f=1;u=0;q=m;w=x=0;break;case "week":g.isNumber(d)||(d=1),f=h>=d?f-h+d:f-(7+h)+d,u=0,q=m,w=x=0}a=new Date(t,n,f,u,q,x,w);b=a.getTimezoneOffset();b=l.offsetUTC(a)-b;b!=m&&a.setTime(a.getTime()+6E4*(b-m))}return a}function Q(a,b){for(let k=0,e=b.length;k<e;k++){const l= |
|
b[k];if(0<l.length){var c=l[0];if(0<c.length){c=c[0];a.moveTo(c.x,c.y);for(let m=0,h=l.length;m<h;m++){c=a;var d=l[m];for(let p=0,t=d.length;p<t;p++){const n=d[p];c.lineTo(n.x,n.y)}}}}}}function R(a){this._+=a[0];for(let b=1,c=a.length;b<c;++b)this._+=arguments[b]+a[b]}function V(a){let b=Math.floor(a);if(!(0<=b))throw Error(`invalid digits: ${a}`);if(15<b)return R;const c=10**b;return function(d){this._+=d[0];for(let k=1,e=d.length;k<e;++k)this._+=Math.round(arguments[k]*c)/c+d[k]}}class W extends g.List{constructor(){super(...arguments); |
|
Object.defineProperty(this,"processor",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}incrementRef(){}decrementRef(){}_onPush(a){this.processor&&this.processor.processRow(a);super._onPush(a)}_onInsertIndex(a,b){this.processor&&this.processor.processRow(b);super._onInsertIndex(a,b)}_onSetIndex(a,b,c){this.processor&&this.processor.processRow(c);super._onSetIndex(a,b,c)}}class H extends g.Settings{constructor(a,b,c){super(c);Object.defineProperty(this,"component",{enumerable:!0,configurable:!0, |
|
writable:!0,value:void 0});Object.defineProperty(this,"dataContext",{enumerable:!0,configurable:!0,writable:!0,value:void 0});Object.defineProperty(this,"bullets",{enumerable:!0,configurable:!0,writable:!0,value:void 0});Object.defineProperty(this,"open",{enumerable:!0,configurable:!0,writable:!0,value:void 0});Object.defineProperty(this,"close",{enumerable:!0,configurable:!0,writable:!0,value:void 0});this.dataContext=b;this.component=a;this._settings.visible=!0;this._checkDirty()}markDirty(){this.component.markDirtyValues(this)}_startAnimation(){this.component._root._addAnimation(this)}_animationTime(){return this.component._root.animationTime}_dispose(){this.component&& |
|
this.component.disposeDataItem(this);super._dispose()}show(a){this.setRaw("visible",!0);this.component&&this.component.showDataItem(this,a)}hide(a){this.setRaw("visible",!1);this.component&&this.component.hideDataItem(this,a)}isHidden(){return!this.get("visible")}}class D extends g.Container{constructor(){super(...arguments);Object.defineProperty(this,"_data",{enumerable:!0,configurable:!0,writable:!0,value:new W});Object.defineProperty(this,"_dataItems",{enumerable:!0,configurable:!0,writable:!0, |
|
value:[]});Object.defineProperty(this,"_mainDataItems",{enumerable:!0,configurable:!0,writable:!0,value:this._dataItems});Object.defineProperty(this,"valueFields",{enumerable:!0,configurable:!0,writable:!0,value:[]});Object.defineProperty(this,"fields",{enumerable:!0,configurable:!0,writable:!0,value:["id"]});Object.defineProperty(this,"_valueFields",{enumerable:!0,configurable:!0,writable:!0,value:void 0});Object.defineProperty(this,"_valueFieldsF",{enumerable:!0,configurable:!0,writable:!0,value:void 0}); |
|
Object.defineProperty(this,"_fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0});Object.defineProperty(this,"_fieldsF",{enumerable:!0,configurable:!0,writable:!0,value:void 0});Object.defineProperty(this,"_valuesDirty",{enumerable:!0,configurable:!0,writable:!0,value:!1});Object.defineProperty(this,"_dataChanged",{enumerable:!0,configurable:!0,writable:!0,value:!1});Object.defineProperty(this,"_dataGrouped",{enumerable:!0,configurable:!0,writable:!0,value:!1});Object.defineProperty(this, |
|
"inited",{enumerable:!0,configurable:!0,writable:!0,value:!1})}set data(a){a.incrementRef();this._data.decrementRef();this._data=a}get data(){return this._data}_dispose(){super._dispose();this._data.decrementRef()}_onDataClear(){}_afterNew(){super._afterNew();this._data.incrementRef();this._updateFields();this._disposers.push(this.data.events.onAll(a=>{const b=this._mainDataItems;this.markDirtyValues();this._markDirtyGroup();this._dataChanged=!0;if("clear"===a.type)g.each(b,d=>{d.dispose()}),b.length= |
|
0,this._onDataClear();else if("push"===a.type)a=new H(this,a.newValue,this._makeDataItem(a.newValue)),b.push(a),this.processDataItem(a);else if("setIndex"===a.type){const d=b[a.index],k=this._makeDataItem(a.newValue);d.bullets&&0==d.bullets.length&&(d.bullets=void 0);g.keys(k).forEach(e=>{d.animate({key:e,to:k[e],duration:this.get("interpolationDuration",0),easing:this.get("interpolationEasing")})});d.dataContext=a.newValue}else if("insertIndex"===a.type){var c=new H(this,a.newValue,this._makeDataItem(a.newValue)); |
|
b.splice(a.index,0,c);this.processDataItem(c)}else if("removeIndex"===a.type)b[a.index].dispose(),b.splice(a.index,1);else if("moveIndex"===a.type)c=b[a.oldIndex],b.splice(a.oldIndex,1),b.splice(a.newIndex,0,c);else throw Error("Unknown IStreamEvent type");this._afterDataChange()}))}_updateFields(){this.valueFields&&(this._valueFields=[],this._valueFieldsF={},g.each(this.valueFields,a=>{this.get(a+"Field")&&(this._valueFields.push(a),this._valueFieldsF[a]={fieldKey:a+"Field",workingKey:a+"Working"})})); |
|
this.fields&&(this._fields=[],this._fieldsF={},g.each(this.fields,a=>{this.get(a+"Field")&&(this._fields.push(a),this._fieldsF[a]=a+"Field")}))}get dataItems(){return this._dataItems}processDataItem(a){}_makeDataItem(a){const b={};this._valueFields&&g.each(this._valueFields,c=>{const d=this.get(this._valueFieldsF[c].fieldKey);b[c]=a[d];b[this._valueFieldsF[c].workingKey]=b[c]});this._fields&&g.each(this._fields,c=>{const d=this.get(this._fieldsF[c]);b[c]=a[d]});return b}makeDataItem(a){a=new H(this, |
|
void 0,a);this.processDataItem(a);return a}pushDataItem(a){a=this.makeDataItem(a);this._mainDataItems.push(a);return a}disposeDataItem(a){}showDataItem(a,b){return C.__awaiter(this,void 0,void 0,function*(){a.set("visible",!0)})}hideDataItem(a,b){return C.__awaiter(this,void 0,void 0,function*(){a.set("visible",!1)})}_clearDirty(){super._clearDirty();this._valuesDirty=!1}_afterDataChange(){}_afterChanged(){super._afterChanged();this._dataChanged&&(this.events.isEnabled("datavalidated")&&this.events.dispatch("datavalidated", |
|
{type:"datavalidated",target:this}),this._dataChanged=!1);this.inited=!0}markDirtyValues(a){this.markDirty();this._valuesDirty=!0}_markDirtyGroup(){this._dataGrouped=!1}markDirtySize(){this._sizeDirty=!0;this.markDirty()}}Object.defineProperty(D,"className",{enumerable:!0,configurable:!0,writable:!0,value:"Component"});Object.defineProperty(D,"classNames",{enumerable:!0,configurable:!0,writable:!0,value:g.Container.classNames.concat([D.className])});let U={millisecond:1,second:1E3,minute:6E4,hour:36E5, |
|
day:864E5,week:6048E5,month:365.242/12*864E5,year:31536E6};class I extends D{constructor(){super(...arguments);Object.defineProperty(this,"_aggregatesCalculated",{enumerable:!0,configurable:!0,writable:!0,value:!1});Object.defineProperty(this,"_selectionAggregatesCalculated",{enumerable:!0,configurable:!0,writable:!0,value:!1});Object.defineProperty(this,"_dataProcessed",{enumerable:!0,configurable:!0,writable:!0,value:!1});Object.defineProperty(this,"_psi",{enumerable:!0,configurable:!0,writable:!0, |
|
value:void 0});Object.defineProperty(this,"_pei",{enumerable:!0,configurable:!0,writable:!0,value:void 0});Object.defineProperty(this,"chart",{enumerable:!0,configurable:!0,writable:!0,value:void 0});Object.defineProperty(this,"bullets",{enumerable:!0,configurable:!0,writable:!0,value:new g.List});Object.defineProperty(this,"bulletsContainer",{enumerable:!0,configurable:!0,writable:!0,value:g.Container.new(this._root,{width:g.p100,height:g.p100,position:"absolute"})})}_afterNew(){this.valueFields.push("value", |
|
"customValue");super._afterNew();this.setPrivate("customData",{});this._disposers.push(this.bullets.events.onAll(a=>{if("clear"===a.type)this._handleBullets(this.dataItems);else if("push"===a.type)this._handleBullets(this.dataItems);else if("setIndex"===a.type)this._handleBullets(this.dataItems);else if("insertIndex"===a.type)this._handleBullets(this.dataItems);else if("removeIndex"===a.type)this._handleBullets(this.dataItems);else if("moveIndex"===a.type)this._handleBullets(this.dataItems);else throw Error("Unknown IListEvent type"); |
|
}))}_dispose(){this.bulletsContainer.dispose();super._dispose()}startIndex(){let a=this.dataItems.length;return Math.min(this.getPrivate("startIndex",0),a)}endIndex(){let a=this.dataItems.length;return Math.min(this.getPrivate("endIndex",a),a)}_handleBullets(a){g.each(a,b=>{const c=b.bullets;c&&(g.each(c,d=>{d.dispose()}),b.bullets=void 0)});this.markDirtyValues()}getDataItemById(a){return g.find(this.dataItems,b=>b.get("id")==a)}_makeBullets(a){this._shouldMakeBullet(a)&&(a.bullets=[],this.bullets.each(b=> |
|
{this._makeBullet(a,b)}))}_shouldMakeBullet(a){return!0}_makeBullet(a,b,c){if(b=b(this._root,this,a))b._index=c,this._makeBulletReal(a,b);return b}_makeBulletReal(a,b){let c=b.get("sprite");c&&(c._setDataItem(a),c.setRaw("position","absolute"),this.bulletsContainer.children.push(c));b.series=this;a.bullets.push(b)}addBullet(a,b){a.bullets||(a.bullets=[]);b&&this._makeBulletReal(a,b)}_clearDirty(){super._clearDirty();this._selectionAggregatesCalculated=this._aggregatesCalculated=!1}_prepareChildren(){super._prepareChildren(); |
|
var a=this.startIndex(),b=this.endIndex();this.isDirty("name")&&this.updateLegendValue();this.isDirty("heatRules")&&(this._valuesDirty=!0);if(this.isPrivateDirty("baseValueSeries")){var c=this.getPrivate("baseValueSeries");c&&this._disposers.push(c.onPrivate("startIndex",()=>{this.markDirtyValues()}))}this.get("calculateAggregates")&&(!this._valuesDirty||this._dataProcessed||this._aggregatesCalculated||(this._calculateAggregates(0,this.dataItems.length),this._aggregatesCalculated=!0,0!=a&&(this._psi= |
|
void 0)),this._psi==a&&this._pei==b&&!this.isPrivateDirty("adjustedStartIndex")||this._selectionAggregatesCalculated||(0===a&&b===this.dataItems.length&&this._aggregatesCalculated||this._calculateAggregates(a,b),this._selectionAggregatesCalculated=!0));this.isDirty("tooltip")&&(a=this.get("tooltip"))&&(a.hide(0),a.set("tooltipTarget",this));if(this.isDirty("fill")||this.isDirty("stroke"))(a=this.get("legendDataItem"))&&(a=a.get("markerRectangle"))&&this.isVisible()&&(this.isDirty("stroke")&&(b=this.get("stroke"), |
|
a.set("stroke",b)),this.isDirty("fill")&&(b=this.get("fill"),a.set("fill",b))),this.updateLegendMarker(void 0);if(0<this.bullets.length)for(b=this.startIndex(),a=this.endIndex(),a<this.dataItems.length&&a++;b<a;b++)c=this.dataItems[b],c.bullets||this._makeBullets(c)}_adjustStartIndex(a){return a}_calculateAggregates(a,b){let c=this._valueFields;if(!c)throw Error("No value fields are set for the series.");const d={},k={},e={},l={},m={},h={},p={},t={},n={};g.each(c,f=>{d[f]=0;k[f]=0;e[f]=0});g.each(c, |
|
f=>{var u=f+"Change",q=f+"ChangePercent";let x=f+"ChangePrevious",w=f+"ChangePreviousPercent",L=f+"ChangeSelection",M=f+"ChangeSelectionPercent",r="valueY";if("valueX"==f||"openValueX"==f||"lowValueX"==f||"highValueX"==f)r="valueX";var y=this.getPrivate("baseValueSeries");const S=this.getPrivate("adjustedStartIndex",a);for(let N=S;N<b;N++){const B=this.dataItems[N];if(B){let v=B.get(f);if(null!=v){e[f]++;d[f]+=v;k[f]+=Math.abs(v);t[f]=d[f]/e[f];if(l[f]>v||null==l[f])l[f]=v;if(m[f]<v||null==m[f])m[f]= |
|
v;p[f]=v;null==h[f]&&(h[f]=v,n[f]=v,y&&(h[r]=y._getBase(r)));0===a&&(B.setRaw(u,v-h[r]),B.setRaw(q,(v-h[r])/h[r]*100));B.setRaw(x,v-n[r]);B.setRaw(w,(v-n[r])/n[r]*100);B.setRaw(L,v-h[r]);B.setRaw(M,(v-h[r])/h[r]*100);n[f]=v}}}b<this.dataItems.length-1&&(u=this.dataItems[b])&&(q=u.get(f),u.setRaw(x,q-n[r]),u.setRaw(w,(q-n[r])/n[r]*100),u.setRaw(L,q-h[r]),u.setRaw(M,(q-h[r])/h[r]*100));0<a&&a--;delete n[f];for(u=a;u<S;u++)if(q=this.dataItems[u])y=q.get(f),null==n[f]&&(n[f]=y),null!=y&&(q.setRaw(x,y- |
|
n[r]),q.setRaw(w,(y-n[r])/n[r]*100),q.setRaw(L,y-h[r]),q.setRaw(M,(y-h[r])/h[r]*100),n[f]=y)});g.each(c,f=>{this.setPrivate(f+"AverageSelection",t[f]);this.setPrivate(f+"CountSelection",e[f]);this.setPrivate(f+"SumSelection",d[f]);this.setPrivate(f+"AbsoluteSumSelection",k[f]);this.setPrivate(f+"LowSelection",l[f]);this.setPrivate(f+"HighSelection",m[f]);this.setPrivate(f+"OpenSelection",h[f]);this.setPrivate(f+"CloseSelection",p[f])});0===a&&b===this.dataItems.length&&g.each(c,f=>{this.setPrivate(f+ |
|
"Average",t[f]);this.setPrivate(f+"Count",e[f]);this.setPrivate(f+"Sum",d[f]);this.setPrivate(f+"AbsoluteSum",k[f]);this.setPrivate(f+"Low",l[f]);this.setPrivate(f+"High",m[f]);this.setPrivate(f+"Open",h[f]);this.setPrivate(f+"Close",p[f])})}_updateChildren(){super._updateChildren();this._psi=this.startIndex();this._pei=this.endIndex();this.isDirty("visible")&&this.bulletsContainer.set("visible",this.get("visible"));var a=this.get("heatRules");this._valuesDirty&&a&&0<a.length&&g.each(a,d=>{const k= |
|
d.minValue||this.getPrivate(d.dataField+"Low")||0,e=d.maxValue||this.getPrivate(d.dataField+"High")||0;g.each(d.target._entities,l=>{const m=l.dataItem.get(d.dataField);if(!g.isNumber(m)){d.neutral&&l.set(d.key,d.neutral);var h=l.states;h&&(h=h.lookup("default"))&&d.neutral&&h.set(d.key,d.neutral);if(!d.customFunction)return}if(d.customFunction)d.customFunction.call(this,l,k,e,m);else{h=d.logarithmic?(Math.log(m)*Math.LOG10E-Math.log(k)*Math.LOG10E)/(Math.log(e)*Math.LOG10E-Math.log(k)*Math.LOG10E): |
|
(m-k)/(e-k);!g.isNumber(m)||g.isNumber(h)&&Infinity!=Math.abs(h)||(h=.5);let p;g.isNumber(d.min)?p=d.min+(d.max-d.min)*h:d.min instanceof g.Color?p=g.Color.interpolate(h,d.min,d.max):d.min instanceof g.Percent&&(p=g.percentInterpolate(h,d.min,d.max));l.set(d.key,p);(l=l.states)&&(l=l.lookup("default"))&&l.set(d.key,p)}})});if(this.get("visible")){a=this.dataItems.length;var b=this.startIndex(),c=this.endIndex();c<a&&c++;0<b&&b--;for(let d=0;d<b;d++)this._hideBullets(this.dataItems[d]);for(;b<c;b++)this._positionBullets(this.dataItems[b]); |
|
for(;c<a;c++)this._hideBullets(this.dataItems[c])}}_positionBullets(a){a.bullets&&g.each(a.bullets,b=>{this._positionBullet(b);const c=b.get("sprite");b.get("dynamic")&&(c&&(c._markDirtyKey("fill"),c.markDirtySize()),c instanceof g.Container&&c.walkChildren(d=>{d._markDirtyKey("fill");d.markDirtySize();d instanceof g.Label&&d.text.markDirtyText()}));c instanceof g.Label&&c.get("populateText")&&c.text.markDirtyText()})}_hideBullets(a){a.bullets&&g.each(a.bullets,b=>{(b=b.get("sprite"))&&b.setPrivate("visible", |
|
!1)})}_positionBullet(a){}_placeBulletsContainer(a){a.bulletsContainer.children.moveValue(this.bulletsContainer)}_removeBulletsContainer(){const a=this.bulletsContainer;a.parent&&a.parent.children.removeValue(a)}disposeDataItem(a){(a=a.bullets)&&g.each(a,b=>{b.dispose()})}_getItemReaderLabel(){return""}showDataItem(a,b){const c=Object.create(null,{showDataItem:{get:()=>super.showDataItem}});return C.__awaiter(this,void 0,void 0,function*(){const d=[c.showDataItem.call(this,a,b)],k=a.bullets;k&&g.each(k, |
|
e=>{(e=e.get("sprite"))&&d.push(e.show(b))});yield Promise.all(d)})}hideDataItem(a,b){const c=Object.create(null,{hideDataItem:{get:()=>super.hideDataItem}});return C.__awaiter(this,void 0,void 0,function*(){const d=[c.hideDataItem.call(this,a,b)],k=a.bullets;k&&g.each(k,e=>{(e=e.get("sprite"))&&d.push(e.hide(b))});yield Promise.all(d)})}_sequencedShowHide(a,b){return C.__awaiter(this,void 0,void 0,function*(){if(this.get("sequencedInterpolation"))if(g.isNumber(b)||(b=this.get("interpolationDuration", |
|
0)),0<b){const c=this.startIndex(),d=this.endIndex();yield Promise.all(g.map(this.dataItems,(k,e)=>C.__awaiter(this,void 0,void 0,function*(){let l=b||0;if(e<c-10||e>d+10)l=0;let m=this.get("sequencedDelay",0)+l/(d-c);yield T(m*(e-c));a?yield this.showDataItem(k,l):yield this.hideDataItem(k,l)})))}else yield Promise.all(g.map(this.dataItems,c=>a?this.showDataItem(c,0):this.hideDataItem(c,0)))})}updateLegendValue(a){if(a){var b=a.get("legendDataItem");if(b){var c=b.get("valueLabel");if(c){var d=c.text; |
|
let k="";c._setDataItem(a);k=this.get("legendValueText",d.get("text",""));c.set("text",k);d.markDirtyText()}if(b=b.get("label"))c=b.text,d="",b._setDataItem(a),d=this.get("legendLabelText",c.get("text","")),b.set("text",d),c.markDirtyText()}}}updateLegendMarker(a){}_onHide(){super._onHide();const a=this.getTooltip();a&&a.hide()}hoverDataItem(a){}unhoverDataItem(a){}_getBase(a){const b=this.dataItems[this.startIndex()];return b?b.get(a):0}}Object.defineProperty(I,"className",{enumerable:!0,configurable:!0, |
|
writable:!0,value:"Series"});Object.defineProperty(I,"classNames",{enumerable:!0,configurable:!0,writable:!0,value:D.classNames.concat([I.className])});class E extends g.Graphics{_beforeChanged(){super._beforeChanged();if(this.isDirty("points")||this.isDirty("segments")||this._sizeDirty||this.isPrivateDirty("width")||this.isPrivateDirty("height"))this._clear=!0}_changed(){super._changed();if(this._clear){var a=this.get("points"),b=this.get("segments");a&&0<a.length?(b=a[0],this._display.moveTo(b.x, |
|
b.y),Q(this._display,[[a]])):b?Q(this._display,b):this.get("draw")||(a=this.width(),b=this.height(),this._display.moveTo(0,0),this._display.lineTo(a,b))}}}Object.defineProperty(E,"className",{enumerable:!0,configurable:!0,writable:!0,value:"Line"});Object.defineProperty(E,"classNames",{enumerable:!0,configurable:!0,writable:!0,value:g.Graphics.classNames.concat([E.className])});const O=Math.PI,P=2*O,X=P-1E-6;class Y{constructor(a){this._x0=this._y0=this._x1=this._y1=null;this._="";this._append=null== |
|
a?R:V(a)}moveTo(a,b){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+b}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(a,b){this._append`L${this._x1=+a},${this._y1=+b}`}quadraticCurveTo(a,b,c,d){this._append`Q${+a},${+b},${this._x1=+c},${this._y1=+d}`}bezierCurveTo(a,b,c,d,k,e){this._append`C${+a},${+b},${+c},${+d},${this._x1=+k},${this._y1=+e}`}arcTo(a,b,c,d,k){a=+a;b=+b;c=+c;d=+d;k=+k;if(0>k)throw Error(`negative radius: ${k}`);var e=this._x1, |
|
l=this._y1;let m=c-a,h=d-b,p=e-a,t=l-b;var n=p*p+t*t;if(null===this._x1)this._append`M${this._x1=a},${this._y1=b}`;else if(1E-6<n)if(1E-6<Math.abs(t*m-h*p)&&k){c-=e;d-=l;let f=m*m+h*h;l=Math.sqrt(f);e=Math.sqrt(n);n=k*Math.tan((O-Math.acos((f+n-(c*c+d*d))/(2*l*e)))/2);e=n/e;n/=l;1E-6<Math.abs(e-1)&&this._append`L${a+e*p},${b+e*t}`;this._append`A${k},${k},0,0,${+(t*c>p*d)},${this._x1=a+n*m},${this._y1=b+n*h}`}else this._append`L${this._x1=a},${this._y1=b}`}arc(a,b,c,d,k,e){a=+a;b=+b;c=+c;e=!!e;if(0> |
|
c)throw Error(`negative radius: ${c}`);let l=c*Math.cos(d),m=c*Math.sin(d),h=a+l,p=b+m,t=1^e;d=e?d-k:k-d;null===this._x1?this._append`M${h},${p}`:(1E-6<Math.abs(this._x1-h)||1E-6<Math.abs(this._y1-p))&&this._append`L${h},${p}`;c&&(0>d&&(d=d%P+P),d>X?this._append`A${c},${c},0,1,${t},${a-l},${b-m}A${c},${c},0,1,${t},${this._x1=h},${this._y1=p}`:1E-6<d&&this._append`A${c},${c},0,${+(d>=O)},${t},${this._x1=a+c*Math.cos(k)},${this._y1=b+c*Math.sin(k)}`)}rect(a,b,c,d){this._append`M${this._x0=this._x1= |
|
+a},${this._y0=this._y1=+b}h${c=+c}v${+d}h${-c}Z`}toString(){return this._}}class F extends g.Container{constructor(){super(...arguments);Object.defineProperty(this,"chartContainer",{enumerable:!0,configurable:!0,writable:!0,value:this.children.push(g.Container.new(this._root,{width:g.p100,height:g.p100,interactiveChildren:!1}))});Object.defineProperty(this,"bulletsContainer",{enumerable:!0,configurable:!0,writable:!0,value:g.Container.new(this._root,{interactiveChildren:!1,isMeasured:!1,position:"absolute", |
|
width:g.p100,height:g.p100})})}}Object.defineProperty(F,"className",{enumerable:!0,configurable:!0,writable:!0,value:"Chart"});Object.defineProperty(F,"classNames",{enumerable:!0,configurable:!0,writable:!0,value:g.Container.classNames.concat([F.className])});class J extends F{constructor(){super(...arguments);Object.defineProperty(this,"seriesContainer",{enumerable:!0,configurable:!0,writable:!0,value:g.Container.new(this._root,{width:g.p100,height:g.p100,isMeasured:!1})});Object.defineProperty(this, |
|
"series",{enumerable:!0,configurable:!0,writable:!0,value:new g.ListAutoDispose})}_afterNew(){super._afterNew();this._disposers.push(this.series);const a=this.seriesContainer.children;this._disposers.push(this.series.events.onAll(b=>{if("clear"===b.type)g.each(b.oldValues,c=>{this._removeSeries(c)}),(b=this.get("colors"))&&b.reset();else if("push"===b.type)a.moveValue(b.newValue),this._processSeries(b.newValue);else if("setIndex"===b.type)a.setIndex(b.index,b.newValue),this._processSeries(b.newValue); |
|
else if("insertIndex"===b.type)a.insertIndex(b.index,b.newValue),this._processSeries(b.newValue);else if("removeIndex"===b.type)this._removeSeries(b.oldValue);else if("moveIndex"===b.type)a.moveValue(b.value,b.newIndex),this._processSeries(b.value);else throw Error("Unknown IListEvent type");}))}_processSeries(a){a.chart=this;a._placeBulletsContainer(this)}_removeSeries(a){a.isDisposed()||(this.seriesContainer.children.removeValue(a),a._removeBulletsContainer())}}Object.defineProperty(J,"className", |
|
{enumerable:!0,configurable:!0,writable:!0,value:"SerialChart"});Object.defineProperty(J,"classNames",{enumerable:!0,configurable:!0,writable:!0,value:F.classNames.concat([J.className])});class K extends E{}Object.defineProperty(K,"className",{enumerable:!0,configurable:!0,writable:!0,value:"Tick"});Object.defineProperty(K,"classNames",{enumerable:!0,configurable:!0,writable:!0,value:E.classNames.concat([K.className])});z.Component=D;z.DataItem=H;z.SerialChart=J;z.Series=I;z.Tick=K;z.constant=function(a){return function(){return a}}; |
|
z.round=G;z.withPath=function(a){let b=3;a.digits=function(c){if(!arguments.length)return b;if(null==c)b=null;else{const d=Math.floor(c);if(!(0<=d))throw new RangeError(`invalid digits: ${c}`);b=d}return a};return()=>new Y(b)}}); |