blob: 70be9cf030871bd5427a23a9c9fe3e4b35dc3058 [file] [log] [blame]
window.ProgressSemicircle={rebind:function(){for(var t=document.querySelectorAll(".progress-semicircle"),e=0;e<t.length;e++)t[e].classList.remove("binded"),t[e].innerHTML="";this.bind()},bind:function(){for(var t=document.querySelectorAll(".progress-semicircle:not(.binded)"),e=0;e<t.length;e++){var i={};i.value=Number(t[e].getAttribute("value")),i.maxValue=Number(t[e].getAttribute("maxValue"))||100,i.title=t[e].getAttribute("title")||"",i.subTitle=t[e].getAttribute("subTitle")||"",i.text=t[e].getAttribute("text")||"",i.color=t[e].getAttribute("color")||"blue",i.textColor=t[e].getAttribute("textColor")||"grey-800",i.textWeight=t[e].getAttribute("textWeight")||"normal",i.titleWeight=t[e].getAttribute("titleWeight")||"normal",i.titleLineHeight=t[e].getAttribute("titleLineHeight")||"normal",i.subTitleWeight=t[e].getAttribute("subTitleWeight")||"normal",i.titleColor=t[e].getAttribute("titleColor")||"grey-500",i.subTitleColor=t[e].getAttribute("subTitleColor")||"grey-300",i.width=t[e].getAttribute("width")||"100%",i.height=t[e].getAttribute("height")||"300px",i.trailColor=t[e].getAttribute("trailColor")||"grey",i.strokeWidth=t[e].getAttribute("strokeWidth")||"1",i.trailWidth=t[e].getAttribute("trailWidth")||"1",i.textSize=t[e].getAttribute("textSize")||"16px",i.titleSize=t[e].getAttribute("titleSize")||"14px",i.subTitleSize=t[e].getAttribute("subTitleSize")||"12px",i.fill=t[e].getAttribute("fill")||"",i.padding=t[e].getAttribute("padding")||"0",i.textMargin=t[e].getAttribute("textMargin")||"100px 0",i.durationAnimate=Number(t[e].getAttribute("duration")||"800"),this.create(t[e],i)}},create:function(t,e){t.classList.contains("binded")||(t.classList.add("binded"),t.classList.contains("progress-semicircle")||t.classList.add("progress-semicircle-js"),e.value=e.value||0,e.maxValue=e.maxValue||100,e.title=e.title||"",e.subTitle=e.subTitle||"",e.text=e.text||"",e.color=e.color||"blue",e.textColor=e.textColor||"grey-800",e.textWeight=e.textWeight||"normal",e.titleWeight=e.titleWeight||"normal",e.subTitleWeight=e.subTitleWeight||"normal",e.titleColor=e.titleColor||"grey-500",e.subTitleColor=e.subTitleColor||"grey-300",e.width=e.width||"100%",e.height=e.height||"300px",e.trailColor=e.trailColor||"grey",e.strokeWidth=e.strokeWidth||"1",e.trailWidth=e.trailWidth||"1",e.textSize=e.textSize||"16px",e.titleSize=e.titleSize||"14px",e.subTitleSize=e.subTitleSize||"12px",e.fill=e.fill||"",e.padding=e.padding||"0",e.durationAnimate=e.durationAnimate||"800",e.textMargin=e.textMargin||"100px 0",t.style.width=e.width,t.style.height=e.height,t.progressSemicircle={},t.progressSemicircle.bar=new ProgressBar.SemiCircle(t,{color:colorsMobileUI[e.color],trailColor:colorsMobileUI[e.trailColor],strokeWidth:e.strokeWidth,trailWidth:e.trailWidth,easing:"easeInOut",duration:e.durationAnimate,fill:e.fill,text:{alignToBottom:!1,style:{color:colorsMobileUI[e.textColor],position:"absolute",fontSize:e.textSize,fontWeight:e.textWeight,left:"50%",padding:0,margin:e.textMargin}},svgStyle:{display:"block",width:e.width,height:e.height,padding:e.padding},from:{color:colorsMobileUI[e.color],width:e.strokeWidth},to:{color:colorsMobileUI[e.color],width:e.strokeWidth},step:function(t,i){i.path.setAttribute("stroke",t.color),i.path.setAttribute("stroke-width",t.width);var l=Math.round(i.value()*e.maxValue),r="";if(e.title){o='style="';e.titleSize&&(o+=";font-size:"+e.titleSize),e.titleWeight&&(o+=";font-weight:"+e.titleWeight),e.titleLineHeight&&(o+=";line-height:"+e.titleLineHeight),e.titleColor&&(o+=";color:"+colorsMobileUI[e.titleColor]),r+="<div "+(o+='"')+' class="progress-semicircle-title">'+e.title+"</div>"}if(r+=l+e.text,e.subTitle){var o='style="';e.subTitleSize&&(o+=";font-size:"+e.subTitleSize),e.subTitleWeight&&(o+=";font-weight:"+e.subTitleWeight),e.subTitleColor&&(o+=";color:"+colorsMobileUI[e.subTitleColor]),r+="<div "+(o+='"')+' class="progress-semicircle-subtitle">'+e.subTitle+"</div>"}i.setText(r)}}),t.progressSemicircle.update=function(t){var i=0;t<=e.maxValue&&t>=0?i=t/e.maxValue:t<0?console.warn("Value for progress semicircle is too small. (Requested value is "+t+")"):(console.warn("Value for progress semicircle is too high. Maximum is "+e.maxValue+" and requested value is "+t+". (Value set to maximum for now.)"),i=1),this.bar.animate(i)},t.progressSemicircle.update(e.value))}};