diff --git a/CHANGELOG.md b/CHANGELOG.md index c327600..106f3df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,20 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [v1.6.1](https://github.com/toorshia/justgage/compare/v1.6.0...v1.6.1) + +- fix: make differential work with all intervals [`ab0e50e`](https://github.com/toorshia/justgage/commit/ab0e50eb08cbe9a1099682212c0f0e9013a1eec4) + #### [v1.6.0](https://github.com/toorshia/justgage/compare/v1.5.1...v1.6.0) +> 1 December 2022 + - feat: differential gauge [`#380`](https://github.com/toorshia/justgage/pull/380) - chore: bump got and release-it [`#378`](https://github.com/toorshia/justgage/pull/378) - chore: bump parse-url from 6.0.0 to 6.0.5 [`#377`](https://github.com/toorshia/justgage/pull/377) - chore: bump minimist from 1.2.5 to 1.2.6 [`#369`](https://github.com/toorshia/justgage/pull/369) - chore: bump deps and fix example [`7037f11`](https://github.com/toorshia/justgage/commit/7037f11927a6c3c590e7c36b0034aaa4c3742216) +- Release 1.6.0 [`0b5e9e9`](https://github.com/toorshia/justgage/commit/0b5e9e93fd2ec133b4fa6fbcd2ec750620b8cc0f) - chore: bump ci [`da56338`](https://github.com/toorshia/justgage/commit/da563389aa25c5d5ceeea346e6df9d47daa7f589) #### [v1.5.1](https://github.com/toorshia/justgage/compare/v1.5.0...v1.5.1) diff --git a/dist/justgage.js b/dist/justgage.js index 97e0e16..b818cc6 100644 --- a/dist/justgage.js +++ b/dist/justgage.js @@ -253,7 +253,7 @@ donut: kvLookup("donut", config, dataset, false), // differential : bool - // show gauge with 0 at 12 o'clock + // Gauge will fill starting from the center, rather than from the min value differential: kvLookup("differential", config, dataset, false), // relativeGaugeSize : bool @@ -513,7 +513,18 @@ const gws = obj.config.gaugeWidthScale; const donut = obj.config.donut; - let alpha, Ro, Ri, Cx, Cy, So, Si, Xo, Yo, Xi, Yi, path; + let alpha; // angle in radians + let Ro; // outer radius, from center to outer edge of gauge + let Ri; // inner radius, from center to inner edge of gauge + let Cx; // center x + let Cy; // center y + let So; // sweep flag for outer arc + let Si; // sweep flag for inner arc + let Xo; // outer x, from center to outer edge of arc + let Yo; // outer y, from center to outer edge of arc + let Xi; // inner x, from center to inner edge of arc + let Yi; // inner y, from center to inner edge of arc + let path; // SVG path string if (min < 0 && !isDiff) { max -= min; @@ -551,9 +562,6 @@ path, }; } else if (isDiff) { - // At the moment only works with min = -max - // otherwise would need to work out the zero point - // Which of course is possible, but haven't done it yet alpha = (1 - (value - min) / (max - min)) * Math.PI; Ro = w / 2 - w / 10; Ri = Ro - (w / 6.666666666666667) * gws; @@ -566,16 +574,20 @@ Xi = Cx + Ri * Math.cos(alpha); Yi = Cy - Ri * Math.sin(alpha); - So = value < 0 ? 1 : 0; - Si = value < 0 ? 0 : 1; + const middle = min + (max - min) / 2; - path = "M" + Cx + "," + (Cy - Ri) + " "; - path += "L" + Cx + "," + (Cy - Ro) + " "; - path += "A" + Ro + "," + Ro + " 0 0 " + Si + " " + Xo + "," + Yo + " "; - path += "L" + Xi + "," + Yi + " "; + // sweep flag determines if the arc should begin moving at positive angles + // or negative ones + So = value < middle ? 1 : 0; // sweep flag for outer arc + Si = value < middle ? 0 : 1; // sweep flag for inner arc + + path = "M" + Cx + "," + (Cy - Ri) + " "; // start at bottom center + path += "L" + Cx + "," + (Cy - Ro) + " "; // line to top center (Cx, Cy - Ro) + path += "A" + Ro + "," + Ro + " 0 0 " + Si + " " + Xo + "," + Yo + " "; // arc to outer edge + path += "L" + Xi + "," + Yi + " "; // line to inner edge (Xi, Yi) path += - "A" + Ri + "," + Ri + " 0 0 " + So + " " + Cx + "," + (Cy - Ri) + " "; - path += "Z "; + "A" + Ri + "," + Ri + " 0 0 " + So + " " + Cx + "," + (Cy - Ri) + " "; // arc to bottom center + path += "Z "; // close path return { path, diff --git a/dist/justgage.min.js b/dist/justgage.min.js index 5ace5b1..e7f88fe 100644 --- a/dist/justgage.min.js +++ b/dist/justgage.min.js @@ -1,2 +1,2 @@ -!function(t,n){"function"==typeof define&&define.amd?define(["raphael"],function(e){return t.JustGage=n(e)}):"object"==typeof module&&module.exports?module.exports=t.JustGage=n(require("raphael")):t.JustGage=n(Raphael)}("undefined"!=typeof window?window:this,function(t){const n=function(n){const e=this;if(e.events={},o(n))return!1;if(o(n.id)){if(o(n.parentNode))return!1;e.node=n.parentNode}else if(e.node=document.getElementById(n.id),!e.node)return!1;const r=e.node.dataset?e.node.dataset:{},c=!o(n.defaults)&&n.defaults;let u,d,p,x,h,b,M,v,y,F,S,w,A,z,V,T,C,N,O;!1!==c&&delete(n=function(t){t=t||{};for(let n=1;n"),refreshAnimationTime:i("refreshAnimationTime",n,r,700),refreshAnimationType:i("refreshAnimationType",n,r,">"),donutStartAngle:i("donutStartAngle",n,r,90),valueMinFontSize:i("valueMinFontSize",n,r,16),labelMinFontSize:i("labelMinFontSize",n,r,10),minLabelMinFontSize:i("minLabelMinFontSize",n,r,10),maxLabelMinFontSize:i("maxLabelMinFontSize",n,r,10),hideValue:i("hideValue",n,r,!1),hideMinMax:i("hideMinMax",n,r,!1),showInnerShadow:i("showInnerShadow",n,r,!1),humanFriendly:i("humanFriendly",n,r,!1),noGradient:i("noGradient",n,r,!1),donut:i("donut",n,r,!1),differential:i("differential",n,r,!1),relativeGaugeSize:i("relativeGaugeSize",n,r,!1),counter:i("counter",n,r,!1),decimals:i("decimals",n,r,0),customSectors:i("customSectors",n,r,{}),formatNumber:i("formatNumber",n,r,!1),pointer:i("pointer",n,r,!1),pointerOptions:i("pointerOptions",n,r,{}),displayRemaining:i("displayRemaining",n,r,!1)},e.config.value>e.config.max&&(e.config.value=e.config.max),e.config.valued?p=x=d:x=p=u,b=(u-p)/2,M=(d-x)/2,v=x/6.4>16?x/5.4:18,y=b+p/2,w=b+p/2,A=(F=""!==e.config.label?M+x/1.85:M+x/1.7)+(S=x/16>10?x/16:10),z=x/16>10?x/16:10,V=b+p/10+p/6.666666666666667*e.config.gaugeWidthScale/2,T=A,C=x/16>10?x/16:10,N=b+p-p/10-p/6.666666666666667*e.config.gaugeWidthScale/2,O=A):(u>d?(p=2*(x=d))>u&&(p/=h=p/u,x/=h):x=ue.config.valueMinFontSize?x/6.5:e.config.valueMinFontSize,y=b+p/2,F=M+x/1.275,S=x/16>e.config.labelMinFontSize?x/16:e.config.labelMinFontSize,w=b+p/2,A=F+v/2+5,z=x/16>e.config.minLabelMinFontSize?x/16:e.config.minLabelMinFontSize,V=b+p/10+p/6.666666666666667*e.config.gaugeWidthScale/2,T=A,C=x/16>e.config.maxLabelMinFontSize?x/16:e.config.maxLabelMinFontSize,N=b+p-p/10-p/6.666666666666667*e.config.gaugeWidthScale/2,O=A),e.params={canvasW:u,canvasH:d,widgetW:p,widgetH:x,dx:b,dy:M,valueFontSize:v,valueX:y,valueY:F,labelFontSize:S,labelX:w,labelY:A,minFontSize:z,minX:V,minY:T,maxFontSize:C,maxX:N,maxY:O},e.canvas.customAttributes.pki=function(t,n){let i=e.config.min,o=e.config.max;const a=e.params.widgetW,l=e.params.widgetH,r=e.params.dx,c=e.params.dy,f=e.config.gaugeWidthScale,s=e.config.donut;let m,g,u,d,p,x,h,b,M,v,y,F;return i<0&&!n&&(o-=i,t-=i,i=0),s?(m=(1-2*(t-i)/(o-i))*Math.PI,u=(g=a/2-a/30)-a/6.666666666666667*f,p=l/2+c,b=(d=a/2+r)+g*Math.cos(m),M=p-g*Math.sin(m),v=d+u*Math.cos(m),y=p-u*Math.sin(m),F="M"+(d-u)+","+p+" ",F+="L"+(d-g)+","+p+" ",t-i>(o-i)/2&&(F+="A"+g+","+g+" 0 0 1 "+(d+g)+","+p+" "),F+="A"+g+","+g+" 0 0 1 "+b+","+M+" ",F+="L"+v+","+y+" ",t-i>(o-i)/2&&(F+="A"+u+","+u+" 0 0 0 "+(d+u)+","+p+" "),F+="A"+u+","+u+" 0 0 0 "+(d-u)+","+p+" ",{path:F+="Z "}):n?(m=(1-(t-i)/(o-i))*Math.PI,u=(g=a/2-a/10)-a/6.666666666666667*f,p=l/1.25+c,b=(d=a/2+r)+g*Math.cos(m),M=p-g*Math.sin(m),v=d+u*Math.cos(m),y=p-u*Math.sin(m),F="M"+d+","+(p-u)+" ",F+="L"+d+","+(p-g)+" ",F+="A"+g+","+g+" 0 0 "+(h=t<0?0:1)+" "+b+","+M+" ",F+="L"+v+","+y+" ",F+="A"+u+","+u+" 0 0 "+(x=t<0?1:0)+" "+d+","+(p-u)+" ",{path:F+="Z "}):(m=(1-(t-i)/(o-i))*Math.PI,F="M"+((d=a/2+r)-(u=(g=a/2-a/10)-a/6.666666666666667*f))+","+(p=l/1.25+c)+" ",F+="L"+(d-g)+","+p+" ",F+="A"+g+","+g+" 0 0 1 "+(b=d+g*Math.cos(m))+","+(M=p-g*Math.sin(m))+" ",F+="L"+(v=d+u*Math.cos(m))+","+(y=p-u*Math.sin(m))+" ",F+="A"+u+","+u+" 0 0 0 "+(d-u)+","+p+" ",{path:F+="Z "})},e.canvas.customAttributes.ndl=function(t){const n=e.config.min,i=e.config.max,o=e.params.widgetW,a=e.params.widgetH,l=e.params.dx,r=e.params.dy,c=e.config.gaugeWidthScale,f=e.config.donut;let s,m,g,u,d,p,x,h,b,M,v,y,F,S,w,A,z,V=3.5*o/100,T=o/15,C=o/100;return null!=e.config.pointerOptions.toplength&&void 0!==e.config.pointerOptions.toplength&&(V=e.config.pointerOptions.toplength),null!=e.config.pointerOptions.bottomlength&&void 0!==e.config.pointerOptions.bottomlength&&(T=e.config.pointerOptions.bottomlength),null!=e.config.pointerOptions.bottomwidth&&void 0!==e.config.pointerOptions.bottomwidth&&(C=e.config.pointerOptions.bottomwidth),f?(s=(1-2*(t-n)/(i-n))*Math.PI,g=(m=o/2-o/30)-o/6.666666666666667*c,u=a/2+r,d=o/2+l+m*Math.cos(s),p=a-(a-u)-m*Math.sin(s),x=o/2+l+g*Math.cos(s),h=a-(a-u)-g*Math.sin(s),b=d+V*Math.cos(s),M=p-V*Math.sin(s),v=x-T*Math.cos(s),y=h+T*Math.sin(s),z="M"+(F=v+C*Math.sin(s))+","+(S=y+C*Math.cos(s))+" ",z+="L"+(w=v-C*Math.sin(s))+","+(A=y-C*Math.cos(s))+" ",z+="L"+b+","+M+" ",{path:z+="Z "}):(s=(1-(t-n)/(i-n))*Math.PI,g=(m=o/2-o/10)-o/6.666666666666667*c,u=a/1.25+r,d=o/2+l+m*Math.cos(s),p=a-(a-u)-m*Math.sin(s),x=o/2+l+g*Math.cos(s),h=a-(a-u)-g*Math.sin(s),b=d+V*Math.cos(s),M=p-V*Math.sin(s),v=x-T*Math.cos(s),y=h+T*Math.sin(s),z="M"+(F=v+C*Math.sin(s))+","+(S=y+C*Math.cos(s))+" ",z+="L"+(w=v-C*Math.sin(s))+","+(A=y-C*Math.cos(s))+" ",z+="L"+b+","+M+" ",{path:z+="Z "})},e.gauge=e.canvas.path().attr({stroke:"none",fill:e.config.gaugeColor,pki:[e.config.max]}),e.level=e.canvas.path().attr({stroke:"none",fill:a(e.config.value,(e.config.value-e.config.min)/(e.config.max-e.config.min),e.config.levelColors,e.config.noGradient,e.config.customSectors),pki:[e.config.differential?0:e.config.min,e.config.differential]}),e.config.donut&&e.level.transform("r"+e.config.donutStartAngle+", "+(e.params.widgetW/2+e.params.dx)+", "+(e.params.widgetH/2+e.params.dy)),e.config.pointer&&(e.needle=e.canvas.path().attr({stroke:o(e.config.pointerOptions.stroke)?"none":e.config.pointerOptions.stroke,"stroke-width":o(e.config.pointerOptions.stroke_width)?0:e.config.pointerOptions.stroke_width,"stroke-linecap":o(e.config.pointerOptions.stroke_linecap)?"square":e.config.pointerOptions.stroke_linecap,fill:o(e.config.pointerOptions.color)?"#000000":e.config.pointerOptions.color,ndl:[e.config.min]}),e.config.donut&&e.needle.transform("r"+e.config.donutStartAngle+", "+(e.params.widgetW/2+e.params.dx)+", "+(e.params.widgetH/2+e.params.dy))),e.txtValue=e.canvas.text(e.params.valueX,e.params.valueY,0),e.txtValue.attr({"font-size":e.params.valueFontSize,"font-weight":"bold","font-family":e.config.valueFontFamily,fill:e.config.valueFontColor,"fill-opacity":"0"}),l(e.txtValue,e.params.valueFontSize,e.params.valueY),e.txtLabel=e.canvas.text(e.params.labelX,e.params.labelY,e.config.label),e.txtLabel.attr({"font-size":e.params.labelFontSize,"font-weight":"normal","font-family":e.config.labelFontFamily,fill:e.config.labelFontColor,"fill-opacity":"0"}),l(e.txtLabel,e.params.labelFontSize,e.params.labelY);let L=e.config.min;e.config.reverse&&(L=e.config.max),e.txtMinimum=L,e.config.minTxt?e.txtMinimum=e.config.minTxt:e.config.humanFriendly?e.txtMinimum=f(L,e.config.humanFriendlyDecimal):e.config.formatNumber&&(e.txtMinimum=s(L)),e.txtMin=e.canvas.text(e.params.minX,e.params.minY,e.txtMinimum),e.txtMin.attr({"font-size":e.params.minFontSize,"font-weight":"normal","font-family":e.config.labelFontFamily,fill:e.config.labelFontColor,"fill-opacity":e.config.hideMinMax||e.config.donut?"0":"1"}),l(e.txtMin,e.params.minFontSize,e.params.minY);let E=e.config.max;e.config.reverse&&(E=e.config.min),e.txtMaximum=E,e.config.maxTxt?e.txtMaximum=e.config.maxTxt:e.config.humanFriendly?e.txtMaximum=f(E,e.config.humanFriendlyDecimal):e.config.formatNumber&&(e.txtMaximum=s(E)),e.txtMax=e.canvas.text(e.params.maxX,e.params.maxY,e.txtMaximum),e.txtMax.attr({"font-size":e.params.maxFontSize,"font-weight":"normal","font-family":e.config.labelFontFamily,fill:e.config.labelFontColor,"fill-opacity":e.config.hideMinMax||e.config.donut?"0":"1"}),l(e.txtMax,e.params.maxFontSize,e.params.maxY);const k=e.canvas.canvas.childNodes[1],Y="http://www.w3.org/2000/svg";if(void 0!==g&&g<9||(void 0!==g?function t(n){void 0!==document.createElementNS?n():setTimeout(function(){t(n)},100)}(function(){e.generateShadow(Y,k)}):e.generateShadow(Y,k)),e.config.textRenderer&&!1!==e.config.textRenderer(e.originalValue)?e.originalValue=e.config.textRenderer(e.originalValue):e.config.humanFriendly?e.originalValue=f(e.originalValue,e.config.humanFriendlyDecimal)+e.config.symbol:e.config.formatNumber?e.originalValue=s(e.originalValue)+e.config.symbol:e.config.displayRemaining?e.originalValue=(1*(e.config.max-e.originalValue)).toFixed(e.config.decimals)+e.config.symbol:e.originalValue=(1*e.originalValue).toFixed(e.config.decimals)+e.config.symbol,!0===e.config.counter){const t=function(){let t=e.level.attr("pki")[0];e.config.reverse&&(t=1*e.config.max+1*e.config.min-1*e.level.attr("pki")[0]),e.config.textRenderer&&!1!==e.config.textRenderer(Math.floor(t))?e.txtValue.attr("text",e.config.textRenderer(Math.floor(t))):e.config.humanFriendly?e.txtValue.attr("text",f(Math.floor(t),e.config.humanFriendlyDecimal)+e.config.symbol):e.config.formatNumber?e.txtValue.attr("text",s(Math.floor(t))+e.config.symbol):e.config.displayRemaining?e.txtValue.attr("text",(1*(e.config.max-t)).toFixed(e.config.decimals)+e.config.symbol):e.txtValue.attr("text",(1*t).toFixed(e.config.decimals)+e.config.symbol),l(e.txtValue,e.params.valueFontSize,e.params.valueY),t=null},n=function(){e.txtValue.attr({text:e.originalValue}),l(e.txtValue,e.params.valueFontSize,e.params.valueY)};this.bindEvent("raphael.anim.finish",n),this.bindEvent("raphael.anim.frame",t)}else{const t=function(){e.txtValue.attr({text:e.originalValue}),l(e.txtValue,e.params.valueFontSize,e.params.valueY)};this.bindEvent("raphael.anim.start",t)}let I=e.config.value;e.config.reverse&&(I=1*e.config.max+1*e.config.min-1*e.config.value),e.level.animate({pki:[I,e.config.differential]},e.config.startAnimationTime,e.config.startAnimationType,e.config.onAnimationEnd),e.config.pointer&&e.needle.animate({ndl:[I]},e.config.startAnimationTime,e.config.startAnimationType),e.txtValue.animate({"fill-opacity":e.config.hideValue?"0":"1"},e.config.startAnimationTime,e.config.startAnimationType),e.txtLabel.animate({"fill-opacity":"1"},e.config.startAnimationTime,e.config.startAnimationType)};function e(t,n,e){switch(n){case"valueFontColor":if(!c(e))break;t.txtValue.attr({fill:e});break;case"labelFontColor":if(!c(e))break;t.txtMin.attr({fill:e}),t.txtMax.attr({fill:e}),t.txtLabel.attr({fill:e})}}function i(t,n,e,i,a,l){let r=i,c=!1;if(!o(t)&&(!o(e)&&"object"==typeof e&&t in e?(r=e[t],c=!0):!o(n)&&"object"==typeof n&&t in n?(r=n[t],c=!0):r=i,!0===c&&!o(a)))switch(a){case"int":r=parseInt(r,10);break;case"float":r=parseFloat(r)}return r}function o(t){return null===t||void 0===t}function a(t,n,e,i,o){let a,l,c,f,s,m,g,u,d,p,x;const h=o&&o.ranges&&o.ranges.length>0;if(i=i||h,h){!0===o.percents&&(t=100*n);for(let n=0;n=o.ranges[n].lo&&t<=o.ranges[n].hi)return o.ranges[n].color}const b=e.length;if(1===b)return e[0];const M=i?1/b:1/(b-1),v=[];for(let t=0;t9)&&t.node.firstChild.attributes.dy&&(t.node.firstChild.attributes.dy.value=0)}function r(t){return"#"===t.charAt(0)?t.substring(1,7):t}function c(t){return"string"==typeof t&&/^#([0-9A-Fa-f]{3}){1,2}$/.test(t)}function f(t,n){const e=Math.pow(10,n),i=" KMGTPE";let o=0;for(;(t>=1e3||t<=-1e3)&&++o=i.length?i.length-1:o,Math.round(t*e)/e+i[o]}function s(t){const n=t.toString().split(".");return n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),n.join(".")}function m(t,n){let e="";return document.defaultView&&document.defaultView.getComputedStyle?e=document.defaultView.getComputedStyle(t,"").getPropertyValue(n):t.currentStyle&&(n=n.replace(/-(\w)/g,function(t,n){return n.toUpperCase()}),e=t.currentStyle[n]),e}n.prototype.bindEvent=function(n,e){n+="."+this.level.id,this.events[n]&&t.eve.off(n,this.events[n]),t.eve.on(n,e),this.events[n]=e},n.prototype.refresh=function(t,n,e,i){const o=this;let r;n=u(n)?n:null,e=u(e)?e:null,null!==(i=i||null)&&(o.config.label=i,o.txtLabel.attr({text:o.config.label}),l(o.txtLabel,o.params.labelFontSize,o.params.labelY)),null!==e&&(o.config.min=e,o.txtMinimum=o.config.min,o.config.minTxt?o.txtMinimum=o.config.minTxt:o.config.humanFriendly?o.txtMinimum=f(o.config.min,o.config.humanFriendlyDecimal):o.config.formatNumber&&(o.txtMinimum=s(o.config.min)),o.config.reverse?(o.txtMax.attr({text:o.txtMinimum}),l(o.txtMax,o.params.minFontSize,o.params.minY)):(o.txtMin.attr({text:o.txtMinimum}),l(o.txtMin,o.params.minFontSize,o.params.minY))),null!==n&&(o.config.max=n,o.txtMaximum=o.config.max,o.config.maxTxt?o.txtMaximum=o.config.maxTxt:o.config.humanFriendly?o.txtMaximum=f(o.config.max,o.config.humanFriendlyDecimal):o.config.formatNumber&&(o.txtMaximum=s(o.config.max)),o.config.reverse?(o.txtMin.attr({text:o.txtMaximum}),l(o.txtMin,o.params.maxFontSize,o.params.maxY)):(o.txtMax.attr({text:o.txtMaximum}),l(o.txtMax,o.params.maxFontSize,o.params.maxY))),r=t,1*t>1*o.config.max&&(t=1*o.config.max),1*t<1*o.config.min&&(t=1*o.config.min);const c=a(t,(t-o.config.min)/(o.config.max-o.config.min),o.config.levelColors,o.config.noGradient,o.config.customSectors);r=o.config.textRenderer&&!1!==o.config.textRenderer(r)?o.config.textRenderer(r):o.config.humanFriendly?f(r,o.config.humanFriendlyDecimal)+o.config.symbol:o.config.formatNumber?s((1*r).toFixed(o.config.decimals))+o.config.symbol:o.config.displayRemaining?(1*(o.config.max-r)).toFixed(o.config.decimals)+o.config.symbol:(1*r).toFixed(o.config.decimals)+o.config.symbol,o.originalValue=r,o.config.value=1*t,o.config.counter||(o.txtValue.attr({text:r}),l(o.txtValue,o.params.valueFontSize,o.params.valueY));let m=o.config.value;o.config.reverse&&(m=1*o.config.max+1*o.config.min-1*o.config.value),o.level.animate({pki:[m,o.config.differential],fill:c},o.config.refreshAnimationTime,o.config.refreshAnimationType,o.config.onAnimationEnd),o.config.pointer&&o.needle.animate({ndl:[m]},o.config.refreshAnimationTime,o.config.refreshAnimationType)},n.prototype.update=function(t,n){const i=this;if(t instanceof Object)for(const o in t)e(i,o,n=t[o]);else e(i,t,n)},n.prototype.destroy=function(){this.node&&this.node.parentNode&&(this.node.innerHTML="");for(const n in this.events)t.eve.off(n,this.events[n]);this.events={}},n.prototype.generateShadow=function(t,n){const e=this,i="inner-shadow-"+(e.config.id||e.config.classId),o=document.createElementNS(t,"filter");o.setAttribute("id",i),n.appendChild(o);const a=document.createElementNS(t,"feOffset");a.setAttribute("dx",0),a.setAttribute("dy",e.config.shadowVerticalOffset),o.appendChild(a);const l=document.createElementNS(t,"feGaussianBlur");l.setAttribute("result","offset-blur"),l.setAttribute("stdDeviation",e.config.shadowSize),o.appendChild(l);const r=document.createElementNS(t,"feComposite");r.setAttribute("operator","out"),r.setAttribute("in","SourceGraphic"),r.setAttribute("in2","offset-blur"),r.setAttribute("result","inverse"),o.appendChild(r);const c=document.createElementNS(t,"feFlood");c.setAttribute("flood-color","black"),c.setAttribute("flood-opacity",e.config.shadowOpacity),c.setAttribute("result","color"),o.appendChild(c);const f=document.createElementNS(t,"feComposite");f.setAttribute("operator","in"),f.setAttribute("in","color"),f.setAttribute("in2","inverse"),f.setAttribute("result","shadow"),o.appendChild(f);const s=document.createElementNS(t,"feComposite");s.setAttribute("operator","over"),s.setAttribute("in","shadow"),s.setAttribute("in2","SourceGraphic"),o.appendChild(s),e.config.showInnerShadow&&(e.canvas.canvas.childNodes[2].setAttribute("filter","url(#"+i+")"),e.canvas.canvas.childNodes[3].setAttribute("filter","url(#"+i+")"))};const g=function(){let t=3;const n=document.createElement("div"),e=n.getElementsByTagName("i");for(;e[0];)n.innerHTML="\x3c!--[if gt IE "+ ++t+"]>4?t:void 0}();function u(t){return null!==t&&void 0!==t&&!isNaN(t)}return n}); +!function(t,n){"function"==typeof define&&define.amd?define(["raphael"],function(e){return t.JustGage=n(e)}):"object"==typeof module&&module.exports?module.exports=t.JustGage=n(require("raphael")):t.JustGage=n(Raphael)}("undefined"!=typeof window?window:this,function(t){const n=function(n){const e=this;if(e.events={},o(n))return!1;if(o(n.id)){if(o(n.parentNode))return!1;e.node=n.parentNode}else if(e.node=document.getElementById(n.id),!e.node)return!1;const r=e.node.dataset?e.node.dataset:{},c=!o(n.defaults)&&n.defaults;let u,d,p,x,h,b,M,v,y,F,S,w,A,z,V,T,C,N,O;!1!==c&&delete(n=function(t){t=t||{};for(let n=1;n"),refreshAnimationTime:i("refreshAnimationTime",n,r,700),refreshAnimationType:i("refreshAnimationType",n,r,">"),donutStartAngle:i("donutStartAngle",n,r,90),valueMinFontSize:i("valueMinFontSize",n,r,16),labelMinFontSize:i("labelMinFontSize",n,r,10),minLabelMinFontSize:i("minLabelMinFontSize",n,r,10),maxLabelMinFontSize:i("maxLabelMinFontSize",n,r,10),hideValue:i("hideValue",n,r,!1),hideMinMax:i("hideMinMax",n,r,!1),showInnerShadow:i("showInnerShadow",n,r,!1),humanFriendly:i("humanFriendly",n,r,!1),noGradient:i("noGradient",n,r,!1),donut:i("donut",n,r,!1),differential:i("differential",n,r,!1),relativeGaugeSize:i("relativeGaugeSize",n,r,!1),counter:i("counter",n,r,!1),decimals:i("decimals",n,r,0),customSectors:i("customSectors",n,r,{}),formatNumber:i("formatNumber",n,r,!1),pointer:i("pointer",n,r,!1),pointerOptions:i("pointerOptions",n,r,{}),displayRemaining:i("displayRemaining",n,r,!1)},e.config.value>e.config.max&&(e.config.value=e.config.max),e.config.valued?p=x=d:x=p=u,b=(u-p)/2,M=(d-x)/2,v=x/6.4>16?x/5.4:18,y=b+p/2,w=b+p/2,A=(F=""!==e.config.label?M+x/1.85:M+x/1.7)+(S=x/16>10?x/16:10),z=x/16>10?x/16:10,V=b+p/10+p/6.666666666666667*e.config.gaugeWidthScale/2,T=A,C=x/16>10?x/16:10,N=b+p-p/10-p/6.666666666666667*e.config.gaugeWidthScale/2,O=A):(u>d?(p=2*(x=d))>u&&(p/=h=p/u,x/=h):x=ue.config.valueMinFontSize?x/6.5:e.config.valueMinFontSize,y=b+p/2,F=M+x/1.275,S=x/16>e.config.labelMinFontSize?x/16:e.config.labelMinFontSize,w=b+p/2,A=F+v/2+5,z=x/16>e.config.minLabelMinFontSize?x/16:e.config.minLabelMinFontSize,V=b+p/10+p/6.666666666666667*e.config.gaugeWidthScale/2,T=A,C=x/16>e.config.maxLabelMinFontSize?x/16:e.config.maxLabelMinFontSize,N=b+p-p/10-p/6.666666666666667*e.config.gaugeWidthScale/2,O=A),e.params={canvasW:u,canvasH:d,widgetW:p,widgetH:x,dx:b,dy:M,valueFontSize:v,valueX:y,valueY:F,labelFontSize:S,labelX:w,labelY:A,minFontSize:z,minX:V,minY:T,maxFontSize:C,maxX:N,maxY:O},e.canvas.customAttributes.pki=function(t,n){let i=e.config.min,o=e.config.max;const a=e.params.widgetW,l=e.params.widgetH,r=e.params.dx,c=e.params.dy,f=e.config.gaugeWidthScale,s=e.config.donut;let m,g,u,d,p,x,h,b,M,v,y,F;if(i<0&&!n&&(o-=i,t-=i,i=0),s)return m=(1-2*(t-i)/(o-i))*Math.PI,u=(g=a/2-a/30)-a/6.666666666666667*f,p=l/2+c,b=(d=a/2+r)+g*Math.cos(m),M=p-g*Math.sin(m),v=d+u*Math.cos(m),y=p-u*Math.sin(m),F="M"+(d-u)+","+p+" ",F+="L"+(d-g)+","+p+" ",t-i>(o-i)/2&&(F+="A"+g+","+g+" 0 0 1 "+(d+g)+","+p+" "),F+="A"+g+","+g+" 0 0 1 "+b+","+M+" ",F+="L"+v+","+y+" ",t-i>(o-i)/2&&(F+="A"+u+","+u+" 0 0 0 "+(d+u)+","+p+" "),F+="A"+u+","+u+" 0 0 0 "+(d-u)+","+p+" ",{path:F+="Z "};if(n){m=(1-(t-i)/(o-i))*Math.PI,u=(g=a/2-a/10)-a/6.666666666666667*f,p=l/1.25+c,b=(d=a/2+r)+g*Math.cos(m),M=p-g*Math.sin(m),v=d+u*Math.cos(m),y=p-u*Math.sin(m);const n=i+(o-i)/2;return F="M"+d+","+(p-u)+" ",F+="L"+d+","+(p-g)+" ",F+="A"+g+","+g+" 0 0 "+(h=t0;if(i=i||h,h){!0===o.percents&&(t=100*n);for(let n=0;n=o.ranges[n].lo&&t<=o.ranges[n].hi)return o.ranges[n].color}const b=e.length;if(1===b)return e[0];const M=i?1/b:1/(b-1),v=[];for(let t=0;t9)&&t.node.firstChild.attributes.dy&&(t.node.firstChild.attributes.dy.value=0)}function r(t){return"#"===t.charAt(0)?t.substring(1,7):t}function c(t){return"string"==typeof t&&/^#([0-9A-Fa-f]{3}){1,2}$/.test(t)}function f(t,n){const e=Math.pow(10,n),i=" KMGTPE";let o=0;for(;(t>=1e3||t<=-1e3)&&++o=i.length?i.length-1:o,Math.round(t*e)/e+i[o]}function s(t){const n=t.toString().split(".");return n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),n.join(".")}function m(t,n){let e="";return document.defaultView&&document.defaultView.getComputedStyle?e=document.defaultView.getComputedStyle(t,"").getPropertyValue(n):t.currentStyle&&(n=n.replace(/-(\w)/g,function(t,n){return n.toUpperCase()}),e=t.currentStyle[n]),e}n.prototype.bindEvent=function(n,e){n+="."+this.level.id,this.events[n]&&t.eve.off(n,this.events[n]),t.eve.on(n,e),this.events[n]=e},n.prototype.refresh=function(t,n,e,i){const o=this;let r;n=u(n)?n:null,e=u(e)?e:null,null!==(i=i||null)&&(o.config.label=i,o.txtLabel.attr({text:o.config.label}),l(o.txtLabel,o.params.labelFontSize,o.params.labelY)),null!==e&&(o.config.min=e,o.txtMinimum=o.config.min,o.config.minTxt?o.txtMinimum=o.config.minTxt:o.config.humanFriendly?o.txtMinimum=f(o.config.min,o.config.humanFriendlyDecimal):o.config.formatNumber&&(o.txtMinimum=s(o.config.min)),o.config.reverse?(o.txtMax.attr({text:o.txtMinimum}),l(o.txtMax,o.params.minFontSize,o.params.minY)):(o.txtMin.attr({text:o.txtMinimum}),l(o.txtMin,o.params.minFontSize,o.params.minY))),null!==n&&(o.config.max=n,o.txtMaximum=o.config.max,o.config.maxTxt?o.txtMaximum=o.config.maxTxt:o.config.humanFriendly?o.txtMaximum=f(o.config.max,o.config.humanFriendlyDecimal):o.config.formatNumber&&(o.txtMaximum=s(o.config.max)),o.config.reverse?(o.txtMin.attr({text:o.txtMaximum}),l(o.txtMin,o.params.maxFontSize,o.params.maxY)):(o.txtMax.attr({text:o.txtMaximum}),l(o.txtMax,o.params.maxFontSize,o.params.maxY))),r=t,1*t>1*o.config.max&&(t=1*o.config.max),1*t<1*o.config.min&&(t=1*o.config.min);const c=a(t,(t-o.config.min)/(o.config.max-o.config.min),o.config.levelColors,o.config.noGradient,o.config.customSectors);r=o.config.textRenderer&&!1!==o.config.textRenderer(r)?o.config.textRenderer(r):o.config.humanFriendly?f(r,o.config.humanFriendlyDecimal)+o.config.symbol:o.config.formatNumber?s((1*r).toFixed(o.config.decimals))+o.config.symbol:o.config.displayRemaining?(1*(o.config.max-r)).toFixed(o.config.decimals)+o.config.symbol:(1*r).toFixed(o.config.decimals)+o.config.symbol,o.originalValue=r,o.config.value=1*t,o.config.counter||(o.txtValue.attr({text:r}),l(o.txtValue,o.params.valueFontSize,o.params.valueY));let m=o.config.value;o.config.reverse&&(m=1*o.config.max+1*o.config.min-1*o.config.value),o.level.animate({pki:[m,o.config.differential],fill:c},o.config.refreshAnimationTime,o.config.refreshAnimationType,o.config.onAnimationEnd),o.config.pointer&&o.needle.animate({ndl:[m]},o.config.refreshAnimationTime,o.config.refreshAnimationType)},n.prototype.update=function(t,n){const i=this;if(t instanceof Object)for(const o in t)e(i,o,n=t[o]);else e(i,t,n)},n.prototype.destroy=function(){this.node&&this.node.parentNode&&(this.node.innerHTML="");for(const n in this.events)t.eve.off(n,this.events[n]);this.events={}},n.prototype.generateShadow=function(t,n){const e=this,i="inner-shadow-"+(e.config.id||e.config.classId),o=document.createElementNS(t,"filter");o.setAttribute("id",i),n.appendChild(o);const a=document.createElementNS(t,"feOffset");a.setAttribute("dx",0),a.setAttribute("dy",e.config.shadowVerticalOffset),o.appendChild(a);const l=document.createElementNS(t,"feGaussianBlur");l.setAttribute("result","offset-blur"),l.setAttribute("stdDeviation",e.config.shadowSize),o.appendChild(l);const r=document.createElementNS(t,"feComposite");r.setAttribute("operator","out"),r.setAttribute("in","SourceGraphic"),r.setAttribute("in2","offset-blur"),r.setAttribute("result","inverse"),o.appendChild(r);const c=document.createElementNS(t,"feFlood");c.setAttribute("flood-color","black"),c.setAttribute("flood-opacity",e.config.shadowOpacity),c.setAttribute("result","color"),o.appendChild(c);const f=document.createElementNS(t,"feComposite");f.setAttribute("operator","in"),f.setAttribute("in","color"),f.setAttribute("in2","inverse"),f.setAttribute("result","shadow"),o.appendChild(f);const s=document.createElementNS(t,"feComposite");s.setAttribute("operator","over"),s.setAttribute("in","shadow"),s.setAttribute("in2","SourceGraphic"),o.appendChild(s),e.config.showInnerShadow&&(e.canvas.canvas.childNodes[2].setAttribute("filter","url(#"+i+")"),e.canvas.canvas.childNodes[3].setAttribute("filter","url(#"+i+")"))};const g=function(){let t=3;const n=document.createElement("div"),e=n.getElementsByTagName("i");for(;e[0];)n.innerHTML="\x3c!--[if gt IE "+ ++t+"]>4?t:void 0}();function u(t){return null!==t&&void 0!==t&&!isNaN(t)}return n}); //# sourceMappingURL=justgage.min.js.map \ No newline at end of file diff --git a/dist/justgage.min.js.map b/dist/justgage.min.js.map index 3283b46..e4844b7 100644 --- a/dist/justgage.min.js.map +++ b/dist/justgage.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../justgage.js"],"names":["root","factory","define","amd","raphael","JustGage","module","exports","require","Raphael","window","this","config","obj","events","isUndefined","id","parentNode","node","document","getElementById","dataset","defaults","canvasW","canvasH","widgetW","widgetH","aspect","dx","dy","valueFontSize","valueX","valueY","labelFontSize","labelX","labelY","minFontSize","minX","minY","maxFontSize","maxX","maxY","out","i","arguments","length","key","Object","prototype","hasOwnProperty","call","extend","classId","replace","c","r","Math","random","v","toString","value","kvLookup","width","height","valueFontColor","valueFontFamily","symbol","min","minTxt","max","maxTxt","reverse","humanFriendlyDecimal","textRenderer","onAnimationEnd","gaugeWidthScale","gaugeColor","label","labelFontColor","labelFontFamily","shadowOpacity","shadowSize","shadowVerticalOffset","levelColors","startAnimationTime","startAnimationType","refreshAnimationTime","refreshAnimationType","donutStartAngle","valueMinFontSize","labelMinFontSize","minLabelMinFontSize","maxLabelMinFontSize","hideValue","hideMinMax","showInnerShadow","humanFriendly","noGradient","donut","differential","relativeGaugeSize","counter","decimals","customSectors","formatNumber","pointer","pointerOptions","displayRemaining","originalValue","canvas","setViewBox","getStyle","slice","params","customAttributes","pki","isDiff","w","h","gws","alpha","Ro","Ri","Cx","Cy","So","Si","Xo","Yo","Xi","Yi","path","PI","cos","sin","ndl","Xc","Yc","Xz","Yz","Xa","Ya","Xb","Yb","dlt","dlb","dw","toplength","undefined","bottomlength","bottomwidth","gauge","attr","stroke","fill","level","getColor","transform","needle","stroke-width","stroke_width","stroke-linecap","stroke_linecap","color","txtValue","text","font-size","font-weight","font-family","fill-opacity","setDy","txtLabel","txtMinimum","humanFriendlyNumber","txtMin","txtMaximum","txtMax","defs","childNodes","svg","ie","onCreateElementNsReady","func","createElementNS","setTimeout","generateShadow","toFixed","onFrame","currentValue","floor","onFinish","bindEvent","onStart","rvl","animate","updateProp","option","val","isHexColor","tablea","tableb","defval","datatype","delimiter","canConvert","parseInt","parseFloat","pct","col","custSec","percentage","rval","gval","bval","lower","upper","range","rangePct","pctLower","pctUpper","cust","ranges","percents","lo","hi","no","inc","colors","cutHex","substring","g","b","join","j","elem","fontSize","txtYpos","firstChild","attributes","str","charAt","test","n","d","d2","pow","s","round","x","parts","split","oElm","strCssRule","strValue","defaultView","getComputedStyle","getPropertyValue","currentStyle","strMatch","p1","toUpperCase","eventName","eve","off","on","refresh","displayVal","isNumber","update","options","destroy","innerHTML","event","sid","gaussFilter","setAttribute","appendChild","feOffset","feGaussianBlur","feComposite1","feFlood","feComposite2","feComposite3","div","createElement","all","getElementsByTagName","isNaN"],"mappings":"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","file":"justgage.min.js"} \ No newline at end of file +{"version":3,"sources":["../justgage.js"],"names":["root","factory","define","amd","raphael","JustGage","module","exports","require","Raphael","window","this","config","obj","events","isUndefined","id","parentNode","node","document","getElementById","dataset","defaults","canvasW","canvasH","widgetW","widgetH","aspect","dx","dy","valueFontSize","valueX","valueY","labelFontSize","labelX","labelY","minFontSize","minX","minY","maxFontSize","maxX","maxY","out","i","arguments","length","key","Object","prototype","hasOwnProperty","call","extend","classId","replace","c","r","Math","random","v","toString","value","kvLookup","width","height","valueFontColor","valueFontFamily","symbol","min","minTxt","max","maxTxt","reverse","humanFriendlyDecimal","textRenderer","onAnimationEnd","gaugeWidthScale","gaugeColor","label","labelFontColor","labelFontFamily","shadowOpacity","shadowSize","shadowVerticalOffset","levelColors","startAnimationTime","startAnimationType","refreshAnimationTime","refreshAnimationType","donutStartAngle","valueMinFontSize","labelMinFontSize","minLabelMinFontSize","maxLabelMinFontSize","hideValue","hideMinMax","showInnerShadow","humanFriendly","noGradient","donut","differential","relativeGaugeSize","counter","decimals","customSectors","formatNumber","pointer","pointerOptions","displayRemaining","originalValue","canvas","setViewBox","getStyle","slice","params","customAttributes","pki","isDiff","w","h","gws","alpha","Ro","Ri","Cx","Cy","So","Si","Xo","Yo","Xi","Yi","path","PI","cos","sin","middle","ndl","Xc","Yc","Xz","Yz","Xa","Ya","Xb","Yb","dlt","dlb","dw","toplength","undefined","bottomlength","bottomwidth","gauge","attr","stroke","fill","level","getColor","transform","needle","stroke-width","stroke_width","stroke-linecap","stroke_linecap","color","txtValue","text","font-size","font-weight","font-family","fill-opacity","setDy","txtLabel","txtMinimum","humanFriendlyNumber","txtMin","txtMaximum","txtMax","defs","childNodes","svg","ie","onCreateElementNsReady","func","createElementNS","setTimeout","generateShadow","toFixed","onFrame","currentValue","floor","onFinish","bindEvent","onStart","rvl","animate","updateProp","option","val","isHexColor","tablea","tableb","defval","datatype","delimiter","canConvert","parseInt","parseFloat","pct","col","custSec","percentage","rval","gval","bval","lower","upper","range","rangePct","pctLower","pctUpper","cust","ranges","percents","lo","hi","no","inc","colors","cutHex","substring","g","b","join","j","elem","fontSize","txtYpos","firstChild","attributes","str","charAt","test","n","d","d2","pow","s","round","x","parts","split","oElm","strCssRule","strValue","defaultView","getComputedStyle","getPropertyValue","currentStyle","strMatch","p1","toUpperCase","eventName","eve","off","on","refresh","displayVal","isNumber","update","options","destroy","innerHTML","event","sid","gaussFilter","setAttribute","appendChild","feOffset","feGaussianBlur","feComposite1","feFlood","feComposite2","feComposite3","div","createElement","all","getElementsByTagName","isNaN"],"mappings":"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","file":"justgage.min.js"} \ No newline at end of file diff --git a/docs/justgage.js b/docs/justgage.js index 97e0e16..b818cc6 100644 --- a/docs/justgage.js +++ b/docs/justgage.js @@ -253,7 +253,7 @@ donut: kvLookup("donut", config, dataset, false), // differential : bool - // show gauge with 0 at 12 o'clock + // Gauge will fill starting from the center, rather than from the min value differential: kvLookup("differential", config, dataset, false), // relativeGaugeSize : bool @@ -513,7 +513,18 @@ const gws = obj.config.gaugeWidthScale; const donut = obj.config.donut; - let alpha, Ro, Ri, Cx, Cy, So, Si, Xo, Yo, Xi, Yi, path; + let alpha; // angle in radians + let Ro; // outer radius, from center to outer edge of gauge + let Ri; // inner radius, from center to inner edge of gauge + let Cx; // center x + let Cy; // center y + let So; // sweep flag for outer arc + let Si; // sweep flag for inner arc + let Xo; // outer x, from center to outer edge of arc + let Yo; // outer y, from center to outer edge of arc + let Xi; // inner x, from center to inner edge of arc + let Yi; // inner y, from center to inner edge of arc + let path; // SVG path string if (min < 0 && !isDiff) { max -= min; @@ -551,9 +562,6 @@ path, }; } else if (isDiff) { - // At the moment only works with min = -max - // otherwise would need to work out the zero point - // Which of course is possible, but haven't done it yet alpha = (1 - (value - min) / (max - min)) * Math.PI; Ro = w / 2 - w / 10; Ri = Ro - (w / 6.666666666666667) * gws; @@ -566,16 +574,20 @@ Xi = Cx + Ri * Math.cos(alpha); Yi = Cy - Ri * Math.sin(alpha); - So = value < 0 ? 1 : 0; - Si = value < 0 ? 0 : 1; + const middle = min + (max - min) / 2; - path = "M" + Cx + "," + (Cy - Ri) + " "; - path += "L" + Cx + "," + (Cy - Ro) + " "; - path += "A" + Ro + "," + Ro + " 0 0 " + Si + " " + Xo + "," + Yo + " "; - path += "L" + Xi + "," + Yi + " "; + // sweep flag determines if the arc should begin moving at positive angles + // or negative ones + So = value < middle ? 1 : 0; // sweep flag for outer arc + Si = value < middle ? 0 : 1; // sweep flag for inner arc + + path = "M" + Cx + "," + (Cy - Ri) + " "; // start at bottom center + path += "L" + Cx + "," + (Cy - Ro) + " "; // line to top center (Cx, Cy - Ro) + path += "A" + Ro + "," + Ro + " 0 0 " + Si + " " + Xo + "," + Yo + " "; // arc to outer edge + path += "L" + Xi + "," + Yi + " "; // line to inner edge (Xi, Yi) path += - "A" + Ri + "," + Ri + " 0 0 " + So + " " + Cx + "," + (Cy - Ri) + " "; - path += "Z "; + "A" + Ri + "," + Ri + " 0 0 " + So + " " + Cx + "," + (Cy - Ri) + " "; // arc to bottom center + path += "Z "; // close path return { path, diff --git a/package-lock.json b/package-lock.json index 656bd78..dd88ae5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "justgage", - "version": "1.6.0", + "version": "1.6.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "justgage", - "version": "1.6.0", + "version": "1.6.1", "license": "MIT", "dependencies": { "raphael": "^2.3.0" diff --git a/package.json b/package.json index a9270ea..08a0e89 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "justgage", - "version": "1.6.0", + "version": "1.6.1", "description": "JustGage is a handy JavaScript plugin for generating and animating nice & clean gauges. It is based on Raphaël library for vector drawing, so it’s completely resolution independent and self-adjusting.", "main": "index.js", "scripts": {