Seditio Source
Root |
./othercms/xenForo 2.2.8/js/xf/stats.min.js
'use strict';!function(k,r,t,u){XF.Stats=XF.Element.newHandler({options:{data:"| .js-statsData",seriesLabels:"| .js-statsSeriesLabels",legend:"| .js-statsLegend",chart:"| .js-statsChart",maxTicks:9,lineSmooth:!1,showArea:!1,showPoint:!0,averages:!0},$chart:null,chart:null,seriesLabels:{},labelMap:{},tooltipEl:null,init:function(){this.$chart=XF.findRelativeIf(this.options.chart,this.$target);var c={},a=XF.findRelativeIf(this.options.data,this.$target),e={},d=XF.findRelativeIf(this.options.seriesLabels,
this.$target);try{c=k.parseJSON(a.first().html())||{}}catch(f){console.error("Stats data not valid: ",f);return}try{e=k.parseJSON(d.first().html())||{}}catch(f){console.error("Series labels not valid: ",f)}this.seriesLabels=e;c=this.setupChartData(c);a=this.setupChartOptions(c);e=this.setupChartResponsive(c,a);this.createChart(c,a,e)},setupChartData:function(c){var a=[],e={},d=null,f=0,n=this;k.each(c,function(p,m){p=0;var b=n.options.averages?"averages":"values",g=b+".tips";b=m[b];a.push(f);e[f]=
m.label;if(null==d){d=[];for(var h in b)d.push({name:n.seriesLabels[h],data:[]})}for(var l in b)b.hasOwnProperty(l)&&(h={x:f,y:b[l]},m.hasOwnProperty(g)&&(h.tip=m[g][l]),d[p].data.push(h),p++);f++});this.labelMap=e;return{labels:a,series:d}},setupChartOptions:function(c){var a=c.labels,e=this;return{fullWidth:!0,lineSmooth:e.options.lineSmooth,showArea:e.options.showArea,showPoint:e.options.showPoint,axisY:{onlyInteger:!0,labelOffset:{x:0,y:6}},axisX:{type:Chartist.FixedScaleAxis,ticks:this.getTicks(a,
this.options.maxTicks),low:a[0],high:a.length?a[a.length-1]:0,labelOffset:{x:0,y:4},labelInterpolationFnc:function(d,f){return d>=a[a.length-1]?"\u00a0":e.labelMap[d]}}}},getTicks:function(c,a){var e=[];a=Math.ceil(c.length/a);for(var d=0;d<c.length;d++)0==d%a&&e.push(c[d]);return e},setupChartResponsive:function(c,a){return[["screen and (max-width: 800px)",{axisX:{ticks:this.getTicks(c.labels,Math.min(6,this.options.maxTicks))}}],["screen and (max-width: 500px)",{axisX:{ticks:this.getTicks(c.labels,
Math.min(3,this.options.maxTicks))}}]]},createChart:function(c,a,e){this.chart=new Chartist.Line(this.$chart[0],c,a,e);var d=k("<span />");this.tooltipEl=new XF.TooltipElement(d,{html:!0});var f=this;this.$chart.on("mouseenter focusin",".ct-point",function(b){b=k(b.target);var g=b.closest(".ct-series"),h=g.index(),l=b.attr("ct:value").split(","),q=l[0];l=l[1]||0;c.series[h].data[q].hasOwnProperty("tip")?d.html(c.series[h].data[q].tip):d.text(g.attr("ct:series-name")+" - "+f.labelMap[q]+": "+l);f.tooltipEl.setPositioner(b);
f.tooltipEl.show()});this.$chart.on("mouseleave focusout",".ct-point",function(b){f.tooltipEl.hide()});var n=XF.findRelativeIf(this.options.legend,this.$target),p=this.$chart,m=this.chart;n.length&&setTimeout(function(){k.each(m.data.series,function(b,g){b=g.className||m.options.classNames.series+"-"+Chartist.alphaNumerate(b);var h=p.find("."+b).find(".ct-line, .ct-point").first();b=k("<li />");h.length&&(b.text(g.name),g=r.getComputedStyle(h[0]).getPropertyValue("stroke"),b.prepend(k("<i />").css("background",
g)),n.append(b))})},0)}});XF.Element.register("stats","XF.Stats")}(jQuery,window,document);