@eclipse-scout/chart 23.1.1 → 23.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -47,6 +47,7 @@ export declare class Chart extends Widget implements ChartModel {
47
47
  protected _renderOnAttach(): void;
48
48
  protected _remove(): void;
49
49
  setData(data: ChartData): void;
50
+ protected _setData(data: ChartData): void;
50
51
  protected _renderData(): void;
51
52
  setConfig(config: ChartConfig): void;
52
53
  protected _renderConfig(onlyUpdateData: boolean): void;
@@ -72,7 +73,7 @@ export type ChartAxis = {
72
73
  };
73
74
  export type ChartValueGroup = {
74
75
  type?: string;
75
- groupName: string;
76
+ groupName?: string;
76
77
  values: number[] | Record<string, number>[];
77
78
  colorHexValue?: string;
78
79
  cssClass?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../src/chart/Chart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../src/chart/Chart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";var E={};E.n=n=>{var t=n&&n.__esModule?()=>n.default:()=>n;return E.d(t,{a:t}),t},E.d=(n,t)=>{for(var e in t)E.o(t,e)&&!E.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:t[e]})},E.o=(n,t)=>Object.prototype.hasOwnProperty.call(n,t),E.r=n=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})};var At={};E.r(At),E.d(At,{AbstractChartRenderer:()=>et,AbstractSvgChartRenderer:()=>P,Chart:()=>u,ChartAdapter:()=>Bt,ChartField:()=>Lt,ChartFieldAdapter:()=>St,ChartFieldTile:()=>kt,ChartFieldTileAdapter:()=>Ot,ChartJsRenderer:()=>G,ChartLayout:()=>nt,ChartTableControl:()=>z,ChartTableControlAdapter:()=>Pt,ChartTableControlLayout:()=>mt,ChartTableUserFilter:()=>F,FulfillmentChartRenderer:()=>dt,SalesfunnelChartRenderer:()=>ut,SpeedoChartRenderer:()=>x,VennAsync3Calculator:()=>ct,VennChartRenderer:()=>ft,VennCircle:()=>V,VennCircleHelper:()=>pt,default:()=>Et});var tt={};E.r(tt),E.d(tt,{AbstractChartRenderer:()=>et,AbstractSvgChartRenderer:()=>P,Chart:()=>u,ChartAdapter:()=>Bt,ChartField:()=>Lt,ChartFieldAdapter:()=>St,ChartFieldTile:()=>kt,ChartFieldTileAdapter:()=>Ot,ChartJsRenderer:()=>G,ChartLayout:()=>nt,ChartTableControl:()=>z,ChartTableControlAdapter:()=>Pt,ChartTableControlLayout:()=>mt,ChartTableUserFilter:()=>F,FulfillmentChartRenderer:()=>dt,SalesfunnelChartRenderer:()=>ut,SpeedoChartRenderer:()=>x,VennAsync3Calculator:()=>ct,VennChartRenderer:()=>ft,VennCircle:()=>V,VennCircleHelper:()=>pt,default:()=>Et});const h=scout,Ht=jQuery;var C=E.n(Ht);function M(n,t,e){return t=Nt(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function Nt(n){var t=Gt(n,"string");return typeof t=="symbol"?t:String(t)}function Gt(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class u extends h.Widget{constructor(){super(),M(this,"data",void 0),M(this,"config",void 0),M(this,"checkedItems",void 0),M(this,"chartRenderer",void 0),M(this,"_updatedOnce",void 0),M(this,"_updateChartTimeoutId",void 0),M(this,"_updateChartOpts",void 0),M(this,"_updateChartOptsWhileNotAttached",void 0),this.$container=null,this.data=null,this.config=null,this.checkedItems=[],this.chartRenderer=null,this._updateChartTimeoutId=null,this._updateChartOpts=null,this._updateChartOptsWhileNotAttached=[],this._updatedOnce=!1}_init(t){super._init(t),this.setConfig(this.config),this._setData(this.data)}_render(){this.$container=this.$parent.appendDiv("chart"),this.htmlComp=h.HtmlComponent.install(this.$container,this.session),this.htmlComp.setLayout(new nt(this))}_renderProperties(){super._renderProperties(),this._renderClickable(),this._renderCheckable(),this._renderChartType(),this._renderColorScheme(),this.updateChart({requestAnimation:!0,debounce:u.DEFAULT_DEBOUNCE_TIMEOUT})}_renderOnAttach(){super._renderOnAttach(),this._updateChartOptsWhileNotAttached.splice(0).forEach(t=>this.updateChart(C().extend(!0,{},t,{debounce:!0})))}_remove(){this.chartRenderer&&this.chartRenderer.remove(!1),this.$container.remove(),this.$container=null}setData(t){this.setProperty("data",t),this.setCheckedItems(this.checkedItems)}_setData(t){t&&(t=C().extend({axes:[]},t)),this._setProperty("data",t)}_renderData(){this.updateChart({requestAnimation:!0,debounce:u.DEFAULT_DEBOUNCE_TIMEOUT,onlyUpdateData:!0})}setConfig(t){let e={type:u.Type.PIE,options:{autoColor:!0,colorScheme:h.colorSchemes.ColorSchemeId.DEFAULT,transparent:!1,maxSegments:5,adjustGridMaxMin:!0,clickable:!1,checkable:!1,animation:{duration:u.DEFAULT_ANIMATION_DURATION},plugins:{datalabels:{display:!1},tooltip:{enabled:!0},legend:{display:!0,clickable:!1,position:u.Position.RIGHT}}}};if(t=C().extend(!0,{},e,t),t.options.colorScheme=h.colorSchemes.ensureColorScheme(t.options.colorScheme),h.objects.equalsRecursive(this.config,t))return;let i=C().extend(!0,{},this.config);t.data?i.data=t.data:delete i.data;let r=(a,s,l)=>{if(!(!a||!s||!l)){if(!a.options||!a.options[l]){s.options&&delete s.options[l],s.options&&h.objects.isEmpty(s.options.scales)&&!(a.options&&a.options.scales)&&delete s.options.scales,h.objects.isEmpty(s.options)&&!a.options&&delete s.options;return}s.options[l]=a.options[l]}};if(r(t,i,"xLabelMap"),r(t,i,"yLabelMap"),h.objects.equalsRecursive(i,t)){this._setProperty("config",t),this.rendered&&this._renderConfig(!0),this.setCheckedItems(this.checkedItems);return}this.rendered&&this.config&&this.config.type&&this.$container.removeClass(this.config.type+"-chart"),this.setProperty("config",t),this.setCheckedItems(this.checkedItems),this._updateChartRenderer()}_renderConfig(t){this._renderClickable(),this._renderCheckable(),this._renderChartType(),this._renderColorScheme(),this.updateChart({requestAnimation:!0,debounce:u.DEFAULT_DEBOUNCE_TIMEOUT,onlyUpdateData:t})}setCheckedItems(t){this.setProperty("checkedItems",h.arrays.ensure(this._filterCheckedItems(t)))}_filterCheckedItems(t){if(!Array.isArray(t))return t;let e=[];this.data&&this.data.chartValueGroups?this.data.chartValueGroups.forEach(r=>e.push(r.values.length)):this.config&&this.config.data&&this.config.data.datasets.forEach(r=>e.push(r.data.length));let i=t.filter(r=>e[r.datasetIndex]&&r.dataIndex<e[r.datasetIndex]);return i.length<t.length?i:t}_renderCheckedItems(){this.chartRenderer&&this.chartRenderer.renderCheckedItems()}_renderEnabled(){this.updateChart()}_renderClickable(){this.$container.toggleClass("clickable",this.config.options.clickable)}_renderCheckable(){this.$container.toggleClass("checkable",this.config.options.checkable)}_renderChartType(){this.$container.addClass(this.config.type+"-chart")}_renderColorScheme(){h.colorSchemes.toggleColorSchemeClasses(this.$container,this.config.options.colorScheme)}updateChart(t){t=t||{},t.onlyUpdateData=t.onlyUpdateData&&this.chartRenderer&&this.chartRenderer.isDataUpdatable(),t.enforceRerender=!t.onlyUpdateData&&!t.onlyRefresh,this._updateChartTimeoutId&&(clearTimeout(this._updateChartTimeoutId),this._updateChartOpts&&(t.requestAnimation=t.requestAnimation||this._updateChartOpts.requestAnimation,t.onlyUpdateData=t.onlyUpdateData||this._updateChartOpts.onlyUpdateData,t.onlyRefresh=t.onlyRefresh||this._updateChartOpts.onlyRefresh,t.enforceRerender=t.enforceRerender||this._updateChartOpts.enforceRerender),this._updateChartTimeoutId=null,this._updateChartOpts=null);let e=r.bind(this);t.debounce===!0||typeof t.debounce=="number"?(this._updateChartOpts=t,typeof t.debounce=="number"?this._updateChartTimeoutId=setTimeout(e,t.debounce):this._updateChartTimeoutId=setTimeout(e)):e();function r(){if(this._updateChartTimeoutId=null,this._updateChartOpts=null,!this.$container||!this.$container.isAttached()){this._updateChartOptsWhileNotAttached.push(t);return}this._updatedOnce=!0,this.chartRenderer&&(t.enforceRerender?this.chartRenderer.remove(this.chartRenderer.shouldAnimateRemoveOnUpdate(t),a=>{this.removing||a||(this.chartRenderer.render(t.requestAnimation),this.trigger("chartRender"))}):t.onlyUpdateData?this.chartRenderer.updateData(t.requestAnimation):t.onlyRefresh&&this.chartRenderer.refresh())}}_resolveChartRenderer(){switch(this.config.type){case u.Type.FULFILLMENT:return new dt(this);case u.Type.SPEEDO:return new x(this);case u.Type.SALESFUNNEL:return new ut(this);case u.Type.VENN:return new ft(this);case u.Type.BAR:case u.Type.BAR_HORIZONTAL:case u.Type.LINE:case u.Type.COMBO_BAR_LINE:case u.Type.PIE:case u.Type.DOUGHNUT:case u.Type.POLAR_AREA:case u.Type.RADAR:case u.Type.BUBBLE:case u.Type.SCATTER:return new G(this)}return null}_updateChartRenderer(){this.chartRenderer&&this.chartRenderer.remove(),this.setProperty("chartRenderer",this._resolveChartRenderer())}handleValueClick(t,e){if(this.config.options.checkable){let i=[...this.checkedItems],r=i.filter(a=>a.datasetIndex===t.datasetIndex&&a.dataIndex===t.dataIndex)[0];r?h.arrays.remove(i,r):i.push(t),this.setCheckedItems(i)}this.trigger("valueClick",{data:t,originalEvent:e})}}M(u,"Type",{PIE:"pie",LINE:"line",BAR:"bar",BAR_HORIZONTAL:"horizontalBar",COMBO_BAR_LINE:"comboBarLine",FULFILLMENT:"fulfillment",SPEEDO:"speedo",SALESFUNNEL:"salesfunnel",VENN:"venn",DOUGHNUT:"doughnut",POLAR_AREA:"polarArea",RADAR:"radar",BUBBLE:"bubble",SCATTER:"scatter"}),M(u,"Position",{TOP:"top",BOTTOM:"bottom",LEFT:"left",RIGHT:"right",CENTER:"center"}),M(u,"DEFAULT_ANIMATION_DURATION",600),M(u,"DEFAULT_DEBOUNCE_TIMEOUT",100);class Bt extends h.ModelAdapter{_onWidgetValueClick(t){this._send("valueClick",t.data)}_onWidgetEvent(t){t.type==="valueClick"?this._onWidgetValueClick(t):super._onWidgetEvent(t)}}function Vt(n,t,e){return t=$t(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function $t(n){var t=Ft(n,"string");return typeof t=="symbol"?t:String(t)}function Ft(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class nt extends h.AbstractLayout{constructor(t){super(),Vt(this,"chart",void 0),this.chart=t}layout(t){let e={requestAnimation:!0,debounce:u.DEFAULT_DEBOUNCE_TIMEOUT,onlyUpdateData:!0};(!this.chart.session.ready||this.chart._updatedOnce)&&(e.requestAnimation=!1),this.chart.session.ready||(e.debounce=!1),this.chart.updateChart(e)}}function Z(n,t,e){return t=jt(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function jt(n){var t=Ut(n,"string");return typeof t=="symbol"?t:String(t)}function Ut(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class et{constructor(t){Z(this,"chart",void 0),Z(this,"session",void 0),Z(this,"rendering",void 0),Z(this,"rendered",void 0),Z(this,"animationDuration",void 0),Z(this,"firstOpaqueBackgroundColor",void 0),this.chart=t,this.session=t.session,this.rendering=!1,this.rendered=!1,this.animationDuration=0,this.firstOpaqueBackgroundColor=""}validate(){return this._validateChartData()?this._validate():!1}_validateChartData(){let t=this.chart&&this.chart.data;if(!t||!t.chartValueGroups||t.chartValueGroups.length===0)return!1;let e,i=0;for(e=0;e<t.chartValueGroups.length;e++){let r=t.chartValueGroups[e];if(!r.values)return!1;if(e===0)i=r.values.length;else if(r.values.length!==i)return!1;if(!this.chart.config.options.autoColor&&!r.colorHexValue&&!r.cssClass)return!1}for(e=0;e<t.axes.length;e++)if(t.axes[e].length!==i)return!1;return!0}_validate(){return!0}render(t){this.animationDuration=t?this.chart.config.options.animation.duration:0,!(!this.validate()||!this.chart.rendered)&&(this.rendering=!0,this._render(),this.rendering=!1,this.rendered=!0)}_render(){}renderCheckedItems(){this.rendered&&this._renderCheckedItems()}_renderCheckedItems(){}updateData(t){if(!this.rendered){this.render(t);return}this.animationDuration=t?this.chart.config.options.animation.duration:0,!(!this.validate()||!this.isDataUpdatable())&&this._updateData()}_updateData(){}isDataUpdatable(){return!1}refresh(){this.rendered&&this.remove(!1),this.render(!1)}remove(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=arguments.length>1?arguments[1]:void 0;this.animationDuration=t&&this.chart.config.options.animation.duration,this.animationDuration&&this.rendered?this._removeAnimated(e):this._remove(e)}_remove(t){this.rendered=!1,t&&t()}_removeAnimated(t){this._remove(t)}shouldAnimateRemoveOnUpdate(t){return t.requestAnimation}}function I(n,t,e){return t=Wt(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function Wt(n){var t=zt(n,"string");return typeof t=="symbol"?t:String(t)}function zt(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class P extends et{constructor(t){super(t),I(this,"chartBox",void 0),I(this,"clipId",void 0),I(this,"maskId",void 0),I(this,"suppressLegendBox",void 0),I(this,"height",void 0),I(this,"width",void 0),I(this,"chartAnimationStopping",void 0),I(this,"$svg",void 0),this.chartBox=null,this.clipId="Clip-"+h.ObjectFactory.get().createUniqueId(),this.maskId="Mask-"+h.ObjectFactory.get().createUniqueId(),this.suppressLegendBox=!1}_render(){this.$svg||(this.$svg=this.chart.$container.appendSVG("svg","chart-svg")),this.firstOpaqueBackgroundColor=h.styles.getFirstOpaqueBackgroundColor(this.$svg),this.height=this.$svg.height(),this.width=this.$svg.width(),this._initChartBox(),this._useFontSizeBig()?this.$svg.addClass(P.FONT_SIZE_BIG):this._useFontSizeMiddle()?this.$svg.addClass(P.FONT_SIZE_MIDDLE):this._useFontSizeSmall()?this.$svg.addClass(P.FONT_SIZE_SMALL):this._useFontSizeSmallest()&&this.$svg.addClass(P.FONT_SIZE_SMALLEST),this.$svg.isAttached()&&this._renderInternal()}_renderInternal(){}_useFontSizeBig(){return!1}_useFontSizeMiddle(){return!1}_useFontSizeSmall(){return!1}_useFontSizeSmallest(){return!1}remove(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=arguments.length>1?arguments[1]:void 0;this.rendered&&!this.chartAnimationStopping&&(this.chartAnimationStopping=!0,this.$svg.children().stop(!0,!1),this.chartAnimationStopping=!1),super.remove(t,e)}_remove(t){this.rendered&&(this.$svg.children().stop(!0,!1),this.rendered&&(this.$svg.remove(),this.$svg=null)),this.rendered=!1,t&&t(this.chartAnimationStopping)}_createClickObject(t,e){return{xIndex:t,dataIndex:t,datasetIndex:e}}_measureText(t,e){let i=this.$svg.appendSVG("text",e).attr("x",0).attr("y",0).attr("visibility","hidden").text(t),r;try{r=i[0].getBBox()}catch{return{height:0,width:0}}return i.remove(),r}_renderLine(t,e,i,r,a){let s=this.$svg.appendSVG("line",a).attr("x1",t).attr("y1",e).attr("x2",i).attr("y2",r);return this.animationDuration&&s.attr("opacity",0).animateSVG("opacity",1,this.animationDuration,null,!0),s}_renderLineLabel(t,e,i,r,a){let s=this.$svg.appendSVG("text",r||"line-label").attr("x",t).attr("y",e).text(i);if(a){s.attr("mask","url(#"+this.maskId+")");let l=this.$svg.appendSVG("text",r?r+" background":"line-label-background").attr("x",t).attr("y",e).attr("clip-path","url(#"+this.clipId+")").text(i);s.data("$background",l),this.animationDuration&&l.attr("opacity",0).animateSVG("opacity",1,this.animationDuration,null,!0)}return this.animationDuration&&s.attr("opacity",0).animateSVG("opacity",1,this.animationDuration,null,!0),s}_initChartBox(){this.chartBox={width:this.width,height:this.height,xOffset:0,yOffset:0,mX:function(){return this.xOffset+this.width/2},mY:function(){return this.yOffset+this.height/2}}}_createAnimationObjectWithTabIndexRemoval(t,e){return{step:function(i,r){try{t.bind(this)(i,r)}catch(a){throw C()(this).stop(!0,!1),a}},duration:e||u.DEFAULT_ANIMATION_DURATION,complete:function(){C()(this).removeAttr("tabindex")}}}_addClipping(t){let e=this.$svg.appendSVG("clipPath");e[0].id=this.clipId;let i=this.$svg.appendSVG("mask");i.appendSVG("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("fill","white"),i[0].id=this.maskId,this.chart.$container.find("."+t).each(function(r){this.id="ClipMask-"+h.ObjectFactory.get().createUniqueId(),e.appendSVG("use").attrXLINK("href","#"+this.id),i.appendSVG("use").attrXLINK("href","#"+this.id)})}_renderWireLegend(t,e,i,r){if(!this.chart.config.options.plugins.tooltip.enabled)return{detachFunc:()=>{},attachFunc:()=>{},removeFunc:()=>{}};let a={},s=5,l,d=0,o=17,c=o;r&&(l=this.$svg.appendSVG("rect","wire-legend-background-box").attr("opacity","1"));let p=e,f,m=0,_=0;if(p.h===-1?_=p.x2-2*s:_=this.width-p.x2-2*s,Array.isArray(t))for(let g=0;g<t.length;g++){let v=t.length-g-1,A=p.y2+p.v*s-o*v-s*v,B=this._renderLineLabel(p.x2+s,A,h.strings.truncateText(t[g],_,this._measureText.bind(this)),"",r);B.addClass(i),m=Math.max(m,B[0].getComputedTextLength()),g===0?f=B:f.data("lines")?f.data("lines").push(B):f.data("lines",[B])}else f=this._renderLineLabel(p.x2+s,p.y2+p.v*s,h.strings.truncateText(t,_,this._measureText.bind(this)),"",r),f.addClass(i),m=f[0].getComputedTextLength();if(d=m+2*s,e.autoPosition&&(p=e.posFunc.call(this,d,c),f.attr("x",p.x2+s),f.attr("y",p.y2+p.v*s)),p.h===-1?(f.attr("x",p.x2-s-m),f.css("text-anchor","left"),f.data("lines")&&f.data("lines").forEach(g=>{g.attr("x",p.x2-s-m),g.css("text-anchor","left")})):(f.attr("x",p.x2+s),f.css("text-anchor","right"),f.data("lines")&&f.data("lines").forEach(g=>{g.attr("x",p.x2+s),g.css("text-anchor","right")})),p.v===1)f.data("lines")&&f.data("lines").forEach((g,v)=>{g.attr("y",p.x2-s-m);let A=1+v;g.attr("y",p.y2+p.v*s+o*A+s*(A+1))}),f.attr("dy","0.7em");else if(f.data("lines")){let g=f.data("lines").length;f.attr("y",p.y2+p.v*s-o*g-s*g),f.data("lines").forEach((v,A)=>{g=f.data("lines").length-1-A,v.attr("y",p.y2+p.v*s-o*g-s*g)})}f.add(f.data("lines")).each((g,v)=>{let A=C()(v),B=A.data("$background");B&&(B.attr("x",A.attr("x")),B.attr("y",A.attr("y")),B.css("text-anchor",A.css("text-anchor")),B.attr("dy",A.attr("dy")))});let b=[];p.x1>0&&p.y1>0&&(b.push(this._renderLine(p.x1,p.y1,p.x2,p.y2,"label-line")),b.push(this._renderLine(p.x2,p.y2,p.x2+p.h*(m+2*s),p.y2,"label-line"))),f.data("wires",b);let y=this.$svg;return a.detachFunc=()=>{f.data("wires").forEach(g=>{g.detach()}),f.data("lines")&&f.data("lines").forEach(g=>{g.data("$background")&&y.append(g.data("$background")),g.detach()}),f.data("$background")&&f.data("$background").remove(),f.detach()},a.attachFunc=()=>{y.append(f),f.data("$background")&&y.append(f.data("$background")),y.append(f.data("wires")),f.data("lines")&&f.data("lines").forEach(g=>{y.append(g),g.data("$background")&&y.append(g.data("$background"))})},a.removeFunc=()=>{f.data("wires").forEach(g=>{g.remove()}),f.data("lines")&&f.data("lines").forEach(g=>{g.data("$background")&&g.data("$background").remove(),g().remove()}),f.data("$background")&&f.data("$background").remove(),f.remove()},a.$field=f,a}}I(P,"FONT_SIZE_SMALLEST","smallestFont"),I(P,"FONT_SIZE_SMALL","smallFont"),I(P,"FONT_SIZE_MIDDLE","middleFont"),I(P,"FONT_SIZE_BIG","bigFont");const R=Chart,Xt=ChartDataLabels;var ht=E.n(Xt);function T(n,t,e){return t=Yt(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function Yt(n){var t=Jt(n,"string");return typeof t=="symbol"?t:String(t)}function Jt(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}R.Chart.register(ht()),C().extend(!0,R.Chart.defaults,{maintainAspectRatio:!1,elements:{line:{borderWidth:2},point:{radius:0,hitRadius:10,hoverRadius:7,hoverBorderWidth:2},arc:{borderWidth:1},bar:{borderWidth:1,borderSkipped:""}},plugins:{legend:{labels:{usePointStyle:!0,boxHeight:7}}}}),C().extend(!0,R.Chart.overrides,{line:{elements:{point:{borderWidth:2}}},scatter:{elements:{point:{radius:3}}}});let Rt=!1;const Kt=(1+Math.sqrt(5))/2;class G extends et{constructor(t){super(t),T(this,"chartJs",void 0),T(this,"onlyIntegers",void 0),T(this,"maxXAxesTicksHeight",void 0),T(this,"numSupportedColors",void 0),T(this,"colorSchemeCssClass",void 0),T(this,"minRadialChartDatalabelSpace",void 0),T(this,"resetDatasetAfterHover",void 0),T(this,"legendHoverDatasets",void 0),T(this,"removing",void 0),T(this,"$canvas",void 0),T(this,"_labelFormatter",void 0),T(this,"_xLabelFormatter",void 0),T(this,"_yLabelFormatter",void 0),T(this,"_xAxisFitter",void 0),T(this,"_yAxisFitter",void 0),T(this,"_radialChartDatalabelsDisplayHandler",void 0),T(this,"_radialChartDatalabelsFormatter",void 0),T(this,"_datalabelsFormatter",void 0),T(this,"_datalabelBackgroundColorHandler",void 0),T(this,"_legendLabelGenerator",void 0),T(this,"_clickHandler",void 0),T(this,"_hoverHandler",void 0),T(this,"_pointerHoverHandler",void 0),T(this,"_legendClickHandler",void 0),T(this,"_legendHoverHandler",void 0),T(this,"_legendPointerHoverHandler",void 0),T(this,"_legendLeaveHandler",void 0),T(this,"_legendPointerLeaveHandler",void 0),T(this,"_resizeHandler",void 0),T(this,"_tooltipTitleGenerator",void 0),T(this,"_tooltipItemsGenerator",void 0),T(this,"_tooltipLabelGenerator",void 0),T(this,"_tooltipLabelValueGenerator",void 0),T(this,"_tooltipLabelColorGenerator",void 0),T(this,"_tooltipRenderer",void 0),T(this,"_tooltip",void 0),T(this,"_tooltipTimeoutId",void 0),T(this,"_updatingDatalabels",void 0),this.chartJs=null,this.onlyIntegers=!0,this.maxXAxesTicksHeight=75,this.numSupportedColors=6,this.colorSchemeCssClass="",this.minRadialChartDatalabelSpace=25,this._labelFormatter=this._formatLabel.bind(this),this._xLabelFormatter=this._formatXLabel.bind(this),this._yLabelFormatter=this._formatYLabel.bind(this),this._xAxisFitter=this._fitXAxis.bind(this),this._yAxisFitter=this._fitYAxis.bind(this),this._radialChartDatalabelsDisplayHandler=this._displayDatalabelsOnRadialChart.bind(this),this._radialChartDatalabelsFormatter=this._formatDatalabelsOnRadialChart.bind(this),this._datalabelsFormatter=this._formatDatalabels.bind(this),this._datalabelBackgroundColorHandler=this._getBackgroundColorOfDataset.bind(this),this._legendLabelGenerator=this._generateLegendLabels.bind(this),this.resetDatasetAfterHover=!1,this._clickHandler=this._onClick.bind(this),this._hoverHandler=this._onHover.bind(this),this._pointerHoverHandler=this._onHoverPointer.bind(this),this.legendHoverDatasets=[],this._legendClickHandler=this._onLegendClick.bind(this),this._legendHoverHandler=this._onLegendHover.bind(this),this._legendPointerHoverHandler=this._onLegendHoverPointer.bind(this),this._legendLeaveHandler=this._onLegendLeave.bind(this),this._legendPointerLeaveHandler=this._onLegendLeavePointer.bind(this),this._resizeHandler=this._onResize.bind(this),this._tooltipTitleGenerator=this._generateTooltipTitle.bind(this),this._tooltipItemsGenerator=this._generateTooltipItems.bind(this),this._tooltipLabelGenerator=this._generateTooltipLabel.bind(this),this._tooltipLabelValueGenerator=this._generateTooltipLabelValue.bind(this),this._tooltipLabelColorGenerator=this._generateTooltipLabelColor.bind(this),this._tooltipRenderer=this._renderTooltip.bind(this),this._tooltip=null,this._tooltipTimeoutId=null}_validateChartData(){let t=!0,e=this.chart&&this.chart.data;if((!e||!e.chartValueGroups||e.chartValueGroups.length===0||!e.axes)&&(t=!1),t&&h.scout.isOneOf(this.chart.config.type,u.Type.POLAR_AREA,u.Type.RADAR)){let a,s=0;for(a=0;a<e.chartValueGroups.length;a++){let l=e.chartValueGroups[a];l.values||(t=!1),a===0?s=l.values.length:l.values.length!==s&&(t=!1)}for(a=0;a<e.axes.length;a++)e.axes[a].length!==s&&(t=!1)}if(t)return!0;let i=!0,r=this.chart&&this.chart.config;if((!r||!r.data||!r.data.datasets||r.data.datasets.length===0)&&(i=!1),i&&h.scout.isOneOf(r.type,u.Type.POLAR_AREA,u.Type.RADAR)){let a,s=0;for(a=0;a<r.data.datasets.length;a++){let l=r.data.datasets[a];l.data||(i=!1),a===0?s=l.data.length:l.data.length!==s&&(i=!1)}}return i}_render(){this.$canvas||(this.$canvas=this.chart.$container.appendElement("<canvas>")),this.firstOpaqueBackgroundColor=h.styles.getFirstOpaqueBackgroundColor(this.$canvas),Rt||(R.Chart.defaults.font.family=this.$canvas.css("font-family"),Rt=!0);let t=C().extend(!0,{},this.chart.config);this._adjustConfig(t),this._renderChart(t,!0)}_renderChart(t,e){this.chartJs&&this.chartJs.destroy(),t=C().extend(!0,{},t,{options:{animation:{}}},t),t.options.animation.duration=e?this.animationDuration:0,this.chartJs=new R.Chart(this.$canvas[0].getContext("2d"),t),this._adjustSize(this.chartJs.config,this.chartJs.chartArea),this.chartJs.update()}_updateData(){if(!this.chartJs)return;let t=C().extend(!0,{},this.chart.config);this._adjustConfig(t);let e=this.chartJs.config.data,i=t.data,r=(o,c,p,f)=>{if(!o||!c||!p)return;if(!c[p]){let b=o[p];(b||f)&&(c[p]=b);return}if(!o[p]){if(f){c[p]=void 0;return}if(Array.isArray(c[p])){c[p].splice(0,c[p].length);return}c[p]=void 0;return}if(!Array.isArray(o[p])||!Array.isArray(c[p])){c[p]=o[p];return}for(let b=0;b<Math.min(o[p].length,c[p].length);b++)c[p][b]=o[p][b];let m=c[p].length,_=o[p].length;m>_?c[p].splice(_,m-_):m<_&&c[p].push(...o[p].splice(m))},a=(o,c)=>h.arrays.find(o,p=>p.datasetId===c),s=(o,c)=>h.arrays.findIndex(o,p=>p.datasetId===c);if(e&&i){r(i,e,"labels"),e.datasets||(e.datasets=[]),i.datasets||(i.datasets=[]),i.datasets.every(o=>h.objects.isNullOrUndefined(o.datasetId))&&(i.datasets.forEach((o,c)=>{o.datasetId=""+c}),e.datasets.forEach((o,c)=>{o.datasetId=""+c})),e.datasets.forEach(o=>{let c=a(i.datasets,o.datasetId);c&&(o.label=c.label,o.type=c.type,r(c,o,"data"),r(c,o,"backgroundColor",!0),r(c,o,"borderColor",!0),r(c,o,"hoverBackgroundColor",!0),r(c,o,"hoverBorderColor",!0),r(c,o,"legendColor",!0),r(c,o,"pointBackgroundColor",!0),r(c,o,"pointHoverBackgroundColor",!0),r(c,o,"pointBorderColor",!0),r(c,o,"pointHoverBorderColor",!0),r(c,o,"uncheckedBackgroundColor",!0),r(c,o,"uncheckedHoverBackgroundColor",!0),r(c,o,"checkedBackgroundColor",!0),r(c,o,"checkedHoverBackgroundColor",!0),r(c,o,"uncheckedPointBackgroundColor",!0),r(c,o,"uncheckedPointHoverBackgroundColor",!0),r(c,o,"checkedPointBackgroundColor",!0),r(c,o,"checkedPointHoverBackgroundColor",!0),r(c,o,"lineTension",!0),r(c,o,"pointRadius",!0),r(c,o,"uncheckedPointRadius",!0),r(c,o,"checkedPointRadius",!0),this._adjustDatasetBorderWidths(o))});for(let o=e.datasets.length-1;o>=0;o--){let c=e.datasets[o].datasetId;(h.objects.isNullOrUndefined(c)||s(i.datasets,c)===-1)&&e.datasets.splice(o,1)}e.datasets.sort((o,c)=>s(i.datasets,o.datasetId)-s(i.datasets,c.datasetId)),i.datasets.forEach((o,c)=>{let p=e.datasets[c];p&&p.datasetId&&o.datasetId===p.datasetId||e.datasets.splice(c,0,o)})}else this.chartJs.config.data=i;r(t.options,this.chartJs.config.options,"xLabelMap",!0),r(t.options,this.chartJs.config.options,"yLabelMap",!0),C().extend(!0,this.chartJs.config,{options:{animation:{duration:this.animationDuration}}});let l=this.chartJs.config.options.scales||{};[l.x||{},l.y||{},l.yDiffType||{},l.r||{}].forEach(o=>{(o.ticks||{}).stepSize=void 0}),this.chartJs.update(),this._adjustSize(this.chartJs.config,this.chartJs.chartArea),this.chartJs.update()}isDataUpdatable(){return!0}refresh(){this.chartJs?this.chartJs.update():super.refresh()}_renderCheckedItems(){this.chartJs&&this._checkItems(this.chartJs.config)&&this.chartJs.update()}_checkItems(t){if(!t||!t.data)return!1;let e=(r,a,s)=>{if(Array.isArray(r)&&Array.isArray(a)){let l=0;return h.arrays.ensure(s).filter(d=>!isNaN(d)&&d<Math.min(r.length,a.length)).forEach(d=>{r[d]!==a[d]&&(r[d]=a[d],l++)}),l}return 0},i=0;return t.data.datasets.forEach((r,a)=>{let s=this.chart.checkedItems.filter(d=>d.datasetIndex===a).map(d=>d.dataIndex),l=h.arrays.init(r.data.length,null).map((d,o)=>o);h.arrays.removeAll(l,s),i=i+e(r.backgroundColor,r.checkedBackgroundColor,s)+e(r.hoverBackgroundColor,r.checkedHoverBackgroundColor,s)+e(r.pointBackgroundColor,r.checkedPointBackgroundColor,s)+e(r.pointHoverBackgroundColor,r.checkedPointHoverBackgroundColor,s)+e(r.pointRadius,r.checkedPointRadius,s)+e(r.backgroundColor,r.uncheckedBackgroundColor,l)+e(r.hoverBackgroundColor,r.uncheckedHoverBackgroundColor,l)+e(r.pointBackgroundColor,r.uncheckedPointBackgroundColor,l)+e(r.pointHoverBackgroundColor,r.uncheckedPointHoverBackgroundColor,l)+e(r.pointRadius,r.uncheckedPointRadius,l),this._adjustDatasetBorderWidths(r)}),0<i}stopAnimations(){this.chartJs&&this.chartJs.stop()}_adjustConfig(t){!t||!t.type||(this._adjustType(t),this.chart.data&&this._computeDatasets(this.chart.data,t),this._adjustData(t),this._adjustTooltip(t),this._adjustGrid(t),this._adjustPlugins(t),this._adjustColors(t),this._adjustClickHandler(t),this._adjustResizeHandler(t))}_adjustType(t){if(t.type===u.Type.COMBO_BAR_LINE){t.type=u.Type.BAR;let e=(t.options||{}).scaleLabelByTypeMap;e&&(e[u.Type.BAR]=e[u.Type.COMBO_BAR_LINE])}else this._isHorizontalBar(t)&&(t.type=u.Type.BAR,t.options=C().extend(!0,{},t.options,{indexAxis:"y"}))}_computeDatasets(t,e){let i=[],r=[],a=(l,d)=>{C().isEmptyObject(d)||(e.options[l]=d)};(t.axes[0]||[]).forEach(l=>i.push(l.label));let s=this._isHorizontalBar(e);a(s?"yLabelMap":"xLabelMap",this._computeLabelMap(t.axes[0])),a(s?"xLabelMap":"yLabelMap",this._computeLabelMap(t.axes[1])),t.chartValueGroups.forEach(l=>r.push({type:l.type,label:l.groupName,data:C().extend(!0,[],l.values)})),e.data={labels:i,datasets:r}}_isHorizontalBar(t){return t&&(t.type===u.Type.BAR_HORIZONTAL||t.type===u.Type.BAR&&t.options&&t.options.indexAxis==="y")}_computeLabelMap(t){let e={};return(t||[]).forEach((i,r)=>{e[r]=i.label}),e}_adjustData(t){!t||!t.data||!t.type||(this._adjustBarBorderWidth(t),this._adjustMaxSegments(t),this._adjustBubbleRadii(t),this._adjustOnlyIntegers(t))}_adjustBarBorderWidth(t){!t||!t.data||!t.type||!h.scout.isOneOf(t.type,u.Type.BAR)||t.data.datasets.forEach(e=>{(e.type||u.Type.BAR)===u.Type.BAR&&(e.borderWidth=e.borderWidth||1,e.hoverBorderWidth=e.hoverBorderWidth||2,this._adjustDatasetBorderWidths(e))})}_adjustDatasetBorderWidths(t){this._adjustDatasetBorderWidth(t),this._adjustDatasetBorderWidth(t,!0)}_adjustDatasetBorderWidth(t,e){if(!t)return;let i=e?"hoverBorderWidth":"borderWidth",r=e?"hoverBorderWidthBackup":"borderWidthBackup",a=e?"hoverBackgroundColor":"backgroundColor",s=e?"hoverBorderColor":"borderColor";if(t[r]&&(t[i]=t[r],delete t[r]),!t[i]||h.objects.isFunction(t[i]))return;let l=Array.isArray(t[i]),d=Array.isArray(t[a]),o=Array.isArray(t[s]);if(!(l||d||o)&&t[a]===t[s]){t[r]=t[i],t[i]=0;return}let p=(t.data||[]).length;l?t[i].length<p&&t[i].push(...h.arrays.init(p-t[i].length,t[i][0])):t[i]=h.arrays.init(p,t[i]);let f=t[i],m=f.length,_=h.arrays.init(m,null);for(let b=0;b<m;b++){let y=d?t[a][b]:t[a],g=o?t[s][b]:t[s];_[b]=f[b],y===g&&(f[b]=0)}h.arrays.equals(f,_)||(t[r]=_)}_adjustMaxSegments(t){if(!t||!t.data||!t.type||!h.scout.isOneOf(t.type,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA,u.Type.RADAR))return;let e=t.options.maxSegments;if(!(e&&t.data.datasets.length&&e<t.data.datasets[0].data.length))return;t.data.datasets.forEach(r=>{let a=r.data.slice(0,e);a[e-1]=r.data.slice(e-1,r.data.length).reduce((s,l)=>s+l,0),r.data=a});let i=t.data.labels.slice(0,e);i[e-1]=this.chart.session.text("ui.OtherValues"),t.data.labels=i,t.data.maxSegmentsExceeded=!0}_isMaxSegmentsExceeded(t,e){return!h.scout.isOneOf(t.type,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA,u.Type.RADAR)||t.options.otherSegmentClickable||!t.data.maxSegmentsExceeded||!t.options.maxSegments?!1:t.options.maxSegments-1<=e}_adjustBubbleRadii(t){!t||!t.data||!t.type||t.type!==u.Type.BUBBLE||t.data.datasets.forEach(e=>e.data.forEach(i=>{isNaN(i.r)||(i.z=Math.pow(i.r,2)),i.r=1}))}_adjustOnlyIntegers(t){this.onlyIntegers=!0,!(!t||!t.data||!t.type)&&(h.scout.isOneOf(t.type,u.Type.BUBBLE,u.Type.SCATTER)?this.onlyIntegers=t.data.datasets.every(e=>e.data.every(i=>h.numbers.isInteger(i.x)&&h.numbers.isInteger(i.y))):this.onlyIntegers=t.data.datasets.every(e=>e.data.every(i=>h.numbers.isInteger(i))))}_adjustTooltip(t){if(!t)return;t.options=C().extend(!0,{},{plugins:{tooltip:{callbacks:{title:this._tooltipTitleGenerator,items:this._tooltipItemsGenerator,label:this._tooltipLabelGenerator,labelValue:this._tooltipLabelValueGenerator,labelColor:this._tooltipLabelColorGenerator}}}},t.options);let e=t.options.plugins.tooltip;!e.enabled||(e.enabled=!1,e.external=this._tooltipRenderer)}_generateTooltipTitle(t){if(!t||!t.length)return"";let e=t[0],i=e.chart,r=i.config,a=e.dataset,s=[];if(h.scout.isOneOf(r.type,u.Type.BUBBLE)){let l=r.options.scales.x,d=r.options.scales.y,o=this._getAxisLabels(r),c=l.ticks.callback(a.data[e.dataIndex].x,null,null);c&&s.push(this._createTooltipAttribute(o.x,h.strings.encode(c),!0));let p=d.ticks.callback(a.data[e.dataIndex].y,null,null);p&&s.push(this._createTooltipAttribute(o.y,h.strings.encode(p),!0))}else if(!h.scout.isOneOf(r.type,u.Type.SCATTER)){let l=i.data.labels[e.dataIndex];s.push(this._createTooltipAttribute(r.options.reformatLabels?this._formatLabel(l):l,"",!0))}return s}_getAxisLabels(t){let e=t.options.scales.x.title.text,i=t.options.scales.y.title.text;return e=this._resolveAxisLabel(e,G.ARROW_LEFT_RIGHT),i=this._resolveAxisLabel(i,"&nbsp;"+G.ARROW_UP_DOWN+"&nbsp;"),{x:e,y:i}}_resolveAxisLabel(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return h.objects.isFunction(t)&&(t=t(),t=h.objects.isString(t)?t:""),t?h.strings.encode(t):e}_generateTooltipItems(t,e,i,r){if(!t||!t.length)return"";let a=t[0],s=a.chart,l=s.config,d=!1,o=!1,c="";if(t.forEach(p=>{let{label:f,labelValue:m,labelColor:_}=this._getItemDetails(p,e,i,r);if(h.scout.isOneOf(l.type,u.Type.SCATTER)){let{x:b,y}=m;d||(d=h.objects.isString(b)),o||(o=h.objects.isString(y)),c+=this._createTooltipScatterAttribute(f,b,y,!1,_)}else c+=this._createTooltipAttribute(f,m,!1,_)}),h.scout.isOneOf(l.type,u.Type.SCATTER)){let p="<table><tbody>",f=this._getAxisLabels(l);p+=this._createTooltipScatterAttribute("",d?f.x:"",o?f.y:"",!0);let m="</tbody></table>";c=h.strings.box(p,c,m)}return c}_getItemDetails(t,e,i,r){let a,s,l;return h.objects.isFunction(e)&&(a=e(t),a=h.objects.isString(a)?a:""),h.objects.isFunction(i)&&(s=i(t),s=h.objects.isString(s)||h.objects.isPlainObject(s)?s:""),h.objects.isFunction(r)&&(l=r(t),l=h.objects.isPlainObject(l)&&l.backgroundColor||""),{label:a,labelValue:s,labelColor:l}}_generateTooltipLabel(t){return h.strings.encode(t.dataset.label)}_generateTooltipLabelValue(t){let e=t.chart.config,i=t.dataset;return e.type===u.Type.BUBBLE?h.strings.encode(this._formatLabel(i.data[t.dataIndex].z)):e.type===u.Type.SCATTER?{x:h.strings.encode(this._formatLabel(i.data[t.dataIndex].x)),y:h.strings.encode(this._formatLabel(i.data[t.dataIndex].y))}:h.strings.encode(this._formatLabel(i.data[t.dataIndex]))}_generateTooltipLabelColor(t){let e=t.chart.config,i=t.dataset,r,a,s,l;h.scout.isOneOf(i.type||e.type,u.Type.LINE,u.Type.BAR,u.Type.BAR_HORIZONTAL,u.Type.RADAR,u.Type.BUBBLE,u.Type.SCATTER)&&(s=i.borderColor,r=i.legendColor,l=t.datasetIndex),h.scout.isOneOf(e.type,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA)&&(r=Array.isArray(i.legendColor)?i.legendColor[t.dataIndex]:i.legendColor,a=Array.isArray(i.backgroundColor)?i.backgroundColor[t.dataIndex]:i.backgroundColor,a=this._adjustColorOpacity(a,1),l=t.dataIndex),h.objects.isFunction(r)&&(r=r.call(t.chart,l));let d=r||a||s;if(!d||h.objects.isFunction(d)){let o;R.Chart.overrides[e.type]&&R.Chart.overrides[e.type].plugins&&R.Chart.overrides[e.type].plugins.tooltip&&R.Chart.overrides[e.type].plugins.tooltip.callbacks&&(o=R.Chart.overrides[e.type].plugins.tooltip.callbacks.labelColor),d=(o||R.Chart.defaults.plugins.tooltip.callbacks.labelColor).call(t.chart,t).backgroundColor}return{backgroundColor:d}}_createTooltipAttribute(t,e,i,r){return'<div class="'+(i?"attribute title":"attribute")+'">'+(r?'<div class="color" style="background-color:'+r+'"></div>':"")+(t?"<label>"+t+"</label>":"")+(e?'<div class="value">'+e+"</div>":"")+"</div>"}_createTooltipScatterAttribute(t,e,i,r,a){return'<tr class="'+(r?"attribute title":"attribute")+'"><td class="color-cell">'+(a?'<div class="color" style="background-color:'+a+'"></div>':"")+'</td><td class="label">'+t+"</td>"+(e?'<td class="value">'+e+"</td>":"")+(i?'<td class="value">'+i+"</td>":"")+"</tr>"}_renderTooltip(t){if(t.tooltip.opacity===0||t.tooltip.dataPoints.length<1){this._tooltipTimeoutId&&(clearTimeout(this._tooltipTimeoutId),this._tooltipTimeoutId=void 0),this._tooltip&&(this._tooltip.destroy(),this._tooltip=null);return}!!this._tooltip?this._renderTooltipLater(t):this._tooltipTimeoutId=setTimeout(()=>this._renderTooltipLater(t),h.tooltips.DEFAULT_TOOLTIP_DELAY)}_renderTooltipLater(t){if(!this.rendered||this.removing)return;let e=t.tooltip,i=e.dataPoints;if(i.length<1)return;let r=i[0];if(!r.chart.getDatasetMeta(r.datasetIndex).data[r.dataIndex])return;this._tooltip&&(this._tooltip.destroy(),this._tooltip=null);let s=e.options||{},l=s.callbacks||{},d=l.title,o=l.items,c=l.label,p=l.labelValue,f=l.labelColor,m="";h.objects.isFunction(d)&&(m+=h.arrays.ensure(d(i)).join("")),h.objects.isFunction(o)&&(m+=h.arrays.ensure(o(i,c,p,f)).join(""));let _=this._computeTooltipPositionAndOffset(r),b=h.graphics.offsetBounds(this.$canvas);b.x+=e.caretX+_.offsetX,b.y+=e.caretY+_.offsetY,b.height=_.height,this._tooltip=h.scout.create({objectType:h.Tooltip,parent:this.chart,$anchor:this.$canvas,text:m,htmlEnabled:!0,cssClass:h.strings.join(" ","chart-tooltip",s.cssClass),tooltipPosition:_.tooltipPosition,tooltipDirection:_.tooltipDirection,origin:b}),this._tooltip.render(),this._tooltip.$container.css("pointer-events","none");let y=!1,g=(s.titleFont||{}).family;g&&(this._tooltip.$container.css("--chart-tooltip-font-family",g),y=!0);let v=0;this._tooltip.$container.find("label").each((A,B)=>{v=Math.max(v,h.graphics.prefSize(C()(B)).width)}),v>0&&(this._tooltip.$container.css("--chart-tooltip-label-width",Math.min(v,120)+"px"),y=!0),y&&this._tooltip.position()}_computeTooltipPositionAndOffset(t){let e="top",i="right",r=0,a=0,s=0,l=t.chart,d=t.datasetIndex,o=t.dataIndex,c=l.config,p=c.data.datasets,f=p[d],m=f.data[o];if(this._isHorizontalBar(c))h.objects.isPlainObject(m)&&h.objects.isArray(m.x)&&m.x.length===2?i=(m.x[0]+m.x[1])/2<0?"left":"right":i=m<0?"left":"right";else if((f.type||c.type)===u.Type.BAR)e=m<0?"bottom":"top";else if(h.scout.isOneOf(c.type,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA)){let _=l.getDatasetMeta(d).data[o].getProps(["startAngle","endAngle"]),b=_.startAngle,y=_.endAngle,g=(b+y)/2;e=0<=g&&g<Math.PI?"bottom":"top",i=-Math.PI/2<=g&&g<Math.PI/2?"right":"left"}else if(c.type===u.Type.RADAR){let b=l.getDatasetMeta(d).data[o].getProps(["angle"]).angle;e=0<=b&&b<Math.PI?"bottom":"top",i=-Math.PI/2<=b&&b<Math.PI/2?"right":"left"}else if(h.scout.isOneOf(c.type,u.Type.BUBBLE,u.Type.SCATTER)){let _=l.getDatasetMeta(d).data[o],b=l.chartArea,y=b.left+b.width/2;i=_.x<y?"left":"right"}if(this._isHorizontalBar(c)){let _=l.getDatasetMeta(d).data[o].getProps(["height","width"]);s=_.height;let b=_.width,y=b/(Kt+1);a=-s/2,r=i==="left"?y:-y}else if(h.scout.isOneOf(c.type,u.Type.LINE,u.Type.BUBBLE,u.Type.SCATTER,u.Type.RADAR)||f.type===u.Type.LINE){let b=l.getDatasetMeta(d).data[o].options,y=b.hoverRadius+b.hoverBorderWidth;c.type===u.Type.BUBBLE&&(y+=m.r),s=2*y,a=-y}else if(h.scout.isOneOf(c.type,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA)){let _=l.getDatasetMeta(d).data[o].getProps(["startAngle","endAngle","innerRadius","outerRadius"]),b=_.startAngle,y=_.endAngle,g=(b+y)/2,v=_.innerRadius,A=_.outerRadius,B=(A-v)/2;r=B*Math.cos(g),a=B*Math.sin(g)}return{tooltipPosition:e,tooltipDirection:i,offsetX:r,offsetY:a,height:s}}_adjustGrid(t){!t||(t.options=C().extend(!0,{},t.options),this._adjustScalesR(t),this._adjustScalesXY(t))}_adjustScalesR(t){if(!t||!t.type||!t.options)return;h.scout.isOneOf(t.type,u.Type.POLAR_AREA,u.Type.RADAR)&&(t.options=C().extend(!0,{},{scales:{r:{}}},t.options));let e=t.options,i=e?e.scales:{};i&&i.r&&(i.r=C().extend(!0,{},{minSpaceBetweenTicks:35,beginAtZero:!0,angleLines:{display:!1},ticks:{callback:this._labelFormatter},pointLabels:{font:{size:R.Chart.defaults.font.size}}},i.r))}_adjustScalesXY(t){!t||!t.type||!t.options||(h.scout.isOneOf(t.type,u.Type.BAR,u.Type.LINE,u.Type.BUBBLE)?t.options=C().extend(!0,{},{scales:{x:{minSpaceBetweenTicks:150},y:{minSpaceBetweenTicks:35}}},t.options):h.scout.isOneOf(t.type,u.Type.SCATTER)&&(t.options=C().extend(!0,{},{scales:{x:{minSpaceBetweenTicks:35,ticks:{padding:10}},y:{minSpaceBetweenTicks:35,ticks:{padding:10}}}},t.options)),this._adjustXAxis(t),this._adjustYAxis(t))}_adjustXAxis(t){if(!t||!t.type||!t.options||!t.options.scales||!t.options.scales.x)return;let e=t.type,i=t.options.scales;this._isHorizontalBar(t)||h.scout.isOneOf(e,u.Type.BUBBLE,u.Type.SCATTER)?i.x=C().extend(!0,{},{beginAtZero:this._isHorizontalBar(t),offset:e===u.Type.BUBBLE,grid:{drawBorder:!1,drawTicks:!1},ticks:{padding:5}},i.x):i.x=C().extend(!0,{},{offset:!0,grid:{display:!1,drawBorder:!1}},i.x),(this._isHorizontalBar(t)||h.scout.isOneOf(e,u.Type.BUBBLE,u.Type.SCATTER)||t.options.reformatLabels)&&(i.x=C().extend(!0,{},{ticks:{callback:this._xLabelFormatter}},i.x)),i.x.afterCalculateLabelRotation=this._xAxisFitter}_adjustYAxis(t){if(!t||!t.type||!t.options||!t.options.scales||!t.options.scales.y)return;let e=t.type,i=t.options.scales;this._isHorizontalBar(t)?i.y=C().extend(!0,{},{grid:{display:!1,drawBorder:!1}},i.y):i.y=C().extend(!0,{},{beginAtZero:!h.scout.isOneOf(e,u.Type.BUBBLE,u.Type.SCATTER),grid:{drawBorder:!1,drawTicks:!1},ticks:{padding:5}},i.y),(!this._isHorizontalBar(t)||t.options.reformatLabels)&&(i.y=C().extend(!0,{},{ticks:{callback:this._yLabelFormatter}},i.y)),i.y.afterFit=this._yAxisFitter}_adjustPlugins(t){this._adjustPluginsDatalabels(t)}_adjustPluginsDatalabels(t){if(!t||!t.type||!t.options||!t.options.plugins||!t.options.plugins.datalabels||!t.options.plugins.datalabels.display)return;let e=t.options.plugins;if(h.scout.isOneOf(t.type,u.Type.PIE,u.Type.DOUGHNUT)){e.datalabels=C().extend(!0,{},{formatter:this._radialChartDatalabelsFormatter},e.datalabels),e.datalabels.display=this._radialChartDatalabelsDisplayHandler,this._updatingDatalabels=!1;let i=t.options.animation||{},r=i.onProgress,a=i.onComplete,s=d=>{if(this._updatingDatalabels)return;this._updatingDatalabels=!0;let o=d.chart,c=o.getSortedVisibleDatasetMetas(),p=[...o.getActiveElements()],f=[];c.forEach((m,_)=>{m.data.forEach((b,y)=>{let g=h.arrays.findIndex(p,v=>v.datasetIndex===_&&v.index===y);g>0?p.splice(g,1):f.push({datasetIndex:_,index:y,element:b})})}),o["$"+ht().id]._actives=f,ht().afterEvent(o,null,null),this._updatingDatalabels=!1},l=(d,o)=>{s(d),o&&o(d)};t.options.animation=C().extend(!0,{},t.options.animation,{onProgress:d=>l(d,r),onComplete:d=>l(d,a)})}else h.scout.isOneOf(t.type,u.Type.BAR,u.Type.LINE,u.Type.POLAR_AREA,u.Type.RADAR,u.Type.BUBBLE)?(e.datalabels=C().extend(!0,{},{backgroundColor:this._datalabelBackgroundColorHandler,borderRadius:3},e.datalabels),e.datalabels.display="auto"):h.scout.isOneOf(t.type,u.Type.SCATTER)&&(e.datalabels=C().extend(!0,{},{backgroundColor:this._datalabelBackgroundColorHandler,borderRadius:3,anchor:"end",align:"top",offset:3},e.datalabels),e.datalabels.display="auto");if(t.options.reformatLabels){let i=r=>(a,s)=>{let l=r.call(s.chart,a,s);return this._formatLabel(l)};t.data&&t.data.datasets.forEach(a=>{a.datalabels&&a.datalabels.formatter&&(a.datalabels.formatter=i(a.datalabels.formatter))}),e.datalabels.formatter&&(e.datalabels.formatter=i(e.datalabels.formatter))}e.datalabels=C().extend(!0,{},{formatter:this._datalabelsFormatter},e.datalabels)}_formatLabel(t){return this._formatLabelMap(t,null,this._getNumberFormatter())}_getNumberFormatter(){if(this.chartJs&&this.chartJs.config&&this.chartJs.config.options)return this.chartJs.config.options.numberFormatter}_formatXLabel(t){return this._formatLabelMap(t,this._getXLabelMap(),this._getNumberFormatter())}_formatYLabel(t){return this._formatLabelMap(t,this._getYLabelMap(),this._getNumberFormatter())}_getXLabelMap(){return this._getLabelMap("xLabelMap")}_getYLabelMap(){return this._getLabelMap("yLabelMap")}_getLabelMap(t){if(this.chartJs&&this.chartJs.config&&this.chartJs.config.options)return this.chartJs.config.options[t]}_formatLabelMap(t,e,i){return e?e[t]:isNaN(t)?""+t:i?i(t,this._formatNumberLabel.bind(this)):this._formatNumberLabel(t)}_formatNumberLabel(t){if(isNaN(t))return""+t;let e=Math.abs(t),i="";if(e>=1e6){e=e/1e6,i=" "+this.chart.session.text("ui.Mio");let r=[this.chart.session.text("ui.Mrd"),this.chart.session.text("ui.Bio"),this.chart.session.text("ui.Brd"),this.chart.session.text("ui.Tri"),this.chart.session.text("ui.Trd")];for(let a=0;a<r.length&&e>=1e3;a++)e=e/1e3,i=" "+r[a]}return this.session.locale.decimalFormat.format(Math.sign(t)*e)+i}_fitXAxis(t){if(!t||t.labelRotation===0)return;let e=this.maxXAxesTicksHeight,i=R.Chart.defaults.font,r=R.Chart.defaults.scale.ticks,a=r.font||{},s,l;if(this.chartJs){let f=this.chartJs.chartArea,m=Math.abs(f.top-f.bottom);e=Math.min(e,m/3)}t.options&&t.options.ticks&&(l=t.options.ticks.maxRotation,s=(t.options.ticks.font||{}).size),l=l||r.maxRotation,s=s||a.size||i.size,isNaN(t.labelRotation)&&(t.labelRotation=l),t.height=isNaN(t.height)?e:Math.min(t.height,e);let d=t.labelRotation,o=(e-s*Math.sin((90-d)/180*Math.PI))/Math.sin(d/180*Math.PI);if(((t._labelSizes||{}).widest||{}).width>o){let f=t.ctx.measureText.bind(t.ctx);t.ticks.forEach(m=>{m.label=h.strings.truncateText(m.label,o,f)}),t._labelSizes=void 0}}_fitYAxis(t){if(!t)return;let e=0,i=0;if(t.options&&t.options.ticks&&(e=t.options.ticks.padding||0),t.options&&t.options.grid&&(i=t.options.grid.tickLength||0),((t._labelSizes||{}).widest||{}).width>t.maxWidth-e){let s=t.maxWidth-e-i,l=t.ctx.measureText.bind(t.ctx);t.ticks.forEach(d=>{d.label=h.strings.truncateText(d.label,s,l)})}}_displayDatalabelsOnRadialChart(t){let e=t.chart.getDatasetMeta(t.datasetIndex).data[t.dataIndex].getProps(["startAngle","endAngle","innerRadius","outerRadius"]),i=(e.outerRadius+e.innerRadius)/2,r=Math.min(e.endAngle-e.startAngle,Math.PI)/2,a=Math.abs(Math.sin(r))*i,s=a*2,l=e.outerRadius-e.innerRadius;return Math.min(s,l)>this.minRadialChartDatalabelSpace}_formatDatalabelsOnRadialChart(t,e){let i=this._computeSumOfVisibleElements(e),r=e.dataset,a=0,s=[];for(let l=0;l<e.dataIndex+1;l++){let d=r.data[l]/i*100-a,o=Math.round(d);a=o-d,s.push(o+"%")}return s[e.dataIndex]}_computeSumOfVisibleElements(t){let e=t.dataset,i=t.chart,r=0;for(let a=0;a<e.data.length;a++)i.getDataVisibility(a)&&(r+=e.data[a]);return r}_formatDatalabels(t,e){let i=e.chart.config;return i.type===u.Type.BUBBLE?this._formatLabel(t.z):i.type===u.Type.SCATTER?h.strings.join(" / ",this._formatLabel(t.x),this._formatLabel(t.y)):this._formatLabel(t)}_getBackgroundColorOfDataset(t){return t.dataset.backgroundColor}_adjustColors(t){this._adjustColorSchemeCssClass(t),this._adjustDatasetColors(t),this._adjustLegendColors(t),this._adjustScalesRColors(t),this._adjustScalesXYColors(t),this._adjustPluginColors(t)}_adjustColorSchemeCssClass(t){!t||!t.options||(this.colorSchemeCssClass=h.colorSchemes.getCssClasses(t.options.colorScheme).join(" "))}_adjustDatasetColors(t){if(!t||!t.data||!t.type)return;let e=t.data,i=t.type,r=t.options&&t.options.autoColor,a=t.options&&t.options.checkable,s=r&&h.scout.isOneOf(i,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA),l={backgroundColors:[],borderColors:[],hoverBackgroundColors:[],hoverBorderColors:[],checkedBackgroundColors:[],checkedHoverBackgroundColors:[],legendColors:[],pointHoverColors:[]};l=C().extend(!0,l,this._computeDatasetColors(t,s)),e.datasets.forEach((d,o)=>{let c=s?l.backgroundColors:l.backgroundColors[o],p=s?l.borderColors:l.borderColors[o],f=s?l.hoverBackgroundColors:l.hoverBackgroundColors[o],m=s?l.hoverBorderColors:l.hoverBorderColors[o],_=s?l.legendColors:l.legendColors[o],b=s?l.pointHoverColors:l.legendColors[o],y=(g,v)=>{typeof d[g]!="function"&&v&&v.length&&(d[g]=Array.isArray(v)?[...v]:v)};if(y("backgroundColor",c),y("borderColor",p),y("hoverBackgroundColor",f),y("hoverBorderColor",m),y("legendColor",_),(h.scout.isOneOf(i,u.Type.LINE,u.Type.RADAR)||i===u.Type.BAR&&d.type===u.Type.LINE)&&(y("pointHoverBackgroundColor",b),y("pointBorderColor",this.firstOpaqueBackgroundColor),y("pointHoverBorderColor",this.firstOpaqueBackgroundColor)),a){let g=d.data.length;if(h.scout.isOneOf(i,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA,u.Type.BUBBLE,u.Type.SCATTER)||i===u.Type.BAR&&(d.type||u.Type.BAR)===u.Type.BAR){let v=s?l.backgroundColors:h.arrays.init(g,l.backgroundColors[o]),A=s?l.hoverBackgroundColors:h.arrays.init(g,l.hoverBackgroundColors[o]),B=s?l.checkedBackgroundColors:h.arrays.init(g,l.checkedBackgroundColors[o]),j=s?l.checkedHoverBackgroundColors:h.arrays.init(g,l.checkedHoverBackgroundColors[o]);y("uncheckedBackgroundColor",v),y("uncheckedHoverBackgroundColor",A),y("checkedBackgroundColor",B),y("checkedHoverBackgroundColor",j),y("backgroundColor",d.uncheckedBackgroundColor),y("hoverBackgroundColor",d.uncheckedHoverBackgroundColor)}else if(h.scout.isOneOf(i,u.Type.LINE,u.Type.RADAR)||i===u.Type.BAR&&d.type===u.Type.LINE){let v=h.arrays.init(g,b),A=h.arrays.init(g,b),B=h.arrays.init(g,p),j=h.arrays.init(g,m||p);y("uncheckedPointBackgroundColor",v),y("uncheckedPointHoverBackgroundColor",A),y("checkedPointBackgroundColor",B),y("checkedPointHoverBackgroundColor",j),y("pointBackgroundColor",d.uncheckedPointBackgroundColor),y("pointHoverBackgroundColor",d.uncheckedPointHoverBackgroundColor);let at=h.arrays.init(g,((t.options.elements||{}).point||{}).radius||R.Chart.defaults.elements.point.radius),st=h.arrays.init(g,(((t.options.elements||{}).point||{}).hoverRadius||R.Chart.defaults.elements.point.hoverRadius)-1);y("uncheckedPointRadius",at),y("checkedPointRadius",st),y("pointRadius",d.uncheckedPointRadius)}}this._adjustDatasetBorderWidths(d)}),a&&this._checkItems(t)}_computeDatasetColors(t,e){if(!t||!t.data||!t.type)return{};let i=t.data,r=t.type,a={};if(t.options&&t.options.autoColor)a=this._computeDatasetColorsAutoColor(t,e);else if(a=this._computeDatasetColorsChartValueGroups(t,e),h.scout.isOneOf(r,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA)){let s=this._computeBorderColor(r,0);a.borderColors=h.arrays.init(i.datasets.length,s),a.hoverBorderColors=a.borderColors}return a}_computeDatasetColorsAutoColor(t,e){if(!t||!t.data||!t.type||!t.options||!t.options.autoColor)return{};let i=t.data,r=t.type,a=t.options&&t.options.checkable,s=t.options&&t.options.transparent,l={backgroundColors:[],borderColors:[],hoverBackgroundColors:[],hoverBorderColors:[],checkedBackgroundColors:[],checkedHoverBackgroundColors:[],legendColors:[],pointHoverColors:[]},d=[];return e?d=h.arrays.init(i.datasets.length&&i.datasets[0].data.length||0,r):i.datasets.forEach(o=>d.push(o.type||r)),d.forEach((o,c)=>{l.backgroundColors.push(this._computeBackgroundColor(o,c,a||s)),l.borderColors.push(this._computeBorderColor(o,c)),l.hoverBackgroundColors.push(this._computeHoverBackgroundColor(o,c,a||s)),l.hoverBorderColors.push(this._computeHoverBorderColor(o,c)),l.checkedBackgroundColors.push(this._computeCheckedBackgroundColor(o,c,a)),l.checkedHoverBackgroundColors.push(this._computeCheckedHoverBackgroundColor(o,c,a)),l.legendColors.push(this._computeLegendColor(o,c)),l.pointHoverColors.push(this._computePointHoverColor(o,c))}),l}_computeBackgroundColor(t,e,i){return h.styles.get([this.colorSchemeCssClass,t+"-chart"+(i?" checkable":""),"elements","color"+e%this.numSupportedColors],"fill").fill}_computeBorderColor(t,e){let i;return h.scout.isOneOf(t,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA)&&(i={stroke:this.firstOpaqueBackgroundColor}),h.styles.get([this.colorSchemeCssClass,t+"-chart","elements","stroke-color"+e%this.numSupportedColors],"stroke",i).stroke}_computeHoverBackgroundColor(t,e,i){return h.styles.get([this.colorSchemeCssClass,t+"-chart"+(i?" checkable":""),"elements","color"+e%this.numSupportedColors+" hover"],"fill").fill}_computeHoverBorderColor(t,e){let i;return h.scout.isOneOf(t,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA)&&(i={stroke:this.firstOpaqueBackgroundColor}),h.styles.get([this.colorSchemeCssClass,t+"-chart","elements","stroke-color"+e%this.numSupportedColors+" hover"],"stroke",i).stroke}_computeCheckedBackgroundColor(t,e,i){return h.styles.get([this.colorSchemeCssClass,t+"-chart"+(i?" checkable":""),"elements","color"+e%this.numSupportedColors+" checked"],"fill").fill}_computeCheckedHoverBackgroundColor(t,e,i){return h.styles.get([this.colorSchemeCssClass,t+"-chart"+(i?" checkable":""),"elements","color"+e%this.numSupportedColors+" hover checked"],"fill").fill}_computeLegendColor(t,e){return h.styles.get([this.colorSchemeCssClass,t+"-chart","elements","color"+e%this.numSupportedColors+" legend"],"fill").fill}_computePointHoverColor(t,e){return h.styles.get([this.colorSchemeCssClass,t+"-chart","elements","color"+e%this.numSupportedColors+" point hover"],"fill").fill}_computeDatasetColorsChartValueGroups(t,e){if(!t||!t.type||!this.chart.data)return{};let i=t.type,r=t.options&&t.options.checkable,a=t.options&&t.options.transparent,s={backgroundColors:[],borderColors:[],hoverBackgroundColors:[],hoverBorderColors:[],checkedBackgroundColors:[],checkedHoverBackgroundColors:[],legendColors:[],pointHoverColors:[]};return this.chart.data.chartValueGroups.forEach(l=>{let d=h.styles.hexToRgb(l.colorHexValue),o=(B,j)=>this._adjustColorOpacity(h.styles.darkerColor(d,j),B),c=1,p=1,f=.1,m=.1,_=.2,b=.35,y=1,g=0,v=1,A=.1;h.scout.isOneOf(i,u.Type.PIE,u.Type.DOUGHNUT)?(_=.7,b=.85,g=.1,A=0):i===u.Type.POLAR_AREA?(c=.7,p=.85,_=.7,b=.85,g=.1,A=0):h.scout.isOneOf(l.type||i,u.Type.LINE,u.Type.RADAR)?(c=.2,p=.35,f=0,m=0,y=.2,v=.35,A=0):h.scout.isOneOf(i,u.Type.BUBBLE,u.Type.SCATTER)&&(c=.2,p=.35,f=0),s.backgroundColors.push(o(r||a?_:c,0)),s.borderColors.push(o(1,0)),s.hoverBackgroundColors.push(o(r||a?b:p,r||a?0:f)),s.hoverBorderColors.push(o(1,m)),s.checkedBackgroundColors.push(o(y,g)),s.checkedHoverBackgroundColors.push(o(v,A)),s.legendColors.push(o(1,0)),s.pointHoverColors.push(o(1,0))}),s.datalabelColor=this._computeDatalabelColor(i),s}_adjustColorOpacity(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return!t||typeof t=="function"?t:t.indexOf("rgb")===0?this._adjustRgbColorOpacity(t,e):t.indexOf("#")===0?this._adjustHexColorOpacity(t,e):t}_adjustRgbColorOpacity(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;if(!t||t.indexOf("rgb")!==0)return t;let i=h.styles.rgb(t);return i.alpha=e,"rgba("+i.red+", "+i.green+", "+i.blue+", "+i.alpha+")"}_adjustHexColorOpacity(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return!t||t.indexOf("#")!==0||!(t.length===4||t.length===5||t.length===7||t.length===9)?t:this._adjustRgbColorOpacity(h.styles.hexToRgb(t),e)}_adjustLegendColors(t){!t||!t.type||!t.options||(t.options=C().extend(!0,{},t.options,{plugins:{legend:{labels:{color:this._computeLabelColor(t.type),generateLabels:this._legendLabelGenerator}}}}))}_computeLabelColor(t){return h.styles.get([this.colorSchemeCssClass,t+"-chart","elements","label"],"fill").fill}_generateLegendLabels(t){let e=t.config,i;R.Chart.overrides[e.type]&&R.Chart.overrides[e.type].plugins&&R.Chart.overrides[e.type].plugins.legend&&R.Chart.overrides[e.type].plugins.legend.labels&&(i=R.Chart.overrides[e.type].plugins.legend.labels.generateLabels);let a=(i||R.Chart.defaults.plugins.legend.labels.generateLabels).call(t,t);if(this.removing)return a;let s=e.data,l=t.ctx.measureText.bind(t.ctx),d=t.legend,o=d.getProps(["width","maxWidth"]),c=((d||{}).options||{}).labels||{},p=c.boxWidth||0,f=c.padding||0,m;return h.scout.isOneOf(e.options.plugins.legend.position,u.Position.LEFT,u.Position.RIGHT)?((o.maxWidth||d.width)&&(m=Math.max((o.maxWidth||d.width)-p-2*f,0)),m=Math.min(250,m||0,this.$canvas.cssWidth()/3)):m=Math.min(250,this.$canvas.cssWidth()*2/3),a.forEach((_,b)=>{_.text=h.strings.truncateText(_.text,m,l);let y=s.datasets[b],g,v,A;y&&h.scout.isOneOf(y.type||e.type,u.Type.LINE,u.Type.BAR,u.Type.RADAR,u.Type.BUBBLE,u.Type.SCATTER)?(g=y.legendColor,v=this._adjustColorOpacity(y.borderColor,1)):s.datasets.length&&h.scout.isOneOf(e.type,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA)&&(y=s.datasets[0],g=Array.isArray(y.legendColor)?y.legendColor[b]:y.legendColor,A=Array.isArray(y.backgroundColor)?y.backgroundColor[b]:y.backgroundColor,A=this._adjustColorOpacity(A,1)),h.objects.isFunction(g)&&(g=g.call(t,b));let B=g||A||v;h.objects.isFunction(B)||(_.fillStyle=B,_.strokeStyle=B)}),a}_adjustScalesRColors(t){if(!t||!t.type||!t.options||!t.options.scales||!t.options.scales.r)return;let e=this._computeLabelColor(t.type),i=this._computeLabelBackdropColor(t.type),r=this._computeGridColor(t.type),a=this._computeScaleTicksColor(t.type);t.options.scales.r.ticks=C().extend(!0,{},t.options.scales.r.ticks,{color:a,backdropColor:i}),t.options.scales.r.pointLabels=C().extend(!0,{},t.options.scales.r.pointLabels,{color:e}),t.options.scales.r.grid=C().extend(!0,{},t.options.scales.r.grid,{color:r})}_computeLabelBackdropColor(t){return h.styles.get([this.colorSchemeCssClass,t+"-chart","elements","label-backdrop"],"fill",{fill:this.firstOpaqueBackgroundColor}).fill}_computeGridColor(t){return h.styles.get([this.colorSchemeCssClass,t+"-chart","elements","grid"],"fill").fill}_computeScaleTicksColor(t){return h.styles.get([this.colorSchemeCssClass,t+"-chart","elements","scale-ticks"],"fill").fill}_adjustScalesXYColors(t){if(!t||!t.type||!t.options||!t.options.scales)return;let e=[];if(t.options.scales.x&&e.push(t.options.scales.x),t.options.scales.y&&e.push(t.options.scales.y),!e.length)return;let i=this._computeLabelColor(t.type),r=this._computeGridColor(t.type),a=this._computeAxisLabelColor(t.type);e.forEach(s=>{s.grid=C().extend(!0,{},s.grid,{color:r}),s.ticks=C().extend(!0,{},s.ticks,{color:i}),s.title=C().extend(!0,{},s.title,{color:a})})}_computeAxisLabelColor(t){return h.styles.get([this.colorSchemeCssClass,t+"-chart","elements","axis-label"],"fill").fill}_adjustPluginColors(t){!t||!t.type||!t.options||!t.options.plugins||this._adjustPluginsDatalabelColors(t)}_adjustPluginsDatalabelColors(t){!t||!t.type||!t.options||!t.options.plugins||!t.options.plugins.datalabels||(t.options.plugins.datalabels=C().extend(!0,{},t.options.plugins.datalabels,{color:this._computeDatalabelColor(t.type)}))}_computeDatalabelColor(t){return h.styles.get([this.colorSchemeCssClass,t+"-chart","elements","datalabel"],"fill").fill}_adjustClickHandler(t){if(!t||!t.options||(t.options.clickable?(t.options.onClick=this._clickHandler,t.options.onHover=this._pointerHoverHandler):t.options.onHover=this._hoverHandler,!t.options.plugins||!t.options.plugins.legend))return;let e=t.options.plugins.legend;e.clickable?(e.onClick=this._legendClickHandler,e.onHover=this._legendPointerHoverHandler,e.onLeave=this._legendPointerLeaveHandler):(e.onClick=i=>i.native.stopPropagation(),e.onHover=this._legendHoverHandler,e.onLeave=this._legendLeaveHandler)}_onClick(t,e){if(!e.length)return;let i=this._selectRelevantItem(e);if(this._isMaxSegmentsExceeded(this.chartJs.config,i.index))return;let r=i.index,a=i.datasetIndex,s={datasetIndex:a,dataIndex:r};if(h.scout.isOneOf(this.chartJs.config.type,u.Type.BUBBLE,u.Type.SCATTER)){let l=this.chartJs.config.data.datasets[a].data[r];s.xIndex=l.x,s.yIndex=l.y}else s.xIndex=r;this.chart.handleValueClick(s,t.native)}_selectRelevantItem(t){let e=this.chartJs.config.data.datasets,i=t[0];return this.chartJs.config.type===u.Type.BUBBLE&&t.forEach(r=>{e[r.datasetIndex].data[r.index].z<=e[i.datasetIndex].data[i.index].z&&(i=r)}),i}_onHover(t,e){if(!this.chartJs.config||!this.chartJs.config.type)return;let i=this.chartJs.config,r=i.type;if(!h.scout.isOneOf(r,u.Type.LINE,u.Type.BAR,u.Type.RADAR))return;let a=!1;this.resetDatasetAfterHover&&(this._restoreBackgroundColor(),this.resetDatasetAfterHover=!1,a=!0),e.forEach(s=>{let l=i.data.datasets[s.datasetIndex];h.scout.isOneOf(l.type||r,u.Type.LINE,u.Type.RADAR)&&(this._setHoverBackgroundColor(l),this.resetDatasetAfterHover=!0,a=!0)}),a&&this.chartJs.update()}_onHoverPointer(t,e){this._onHover(t,e),!(!this.rendered||this.removing)&&(e.length&&!this._isMaxSegmentsExceeded(this.chartJs.config,e[0].index)?this.$canvas.css("cursor","pointer"):this.$canvas.css("cursor","default"))}_onLegendClick(t,e,i){if(!this.chartJs.config||!this.chartJs.config.type)return;let r=this.chartJs.config.type,a;R.Chart.overrides[r]&&R.Chart.overrides[r].plugins&&R.Chart.overrides[r].plugins.legend&&(a=R.Chart.overrides[r].plugins.legend.onClick),(a||R.Chart.defaults.plugins.legend.onClick).call(this.chartJs,t,e,i),this._onLegendLeave(t,e,i),this._onLegendHoverPointer(t,e,i)}_onLegendHover(t,e,i){let r=e.datasetIndex,a=this.chartJs.config,s=a.type;if(h.scout.isOneOf(s,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA)&&(r=e.index),this.legendHoverDatasets.indexOf(r)>-1)return;let l=a.data.datasets[r];((l?l.type:null)||s)===u.Type.LINE&&(this._setHoverBackgroundColor(l),this.chartJs.update()),this._updateHoverStyle(r,!0),this.chartJs.render(),this.legendHoverDatasets.push(r)}_onLegendHoverPointer(t,e,i){this._onLegendHover(t,e,i),!(!this.rendered||this.removing)&&this.$canvas.css("cursor","pointer")}_onLegendLeave(t,e,i){let r=e.datasetIndex,a=this.chartJs.config,s=a.type;if(h.scout.isOneOf(s,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA)&&(r=e.index),this.legendHoverDatasets.indexOf(r)<0)return;let l=a.data.datasets[r];((l?l.type:null)||s)===u.Type.LINE&&(this._restoreBackgroundColor(l),this.chartJs.update()),this._updateHoverStyle(r,!1),this.chartJs.render(),this.legendHoverDatasets.splice(this.legendHoverDatasets.indexOf(r),1)}_setHoverBackgroundColor(t){!t||(t.backgroundColorBackup=t.backgroundColor,t.backgroundColor=t.hoverBackgroundColor,this._adjustDatasetBorderWidths(t))}_restoreBackgroundColor(t){t?(t.backgroundColor=t.backgroundColorBackup||t.backgroundColor,delete t.backgroundColorBackup,this._adjustDatasetBorderWidths(t)):this.chartJs.config.data.datasets.forEach(e=>this._restoreBackgroundColor(e))}_onLegendLeavePointer(t,e,i){this._onLegendLeave(t,e,i),!(!this.rendered||this.removing)&&this.$canvas.css("cursor","default")}_updateHoverStyle(t,e){let i=this.chartJs.config,r=i.type,a,s=[],l=i.data.datasets,d=l?l[t]:null,o=d?d.type:null;h.scout.isOneOf(r,u.Type.LINE,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA,u.Type.SCATTER)||o===u.Type.LINE?a="point":a="dataset",h.scout.isOneOf(r,u.Type.PIE,u.Type.DOUGHNUT,u.Type.POLAR_AREA)?this.chartJs.getSortedVisibleDatasetMetas().forEach((c,p)=>s.push({element:c.data[t],datasetIndex:p,index:t})):this.chartJs.getDatasetMeta(t).data.forEach((c,p)=>s.push({element:c,datasetIndex:t,index:p})),s&&s.length&&this.chartJs.updateHoverStyle(s,a,e)}_adjustResizeHandler(t){!t||!t.options||t.options.handleResize&&(t.options.onResize=this._resizeHandler)}_onResize(t,e){t.update(),this._adjustSize(t.config,t.chartArea)}_adjustSize(t,e){this._adjustBubbleSizes(t,e),this._adjustGridMaxMin(t,e)}_adjustBubbleSizes(t,e){if(t.type!==u.Type.BUBBLE)return;let i=t.data.datasets;i.forEach(p=>p.data.forEach(f=>{isNaN(f.z)||(f.r=Math.sqrt(f.z))}));let r=this._computeMaxMinValue(t,i,"r",!0),a=r.maxValue,s=r.minValue,l=1,d=0,o=(t.options||{}).bubble?t.options.bubble.sizeOfLargestBubble:0,c=(t.options||{}).bubble?t.options.bubble.minBubbleSize:0;if(o){let p=Math.abs(e.right-e.left),f=Math.abs(e.top-e.bottom);o=Math.min(o,Math.floor(Math.min(p,f)/6)),a===0?d=o:c&&o>c&&s/a<c/o?(l=(o-c)/(a-s),d=c-l*s):l=o/a}else c&&c>s&&(s===0?d=c:l=c/s);i.forEach(p=>p.data.forEach(f=>{h.objects.isNullOrUndefined(f.r)||(f.r=f.r*l+d)}))}_computeMaxMinValue(t,e,i,r,a,s,l){if(!e)return;let d,o;if(t.type===u.Type.SCATTER&&i==="r")d=0,o=0;else for(let m=0;m<e.length;m++)for(let _=0;_<e[m].data.length;_++){let b;i?b=e[m].data[_][i]:b=e[m].data[_],isNaN(d)?d=b:d=Math.max(b,d),isNaN(o)?o=b:o=Math.min(b,o)}isNaN(d)&&(d=0),isNaN(o)&&(o=0);let c=0,p=d,f=o;if(r||(a&&Math.sign(o)===Math.sign(d)&&(c=Math.floor(o)),p=this._calculateBoundary(d-c,Math.ceil,Math.floor),f=this._calculateBoundary(o-c,Math.floor,Math.ceil)),s&&l&&l>2*s){let m=(d-o)/(l-2*s),_=m*s;p=Math.max(p,d-c+_),f=Math.min(f,o-c-_)}return r?{maxValue:p,minValue:f}:{maxValue:p+c,minValue:f+c}}_calculateBoundary(t,e,i){let r=e,a=!1;return t<0&&(a=!0,t=t*-1,r=i),t=this._calculateBoundaryPositive(t,r),a&&(t=t*-1),t}_calculateBoundaryPositive(t,e){if(!(t>0)||!e)return t;let i=Math.floor(Math.log(t)/Math.LN10);return i<0?t=e(t*Math.pow(10,Math.abs(i))/5)*5/Math.pow(10,Math.abs(i)):t=e(t/(5*Math.pow(10,i-1)))*5*Math.pow(10,i-1),t}_adjustGridMaxMin(t,e){if(!t||!t.type||!t.options||!t.options.adjustGridMaxMin||!t.options.scales||!e)return;let i=t.type;if(!h.scout.isOneOf(i,u.Type.BAR,u.Type.LINE,u.Type.POLAR_AREA,u.Type.RADAR,u.Type.BUBBLE,u.Type.SCATTER))return;let r=t.options.scales,a=r.x,s=r.y,l=r.r,d=a?a.minSpaceBetweenTicks:1,o=s?s.minSpaceBetweenTicks:1;l&&(d=l.minSpaceBetweenTicks,o=l.minSpaceBetweenTicks);let c=Math.abs(e.right-e.left),p=Math.abs(e.top-e.bottom),f=Math.max(Math.floor(c/d)+1,3),m=Math.max(Math.floor(p/o)+1,3),_=this._computeYBoundaries(t,p),b=_.yBoundary,y=_.yBoundaryDiffType;if(l){this._adjustAxisMaxMin(l,Math.ceil(Math.min(f,m)/2),b);return}if(y?(this._adjustAxisMaxMin(s,m,b),this._adjustAxisMaxMin(r.yDiffType,m,y)):this._isHorizontalBar(t)?this._adjustAxisMaxMin(a,f,b):this._adjustAxisMaxMin(s,m,b),!h.scout.isOneOf(i,u.Type.BUBBLE,u.Type.SCATTER))return;let g=this._computeXBoundaryPointElement(t,c);this._adjustAxisMaxMin(a,f,g)}_computeBoundaryPointElement(t,e,i){if(!t||!t.type||!h.scout.isOneOf(t.type,u.Type.BUBBLE,u.Type.SCATTER)||!t.data||!t.options||!t.options.scales||!(e==="x"||e==="y")||!i)return;let r=t.data.datasets,a=t.options.scales[e],s=a&&a.offset,l=t.options[e+"LabelMap"],d,o=this._computeMaxMinValue(t,r,"r",!0).maxValue,c=o;return t.options.elements&&t.options.elements.point&&t.options.elements.point.hoverRadius&&(c=c+t.options.elements.point.hoverRadius),s?d=this._computeMaxMinValue(t,r,e,l,!0):d=this._computeMaxMinValue(t,r,e,l,!0,c,i),l&&(d.maxValue=Math.ceil(d.maxValue),d.minValue=Math.floor(d.minValue)),d}_computeXBoundaryPointElement(t,e){return this._computeBoundaryPointElement(t,"x",e)}_computeYBoundaryPointElement(t,e){return this._computeBoundaryPointElement(t,"y",e)}_computeYBoundaries(t,e){if(!t||!t.type)return{};let i=t.type,r,a;if(h.scout.isOneOf(i,u.Type.BUBBLE,u.Type.SCATTER))r=this._computeYBoundaryPointElement(t,e);else{let s=[],l=[];if(t.data&&t.data.datasets&&t.data.datasets.forEach(d=>{d.type&&d.type!==i?l.push(d):s.push(d)}),r=this._computeMaxMinValue(t,s),s.length&&l.length){a=this._computeMaxMinValue(t,l);let d=r.maxValue-r.minValue,o=a.maxValue-a.minValue;d&&o&&(d/o>10||o/d>10)&&this._adjustYAxisDiffType(t,s,l)}}return{yBoundary:r,yBoundaryDiffType:a}}_adjustYAxisDiffType(t,e,i){if(!t||!t.type||!e||!e.length||!i||!i.length||!t.options||!t.options.scales||!t.options.scales.y||t.options.scales.yDiffType)return;let r=t.type,a=t.options,s=a.scales,l=s.y,d=C().extend(!0,{},l);s.yDiffType=d,t.data&&t.data.datasets&&t.data.datasets.length&&t.data.datasets[0].type&&t.data.datasets[0].type!==r?(d.position=u.Position.LEFT,l.position=u.Position.RIGHT,l.grid.drawOnChartArea=!1):(l.position=u.Position.LEFT,d.position=u.Position.RIGHT,d.grid.drawOnChartArea=!1),l.grid.drawBorder=!0,l.grid.drawTicks=!0,d.grid.drawBorder=!0,d.grid.drawTicks=!0;let o=e[0].type||r,c=i[0].type||r,p=this.chart.session.text("ui."+o),f=this.chart.session.text("ui."+c),m=a.scaleLabelByTypeMap?a.scaleLabelByTypeMap[o]:null,_=a.scaleLabelByTypeMap?a.scaleLabelByTypeMap[c]:null;l.title.display=!0,l.title.text=m?m+" ("+p+")":p,d.title.display=!0,d.title.text=_?_+" ("+f+")":f,e.forEach(b=>{b.yAxisID="y"}),i.forEach(b=>{b.yAxisID="yDiffType"})}_adjustAxisMaxMin(t,e,i){if(!t)return;let r=1;t.ticks=C().extend(!0,{},t.ticks,{maxTicksLimit:e}),i&&(t.suggestedMax=i.maxValue,t.suggestedMin=i.minValue,r=(i.maxValue-i.minValue)/(e-1)),t.ticks.stepSize=this.onlyIntegers&&r<1?1:void 0}_remove(t){this.rendered&&!this.removing&&(this.removing=!0,this.chartJs.destroy(),this.chartJs=null,this.$canvas.remove(),this.$canvas=null),super._remove(t),this.removing=!1}}T(G,"ARROW_LEFT_RIGHT","↔"),T(G,"ARROW_UP_DOWN","↕");function it(n,t,e){return t=qt(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function qt(n){var t=Zt(n,"string");return typeof t=="symbol"?t:String(t)}function Zt(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class dt extends P{constructor(t){super(t),it(this,"animationTriggered",void 0),it(this,"segmentSelectorForAnimation",void 0),it(this,"r",void 0),it(this,"fullR",void 0),this.animationTriggered=!1,this.segmentSelectorForAnimation=".fulfillment-chart",this.suppressLegendBox=!0;let e={options:{fulfillment:{startValue:void 0}}};t.config=C().extend(!0,{},e,t.config)}_validate(){let t=this.chart.data.chartValueGroups;return!(t.length!==2||t[0].values.length!==1||t[1].values.length!==1)}_renderInternal(){let t=this.chart.data,e=t.chartValueGroups[0].values[0],i=t.chartValueGroups[1].values[0];this.fullR=Math.min(this.chartBox.height,this.chartBox.width)/2-2,this._renderInnerCircle(),this._renderPercentage(e,i)}_renderPercentage(t,e){let i="fulfillment-chart",r=this.chart.data.chartValueGroups[0].colorHexValue,a=this.chart.data.chartValueGroups[0].cssClass;this.chart.config.options.autoColor?i+=" auto-color":a&&(i+=" "+a);let s=h.scout.nvl(this.chart.config.options.fulfillment.startValue,0),l=0,d=0;e&&(l=Math.min(t/e,.999999),d=Math.min(s/e,.999999)),this.r=this.fullR;let o=this,c=function(y,g){let v=C()(this),A=v.data("animation-start"),B=v.data("animation-end");v.attr("d",o.pathSegment(A*g.pos,d+(B-d)*g.pos))},p=this.$svg.appendSVG("path",i).data("animation-start",0).data("animation-end",l),f=this.fullR/8*6.7;this._renderCirclePath("fulfillment-chart-inner-circle-transparent","InnerCircle3",f).css("fill",this.firstOpaqueBackgroundColor);let _=e?Math.round(t/e*100):0,b=this.$svg.appendSVG("text","fulfillment-chart-label ").attr("x",this.chartBox.mX()).attr("y",this.chartBox.mY()).css("font-size",this.fullR/2+"px").attr("dy","0.3em").attrXLINK("href","#InnerCircle").text(_+"%");this.chart.config.options.clickable&&p.on("click",this._createClickObject(null,null),y=>this.chart.handleValueClick(y.data)),!this.chart.config.options.autoColor&&!a&&p.attr("fill",r),this.animationDuration?(p.attr("d",this.pathSegment(0,d)).animate({tabIndex:0},this._createAnimationObjectWithTabIndexRemoval(c,this.animationDuration)),b.attr("opacity",0).animateSVG("opacity",1,this.animationDuration,null,!0)):p.attr("d",this.pathSegment(0,l))}pathSegment(t,e){let i=t*2*Math.PI,r=e*2*Math.PI,a="";return a+="M"+(this.chartBox.mX()+this.r*Math.sin(i))+","+(this.chartBox.mY()-this.r*Math.cos(i)),a+="A"+this.r+", "+this.r,a+=e-t<.5?" 0 0,1 ":" 0 1,1 ",a+=this.chartBox.mX()+this.r*Math.sin(r)+","+(this.chartBox.mY()-this.r*Math.cos(r)),a+="L"+this.chartBox.mX()+","+this.chartBox.mY()+"Z",a}_renderCirclePath(t,e,i){let r=this.chart.data.chartValueGroups[0].cssClass,a=this.chart.data.chartValueGroups[1].colorHexValue;this.chart.config.options.autoColor?t+=" auto-color":r&&(t+=" "+r);let s=i*2,l=this.$svg.appendSVG("path",t).attr("id",e).attr("d","M "+this.chartBox.mX()+" "+this.chartBox.mY()+" m 0, "+-i+" a "+i+","+i+" 0 1, 1 0,"+s+" a "+i+","+i+" 0 1, 1 0,"+-s);return!this.chart.config.options.autoColor&&!r&&l.attr("fill",a).attr("stroke",a),l}_renderInnerCircle(){let t=this.fullR/8*7.5,e=this.fullR/8*7.2;this._renderCirclePath("fulfillment-chart-inner-circle","InnerCircle",t),this._renderCirclePath("fulfillment-chart-inner-circle-transparent","InnerCircle2",e).css("fill",this.firstOpaqueBackgroundColor)}shouldAnimateRemoveOnUpdate(t){let e=h.objects.optProperty(this.chart,"config","options","fulfillment","startValue");return h.objects.isNullOrUndefined(e)?super.shouldAnimateRemoveOnUpdate(t):!1}_removeAnimated(t){if(this.animationTriggered)return;let e=this,i=function(r,a){let s=C()(this),l=s.data("animation-start"),d=s.data("animation-end");s.attr("d",e.pathSegment(l*(1-a.pos),d*(1-a.pos)))};this.animationTriggered=!0,this.$svg.children(this.segmentSelectorForAnimation).animate({tabIndex:0},this._createAnimationObjectWithTabIndexRemoval(i)).promise().done(()=>{this._remove(t),this.animationTriggered=!1})}}function S(n,t,e){return t=Qt(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function Qt(n){var t=te(n,"string");return typeof t=="symbol"?t:String(t)}function te(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class x extends P{constructor(t){super(t),S(this,"segmentSelectorForAnimation",void 0),S(this,"r",void 0),S(this,"scaleWeight",void 0),S(this,"my",void 0),S(this,"parts",void 0),S(this,"numSegmentsPerPart",void 0),S(this,"segmentWidth",void 0),S(this,"widthOfSegmentWithGap",void 0),S(this,"animationTriggered",void 0),S(this,"$filledParts",void 0),S(this,"$pointer",void 0),this.segmentSelectorForAnimation=".pointer",this.suppressLegendBox=!0;let e={options:{speedo:{greenAreaPosition:void 0}}};t.config=$.extend(!0,{},e,t.config)}_validate(){let t=this.chart.data,e=this.chart.config;return!(!t||!e||t.axes.length>0||t.chartValueGroups.length!==1||t.chartValueGroups[0].values.length!==3||e.options.speedo.greenAreaPosition===void 0)}_renderInternal(){let t=this.chart.data,e=t.chartValueGroups[0].values[0],i=t.chartValueGroups[0].values[2],r=t.chartValueGroups[0].values[1];this.r=Math.min(this.chartBox.height,this.chartBox.width/2)*.7,this.scaleWeight=this.r*.27,this.my=this.chartBox.yOffset+this.chartBox.height-(this.chartBox.height-this.r*1.12)/2,this.parts=this.chart.config.options.speedo.greenAreaPosition===x.Position.CENTER?x.NUM_PARTS_GREEN_CENTER:x.NUM_PARTS_GREEN_EDGE,this.numSegmentsPerPart=this.parts===x.NUM_PARTS_GREEN_CENTER?5:8,this.$filledParts=[];let a=this.parts*this.numSegmentsPerPart,s=a-1;this.segmentWidth=(x.ARC_RANGE-s*x.SEGMENT_GAP)/a,this.widthOfSegmentWithGap=this.segmentWidth+x.SEGMENT_GAP;let l=this._getValuePercentage(r,e,i),d=this._getSegmentToPointAt(l,a),o=this._getPercentageValueOfSegment(d%this.numSegmentsPerPart,this._getPartForValue(l));for(let c=0;c<this.parts;c++)this._renderCirclePart(c);this._renderPointer(o),this._renderLegend(e,r,i,t.chartValueGroups[0].groupName),this.$svg.addClass("speedo-chart-svg"),this.chart.config.options.clickable&&this.$svg.on("click",this._createClickObject(null,null),c=>this.chart.handleValueClick(c.data))}_getValuePercentage(t,e,i){return this._limitValue((t-e)/(i-e),1)}_getSegmentToPointAt(t,e){return this._limitValue(Math.floor(t*e),e-1)}_limitValue(t,e){return t=Math.max(t,0),t=Math.min(t,e),t}_getPercentageValueOfSegment(t,e){let i=this._calcSegmentPos(t,e),r=i.from-x.ARC_MIN+(i.to-i.from)/2;return this._limitValue(r/x.ARC_RANGE,1)}_renderPointer(t){if(this.$pointer=this.$svg.appendSVG("path","pointer").attr("d",this._pathPointer(0)).attr("data-end",t).attr("stroke-width",this.scaleWeight/6+"px").attr("fill","none"),this.animationDuration){let e=this,i=function(r,a){let s=this.getAttribute("data-end")*a.pos;e._updatePointer(s),e._updatePartsFill(s)};this.$pointer.animate({tabIndex:0},this._createAnimationObjectWithTabIndexRemoval(i,this.animationDuration))}else this._updatePointer(t),this._updatePartsFill(t)}_renderSegment(t,e,i){return this.$svg.appendSVG("path","speedo-chart-arc "+i).attr("id","ArcAxisWide"+this.chart.id).attr("fill","none").attr("stroke-width",this.scaleWeight+"px").attr("d",this._pathSegment(t,e))}_renderCirclePart(t){let e=this._getColorForPart(t);for(let i=0;i<this.numSegmentsPerPart;i++){let r=this._calcSegmentPos(i,t);this._renderSegment(r.from,r.to,e)}this.$filledParts.push(this._renderSegment(x.ARC_MIN,x.ARC_MIN,e))}_renderLegend(t,e,i,r){let a=this.scaleWeight*.8,s=5,l=this.my+s,d=l+a*.8,o={x1:null,x2:this.chartBox.mX()-s,y1:null,y2:l,v:-1,h:1},c=t?this._formatValue(t):0,p=e?this._formatValue(e):""+0,f=i?this._formatValue(i):0;if(this.chart.config.options.plugins.tooltip.enabled){let m=this.$svg.appendSVG("text","line-label line-chart-wire-label").attr("x",this.chartBox.mX()-this.r).attr("y",d).text(c).attr("style","font-size: "+a+"px; text-anchor: middle"),_=this.$svg.appendSVG("text","line-label line-chart-wire-label").attr("x",this.chartBox.mX()+this.r).attr("y",d).text(f).attr("style","font-size: "+a+"px; text-anchor: middle"),b=function(){this.$svg.append(m),this.$svg.append(_)}.bind(this),y=()=>{m.detach(),_.detach()};y(),this.$svg.on("mouseenter",b).on("mouseleave",y)}this.chart.config.options.plugins.legend.display&&this._renderLineLabel(o.x2+s,o.y2+o.v*s,p,"",!1).addClass("speedo-chart-label").attr("style","font-size: "+this.scaleWeight*1.55+"px;")}_getPartForValue(t){let e=Math.floor(t*this.parts);return this._limitValue(e,this.parts-1)}_formatValue(t){if(t<x.TEN_THOUSAND)return this.session.locale.decimalFormat.format(t);if(t<x.ONE_MILLION)return Math.floor(t/x.ONE_THOUSAND)+"k";let e=t/x.ONE_MILLION;return e=h.numbers.round(e,h.RoundingMode.HALF_UP,2),this.session.locale.decimalFormat.format(e)+"M"}_updatePointer(t){this.$pointer.attr("d",this._pathPointer(t)).removeClass("red yellow light-green dark-green").addClass(this._getColorForPart(this._getPartForValue(t)))}_updatePartsFill(t){let e,i;for(let r=0;r<this.$filledParts.length;r++)e=this._calcSegmentPos(0,r).from,(r+1)/this.parts<t?i=this._calcSegmentPos(this.numSegmentsPerPart-1,r).to:r/this.parts>t?(e=x.ARC_MIN,i=x.ARC_MIN):i=x.ARC_RANGE*t-x.ARC_MAX,this.$filledParts[r].attr("d",this._pathSegment(e,i))}_calcSegmentPos(t,e){let i={from:0,to:0},r=t+e*this.numSegmentsPerPart;return i.from=r*this.widthOfSegmentWithGap-x.ARC_MAX,i.to=i.from+this.segmentWidth,i}_getColorForPart(t){switch(this.chart.config.options.speedo.greenAreaPosition){case x.Position.LEFT:if(t===0)return"dark-green";if(t===1)return"light-green";if(t===2)return"yellow";if(t===3)return"red";break;case x.Position.RIGHT:if(t===0)return"red";if(t===1)return"yellow";if(t===2)return"light-green";if(t===3)return"dark-green";break;case x.Position.CENTER:if(t===0)return"red";if(t===1)return"yellow";if(t===2)return"light-green";if(t===3)return"dark-green";if(t===4)return"light-green";if(t===5)return"yellow";if(t===6)return"red";break;default:break}}_pathSegment(t,e){let i=t*2*Math.PI,r=e*2*Math.PI,a="";return a+="M "+(this.chartBox.mX()+this.r*Math.sin(i))+" "+(this.my-this.r*Math.cos(i))+" ",a+="A "+this.r+" "+this.r+" ",a+="0 "+(e-t<.5?"0":"1")+" 1 ",a+=this.chartBox.mX()+this.r*Math.sin(r)+" "+(this.my-this.r*Math.cos(r)),a}_pathPointer(t){let i=(x.ARC_RANGE*t-x.ARC_MAX)*2*Math.PI,r=this.r-1.4*this.scaleWeight,a=this.r+1.37*this.scaleWeight,s="";return s+="M "+(this.chartBox.mX()+a*Math.sin(i))+" "+(this.my-a*Math.cos(i))+" ",s+="L "+(this.chartBox.mX()+r*Math.sin(i))+" "+(this.my-r*Math.cos(i))+" ",s+="Z",s}_removeAnimated(t){if(this.animationTriggered)return;let e=this,i=function(r,a){let s=this.getAttribute("data-end")*(1-a.pos);e._updatePointer(s),e._updatePartsFill(s)};this.animationTriggered=!0,this.$svg.children(this.segmentSelectorForAnimation).animate({tabIndex:0},this._createAnimationObjectWithTabIndexRemoval(i)).promise().done(()=>{this._remove(t),this.animationTriggered=!1})}}S(x,"Position",{LEFT:"left",CENTER:"center",RIGHT:"right"}),S(x,"NUM_PARTS_GREEN_CENTER",7),S(x,"NUM_PARTS_GREEN_EDGE",4),S(x,"ONE_THOUSAND",1e3),S(x,"TEN_THOUSAND",1e4),S(x,"ONE_MILLION",1e6),S(x,"ARC_MIN",-.25),S(x,"ARC_MAX",.25),S(x,"ARC_RANGE",x.ARC_MAX-x.ARC_MIN),S(x,"SEGMENT_GAP",.0103);function D(n,t,e){return t=ee(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function ee(n){var t=ie(n,"string");return typeof t=="symbol"?t:String(t)}function ie(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class ut extends P{constructor(t){super(t),D(this,"segmentSelectorForAnimation",void 0),D(this,"widthThresholdMedium",void 0),D(this,"widthThresholdSmall",void 0),D(this,"barDeltaPercentage",void 0),D(this,"lastBarAdditionalPercentage",void 0),D(this,"lastBarMinWidthPercentage",void 0),D(this,"paddingBetweenLabel",void 0),D(this,"dataAnalyzeResult",void 0),D(this,"barHeight",void 0),D(this,"barAreaWidth",void 0),D(this,"centerX",void 0),D(this,"animationTriggered",void 0),this.segmentSelectorForAnimation=".salesfunnel-chart-bar",this.widthThresholdMedium=400,this.widthThresholdSmall=200,this.barDeltaPercentage=.95,this.lastBarAdditionalPercentage=.7,this.lastBarMinWidthPercentage=.4,this.suppressLegendBox=!0;let e={options:{salesfunnel:{normalized:void 0,calcConversionRate:void 0}}};t.config=C().extend(!0,{},e,t.config)}_validate(){let t=this.chart.data,e=this.chart.config;return!(!t||!e||t.axes.length!==t.chartValueGroups.length||t.chartValueGroups.length===0||t.chartValueGroups[0].values.length===0||e.options.salesfunnel.normalized===void 0||e.options.salesfunnel.calcConversionRate===void 0)}_renderInternal(){let t=this.chart.data,e=t.chartValueGroups.length,i=this._dynamicConversionRateWidth();this.paddingBetweenLabel=20,this.dataAnalyzeResult=this._analyzeData(t.chartValueGroups),this.barHeight=this.chartBox.height/e,this.barAreaWidth=this.chartBox.width-this.dataAnalyzeResult.maxLengthFirstValueRow-this.paddingBetweenLabel*this.dataAnalyzeResult.labelCount-this.dataAnalyzeResult.maxLengthSecondValueRow-i,this.centerX=this.barAreaWidth/2,this.chart.config.options.salesfunnel.normalized?this._renderBarsNormalized(t.chartValueGroups):this._renderBarsAccordingToValues(t.chartValueGroups),this._addClipping("salesfunnel-chart-bar")}_renderBarsNormalized(t){let e=t.length,i=this.barAreaWidth+this.dataAnalyzeResult.maxLengthFirstValueRow+this.dataAnalyzeResult.maxLengthSecondValueRow+this.paddingBetweenLabel*(this.dataAnalyzeResult.labelCount+1),r=this.barAreaWidth*(1-this.barDeltaPercentage),s=this.barAreaWidth*this.lastBarMinWidthPercentage/this.lastBarAdditionalPercentage;r=Math.min(r,(this.barAreaWidth-s)/(e-1));for(let l=0;l<e;l++){let d=this.barAreaWidth-l*r,o=t[l].groupName,c=this.barAreaWidth-(l+1)*r,p=l*this.barHeight,f={xStart:this.centerX,yStart:p,rect:!0,width:d,widthBottom:c,cssClass:"salesfunnel-chart-bar",fill:t[l].colorHexValue,label:t[l].groupName,clickObject:this._createClickObject(null,l)};this.chart.config.options.autoColor?f.cssClass+=" auto-color color0":this.chart.data.chartValueGroups[l].cssClass&&(f.cssClass+=" "+this.chart.data.chartValueGroups[l].cssClass),l===e-1&&(f.width=f.width*this.lastBarAdditionalPercentage,f.widthBottom=f.widthBottom*this.lastBarAdditionalPercentage),this._renderPolygon(f),this._renderLabel(t[l].values[0],!1,l),this._renderBarLabel(o,l,f.widthBottom);let m=this.dataAnalyzeResult.maxLengthFirstValueRow+this.paddingBetweenLabel;t[l].values.length>1&&(this._renderLabel(t[l].values[1],!0,l),m+=this.dataAnalyzeResult.maxLengthSecondValueRow+this.paddingBetweenLabel),l>0&&(this._renderLabelSeparatorLine(p,m),this.chart.config.options.salesfunnel.calcConversionRate&&this._renderConversionRate(l,i,this._calcConversionRate(t[l-1].values[0],t[l].values[0])))}}_renderLabel(t,e,i){if(t===null)return;let r=i*this.barHeight+this.barHeight/2,a=this.dataAnalyzeResult.maxLengthFirstValueRow+(e?this.dataAnalyzeResult.maxLengthSecondValueRow:0),s=e?2:1,l=this.barAreaWidth+a+s*this.paddingBetweenLabel,d=this._dynamicCssClass("salesfunnel-label"),o=this.$svg.appendSVG("text",d).attr("x",l).attr("y",r).text(this.session.locale.decimalFormat.format(t));if(this.animationDuration&&o.attr("opacity",0).animateSVG("opacity",1,this.animationDuration,null,!0),this.chart.config.options.plugins.tooltip.enabled&&this.chart.data.axes.length>0){let c=this.chart.data.axes[i][e?1:0].label,p=this._measureText(""+t,d);this._renderWireLabels(c,o,l-p.width/2,r-p.height)}}_renderWireLabels(t,e,i,r){let a={x1:i,x2:i-10,y1:r,y2:r-10,v:-1,h:-1},s=(c,p)=>(a.y2-p<0&&(a.v=1,a.y1=a.y1+p*1.5,a.y2=a.y1+10),a);a.autoPosition=!0,a.posFunc=s;let l=this._renderWireLegend(t,a,"line-chart-wire-label",!0),d=l.attachFunc.bind(l),o=l.detachFunc.bind(l);l.detachFunc(),e.on("mouseenter",d).on("mouseleave",o)}_renderBarLabel(t,e,i){let r=e*this.barHeight+this.barHeight/2,a=this.centerX,s=this._dynamicCssClass("salesfunnel-bar-label");this._renderLineLabel(a,r,t,s,!0)}_renderConversionRate(t,e,i){if(i===void 0)return;let r=t*this.barHeight,a=this._dynamicCssClass("salesfunnel-conversionrate-label"),s=this.$svg.appendSVG("text",a).attr("x",e).attr("y",r).text("↓ "+i+"%");this.animationDuration&&s.attr("opacity",0).animateSVG("opacity",1,this.animationDuration,null,!0)}_renderPolygon(t){let e=this,i=this._calcPolygonPoints(!0,this.animationDuration?0:1,t.xStart,t.yStart,t.width,t.widthBottom,this.barHeight-1),r=this.$svg.appendSVG("polygon",t.cssClass,"",t.id).attr("points",i).data("xStart",t.xStart).data("yStart",t.yStart).data("widthBar",t.width).data("widthBottom",t.widthBottom).data("heightBar",this.barHeight);!this.chart.config.options.autoColor&&t.fill&&r.attr("fill",t.fill),r.css("stroke",this.firstOpaqueBackgroundColor);let a=function(s,l){let d=C()(this),o=d.data("xStart"),c=d.data("yStart"),p=d.data("widthBar"),f=d.data("heightBar"),m=d.data("widthBottom");d.attr("points",e._calcPolygonPoints(!0,l.pos,o,c,p,m,f))};return this.animationDuration&&r.animate({tabIndex:0},this._createAnimationObjectWithTabIndexRemoval(a,this.animationDuration)),this.chart.config.options.clickable&&r.on("click",t.clickObject,s=>this.chart.handleValueClick(s.data)),t.fill&&r.attr("fill",t.fill),r}_calcPolygonPoints(t,e,i,r,a,s,l){let d=0,o=0;return t?(d=a/2*e,o=s/2*e):(d=a/2-a/2*e,o=s/2-s/2*e),h.strings.join(" ",i-d+","+r,i+d+","+r,i+o+","+(r+l),i-o+","+(r+l))}_renderBarsAccordingToValues(t){let e=this.dataAnalyzeResult.maxValue?this.barAreaWidth*.8/this.dataAnalyzeResult.maxValue:0,i=this.barAreaWidth+this.dataAnalyzeResult.maxLengthFirstValueRow+this.dataAnalyzeResult.maxLengthSecondValueRow+this.paddingBetweenLabel*this.dataAnalyzeResult.labelCount+2*this.paddingBetweenLabel,r=t.length;for(let a=0;a<r;a++){let s=t[a].values[0]*e+this.barAreaWidth*.2,l=t[a].groupName,d=a*this.barHeight,o={xStart:this.centerX,yStart:d,rect:!0,width:s,widthBottom:s,cssClass:"salesfunnel-chart-bar",fill:t[a].colorHexValue,label:t[a].groupName,clickObject:this._createClickObject(null,a)};this.chart.config.options.autoColor?o.cssClass+=" auto-color color0":this.chart.data.chartValueGroups[a].cssClass&&(o.cssClass+=" "+this.chart.data.chartValueGroups[a].cssClass),this._renderPolygon(o),this._renderLabel(t[a].values[0],!1,a),this._renderBarLabel(l,a,o.widthBottom);let c=this.dataAnalyzeResult.maxLengthFirstValueRow+this.paddingBetweenLabel;t[a].values.length>1&&(this._renderLabel(t[a].values[1],!0,a),c+=this.dataAnalyzeResult.maxLengthSecondValueRow+this.paddingBetweenLabel),a>0&&(this._renderLabelSeparatorLine(d,c),this.chart.config.options.salesfunnel.calcConversionRate&&this._renderConversionRate(a,i,this._calcConversionRate(t[a-1].values[0],t[a].values[0])))}}_renderLabelSeparatorLine(t,e){let i=this.$svg.appendSVG("line","label-separator").attr("x1",this.barAreaWidth+this.paddingBetweenLabel).attr("y1",t).attr("x2",this.barAreaWidth+e).attr("y2",t);this.animationDuration&&i.attr("opacity",0).animateSVG("opacity",1,this.animationDuration,null,!0)}_calcConversionRate(t,e){if(!(h.objects.isNullOrUndefined(t)||h.objects.isNullOrUndefined(e)||t===0))return Math.round(e/t*100)}_analyzeData(t){let e={labelCount:0,maxValue:null,maxLengthFirstValueRow:0,maxLengthSecondValueRow:0},i=this._dynamicCssClass("salesfunnel-label");for(let r=0;r<t.length;r++){let a=t[r];e.labelCount=Math.max(e.labelCount,a.values.length),a.values.length>0&&a.values[0]&&(e.maxValue===null?e.maxValue=a.values[0]:e.maxValue=Math.max(e.maxValue,a.values[0]),e.maxLengthFirstValueRow=Math.max(e.maxLengthFirstValueRow,this._measureText(this.session.locale.decimalFormat.format(a.values[0]),i).width)),a.values.length>1&&a.values[1]&&(e.maxLengthSecondValueRow=Math.max(e.maxLengthSecondValueRow,this._measureText(this.session.locale.decimalFormat.format(a.values[1]),i).width))}return e}_removeAnimated(t){if(this.animationTriggered)return;this.animationTriggered=!0;let e=this,i=function(r,a){let s=C()(this),l=s.data("xStart"),d=s.data("yStart"),o=s.data("widthBar"),c=s.data("heightBar"),p=s.data("widthBottom");s.attr("points",e._calcPolygonPoints(!1,a.pos,l,d,o,p,c))};this.$svg.children(this.segmentSelectorForAnimation).animate({tabIndex:0},this._createAnimationObjectWithTabIndexRemoval(i)).promise().done(()=>{this._remove(t),this.animationTriggered=!1})}_dynamicCssClass(t){let e="";return this.chartBox.width<=this.widthThresholdSmall?e="small":this.chartBox.width<=this.widthThresholdMedium&&(e="medium"),h.strings.join(" ",t,e)}_dynamicConversionRateWidth(){return this.chart.config.options.salesfunnel.calcConversionRate?this.chartBox.width<=this.widthThresholdSmall?60:this.chartBox.width<=this.widthThresholdMedium?80:100:0}}function k(n,t,e){return t=re(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function re(n){var t=ae(n,"string");return typeof t=="symbol"?t:String(t)}function ae(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class ct{constructor(t,e,i,r,a,s,l,d,o,c,p,f,m,_){k(this,"helper",void 0),k(this,"venn1",void 0),k(this,"venn2",void 0),k(this,"venn3",void 0),k(this,"u",void 0),k(this,"v",void 0),k(this,"w",void 0),k(this,"uv",void 0),k(this,"uw",void 0),k(this,"vw",void 0),k(this,"uvw",void 0),k(this,"maxD",void 0),k(this,"dStep",void 0),k(this,"rStep",void 0),k(this,"alphaStep",void 0),k(this,"alphaBest",void 0),k(this,"dBest",void 0),k(this,"rBest",void 0),k(this,"errorBest",void 0),k(this,"callback",void 0),k(this,"cancelled",void 0),a===0&&d===0&&o===0&&p===0&&(a=1),s===0&&d===0&&c===0&&p===0&&(s=1),l===0&&o===0&&c===0&&p===0&&(l=1),this.helper=t,this.venn1=e,this.venn2=i,this.venn3=r,this.u=a,this.v=s,this.w=l,this.uv=d,this.uw=o,this.vw=c,this.uvw=p,this.maxD=this.venn1.r+2*this.venn2.r+2*this.venn1.r+this.helper.distR,this.dStep=this.maxD/30,this.rStep=r.r/4,this.alphaStep=Math.PI/30,this.alphaBest=0,this.dBest=0,this.rBest=0,this.errorBest=0,this.callback=null,this.cancelled=!1}start(t){this.callback=t,setTimeout(this._next.bind(this,0))}cancel(){this.cancelled=!0}_end(){this.venn3.x=this.venn1.x+this.dBest*Math.cos(this.alphaBest),this.venn3.y=this.venn1.y-this.dBest*Math.sin(this.alphaBest),this.venn3.r=this.rBest,this.callback()}_next(t){this.cancelled||this._iteration(t),!this.cancelled&&(t+=this.alphaStep,t<Math.PI?setTimeout(this._next.bind(this,t)):this._end())}_iteration(t){let e=this.maxD,i=this.dStep,r=this.helper.minR,a=this.rStep,s=this.helper.total,l=this.venn1.x,d=this.venn1.y,o=this.venn1.r,c=this.venn2.x,p=this.venn2.y,f=this.venn2.r,m=this.venn3.r,_=this.u,b=this.v,y=this.w,g=this.uv,v=this.uw,A=this.vw,B=this.uvw,j=this.alphaBest,at=this.dBest,st=this.rBest,gt=this.errorBest;for(let Q=0;Q<e;Q+=i){let lt=l+Q*Math.cos(t),ot=d-Q*Math.sin(t);for(let H=Math.max(r,m*.75);H<=m*1.25;H+=a){let Mt=Math.min(l-o,c-f,lt-H),It=Math.max(l+o,c+f,lt+H),Dt=Math.min(d-o,p-f,ot-H),wt=Math.max(d+o,p+f,ot+H),Ae=(It-Mt)/100,Be=(wt-Dt)/100,bt=0,yt=0,_t=0,Ct=0,xt=0,Tt=0,vt=0;for(let U=Mt;U<It;U+=Ae)for(let W=Dt;W<wt;W+=Be){let J=(U-l)*(U-l)+(W-d)*(W-d)<o*o,K=(U-c)*(U-c)+(W-p)*(W-p)<f*f,q=(U-lt)*(U-lt)+(W-ot)*(W-ot)<H*H;J&&K&&q?vt++:J&&K&&!q?Ct++:J&&!K&&!q?bt++:!J&&K&&!q?yt++:J&&!K&&q?xt++:!J&&K&&q?Tt++:!J&&!K&&q&&_t++}let Y=bt+yt+_t+Ct+xt+Tt+vt,N=Q/e;N+=this._error(B,s,vt,Y),N+=this._error(g,s,Ct,Y),N+=this._error(v,s,xt,Y),N+=this._error(A,s,Tt,Y),N+=this._error(_,s,bt,Y),N+=this._error(b,s,yt,Y),N+=this._error(y,s,_t,Y),(t===0||N<gt)&&(j=t,at=Q,st=H,gt=N)}}this.alphaBest=j,this.dBest=at,this.rBest=st,this.errorBest=gt}_error(t,e,i,r){return t===0&&i!==0||t!==0&&i===0?1e3:Math.abs(t/e-i/r)*100}}function rt(n,t,e){return t=se(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function se(n){var t=le(n,"string");return typeof t=="symbol"?t:String(t)}function le(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class pt{constructor(t,e,i,r){rt(this,"distR",void 0),rt(this,"maxR",void 0),rt(this,"minR",void 0),rt(this,"total",void 0),this.distR=t,this.maxR=e,this.minR=i,this.total=r}findBalance2(t,e){let i=(t.r*t.x+e.r*e.x)/(t.r+e.r),r=(t.r*t.y+e.r*e.y)/(t.r+e.r);t.x=t.x-i,e.x=e.x-i,t.y=t.y-r,e.y=e.y-r}findBalance3(t,e,i){let r=(t.r*t.x+e.r*e.x+i.r*i.x)/(t.r+e.r+i.r),a=(t.r*t.y+e.r*e.y+i.r*i.y)/(t.r+e.r+i.r);t.x=t.x-r,e.x=e.x-r,i.x=i.x-r,t.y=t.y-a,e.y=e.y-a,i.y=i.y-a}calcR(t,e){return t===-1?this.maxR*e:Math.max(this.minR,Math.sqrt(t/this.total)*this.maxR*e)}calcD(t,e,i,r,a,s){let l;if(a===0)l=t.r+e.r+this.distR*2;else if(i===0&&r===0)l=0;else if(i===0)l=Math.max(0,e.r-t.r-this.distR),l<1.5*this.distR&&s&&(l=1.5*this.distR,t.r=e.r-l);else if(r===0)l=Math.max(0,t.r-e.r-this.distR),l<1.5*this.distR&&s&&(l=1.5*this.distR,e.r=t.r-l);else{let d=Math.min(t.r,e.r),o=Math.max(t.r,e.r);l=2*(Math.min(i,r)/(Math.min(i,r)+a))*d-d+o,l=Math.max(3*this.distR,l),l=Math.min(d+o-3*this.distR,l),l=Math.max(o-d+3*this.distR,l)}return l}}function O(n,t,e){return t=oe(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function oe(n){var t=ne(n,"string");return typeof t=="symbol"?t:String(t)}function ne(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class ft extends P{constructor(t){super(t),O(this,"animationTriggered",void 0),O(this,"data",void 0),O(this,"centerX",void 0),O(this,"centerY",void 0),O(this,"numberOfCircles",void 0),O(this,"readyToDraw",void 0),O(this,"wasCircle",void 0),O(this,"vennCircleHelper",void 0),O(this,"async3Calculator",void 0),O(this,"vennNumber1",void 0),O(this,"vennReal1",void 0),O(this,"vennNumber2",void 0),O(this,"vennReal2",void 0),O(this,"vennNumber3",void 0),O(this,"vennReal3",void 0),O(this,"$v1",void 0),O(this,"$v2",void 0),O(this,"$v3",void 0),this.animationTriggered=!1,this.suppressLegendBox=!0;let e={options:{venn:{numberOfCircles:void 0}}};t.config=C().extend(!0,{},e,t.config)}_validate(){let t=this.chart.data;return!(!t||t.axes.length!==0||t.chartValueGroups.length===0||t.chartValueGroups[0].values.length===0)}_renderInternal(){if(this.centerX=this.width/2,this.centerY=this.height/2,this.centerX===0||this.centerY===0)return;this.data=this.chart.data.chartValueGroups,this.numberOfCircles=this.chart.config.options.venn.numberOfCircles;let t=10,e=Math.min(this.centerX,this.centerY),i=e/15,r=this.data.reduce((s,l)=>s+l.values[0],1);this.vennCircleHelper=new pt(t,e,i,r),this.numberOfCircles>0&&(this.$v1=this._createCircle(0,this.data[0].colorHexValue,this.data[0].cssClass),this.vennNumber1=new V(this.$v1),this.vennReal1=new V(this.$v1)),this.numberOfCircles>1&&(this.$v2=this._createCircle(1,this.data[1].colorHexValue,this.data[1].cssClass),this.vennNumber2=new V(this.$v2),this.vennReal2=new V(this.$v2)),this.numberOfCircles>2&&(this.$v3=this._createCircle(2,this.data[2].colorHexValue,this.data[2].cssClass),this.vennNumber3=new V(this.$v3),this.vennReal3=new V(this.$v3));let a=function(){this.readyToDraw=!0,this.$svg.isAttached()&&(this.readyToDraw=!1,this._draw(!0,!0))}.bind(this);this.readyToDraw=!1,this.numberOfCircles===1?(this._calc1(this.vennNumber1),this._calc1(this.vennReal1),a()):this.numberOfCircles===2?(this._calc2(this.vennNumber1,this.vennNumber2,!1),this._calc2(this.vennReal1,this.vennReal2,!0),a()):this.numberOfCircles===3&&this._calc3(this.vennNumber1,this.vennNumber2,this.vennNumber3,!1,()=>{(this.rendering||this.rendered)&&this._calc3(this.vennReal1,this.vennReal2,this.vennReal3,!0,a)})}remove(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=arguments.length>1?arguments[1]:void 0;this._cancelAsync3Calculator(),super.remove(t,e)}_calc1(t){let e=this.data[0].values[0];e>0?t.r=this.vennCircleHelper.calcR(e,.8):t.r=this.vennCircleHelper.calcR(e,0),t.x=0,t.y=0,t.setLegend(this.data[0].groupName,1,-1),t.addLabel(e,t.x,t.y)}_calc2(t,e,i){let r=this.data[0].values[0],a=this.data[1].values[0],s=this.data[2].values[0],l;i?(t.r=this.vennCircleHelper.calcR(r+s,.8),e.r=this.vennCircleHelper.calcR(a+s,.8),l=this.vennCircleHelper.calcD(t,e,r,a,s,!0),t.x=0,e.x=l):(t.r=e.r=this.vennCircleHelper.calcR(-1,.7),t.x=-t.r*.6,e.x=e.r*.6),t.y=0,e.y=0,this.vennCircleHelper.findBalance2(t,e),t.setLegend(this.data[0].groupName,-1,-1),e.setLegend(this.data[1].groupName,1,-1),i?s===0?(t.addLabel(r,t.x,t.y),e.addLabel(a,e.x,e.y)):r===0&&a===0?t.addLabel(s,t.x,t.y):r===0?(e.addLabel(s,t.x,t.y),e.addLabel(a,e.x-(l-e.r-t.r)/2,e.y),t.legendR=e.r-l):a===0?(t.addLabel(s,e.x,e.y),t.addLabel(r,t.x+(l-e.r-t.r)/2,t.y),e.legendR=t.r-l):(t.addLabel(r,t.x+(l-e.r-t.r)/2,t.y),t.addLabel(a,e.x-(l-e.r-t.r)/2,e.y),e.addLabel(s,t.x+t.r+(l-e.r-t.r)/2,t.y)):(t.addLabel(r,-t.r*.9,0),t.addLabel(a,t.r*.9,0),e.addLabel(s,0,0))}_calc3(t,e,i,r,a){let s=this.data[0].values[0],l=this.data[1].values[0],d=this.data[2].values[0],o=this.data[3].values[0],c=this.data[4].values[0],p=this.data[5].values[0],f=this.data[6].values[0],m,_,b;r?(t.r=this.vennCircleHelper.calcR(s+o+c+f,.55),e.r=this.vennCircleHelper.calcR(l+o+p+f,.55),i.r=this.vennCircleHelper.calcR(d+c+p+f,.55),m=this.vennCircleHelper.calcD(t,e,s+c,l+p,o+f,!0),_=this.vennCircleHelper.calcD(t,i,s+o,d+p,o+f,!1),b=this.vennCircleHelper.calcD(e,i,l+o,d+c,o+f,!1),t.x=0,e.x=m,i.x=_,t.y=0,e.y=0,i.y=0,this._cancelAsync3Calculator(),this.async3Calculator=new ct(this.vennCircleHelper,t,e,i,s,l,d,o,c,p,f,m,_,b),this.async3Calculator.start(()=>{this.async3Calculator=null,this.vennCircleHelper.findBalance3(t,e,i),t.setLegend(this.data[0].groupName,-1,1),e.setLegend(this.data[1].groupName,1,1),i.setLegend(this.data[2].groupName,1,-1),a()})):(t.r=e.r=i.r=this.vennCircleHelper.calcR(-1,.55),t.x=-t.r*.73,e.x=e.r*.73,i.x=0,t.y=t.r*.58,e.y=e.r*.58,i.y=-i.r*.58,t.setLegend(this.data[0].groupName,-1,1),e.setLegend(this.data[1].groupName,1,1),i.setLegend(this.data[2].groupName,1,-1),t.addLabel(s,-t.r,t.r*.76),e.addLabel(l,t.r,t.r*.76),i.addLabel(d,0,-t.r*.82),t.addLabel(o,0,t.r*.76),t.addLabel(c,-t.r*.49,-t.r*.05),e.addLabel(p,t.r*.49,-t.r*.05),t.addLabel(f,0,t.r*.22),a())}_cancelAsync3Calculator(){this.async3Calculator&&(this.async3Calculator.cancel(),this.async3Calculator=null)}_draw(t,e){if(!this.rendered&&!this.rendering||this.animationTriggered)return;this.animationTriggered=!0;let i=this;this.$svg.children(".venn-legend, .venn-label, .venn-axis-white, .label-line").stop().animateSVG("opacity",1,0,null,!0).promise().done(function(){this.remove(),i.animationTriggered=!1});let r=[];this.numberOfCircles>0&&r.push(e?this.vennReal1:this.vennNumber1),this.numberOfCircles>1&&r.push(e?this.vennReal2:this.vennNumber2),this.numberOfCircles>2&&r.push(e?this.vennReal3:this.vennNumber3);for(let a=0;a<r.length;a++){let s=r[a];this._updateVenn(s,t);for(let l=0;l<s.labels.length;l++){let d=s.labels[l];this._drawLabel(d.text,d.x,d.y,t)}}}_createCircle(t,e,i){let r=this.$svg.appendSVG("circle","venn-circle").attr("cx",this.centerX).attr("cy",this.centerY).attr("r",0).on("mouseenter",{showReal:!1},this._show.bind(this)).on("mouseleave",{showReal:!0},this._show.bind(this));return this.chart.config.options.autoColor?r.addClass("auto-color color0"):i?r.addClass(i):r.attr("fill",e),this.chart.config.options.clickable&&r.on("click",this._createClickObject(null,t),a=>this.chart.handleValueClick(a.data)),r}_updateVenn(t,e){t.$circle.animateSVG("cx",this.centerX+t.x,e?this.animationDuration:0,null,!0).animateSVG("cy",this.centerY+t.y,e?this.animationDuration:0,null,!0).animateSVG("r",t.r,e?this.animationDuration:0,null,!0);let i=this.vennCircleHelper.minR,r=this.centerX+t.x+t.legendH*Math.sin(Math.PI/5)*t.r,a=this.centerY+t.y+t.legendV*Math.cos(Math.PI/5)*t.r,s=this.centerX+t.x+t.legendH*Math.sin(Math.PI/5)*(t.legendR+i*1.5),l=this.centerY+t.y+t.legendV*Math.cos(Math.PI/5)*(t.legendR+i*1.5),d={x1:r,x2:s,y1:a,y2:l,v:t.legendV,h:t.legendH};this._renderWireLegend(t.legend,d,"venn-legend")}_drawLabel(t,e,i,r){let a=this.$svg.appendSVG("text","venn-label").attr("x",this.centerX+e).attr("y",this.centerY+i).text(t);r&&this.animationDuration&&a.attr("opacity",0).animateSVG("opacity",1,this.animationDuration,null,!0)}_show(t){if(this.numberOfCircles===1)return;let e=t.type==="mouseenter"?t.target:t.relatedTarget,i=e&&C()(e).hasClass("venn-circle");this.wasCircle&&i||(this.wasCircle=i,this._draw(!0,t.data.showReal))}}function w(n,t,e){return t=he(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function he(n){var t=de(n,"string");return typeof t=="symbol"?t:String(t)}function de(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class V{constructor(t){w(this,"labels",void 0),w(this,"$circle",void 0),w(this,"x",void 0),w(this,"y",void 0),w(this,"r",void 0),w(this,"legend",void 0),w(this,"legendR",void 0),w(this,"legendH",void 0),w(this,"legendV",void 0),this.$circle=t,this.labels=[]}setLegend(t,e,i,r){this.legend=t,this.legendH=e,this.legendV=i,this.legendR=r||this.r}addLabel(t,e,i){this.labels.push({text:t,x:e,y:i})}}function ue(n,t,e){return t=ce(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function ce(n){var t=pe(n,"string");return typeof t=="symbol"?t:String(t)}function pe(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class Lt extends h.FormField{constructor(){super(),ue(this,"chart",void 0),this._addWidgetProperties(["chart"]),this.chart=null}_render(){this.addContainer(this.$parent,"chart-field"),this.addLabel(),this.addMandatoryIndicator(),this.addStatus(),this._renderChart()}_renderChart(){this.chart&&(this.chart.render(),this.addField(this.chart.$container))}_removeChart(){this.chart.remove(),this._removeField()}}class St extends h.FormFieldAdapter{}function fe(n,t,e){return t=me(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function me(n){var t=ge(n,"string");return typeof t=="symbol"?t:String(t)}function ge(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class kt extends h.FormFieldTile{constructor(){super(),fe(this,"_chartConfigChangeHandler",void 0),this._chartConfigChangeHandler=this._onChartConfigChange.bind(this)}_renderColorScheme(){super._renderColorScheme(),this._updateChartColorScheme()}_updateChartColorScheme(){let t=$.extend(!0,{},this.tileWidget.chart.config,{options:{colorScheme:this.colorScheme}});this.tileWidget.chart.setConfig(t)}_onChartConfigChange(t){this._updateChartColorScheme()}_setTileWidget(t){this.tileWidget&&this.tileWidget.chart.off("propertyChange:config",this._chartConfigChangeHandler),super._setTileWidget(t),this.tileWidget.chart.on("propertyChange:config",this._chartConfigChangeHandler)}}class Ot extends h.FormFieldTileAdapter{}function L(n,t,e){return t=be(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function be(n){var t=ye(n,"string");return typeof t=="symbol"?t:String(t)}function ye(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class z extends h.TableControl{constructor(){super(),L(this,"chartAggregation",void 0),L(this,"chartGroup1",void 0),L(this,"chartGroup2",void 0),L(this,"chartType",void 0),L(this,"oldChartType",void 0),L(this,"chart",void 0),L(this,"chartColorScheme",void 0),L(this,"xAxis",void 0),L(this,"yAxis",void 0),L(this,"dateGroup",void 0),L(this,"$chartSelect",void 0),L(this,"$axisSelectContainer",void 0),L(this,"$xAxisSelect",void 0),L(this,"$yAxisSelect",void 0),L(this,"$dataSelect",void 0),L(this,"_chartTypeMap",void 0),L(this,"_aggregationMap",void 0),L(this,"_chartGroup1Map",void 0),L(this,"_chartGroup2Map",void 0),L(this,"_tableUpdatedHandler",void 0),L(this,"_tableColumnStructureChangedHandler",void 0),L(this,"_chartValueClickedHandler",void 0),L(this,"_filterResetListener",void 0),L(this,"_tableUpdatedTimeOutId",void 0),this.tooltipText="${textKey:ui.Chart}",this.chartAggregation={modifier:h.TableMatrix.NumberGroup.COUNT},this.chartType=u.Type.BAR,this.oldChartType=null,this.chart=null,this.chartColorScheme="chart-table-control",this.$chartSelect=null,this.$xAxisSelect=null,this.$yAxisSelect=null,this.$dataSelect=null,this.xAxis=null,this.yAxis=null,this.dateGroup=null,this._tableUpdatedHandler=this._onTableUpdated.bind(this),this._tableColumnStructureChangedHandler=this._onTableColumnStructureChanged.bind(this),this._chartValueClickedHandler=this._onChartValueClick.bind(this)}_init(t){super._init(t),this.table.on("columnStructureChanged",this._tableColumnStructureChangedHandler),this.chart=h.scout.create(u,{parent:this})}_destroy(){this.table.off("columnStructureChanged",this._tableColumnStructureChangedHandler),super._destroy()}_computeEnabled(t,e){return!this._hasColumns()&&!this.selected?!1:super._computeEnabled(t,e)}_renderChart(){this.chart&&(this.chart.render(this.$contentContainer),this.chart.$container.addClass(this.denseClass))}_createLayout(){return new mt(this)}_renderChartType(){this._selectChartType(),this.$yAxisSelect.toggleClass("hide",this.chartType!==u.Type.BUBBLE),this.$yAxisSelect.toggleClass("animated",h.scout.isOneOf(u.Type.BUBBLE,this.chartType,this.oldChartType)&&!!this.oldChartType),this.$yAxisSelect.data("scroll-shadow").setVisible(!1),this.$yAxisSelect.oneAnimationEnd(()=>{h.scrollbars.update(this.$yAxisSelect),this.$yAxisSelect.data("scroll-shadow").setVisible(!0),this.$yAxisSelect.removeClass("animated")}),this.contentRendered&&this.chart.$container.animateAVCSD("opacity",0,()=>{this.chart.$container.css("opacity",1),this._drawChart()})}_selectChartType(){h.objects.values(this._chartTypeMap).forEach(t=>{t.removeClass("selected")}),this._chartTypeMap[this.chartType].addClass("selected")}_renderChartGroup1(){this._renderChartGroup(1)}_renderChartGroup2(){this._renderChartGroup(2)}_renderChartGroup(t){if(!this._hasColumns())return;let e="chartGroup"+t,i="_"+e+"Map",r=this[e];if(r){let a=this[i][r.id];if(a.siblings(".select-axis").animateAVCSD("height",30),a.selectOne("selected"),r.modifier>0){let s=r.modifier^z.DATE_GROUP_FLAG;a.animateAVCSD("height",42),a.children(".select-axis-group").text(this.dateGroup[s][1])}this.contentRendered&&this._drawChart()}}_renderChartAggregation(){let t=this._aggregationMap[this.chartAggregation.id||"all"];t&&(t.selectOne(),t.removeClass("data-sum").removeClass("data-avg"),t.addClass(this._getAggregationCssClass()),this.contentRendered&&this._drawChart())}_getAggregationCssClass(){switch(this.chartAggregation.modifier){case h.TableMatrix.NumberGroup.COUNT:return"data-count";case h.TableMatrix.NumberGroup.SUM:return"data-sum";case h.TableMatrix.NumberGroup.AVG:return"data-avg";default:return null}}_renderChartSelect(t,e,i){let r=h.scout.create(h.Icon,{parent:this,iconDesc:i,cssClass:t});r.render(this.$chartSelect),this.$contentContainer.one("remove",()=>r.destroy());let a=r.$container;a.toggleClass("disabled",!this.enabledComputed||!this._hasColumns()).data("chartType",e),this.enabledComputed&&this._hasColumns()&&a.on("click",this._onClickChartType.bind(this)),this._chartTypeMap[e]=a}_renderChartSelectContainer(){this.$chartSelect=this.$contentContainer.appendDiv("chart-select"),this._chartTypeMap={};let t=this._getSupportedChartTypes();h.scout.isOneOf(u.Type.BAR,t)&&this._renderChartSelect("chart-bar",u.Type.BAR,h.icons.DIAGRAM_BARS_VERTICAL),h.scout.isOneOf(u.Type.BAR_HORIZONTAL,t)&&this._renderChartSelect("chart-stacked",u.Type.BAR_HORIZONTAL,h.icons.DIAGRAM_BARS_HORIZONTAL),h.scout.isOneOf(u.Type.LINE,t)&&this._renderChartSelect("chart-line",u.Type.LINE,h.icons.DIAGRAM_LINE),h.scout.isOneOf(u.Type.PIE,t)&&this._renderChartSelect("chart-pie",u.Type.PIE,h.icons.DIAGRAM_PIE),h.scout.isOneOf(u.Type.BUBBLE,t)&&this._renderChartSelect("chart-bubble",u.Type.BUBBLE,h.icons.DIAGRAM_SCATTER)}_getSupportedChartTypes(){return[u.Type.BAR,u.Type.BAR_HORIZONTAL,u.Type.LINE,u.Type.PIE,u.Type.BUBBLE]}_onClickChartType(t){let e=C()(t.currentTarget),i=e.data("chartType");this.setChartType(i)}_onClickChartGroup(t){let e=C()(t.currentTarget),i=e.parent().data("groupId"),r=e.data("column"),a=e.data("modifier");if(!e.isEnabled())return;let s=e.isSelected()?this._nextDateModifier(a):a;e.data("modifier",s);let l={id:r?r.id:null,modifier:s};this._setChartGroup(i,l)}_onClickAggregation(t){let e=C()(t.currentTarget),i=e.data("modifier"),r=e.isSelected()?this._nextModifier(i):i;e.data("modifier",r);let a=e.data("column"),s={id:a?a.id:null,modifier:r};this._setChartAggregation(s)}_nextDateModifier(t){switch(t){case h.TableMatrix.DateGroup.DATE:return h.TableMatrix.DateGroup.MONTH;case h.TableMatrix.DateGroup.MONTH:return h.TableMatrix.DateGroup.WEEKDAY;case h.TableMatrix.DateGroup.WEEKDAY:return h.TableMatrix.DateGroup.YEAR;case h.TableMatrix.DateGroup.YEAR:return h.TableMatrix.DateGroup.DATE;default:return t}}_nextModifier(t){switch(t){case h.TableMatrix.NumberGroup.SUM:return h.TableMatrix.NumberGroup.AVG;case h.TableMatrix.NumberGroup.AVG:return h.TableMatrix.NumberGroup.SUM;default:return t}}_setChartAggregation(t){t!==this.chartAggregation&&(this._setProperty("chartAggregation",t),this.contentRendered&&this._renderChartAggregation())}_setChartGroup1(t){this._setChartGroup(1,t)}_setChartGroup2(t){this._setChartGroup(2,t)}_setChartGroup(t,e){let i="chartGroup"+t;this._changeProperty(i,e)}_changeProperty(t,e){e!==this[t]&&(this._setProperty(t,e),this.contentRendered&&this["_render"+t.charAt(0).toUpperCase()+t.slice(1)]())}setChartType(t){this.oldChartType=this.chartType,this.setProperty("chartType",t)}_hasColumns(){return this.table.columns.length!==0}_axisCount(t,e){let i;for(let r=0;r<t.length;r++)if(i=t[r][0],i===e)return t[r][1];return 0}_plainAxisText(t,e){return t.headerHtmlEnabled?h.strings.plainText(e).replace(/\n/g," "):e}_renderContent(t){this.$contentContainer=t.appendDiv("chart-container"),this._installScrollbars(),this._renderChartSelectContainer(),this.dateGroup=[[h.TableMatrix.DateGroup.YEAR,this.session.text("ui.groupedByYear")],[h.TableMatrix.DateGroup.MONTH,this.session.text("ui.groupedByMonth")],[h.TableMatrix.DateGroup.WEEKDAY,this.session.text("ui.groupedByWeekday")],[h.TableMatrix.DateGroup.DATE,this.session.text("ui.groupedByDate")]],this._filterResetListener=this.table.on("filterReset",i=>{this.chart&&this.chart.setCheckedItems([])}),this._addListeners(),this._renderAxisSelectorsContainer();let e=this._renderAxisSelectors();this._renderChart(),this._initializeSelection(e),this._renderChartParts(),this._drawChart()}_addListeners(){this.table.on("rowsInserted",this._tableUpdatedHandler),this.table.on("rowsDeleted",this._tableUpdatedHandler),this.table.on("allRowsDeleted",this._tableUpdatedHandler),this.chart.on("valueClick",this._chartValueClickedHandler)}_renderAxisSelectorsContainer(){this.$axisSelectContainer=this.$contentContainer.appendDiv("axis-select-container")}_renderAxisSelectors(){this.$xAxisSelect=this.$axisSelectContainer.appendDiv("xaxis-select").data("groupId",1),h.scrollbars.install(this.$xAxisSelect,{parent:this,session:this.session,axis:"y"}),this.$yAxisSelect=this.$axisSelectContainer.appendDiv("yaxis-select").data("groupId",2),h.scrollbars.install(this.$yAxisSelect,{parent:this,session:this.session,axis:"y"}),this._chartGroup1Map={},this._chartGroup2Map={};let t=new h.TableMatrix(this.table,this.session),e=t.columnCount(!1);e.sort((l,d)=>Math.abs(l[1]-8)-Math.abs(d[1]-8));let i,r,a=0,s=t.columns(!1);for(let l=0;l<s.length;l++){let d,o,c,p=s[l];p instanceof h.DateColumn?r=!0:(i=this._axisCount(e,p),r=i<=z.MAX_AXIS_COUNT),d=this._axisContentForColumn(p),o=this.$contentContainer.makeDiv("select-axis",this._plainAxisText(p,d.text)).data("column",p).setEnabled(r),r||(this.chartGroup1&&this.chartGroup1.id===p.id&&(this.chartGroup1=null,this.chartGroup2=null),this.chartGroup2&&this.chartGroup2.id===p.id&&(this.chartGroup2=null)),d.icon&&o.addClass(d.icon.appendCssClass("font-icon")),p instanceof h.DateColumn&&o.data("modifier",h.TableMatrix.DateGroup.YEAR).appendDiv("select-axis-group",this.dateGroup[0][1]),r?(o.on("click",this._onClickChartGroup.bind(this)),h.tooltips.installForEllipsis(o,{parent:this})):h.tooltips.install(o,{parent:this,text:this.session.text("ui.TooMuchData")}),a++,c=o.clone(!0),this._chartGroup1Map[p.id]=o,this._chartGroup2Map[p.id]=c,this.$xAxisSelect.append(o),this.$yAxisSelect.append(c)}if(this._aggregationMap={},this._hasColumns()){this.$dataSelect=this.$axisSelectContainer.appendDiv("data-select"),h.scrollbars.install(this.$dataSelect,{parent:this,session:this.session,axis:"y"});let l=this.session.text("ui.Count");this._aggregationMap.all=this.$dataSelect.appendDiv("select-data data-count",l).data("column",null).data("modifier",h.TableMatrix.NumberGroup.COUNT);for(let d=0;d<s.length;d++){let o=s[d],c=d+1;if(o instanceof h.NumberColumn){let p;h.strings.hasText(o.text)?p=this._plainAxisText(o,o.text):h.strings.hasText(o.headerTooltipText)?p=o.headerTooltipText:p="["+c+"]",this._aggregationMap[o.id]=this.$dataSelect.appendDiv("select-data data-sum",p).data("column",o).data("modifier",h.TableMatrix.NumberGroup.SUM)}}C()(".select-data",this.$contentContainer).on("click",this._onClickAggregation.bind(this))}return e}_initializeSelection(t){let e;this.chartType||this.setChartType(u.Type.BAR),(!this.chartAggregation||!this._aggregationMap[this.chartAggregation.id])&&this._setChartAggregation({id:null,modifier:h.TableMatrix.NumberGroup.COUNT}),(!this.chartGroup1||!this.chartGroup1.id||!this._chartGroup1Map[this.chartGroup1.id])&&(e=this.$xAxisSelect.children(":not(.disabled)"),this._setDefaultSelectionForGroup(1,t,e,0)),(!this.chartGroup2||!this.chartGroup2.id||!this._chartGroup2Map[this.chartGroup2.id])&&(e=this.$yAxisSelect.children(":not(.disabled)"),this._setDefaultSelectionForGroup(2,t,e,1))}_setDefaultSelectionForGroup(t,e,i,r){let a=this._getDefaultSelectedColumn(e,i,r);a&&this._setChartGroup(t,this._getDefaultChartGroup(a))}_getDefaultSelectedColumn(t,e,i){let r=0,a,s;for(let l=0;l<t.length&&r<=i;l++)a=t[l][0],this._existsInAxisColumns(e,a)&&(s=a,r++);return s}_existsInAxisColumns(t,e){for(let i=0;i<t.length;i++)if(t.eq(i).data("column")===e)return!0;return!1}_getDefaultChartGroup(t){let e;return t instanceof h.DateColumn&&(e=256),{id:t.id,modifier:e}}_renderChartParts(){this._renderChartType(),this._renderChartAggregation(),this._renderChartGroup1(),this._renderChartGroup2()}_drawChart(){if(!this._hasColumns()){this._hideChart();return}let t=this._calculateValues();if(t&&t.length)this.chart.setVisible(!0);else{this._hideChart();return}let e={type:this.chartType,options:{handleResize:!0,colorScheme:this.chartColorScheme,maxSegments:5,plugins:{legend:{display:!1}}}},i=[];e.data=this._computeData(i,t),this._adjustFont(e,i),this._adjustConfig(e),this.chart.setConfig(e);let r=this._computeCheckedItems(e.data.datasets[0].deterministicKeys);this.chart.setCheckedItems(r)}_hideChart(){this.chart.setConfig({type:this.chartType}),this.chart.setVisible(!1)}_getDatasetLabel(){let t=this._aggregationMap[this.chartAggregation.id||"all"];return(t?t.text():null)||this.session.text("ui.Value")}_calculateValues(){let t=new h.TableMatrix(this.table,this.session),e=this.chartAggregation.id?this._aggregationMap[this.chartAggregation.id].data("column"):-1;if(t.addData(e,this.chartAggregation.modifier),this.chartGroup1){let i=this._chartGroup1Map[this.chartGroup1.id].data("column");this.xAxis=t.addAxis(i,this.chartGroup1.modifier)}if(this.chartType===u.Type.BUBBLE&&this.chartGroup2){let i=this._chartGroup2Map[this.chartGroup2.id].data("column");this.yAxis=t.addAxis(i,this.chartGroup2.modifier)}else this.yAxis=null;if(!(t.isEmpty()||!t.isMatrixValid()))return t.calculate()}_getXAxis(){return this.xAxis}_getYAxis(){return this.yAxis}_computeData(t,e){let i={datasets:[{label:this._getDatasetLabel()}]};if(!e)return i;t=t||[];let r=[];if(this.chartType===u.Type.BUBBLE)r=this._computeBubbleData(t,e);else{let l=this._getXAxis();for(let d=0;d<l.length;d++){let o,c=l[d];l.column instanceof h.NumberColumn?o=c:o=this._handleIconLabel(l.format(c),l,t),r.push({value:e.getValue([c])[0],label:o,deterministicKey:l.keyToDeterministicKey(c)})}}let a=i.datasets[0],s=[];return a.data=[],a.deterministicKeys=[],r.forEach(l=>{a.data.push(l.value),a.deterministicKeys.push(l.deterministicKey),h.objects.isNullOrUndefined(l.label)||s.push(l.label)}),s.length&&(i.labels=s),i}_computeBubbleData(t,e){if(!e)return[];t=t||[];let i=this._getXAxis(),r=this._getYAxis(),a=[];for(let s=0;s<i.length;s++){let l=i[s],d=l;this._handleIconLabel(i.format(l),i,t),!(i.column instanceof h.NumberColumn)&&d===null&&(d=i.max),i.column instanceof h.DateColumn&&(d=d-i.min);for(let o=0;o<r.length;o++){let c=r[o],p=c,f=e.getValue([l,c]);this._handleIconLabel(r.format(c),r,t),f&&f.length&&(!(r.column instanceof h.NumberColumn)&&p===null&&(p=r.max),r.column instanceof h.DateColumn&&(p=p-r.min),a.push({value:{x:d,y:p,z:f[0]},deterministicKey:[i.keyToDeterministicKey(l),r.keyToDeterministicKey(c)]}))}}return a}_handleIconLabel(t,e,i){if(e&&e.textIsIcon){let r=h.icons.parseIconId(t);if(r&&r.isFontIcon())return i.push(...r.appendCssClass("font-icon").split(" ")),r.iconCharacter}return t}_adjustFont(t,e){if(!(!t||!e)&&(e=e.filter((i,r,a)=>a.indexOf(i)===r),e.length)){let i=h.styles.get(e,"font-family").fontFamily;this.chartType!==u.Type.PIE&&(t.options=C().extend(!0,{},t.options,{scales:{x:{ticks:{font:{family:i}}},y:{ticks:{font:{family:i}}}}})),t.options=C().extend(!0,{},t.options,{plugins:{tooltip:{titleFont:{family:i}}}}),t.options=C().extend(!0,{},t.options,{plugins:{datalabels:{font:{family:i}}}})}}_adjustLabels(t){if(!t)return;let e=this._getXAxis(),i=this._getYAxis();this.chartType===u.Type.BUBBLE?(e.column instanceof h.NumberColumn||(t.options=C().extend(!0,{},t.options,{scales:{x:{ticks:{callback:r=>this._formatLabel(r,e)}}}})),i.column instanceof h.NumberColumn||(t.options=C().extend(!0,{},t.options,{scales:{y:{ticks:{callback:r=>this._formatLabel(r,i)}}}}))):e.column instanceof h.NumberColumn&&(t.options=C().extend(!0,{},t.options,{reformatLabels:!0}))}_formatLabel(t,e){if(e){if(e.column instanceof h.DateColumn&&(t=t+e.min,t!==parseInt(""+t)||e.length<2&&(t<e.min||t>e.max)))return null;if(e.indexOf(null)!==-1){if(t===e.max)t=null;else if(t>e.max)return null}if(t=e.format(t),e.textIsIcon){let i=h.icons.parseIconId(t);i&&i.isFontIcon()&&(t=i.iconCharacter)}}return""+t}_adjustConfig(t){!t||(this._adjustLabels(t),this._adjustClickable(t),this.chartType===u.Type.BUBBLE?this._adjustBubble(t):this.chartType===u.Type.PIE?this._adjustPie(t):this._adjustScales(t))}_adjustClickable(t){!t||this._isChartClickable()&&(t.options=C().extend(!0,{},t.options,{clickable:!0,checkable:!0,otherSegmentClickable:!0}))}_isChartClickable(){return!0}_adjustBubble(t){!t||this.chartType!==u.Type.BUBBLE||(t.options.bubble=C().extend(!0,{},t.options.bubble,{sizeOfLargestBubble:25,minBubbleSize:5}))}_adjustPie(t){if(!t||this.chartType!==u.Type.PIE)return;t.data.datasets[0].datalabels={labels:{index:{display:"auto",color:h.styles.get([this.chartColorScheme,this.chartType+"-chart","elements","label"],"fill").fill,formatter:(i,r)=>r.chart.data.labels[r.dataIndex],anchor:"end",align:"end",clamp:!0,offset:10,padding:4},labels:{}}},t.options=C().extend(!0,{},t.options,{plugins:{datalabels:{display:!0}}});let e=this.chart.$container.cssMarginTop()-this.chart.$container.cssMarginBottom();t.options=C().extend(!0,{},t.options,{layout:{padding:{top:30+(Math.sign(e)<0?Math.abs(e):0),bottom:30+(Math.sign(e)>0?e:0)}}})}_adjustScales(t){!t||(t.options=C().extend(!0,{},t.options,{scales:{x:{beginAtZero:!0},y:{beginAtZero:!0}}}))}_computeCheckedItems(t){if(!t)return[];let e=this._getXAxis(),i=this._getYAxis(),r=this.table.getFilter(F.TYPE),a=[],s=[];r&&(r.xAxis||{}).column===(e||{}).column&&(r.yAxis||{}).column===(i||{}).column&&(a=r.filters),t.forEach((o,c)=>{a.filter(p=>Array.isArray(p.deterministicKey)&&Array.isArray(o)?h.arrays.equals(p.deterministicKey,o):p.deterministicKey===o).length&&s.push(c)});let l=0;if(this.chartType===u.Type.PIE){let o=this.chart.config.options.maxSegments,c=h.arrays.init(t.length-o,null).map((p,f)=>f+o);h.arrays.containsAll(s,c)||h.arrays.remove(s,o-1),h.arrays.removeAll(s,c),l=1}let d=[];return s.length&&s.forEach(o=>{d.push({datasetIndex:l,dataIndex:o})}),d}_onChartValueClick(){let t=[];if(this.chart&&this.chart.config.data){let e=this.chart.config.options.maxSegments,i=this.chart.config.data.datasets[0],r=s=>({deterministicKey:i.deterministicKeys[s]});this.chartType===u.Type.PIE&&(r=s=>(s=parseInt(""+s),e&&e===s+1?h.arrays.init(i.deterministicKeys.length-s,null).map((l,d)=>({deterministicKey:i.deterministicKeys[d+s]})):{deterministicKey:i.deterministicKeys[s]})),this.chart.checkedItems.filter(s=>s.datasetIndex===0).map(s=>s.dataIndex).forEach(s=>{h.arrays.pushAll(t,r(s))})}if(t.length){let e=h.scout.create(F,{session:this.session,table:this.table,text:this.tooltipText,xAxis:this._getXAxis(),yAxis:this._getYAxis(),filters:t});this.table.addFilter(e)}else this.table.removeFilterByKey(F.TYPE)}_axisContentForColumn(t){let e=t.text;if(h.strings.hasText(e))return{text:e};if(t.headerIconId){let i=h.icons.parseIconId(t.headerIconId);if(i.isFontIcon())return{text:i.iconCharacter,icon:i}}return t.headerTooltipText?{text:t.headerTooltipText}:{text:"["+(this.table.visibleColumns().indexOf(t)+1)+"]"}}_removeContent(){this._removeScrollbars(),this.$contentContainer.remove(),this.chart.remove(),this.table.events.removeListener(this._filterResetListener),this._removeListeners(),this.oldChartType=null,this.recomputeEnabled()}_removeScrollbars(){this.$xAxisSelect.each((t,e)=>{h.tooltips.uninstall(C()(e))}),h.scrollbars.uninstall(this.$xAxisSelect,this.session),this.$yAxisSelect.each((t,e)=>{h.tooltips.uninstall(C()(e))}),h.scrollbars.uninstall(this.$yAxisSelect,this.session),h.scrollbars.uninstall(this.$dataSelect,this.session),this._uninstallScrollbars()}_removeListeners(){this.table.off("rowsInserted",this._tableUpdatedHandler),this.table.off("rowsDeleted",this._tableUpdatedHandler),this.table.off("allRowsDeleted",this._tableUpdatedHandler),this.chart.off("valueClick",this._chartValueClickedHandler)}_onTableUpdated(t){this._tableUpdatedTimeOutId||(this._tableUpdatedTimeOutId=setTimeout(()=>{this._tableUpdatedTimeOutId=null,this.rendered&&(this._setChartGroup1(null),this._setChartGroup2(null),this.removeContent(),this.renderContent())}))}_onTableColumnStructureChanged(){this.recomputeEnabled(),this.contentRendered&&this.selected&&this._onTableUpdated()}}L(z,"DATE_GROUP_FLAG",256),L(z,"MAX_AXIS_COUNT",100);function X(n,t,e){return t=_e(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function _e(n){var t=Ce(n,"string");return typeof t=="symbol"?t:String(t)}function Ce(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class F extends h.TableUserFilter{constructor(){super(),X(this,"text",void 0),X(this,"xAxis",void 0),X(this,"yAxis",void 0),X(this,"filters",void 0),X(this,"columnIdX",void 0),X(this,"columnIdY",void 0),this.filterType=F.TYPE,this.text=null,this.xAxis=null,this.yAxis=null,this.filters=[],this.columnIdX=null,this.columnIdY=null}createLabel(){return this.text}createFilterAddedEventData(){let t=super.createFilterAddedEventData();return t.text=this.text,t.filters=this.filters,t.columnIdX=this.xAxis&&this.xAxis.column?this.xAxis.column.id:null,t.columnIdY=this.yAxis&&this.yAxis.column?this.yAxis.column.id:null,t}calculate(){let t=new h.TableMatrix(this.table,this.session),e=this.table.columnById(this.columnIdX),i=e.createFilter().axisGroup();if(this.xAxis=t.addAxis(e,i),this.columnIdY){let r=this.table.columnById(this.columnIdY),a=r.createFilter().axisGroup();this.yAxis=t.addAxis(r,a)}t.calculate()}accept(t){this.xAxis||this.calculate();let e=this.xAxis.column.cellValueOrTextForCalculation(t),i=this.xAxis.normDeterministic(e);if(!this.yAxis)return this.filters.filter(a=>a.deterministicKey===i).length>0;e=this.yAxis.column.cellValueOrTextForCalculation(t);let r=this.yAxis.normDeterministic(e);return this.filters.filter(a=>h.arrays.equals(a.deterministicKey,[i,r])).length>0}}X(F,"TYPE","CHART");class Pt extends h.TableControlAdapter{constructor(){super(),this._addRemoteProperties(["chartType","chartAggregation","chartGroup1","chartGroup2"])}}function xe(n,t,e){return t=Te(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function Te(n){var t=ve(n,"string");return typeof t=="symbol"?t:String(t)}function ve(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}class mt extends h.AbstractLayout{constructor(t){super(),xe(this,"control",void 0),this.control=t}layout(t){!this.control.contentRendered||(h.scrollbars.update(this.control.$contentContainer),h.scrollbars.update(this.control.$xAxisSelect),h.scrollbars.update(this.control.$yAxisSelect),h.scrollbars.update(this.control.$dataSelect))}}const Et=tt;h.ObjectFactory.get().registerNamespace("scout",tt)})();
2
+
3
+ //# sourceMappingURL=eclipse-scout-chart-dee874ed46aaa3d247de.min.js.map