From 53d6e4e0c0e673eebeafb34c86faf0c5a489f1c3 Mon Sep 17 00:00:00 2001 From: Daniel Lando Date: Tue, 16 Jul 2024 14:26:03 +0200 Subject: [PATCH] Release 1.7.0 --- CHANGELOG.md | 17 +++++++++ dist/justgage.js | 81 ++++++++++++++++++++++++++++++++++++++++ dist/justgage.min.js | 2 +- dist/justgage.min.js.map | 2 +- docs/justgage.js | 81 ++++++++++++++++++++++++++++++++++++++++ package-lock.json | 4 +- package.json | 2 +- 7 files changed, 184 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 106f3df..f8b53c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,25 @@ 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.7.0](https://github.com/toorshia/justgage/compare/v1.6.1...v1.7.0) + +- feat: add targetLine [`#398`](https://github.com/toorshia/justgage/pull/398) +- chore: bump vm2 from 3.9.17 to 3.9.18 [`#393`](https://github.com/toorshia/justgage/pull/393) +- chore: bump vm2 from 3.9.16 to 3.9.17 [`#391`](https://github.com/toorshia/justgage/pull/391) +- chore: bump vm2 from 3.9.15 to 3.9.16 [`#389`](https://github.com/toorshia/justgage/pull/389) +- chore: bump vm2 from 3.9.11 to 3.9.15 [`#388`](https://github.com/toorshia/justgage/pull/388) +- chore: bump cacheable-request from 10.2.3 to 10.2.7 [`#387`](https://github.com/toorshia/justgage/pull/387) +- chore: bump qs from 6.10.2 to 6.11.0 [`#383`](https://github.com/toorshia/justgage/pull/383) +- chore: bump http-cache-semantics from 4.1.0 to 4.1.1 [`#386`](https://github.com/toorshia/justgage/pull/386) +- chore: fix some audit issue [`40f79b9`](https://github.com/toorshia/justgage/commit/40f79b9c396f58fdd76c6cf140b08e038daefa06) +- style: fix lint issues [`3296e33`](https://github.com/toorshia/justgage/commit/3296e33067c6c2a5b142af1e731d971784ad99b3) +- docs: improved destroy example [`d62b827`](https://github.com/toorshia/justgage/commit/d62b827d04d6ed3933c6ea4158335b2a7f478311) + #### [v1.6.1](https://github.com/toorshia/justgage/compare/v1.6.0...v1.6.1) +> 2 December 2022 + +- Release 1.6.1 [`2793743`](https://github.com/toorshia/justgage/commit/2793743ba949fdbf821f36518e1297cf092e30ce) - 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) diff --git a/dist/justgage.js b/dist/justgage.js index b818cc6..9c702c3 100644 --- a/dist/justgage.js +++ b/dist/justgage.js @@ -207,6 +207,17 @@ dataset, ">" ), + // targetLine : float + // value for the target line (optional) + targetLine: kvLookup("targetLine", config, dataset, null, "float"), + + // targetLineColor : string + // color of the target line + targetLineColor: kvLookup("targetLineColor", config, dataset, "#000000"), + + // targetLineWidth : float + // width of the target line + targetLineWidth: kvLookup("targetLineWidth", config, dataset, 1.5), // donutStartAngle : int // angle to start from when in donut mode @@ -765,6 +776,9 @@ ], }); + // Draw the Target Line + obj.drawTargetLine(); + if (obj.config.donut) { obj.level.transform( "r" + @@ -1376,6 +1390,73 @@ } }; + JustGage.prototype.drawTargetLine = function () { + const obj = this; + + if (obj.config.targetLine === null) { + return; + } + + let path; + const w = obj.params.widgetW; + const h = obj.params.widgetH; + const dx = obj.params.dx; + const dy = obj.params.dy; + const gws = obj.config.gaugeWidthScale; + const donut = obj.config.donut; + + const alpha = + (1 - + (obj.config.targetLine - obj.config.min) / + (obj.config.max - obj.config.min)) * + Math.PI; + let Ro = w / 2 - w / 10; + let Ri = Ro - (w / 6.666666666666667) * gws; + + let Cx, Cy, Xo, Yo, Xi, Yi; + + if (donut) { + Ro = w / 2 - w / 30; + Ri = Ro - (w / 6.666666666666667) * gws; + + Cx = w / 2 + dx; + Cy = h / 2 + dy; + + Xo = Cx + Ro * Math.cos(alpha); + Yo = Cy - Ro * Math.sin(alpha); + Xi = Cx + Ri * Math.cos(alpha); + Yi = Cy - Ri * Math.sin(alpha); + + path = "M" + Xi + "," + Yi + " L" + Xo + "," + Yo; + } else { + Cx = w / 2 + dx; + Cy = h / 1.25 + dy; + + Xo = Cx + Ro * Math.cos(alpha); + Yo = Cy - Ro * Math.sin(alpha); + Xi = Cx + Ri * Math.cos(alpha); + Yi = Cy - Ri * Math.sin(alpha); + + path = "M" + Xi + "," + Yi + " L" + Xo + "," + Yo; + } + + obj.targetLine = obj.canvas.path(path).attr({ + stroke: obj.config.targetLineColor, + "stroke-width": obj.config.targetLineWidth, + }); + + if (donut) { + obj.targetLine.transform( + "r" + + obj.config.donutStartAngle + + "," + + (w / 2 + dx) + + "," + + (h / 2 + dy) + ); + } + }; + // // tiny helper function to lookup value of a key from two hash tables // if none found, return defaultvalue diff --git a/dist/justgage.min.js b/dist/justgage.min.js index e7f88fe..9505c73 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;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}); +!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 l=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,L,T,C,N;!1!==c&&delete(n=function(t){t=t||{};for(let n=1;n"),refreshAnimationTime:i("refreshAnimationTime",n,l,700),refreshAnimationType:i("refreshAnimationType",n,l,">"),targetLine:i("targetLine",n,l,null,"float"),targetLineColor:i("targetLineColor",n,l,"#000000"),targetLineWidth:i("targetLineWidth",n,l,1.5),donutStartAngle:i("donutStartAngle",n,l,90),valueMinFontSize:i("valueMinFontSize",n,l,16),labelMinFontSize:i("labelMinFontSize",n,l,10),minLabelMinFontSize:i("minLabelMinFontSize",n,l,10),maxLabelMinFontSize:i("maxLabelMinFontSize",n,l,10),hideValue:i("hideValue",n,l,!1),hideMinMax:i("hideMinMax",n,l,!1),showInnerShadow:i("showInnerShadow",n,l,!1),humanFriendly:i("humanFriendly",n,l,!1),noGradient:i("noGradient",n,l,!1),donut:i("donut",n,l,!1),differential:i("differential",n,l,!1),relativeGaugeSize:i("relativeGaugeSize",n,l,!1),counter:i("counter",n,l,!1),decimals:i("decimals",n,l,0),customSectors:i("customSectors",n,l,{}),formatNumber:i("formatNumber",n,l,!1),pointer:i("pointer",n,l,!1),pointerOptions:i("pointerOptions",n,l,{}),displayRemaining:i("displayRemaining",n,l,!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,L=A,T=x/16>10?x/16:10,C=b+p-p/10-p/6.666666666666667*e.config.gaugeWidthScale/2,N=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,L=A,T=x/16>e.config.maxLabelMinFontSize?x/16:e.config.maxLabelMinFontSize,C=b+p-p/10-p/6.666666666666667*e.config.gaugeWidthScale/2,N=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:L,maxFontSize:T,maxX:C,maxY:N},e.canvas.customAttributes.pki=function(t,n){let i=e.config.min,o=e.config.max;const a=e.params.widgetW,r=e.params.widgetH,l=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=r/2+c,b=(d=a/2+l)+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=r/1.25+c,b=(d=a/2+l)+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 l(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 l;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}),r(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}),r(o.txtMax,o.params.minFontSize,o.params.minY)):(o.txtMin.attr({text:o.txtMinimum}),r(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}),r(o.txtMin,o.params.maxFontSize,o.params.maxY)):(o.txtMax.attr({text:o.txtMaximum}),r(o.txtMax,o.params.maxFontSize,o.params.maxY))),l=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);l=o.config.textRenderer&&!1!==o.config.textRenderer(l)?o.config.textRenderer(l):o.config.humanFriendly?f(l,o.config.humanFriendlyDecimal)+o.config.symbol:o.config.formatNumber?s((1*l).toFixed(o.config.decimals))+o.config.symbol:o.config.displayRemaining?(1*(o.config.max-l)).toFixed(o.config.decimals)+o.config.symbol:(1*l).toFixed(o.config.decimals)+o.config.symbol,o.originalValue=l,o.config.value=1*t,o.config.counter||(o.txtValue.attr({text:l}),r(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 r=document.createElementNS(t,"feGaussianBlur");r.setAttribute("result","offset-blur"),r.setAttribute("stdDeviation",e.config.shadowSize),o.appendChild(r);const l=document.createElementNS(t,"feComposite");l.setAttribute("operator","out"),l.setAttribute("in","SourceGraphic"),l.setAttribute("in2","offset-blur"),l.setAttribute("result","inverse"),o.appendChild(l);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+")"))},n.prototype.drawTargetLine=function(){const t=this;if(null===t.config.targetLine)return;let n;const e=t.params.widgetW,i=t.params.widgetH,o=t.params.dx,a=t.params.dy,r=t.config.gaugeWidthScale,l=t.config.donut,c=(1-(t.config.targetLine-t.config.min)/(t.config.max-t.config.min))*Math.PI;let f,s,m,g,u,d,p=e/2-e/10,x=p-e/6.666666666666667*r;l?(x=(p=e/2-e/30)-e/6.666666666666667*r,s=i/2+a,m=(f=e/2+o)+p*Math.cos(c),g=s-p*Math.sin(c),n="M"+(u=f+x*Math.cos(c))+","+(d=s-x*Math.sin(c))+" L"+m+","+g):(s=i/1.25+a,m=(f=e/2+o)+p*Math.cos(c),g=s-p*Math.sin(c),n="M"+(u=f+x*Math.cos(c))+","+(d=s-x*Math.sin(c))+" L"+m+","+g),t.targetLine=t.canvas.path(n).attr({stroke:t.config.targetLineColor,"stroke-width":t.config.targetLineWidth}),l&&t.targetLine.transform("r"+t.config.donutStartAngle+","+(e/2+o)+","+(i/2+a))};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 e4844b7..afef428 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","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 +{"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","targetLine","targetLineColor","targetLineWidth","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","drawTargetLine","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 b818cc6..9c702c3 100644 --- a/docs/justgage.js +++ b/docs/justgage.js @@ -207,6 +207,17 @@ dataset, ">" ), + // targetLine : float + // value for the target line (optional) + targetLine: kvLookup("targetLine", config, dataset, null, "float"), + + // targetLineColor : string + // color of the target line + targetLineColor: kvLookup("targetLineColor", config, dataset, "#000000"), + + // targetLineWidth : float + // width of the target line + targetLineWidth: kvLookup("targetLineWidth", config, dataset, 1.5), // donutStartAngle : int // angle to start from when in donut mode @@ -765,6 +776,9 @@ ], }); + // Draw the Target Line + obj.drawTargetLine(); + if (obj.config.donut) { obj.level.transform( "r" + @@ -1376,6 +1390,73 @@ } }; + JustGage.prototype.drawTargetLine = function () { + const obj = this; + + if (obj.config.targetLine === null) { + return; + } + + let path; + const w = obj.params.widgetW; + const h = obj.params.widgetH; + const dx = obj.params.dx; + const dy = obj.params.dy; + const gws = obj.config.gaugeWidthScale; + const donut = obj.config.donut; + + const alpha = + (1 - + (obj.config.targetLine - obj.config.min) / + (obj.config.max - obj.config.min)) * + Math.PI; + let Ro = w / 2 - w / 10; + let Ri = Ro - (w / 6.666666666666667) * gws; + + let Cx, Cy, Xo, Yo, Xi, Yi; + + if (donut) { + Ro = w / 2 - w / 30; + Ri = Ro - (w / 6.666666666666667) * gws; + + Cx = w / 2 + dx; + Cy = h / 2 + dy; + + Xo = Cx + Ro * Math.cos(alpha); + Yo = Cy - Ro * Math.sin(alpha); + Xi = Cx + Ri * Math.cos(alpha); + Yi = Cy - Ri * Math.sin(alpha); + + path = "M" + Xi + "," + Yi + " L" + Xo + "," + Yo; + } else { + Cx = w / 2 + dx; + Cy = h / 1.25 + dy; + + Xo = Cx + Ro * Math.cos(alpha); + Yo = Cy - Ro * Math.sin(alpha); + Xi = Cx + Ri * Math.cos(alpha); + Yi = Cy - Ri * Math.sin(alpha); + + path = "M" + Xi + "," + Yi + " L" + Xo + "," + Yo; + } + + obj.targetLine = obj.canvas.path(path).attr({ + stroke: obj.config.targetLineColor, + "stroke-width": obj.config.targetLineWidth, + }); + + if (donut) { + obj.targetLine.transform( + "r" + + obj.config.donutStartAngle + + "," + + (w / 2 + dx) + + "," + + (h / 2 + dy) + ); + } + }; + // // tiny helper function to lookup value of a key from two hash tables // if none found, return defaultvalue diff --git a/package-lock.json b/package-lock.json index ac8b137..9e98e3d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "justgage", - "version": "1.6.1", + "version": "1.7.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "justgage", - "version": "1.6.1", + "version": "1.7.0", "license": "MIT", "dependencies": { "raphael": "^2.3.0" diff --git a/package.json b/package.json index 08a0e89..b8a4d3c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "justgage", - "version": "1.6.1", + "version": "1.7.0", "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": {