www-thermferm/jqwidgets/jqxknob.js

changeset 617
b216f9d4b917
parent 511
2d1d43c3a2c2
equal deleted inserted replaced
616:e2b82881c13e 617:b216f9d4b917
1 /* 1 /*
2 jQWidgets v4.5.2 (2017-May) 2 jQWidgets v12.0.1 (2021-Mar)
3 Copyright (c) 2011-2017 jQWidgets. 3 Copyright (c) 2011-2021 jQWidgets.
4 License: http://jqwidgets.com/license/ 4 License: https://jqwidgets.com/license/
5 */ 5 */
6 !function(a){"use strict";a.jqx.jqxWidget("jqxKnob","",{}),a.extend(a.jqx._jqxKnob.prototype,{defineInstance:function(){var b={type:"circle",allowValueChangeOnClick:!0,allowValueChangeOnDrag:!0,allowValueChangeOnMouseWheel:!0,changing:null,dragEndAngle:-1,dragStartAngle:-1,disabled:!1,dial:{style:"transparent",innerRadius:0,outerRadius:0,gradientType:null,gradientStops:null,startAngle:null,endAngle:null},endAngle:360,height:400,labels:{type:"digits",step:null,rotate:!1,offset:null,style:"",visible:!1},marks:{type:"",thickness:1,size:"10%",colorProgress:"transparent",colorRemaining:"transparent",minorInterval:1,majorInterval:5,offset:"80%",majorSize:"15%"},min:0,max:100,progressBar:{size:"10%",offset:"60%",color:"transparent",background:"transparent"},pointer:{color:{color:"transparent",border:null,gradientType:null,gradientStops:null},thickness:1,size:"",type:"",visible:!1},pointerGrabAction:"normal",renderEngine:"",rotation:"clockwise",startAngle:0,spinner:{color:"transparent",innerRadius:0,outerRadius:0,marks:{step:1,rotate:!1,color:"transparent",size:0,steps:10,thickness:1,offset:0}},style:{fill:"transparent",stroke:"transparent"},_touchEvents:{mousedown:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend"),mousemove:a.jqx.mobile.getTouchEventName("touchmove"),mouseenter:"mouseenter",mouseleave:"mouseleave",click:a.jqx.mobile.getTouchEventName("touchstart")},step:1,snapToStep:!0,value:0,width:400};return this===a.jqx._jqxKnob.prototype?b:(a.extend(!0,this,b),b)},createInstance:function(){var b=this;b._hostInit(),b._ie8Plugin(),b._validateProperties(),b._initValues(),b._refresh(),a.jqx.utilities.resize(b.host,function(){b.widgetSize=Math.min(b.host.width(),b.host.height()),b._refresh()})},_getEvent:function(a){return this._isTouchDevice?this._touchEvents[a]+".jqxKnob"+this.element.id:a+".jqxKnob"+this.element.id},_ie8Plugin:function(){"function"!=typeof Array.prototype.forEach&&(Array.prototype.forEach=function(a){for(var b=0;b<this.length;b++)a.apply(this,[this[b],b,this])}),window.getComputedStyle||(window.getComputedStyle=function(a,b){return this.el=a,this.getPropertyValue=function(b){var c=/(\-([a-z]){1})/g;return"float"==b&&(b="styleFloat"),c.test(b)&&(b=b.replace(c,function(){return arguments[2].toUpperCase()})),a.currentStyle[b]?a.currentStyle[b]:null},this})},createColorGradient:function(a,b,c){return this._getGradient(a,b,c)},destroy:function(){var b=this;b.removeHandler(a(document),"mousemove.jqxKnob"+b.host[0].id),b.removeHandler(a(document),"blur.jqxKnob"+b.host[0].id),b.removeHandler(a(document),"mouseup.jqxKnob"+b.host[0].id),b.host.empty(),b.host.remove()},propertiesChangedHandler:function(a,b,c){c.width&&c.height&&2==Object.keys(c).length&&a._refresh()},propertyChangedHandler:function(a,b,c,d){if(!(a.batchUpdate&&a.batchUpdate.width&&a.batchUpdate.height&&2==Object.keys(a.batchUpdate).length)){if("disabled"===b&&a.host.removeClass(a.toThemeProperty("jqx-fill-state-disabled")),"value"===b)return void a._setValue(d,"propertyChange");a._validateProperties(),a._refresh()}},val:function(a){var b=this;return 0==arguments.length?b.value:void b._setValue(a,null)},_isPointerGrabbed:!1,_pointerGrabbedIndex:-1,_attatchPointerEventHandlers:function(){var b=this;b.addHandler(b.host,this._getEvent("mousedown"),function(c){if("pointer"!==b.pointerGrabAction||c.target.id===b._pointerID){if(b._isTouchDevice){var d=a.jqx.position(c);c.clientX=d.left,c.clientY=d.top}if("progressBar"===b.pointerGrabAction){var e={x:c.clientX,y:c.clientY},f=b.host[0].getBoundingClientRect(),g=b.widgetSize,h={x:f.left+g/2,y:f.top+g/2},i=b._calculateAngleFromCoordinates(e,h,b.rotation),j=b._calculateDistance(e,h);if(i<b.startAngle&&(i+=360),i>b.endAngle&&i-b.endAngle!==360+b.startAngle-i)return;var k=b._getScale(b.progressBar.offset,"w",g/2),l=b._getScale(b.progressBar.size,"w",g/2);if(j<k||j>k+l)return}return b._isPointerGrabbed=!0,b.allowValueChangeOnClick===!0&&b._mouseMovePointer(c),c.preventDefault(),c.stopPropagation(),!1}});var c=null;b.addHandler(a(document),this._getEvent("mousemove"),function(a){if(b.allowValueChangeOnDrag&&(c&&clearTimeout(c),c=setTimeout(function(){b._mouseMovePointer(a)}),b._isPointerGrabbed))return!1}),b.addHandler(a(document),"blur.jqxKnob"+b.host[0].id,function(){b._isPointerGrabbed=!1,b._pointerGrabbedIndex=-1}),b.addHandler(a(document),this._getEvent("mouseup"),function(a){b._isPointerGrabbed&&(b._isPointerGrabbed=!1,b._pointerGrabbedIndex=-1,b._raiseEvent(0,{originalEvent:a,value:b.value}))}),b.addHandler(b.host,"wheel",function(a){if(b.allowValueChangeOnMouseWheel){var c=0;return a||(a=window.event),a.originalEvent&&a.originalEvent.wheelDelta&&(a.wheelDelta=a.originalEvent.wheelDelta),a.wheelDelta?c=a.wheelDelta/120:a.detail?c=-a.detail/3:a.originalEvent&&a.originalEvent.deltaY&&(c=a.originalEvent.deltaY),c>0?b._increment():b._decrement(),!1}})},_mouseMovePointer:function(b){var c=this;if(!c.disabled&&c._isPointerGrabbed){if(c._isTouchDevice){var d=a.jqx.position(b);b.clientX=d.left,b.clientY=d.top}var e={x:b.clientX,y:b.clientY},f=c.host[0].getBoundingClientRect(),g=c.widgetSize,h={x:f.left+g/2,y:f.top+g/2},i=c._calculateAngleFromCoordinates(e,h,c.rotation),j=c._calculateValueFromAngle(i,c.dragStartAngle,c.dragEndAngle,c.min,c.max);if(c.value.length&&c._pointerGrabbedIndex===-1)for(var k=0;k<c.value.length;k++){if(j<=c.value[k]){c._pointerGrabbedIndex=k;break}if(k===c.value.length-1)c._pointerGrabbedIndex=k;else if(j<=c.value[k+1]){var l=c.value[k]+(c.value[k+1]-c.value[k])/2;c._pointerGrabbedIndex=j<=l?k:k+1;break}}if(c.pointer&&c.pointer.length>1){if(1==c._pointerGrabbedIndex){var m=c._calculateAngleFromValue(c.value[0],c.dragStartAngle,c.dragEndAngle,c.min,c.max),n=c._calculateAngleFromValue(c.max,c.dragStartAngle,c.dragEndAngle,c.min,c.max),i=c._calculateAngleFromValue(j,c.dragStartAngle,c.dragEndAngle,c.min,c.max);if(i<=m)return;if(i>=n)return}if(0==c._pointerGrabbedIndex){var n=c._calculateAngleFromValue(c.value[1],c.dragStartAngle,c.dragEndAngle,c.min,c.max),m=c._calculateAngleFromValue(c.min,c.dragStartAngle,c.dragEndAngle,c.min,c.max),i=c._calculateAngleFromValue(j,c.dragStartAngle,c.dragEndAngle,c.min,c.max);if(i<=m)return;if(i>=n)return}}if(c.changing){var o=c.value.slice(0);o[c._pointerGrabbedIndex]=j;var p=c.changing(c.value,o);if(p===!1)return}c._setValue(j,"mouse")}},_getScale:function(a,b,c){return a&&a.toString().indexOf("%")>=0?(a=parseInt(a,10)/100,"object"==typeof c?c[b]()*a:c*a):parseInt(a,10)},_hostInit:function(){var b=this;this._isTouchDevice=a.jqx.mobile.isTouchDevice();var c=b.host;c.width(b.width),c.height(b.height),c.css("position","relative"),b.host.addClass(b.toThemeProperty("jqx-widget jqx-knob")),b.dragStartAngle==-1&&(b.dragStartAngle=b.startAngle),b.dragEndAngle==-1&&(b.dragEndAngle=b.endAngle),b.dragStartAngle<b.startAngle&&(b.dragStartAngle=b.startAngle),b.dragEndAngle>b.endAngle&&(b.dragEndAngle=b.endAngle),b.widgetSize=Math.min(b.host.width(),b.host.height())},_initRenderer:function(b){if(!a.jqx.createRenderer)throw"jqxKnob: Please include a reference to jqxdraw.js";return a.jqx.createRenderer(this,b)},_initValues:function(){var a=this;a.marks&&(a.marks.style&&""!==a.marks.style&&("line"!==a.marks.style||a.marks.thickness||(a.marks.thickness=1),a.marks.size||(a.marks.size="5%"),a.marks.offset||(a.marks.offset="85%")),a.marks.majorInterval&&void 0===a.marks.majorSize&&(a.marks.majorSize="10%")),a._marksList=a._getMarksArray(a.marks),a.spinner&&(a._spinnerMarksList=a._getMarksArray(a.spinner.marks))},_calculateAngleFromValue:function(b,c,d,e,f){return a.jqx.browser.msie&&a.jqx.browser.version<9?"circle"!=this.type?e!=f?parseInt((b-e)/(f-e)):0:e!=f?parseInt((b-e)/(f-e)*(d-c)):0:"circle"!=this.type?e!=f?(b-e)/(f-e):0:e!=f?(b-e)/(f-e)*(d-c):0},_calculateAngleFromCoordinates:function(a,b,c){var d=a.x-b.x,e=a.y-b.y;return e>0?"clockwise"===c?90-180*Math.atan(d/e)/Math.PI:270+180*Math.atan(d/e)/Math.PI:e<0?"clockwise"===c?270-180*Math.atan(d/e)/Math.PI:90+180*Math.atan(d/e)/Math.PI:d>=0?0:180},_calculateValueFromAngle:function(a,b,c,d,e){a<b&&(a+=360);var f=d;return a>c?a-c<360+b-a&&(f=e):f=d+(a-b)*(e-d)/(c-b),f},_calculateDistance:function(a,b){return Math.sqrt(Math.pow(a.x-b.x,2)+Math.pow(a.y-b.y,2))},_drawBackground:function(){var a,b,c,d=this,e=d.renderer;a=d.widgetSize,b=a/2;var f=d.style.strokeWidth?d.style.strokeWidth:0;if(b-=f/2,d.style){var c=d._getColor(d.style.fill),g=d._getColor(d.style.stroke),f=d.style.strokeWidth?d.style.strokeWidth:1;"circle"!=d.type?e.rect(0,0,this.host.width(),this.host.height(),{fill:c,stroke:g,"stroke-width":f}):e.circle(a/2,a/2,b,{fill:c,stroke:g,"stroke-width":f})}},_drawDial:function(){var a=this;if(a.dial){var b,c,d,e,f,g,h,i=a.renderer,j=a.widgetSize,k=0;b=c=j/2,e=a._getScale(a.dial.outerRadius,"w",j/2),d=a._getScale(a.dial.innerRadius,"w",j/2),null!=a.dial.startAngle&&null!=a.dial.endAngle?(f="clockwise"===a.rotation?360-a.dial.endAngle:a.dial.startAngle,g="clockwise"===a.rotation?360-a.dial.startAngle:a.dial.endAngle):(f="clockwise"===a.rotation?360-a.endAngle:a.startAngle,g="clockwise"===a.rotation?360-a.startAngle:a.endAngle),h=a._getColor(a.dial.style.fill);var l=a._getColor(a.dial.style.stroke)||"",m=a.dial.style.strokeWidth||0;i.pieslice(b,c,d,e,f,g,k,{fill:h,stroke:l,"stroke-width":m})}},_getMarksArray:function(a){if(void 0==a)return[];var b,c,d=this,e={},f=d.max,g=d.min,h=f-g,i=a.minorInterval,j=a.majorInterval,k=function(a){return parseFloat(a.toPrecision(12))};if(i){for(b=0;b<h;b+=i)c=k(g+b),e[c]={type:"minor"};e[f]={type:"minor"}}if(j){for(b=0;b<h;b+=j)c=k(g+b),e[c]={type:"major"};e[f]={type:"major"}}if(!i&&!j){var l=d.step;if(l){for(b=0;b<h;b+=l)c=k(g+b),e[c]={type:"minor"};e[f]={type:"minor"}}}return e},_drawMarks:function(){var b=this;if(b.marks){var c=b.renderer,d=b.widgetSize,e=b.marks&&null!=b.marks.colorRemaining?b.marks.colorRemaining:"transparent";e=b._getColor(e),b._dialMarks=[];var f,g,h=b.marks.type;h||(h="line");var i=b._getScale(b.marks.offset,"w",d/2),j=b._marksList;a.each(j,function(j,k){if(b.dragEndAngle-b.dragStartAngle!==360||j!=b.max)if(g=b.dragStartAngle+b._calculateAngleFromValue(j,b.dragStartAngle,b.dragEndAngle,b.min,b.max),"circle"===h){var l=b._getScale(b.marks.size,"w",d/2),m=b._getPointerPosition({x:d/2,y:d/2},i,g,b.rotation);b._dialMarks.push(c.circle(m.x,m.y,l,{fill:e}))}else if("line"===h){f="major"===k.type&&null!==b.marks.majorSize&&void 0!==b.marks.majorSize?b._getScale(b.marks.majorSize,"w",d/2):b._getScale(b.marks.size,"w",d/2);var n=b._getScale(b.marks.thickness,"w",d/2),o=b._getPointerPosition({x:d/2,y:d/2},i,g,b.rotation),p=b._getPointerPosition({x:d/2,y:d/2},i+f,g,b.rotation);a.jqx.browser.msie&&a.jqx.browser.version<9?b._dialMarks.push(c.line(parseInt(o.x),parseInt(o.y),parseInt(p.x),parseInt(p.y),{stroke:e,"stroke-width":n})):b._dialMarks.push(c.line(o.x,o.y,p.x,p.y,{stroke:e,"stroke-width":n}))}})}},_drawProgressBars:function(){var b=this;if(b.progressBar){b._progressBar=b._progressBar||[];for(var c=0;c<b._progressBar.length;c++)a(b._progressBar[c]).remove();if(b._progressBar=[],b._isArray(b.progressBar.style)){var d=b.value[0],e=b.value[1],f=b.progressBar.style[0],g=b.progressBar.style[1];if(b._progressBar.push(b._drawProgressBar(b.max,b.progressBar.background,"background")),b.progressBar.ranges)for(var c=0;c<b.progressBar.ranges.length;c++){var h=b.progressBar.ranges[c].startValue,i=b.progressBar.ranges[c].endValue;b._progressBar.push(b._drawProgressBarFromToValue(h,i,b.progressBar.ranges[c],"background"))}b._progressBar.push(b._drawProgressBar(d,f)),b._progressBar.push(b._drawProgressBarFromEndToStart(e,g))}else{if(b._progressBar.push(b._drawProgressBar(b.max,b.progressBar.background,"background")),b.progressBar.ranges)for(var c=0;c<b.progressBar.ranges.length;c++){var h=b.progressBar.ranges[c].startValue,i=b.progressBar.ranges[c].endValue;b._progressBar.push(b._drawProgressBarFromToValue(h,i,b.progressBar.ranges[c],"background"))}b._progressBar.push(b._drawProgressBar(b.value,b.progressBar.style))}}},_drawProgressBarFromEndToStart:function(a,b){var c,d,e,f,g,h,i,j,k=this,l=k.renderer,m=k.widgetSize,n=k._getScale(k.progressBar.offset,"w",m/2),o=0;c=k._getScale(k.progressBar.size,"w",m/2),e=f=m/2,g=n,h=n+c;var p=k._getColor(b.fill)||"transparent",q=k._getColor(b.stroke)||"transparent";d=k.dragStartAngle+k._calculateAngleFromValue(a,k.dragStartAngle,k.dragEndAngle,k.min,k.max),i=k.dragStartAngle;var r=b.strokeWidth?b.strokeWidth:1;if(k.endAngle!=d)return"clockwise"===k.rotation?l.pieslice(e,f,g,h,360-k.endAngle,360-d,o,{fill:p,stroke:q,"stroke-width":r}):l.pieslice(e,f,g,h,j,d,o,{fill:p,stroke:q,"stroke-width":r})},_drawProgressBarFromToValue:function(a,b,c,d){var e,f,g,h,i,j,k,l=this,m=l.renderer,n=l.widgetSize,o=l._getScale(l.progressBar.offset,"w",n/2),p=0;e=l._getScale(l.progressBar.size,"w",n/2),g=h=n/2,i=o,j=o+e;var q=l._getColor(c.fill)||"transparent",r=l._getColor(c.stroke)||"transparent";if(f=l.dragStartAngle+l._calculateAngleFromValue(b,l.dragStartAngle,l.dragEndAngle,l.min,l.max),k=l.dragStartAngle+l._calculateAngleFromValue(a,l.dragStartAngle,l.dragEndAngle,l.min,l.max),k!=f){var s=1;"background"==d&&(s=0);var t=c.strokeWidth?c.strokeWidth:s;if("circle"!=l.type){if("rect"==l.type){var u=f*(this.host.height()-2*o),v=this.host.height()-2*o;return m.rect(g-e/2,o+v-u,e,u,{fill:q,stroke:r,"stroke-width":t})}return m.rect(o,h-e/2,this.host.width()-2*o,e,{fill:q,stroke:r,"stroke-width":t})}return"clockwise"===l.rotation?m.pieslice(g,h,i,j,360-f,360-k,p,{fill:q,stroke:r,"stroke-width":t}):m.pieslice(g,h,i,j,k,f,p,{fill:q,stroke:r,"stroke-width":t})}},_drawProgressBar:function(a,b,c){var d,e,f,g,h,i,j,k=this,l=k.renderer,m=k.widgetSize,n=k._getScale(k.progressBar.offset,"w",m/2),o=0;d=k._getScale(k.progressBar.size,"w",m/2),f=g=m/2,h=n,i=n+d;var p=k._getColor(b.fill)||"transparent",q=k._getColor(b.stroke)||"transparent";if(e=k.dragStartAngle+k._calculateAngleFromValue(a,k.dragStartAngle,k.dragEndAngle,k.min,k.max),j=k.dragStartAngle,j!=e){var r=1;"background"==c&&(r=0);var s=b.strokeWidth?b.strokeWidth:r;if("circle"!=k.type){if("rect"==k.type){var t=e*(this.host.height()-2*n),u=this.host.height()-2*n;return l.rect(f-d/2,n+u-t,d,t,{fill:p,stroke:q,"stroke-width":s})}return l.rect(n,g-d/2,this.host.width()-2*n,d,{fill:p,stroke:q,"stroke-width":s})}return"clockwise"===k.rotation?l.pieslice(f,g,h,i,360-e,360-j,o,{opacity:b.opacity||1,fill:p,stroke:q,"stroke-width":s}):l.pieslice(f,g,h,i,j,e,o,{opacity:b.opacity||1,fill:p,stroke:q,"stroke-width":s})}},_drawLabels:function(){var b=this;b._labels=[];var c=b.renderer,d=b.widgetSize;if(void 0===b.labels.visible&&(b.labels.visible=!0),b.labels.visible===!0){var e,f=b._getScale(b.labels.offset,"w",d/2),g=b.labels.type?b.labels.type:"digits",h=b.labels.style,i=h&&h.fill?b._getColor(h.fill):"#333";if("digits"===g){var j=[];if(b.labels.customLabels)for(e=0;e<b.labels.customLabels.length;e++)j.push(b.labels.customLabels[e].value);else{var k=b.labels.step||b.step;for(e=b.min;e<b.max;e+=k)j.push(e);b.dragEndAngle-360<b.dragStartAngle&&j.push(b.max)}for(e=0;e<j.length;e++){var l=b.labels.customLabels?b.labels.customLabels[e].text:j[e].toString();b.labels.formatFunction&&(l=b.labels.formatFunction(l));var m=b.dragStartAngle,n=b.dragEndAngle,o=m+b._calculateAngleFromValue(j[e],m,n,b.min,b.max),p=b._getPointerPosition({x:d/2,y:d/2},f,o,b.rotation);if(a.jqx.browser.msie&&a.jqx.browser.version<9){var q=c.measureText(l,0,{class:this.toThemeProperty("jqx-knob-label")}),r=b.labels.rotate?90-o:0;c.text(l,p.x-q.width/2,p.y-q.height/2,q.width,q.height,r,{class:this.toThemeProperty("jqx-knob-label")},!1)}else{var q=c.measureText(l,0,{style:{fill:i},class:this.toThemeProperty("jqx-knob-label")}),r=b.labels.rotate?90-o:0;c.text(l,p.x-q.width/2,p.y-q.height/2,q.width,q.height,r,{style:{fill:i},class:this.toThemeProperty("jqx-knob-label")},!1)}}}}},_drawPointers:function(){var b=this;if(b._pointers=b._pointers||[],b._pointers.forEach(function(b,c,d){a(b).remove(),d.splice(c,1)}),b.pointer)if(b._isArray(b.pointer))for(var c=0;c<b.progressBar.style.length;c++)b.pointer[c].visible!==!1&&b._pointers.push(b._drawPointer(b.value[c],b.pointer[c]));else{if(b.pointer.visible===!1)return;b._pointers.push(b._drawPointer(b.value,b.pointer))}},_drawPointer:function(a,b){var c=this;b.id=b.id||c._getID();var d=c.renderer,e=c.widgetSize,f=b.type;f||(f="circle"),b.style||(b.style={fill:"#feaf4e",stroke:"#feaf4e"});var g,h,i,j=c._getColor(b.style.fill),k=b.style.stroke||"",l=c._getScale(b.offset,"w",e/2),m=c.dragStartAngle+c._calculateAngleFromValue(a,c.dragStartAngle,c.dragEndAngle,c.min,c.max);if("circle"===f){var n=c._getScale(b.size,"w",e/2),o=c._getPointerPosition({x:e/2,y:e/2},l,m,c.rotation);i=d.circle(o.x,o.y,n,{id:b.id,fill:j,stroke:k})}else if("line"===f){g=c._getScale(b.size,"w",e/2),h=b.thickness;var p=c._getPointerPosition({x:e/2,y:e/2},l,m,c.rotation),q=c._getPointerPosition({x:e/2,y:e/2},l+g,m,c.rotation);i=d.line(p.x,p.y,q.x,q.y,{id:b.id,stroke:j,"stroke-width":h})}else if("arc"===f){g=c._getScale(b.size,"w",e/2);var r,s,t,u,v,w,x=0,y=(c.dragEndAngle-c.dragStartAngle)/c._steps.length;r=s=e/2,t=l,u=l+g,v="clockwise"===c.rotation?360-(m+y/2):m-y/2,w="clockwise"===c.rotation?360-(m-y/2):m+y/2,i=d.pieslice(r,s,t,u,v,w,x,{id:b.id,fill:j,stroke:k})}else if("arrow"===f){g=c._getScale(b.size,"w",e/2),h=b.thickness;var z=c._getPointerPosition({x:e/2,y:e/2},g,m,c.rotation),A=c._getPointerPosition({x:e/2,y:e/2},l,m,c.rotation),B=c._getPointerPosition({x:A.x,y:A.y},h/2,m-90,c.rotation),C=c._getPointerPosition({x:A.x,y:A.y},h/2,m+90,c.rotation),D="M "+z.x+","+z.y+" L "+B.x+","+B.y+" L "+C.x+","+C.y+" "+z.x+","+z.y;i=this.renderer.path(D,{id:b.id,stroke:k,fill:j})}return i},_rotateSpinnerMarks:function(b){var c=this,d=c.spinner.marks;if(d){if(d.rotate===!1)return;var e=c.renderer,f=c.widgetSize,g=d&&null!=d.colorRemaining?d.colorRemaining:"transparent";g=c._getColor(g);var h,i,j=d.type;j||(j="line");for(var k=c._getScale(d.offset,"w",f/2),l=0;l<c._spinnerMarks.length;l++)a(c._spinnerMarks[l]).remove();c._spinnerMarks=[];var m=c._spinnerMarksList;a.each(m,function(a,l){if(c.endAngle-c.startAngle!==360||a!=c.max){if(i=b+c._calculateAngleFromValue(a,c.startAngle,c.endAngle,c.min,c.max),i<c.startAngle)return!0;if(i>c.endAngle&&i<c.startAngle+360)return!0;if("circle"===j){var m=c._getScale(d.size,"w",f/2),n=c._getPointerPosition({x:f/2,y:f/2},k,i,c.rotation);c._spinnerMarks.push(e.circle(n.x,n.y,m,{fill:g}))}else if("line"===j){h="major"===l.type&&null!==d.majorSize&&void 0!==d.majorSize?c._getScale(d.majorSize,"w",f/2):c._getScale(d.size,"w",f/2);var o=c._getScale(d.thickness,"w",f/2),p=c._getPointerPosition({x:f/2,y:f/2},k,i,c.rotation),q=c._getPointerPosition({x:f/2,y:f/2},k+h,i,c.rotation);c._spinnerMarks.push(e.line(p.x,p.y,q.x,q.y,{stroke:g,"stroke-width":o}))}}})}},_drawSpinnerMarks:function(b){var c=this;if(b){var d=c.renderer,e=c.widgetSize,f=b&&null!=b.colorRemaining?b.colorRemaining:"transparent";f=c._getColor(f),c._spinnerMarks=[];var g,h,i=b.type;i||(i="line");var j=c._getScale(b.offset,"w",e/2),k=c._spinnerMarksList;a.each(k,function(a,k){if(c.dragEndAngle-c.dragStartAngle!==360||a!=c.max)if(h=c.startAngle+c._calculateAngleFromValue(a,c.startAngle,c.endAngle,c.min,c.max),"circle"===i){var l=c._getScale(b.size,"w",e/2),m=c._getPointerPosition({x:e/2,y:e/2},j,h,c.rotation);c._spinnerMarks.push(d.circle(m.x,m.y,l,{fill:f}))}else if("line"===i){g="major"===k.type&&null!==b.majorSize&&void 0!==b.majorSize?c._getScale(b.majorSize,"w",e/2):c._getScale(b.size,"w",e/2);var n=c._getScale(b.thickness,"w",e/2),o=c._getPointerPosition({x:e/2,y:e/2},j,h,c.rotation),p=c._getPointerPosition({x:e/2,y:e/2},j+g,h,c.rotation);c._spinnerMarks.push(d.line(o.x,o.y,p.x,p.y,{stroke:f,"stroke-width":n}))}})}},_drawSpinner:function(){var a=this;if(a.spinner){var b=a.renderer,c=a.widgetSize;a.spinner.style||(a.spinner.style={fill:"#dfe3e9",stroke:"#dfe3e9"});var d,e,f=a._getColor(a.spinner.style.fill),g=a.spinner.style.stroke||"";d=e=c/2;var h=a._getScale(a.spinner.outerRadius,"w",c/2),i=a._getScale(a.spinner.innerRadius,"w",c/2),j=f.strokeWidth?f.strokeWidth:2;if(b.pieslice(d,e,i,h,360-a.endAngle,360-a.startAngle,0,{"stroke-width":j,fill:f,stroke:g}),a.spinner.marks){return void a._drawSpinnerMarks(a.spinner.marks)}}},_getColor:function(a){return a&&"object"==typeof a?this._getGradient(a.color,a.gradientType,a.gradientStops):a},_getGradient:function(a,b,c){return b&&null!=c&&"object"==typeof c&&("linear"===b?a=this.renderer._toLinearGradient(a,!0,c):"linearHorizontal"===b?a=this.renderer._toLinearGradient(a,!1,c):"radial"===b&&(a=this.renderer._toRadialGradient(a,c))),a},_isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)},_events:["slide","change"],_raiseEvent:function(b,c){var d=this._events[b],e=a.Event(d);return e.args=c,this.host.trigger(e)},_movePointers:function(){for(var a,b=this,c=0;c<b._pointers.length;c++)1!==b._pointers.length?(a=b.dragStartAngle+b._calculateAngleFromValue(b.value[c],b.dragStartAngle,b.dragEndAngle,b.min,b.max),b._pointers[c]=b._movePointer(b._pointers[c],b.pointer[c],a,b.value[c])):(a=b.dragStartAngle+b._calculateAngleFromValue(b.value,b.dragStartAngle,b.dragEndAngle,b.min,b.max),b._pointers[0]=b._movePointer(b._pointers[0],b.pointer,a,b.value))},_movePointer:function(b,c,d,e){var f,g=this,h=g.renderer,i=g.widgetSize,j=c.type;j||(j="circle");var k=g._getScale(c.offset,"w",i/2);if("circle"===j){var l=g._getPointerPosition({x:i/2,y:i/2},k,d,g.rotation);h.attr(b,{cx:l.x,cy:l.y}),a.jqx.browser.msie&&a.jqx.browser.version<9&&(a("#"+c.id).remove(),b=g._drawPointer(e,c))}else if("line"===j){f=g._getScale(c.size,"w",i/2);var m=g._getPointerPosition({x:i/2,y:i/2},k,d,g.rotation),n=g._getPointerPosition({x:i/2,y:i/2},k+f,d,g.rotation);h.attr(b,{x1:m.x,y1:m.y,x2:n.x,y2:n.y}),a.jqx.browser.msie&&a.jqx.browser.version<9&&(a("#"+c.id).remove(),b=g._drawPointer(e,c))}else if("arrow"===j){f=g._getScale(c.size,"w",i/2);var o=c.thickness,p=g._getPointerPosition({x:i/2,y:i/2},f,d,g.rotation),q=g._getPointerPosition({x:i/2,y:i/2},k,d,g.rotation),r=g._getPointerPosition({x:q.x,y:q.y},o/2,d-90,g.rotation),s=g._getPointerPosition({x:q.x,y:q.y},o/2,d+90,g.rotation),t="M "+p.x+","+p.y+" L "+r.x+","+r.y+" L "+s.x+","+s.y+" "+p.x+","+p.y;h.attr(b,{d:t}),a.jqx.browser.msie&&a.jqx.browser.version<9&&(a("#"+c.id).remove(),b=g._drawPointer(e,c))}else"arc"===j&&(a("#"+c.id).remove(),b=g._drawPointer(c));return g.progressBar&&b.parentNode.appendChild(b.parentNode.removeChild(b)),b},_getPointerPosition:function(b,c,d,e){return a.jqx.browser.msie&&a.jqx.browser.version<9?{x:parseInt(b.x+c*Math.sin(Math.PI/180*(d+90))),y:"clockwise"===e?parseInt(b.y+c*Math.sin(Math.PI/180*d)):parseInt(b.y-c*Math.sin(Math.PI/180*d))}:{x:b.x+c*Math.sin(Math.PI/180*(d+90)),y:"clockwise"===e?b.y+c*Math.sin(Math.PI/180*d):b.y-c*Math.sin(Math.PI/180*d)}},_getID:function(){var a=function(){return 16*(1+Math.random())|0};return""+a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()},_decrement:function(){this._setValue(this.value-this.step,"mouse")},_increment:function(){this._setValue(this.value+this.step,"mouse")},_refresh:function(){var b=this;b.disabled&&b.host.addClass(b.toThemeProperty("jqx-fill-state-disabled")),b.renderer||(b._isVML=!1,b.host.empty(),b._initRenderer(b.host)),b.removeHandler(a(document),"mousemove.jqxKnob"+b.host[0].id),b.removeHandler(a(document),"blur.jqxKnob"+b.host[0].id),b.removeHandler(a(document),"mouseup.jqxKnob"+b.host[0].id),b.removeHandler(b.host,"wheel"),b.removeHandler(b.host,"mousedown"),b.host.empty(),b._initRenderer(b.host);var c=b.renderer;if(c){b._steps=[];for(var d=0;d<=(b.max-b.min)/b.step;d++)b._steps.push(b.min+b.step*d);b._initValues(),b._render()}},_render:function(){var a=this;a._drawBackground(),a._drawDial(),a._drawMarks(),a._drawLabels(),a._drawSpinner(),a._drawProgressBars(),a._updateMarksColor(),a._updateSpinnerMarksColor(),a._drawPointers(),a._attatchPointerEventHandlers()},_setValue:function(b,c){var d=this,e=d.value;if(isNaN(b)&&(b=d.min),b>d.max?b=d.max:b<d.min&&(b=d.min),d.snapToStep)for(var f=d._steps,g=0;g<f.length;g++)if(b<f[g]){b=0===g?f[g]:f[g]-b<b-f[g-1]?f[g]:f[g-1];break}if(b!=e){if(a.isArray(d.value)){if(d._pointerGrabbedIndex!=-1){if(1==d._pointerGrabbedIndex){d.value[0];d.value[d._pointerGrabbedIndex]=b}if(0==d._pointerGrabbedIndex){d.value[1];d.value[d._pointerGrabbedIndex]=b}d.value[d._pointerGrabbedIndex]=b}}else d.value=b;d._updateProgressBarColor(),d._updateMarksColor(),d._updateSpinnerMarksColor();var h=d.dragStartAngle+d._calculateAngleFromValue(b,d.dragStartAngle,d.dragEndAngle,d.min,d.max);d._rotateSpinnerMarks(h),d._movePointers(),d._raiseEvent(1,{value:d.value,type:c})}},_updateMarksColor:function(){var b=this;if(b.marks&&(b.marks.colorProgress||b.marks.colorRemaining)){var c=b.renderer,d=[];a.each(b._marksList,function(a){return b.endAngle-b.startAngle===360&&a==b.max?void d.push(a):void d.push(a)});for(var e=b._getColor(b.marks.colorProgress),f=b._getColor(b.marks.colorRemaining),g=b.value.length?b.value[0]:b.value,h=0;h<b._dialMarks.length;h++)d[h]>g?"circle"===b.marks.type?c.attr(b._dialMarks[h],{fill:f}):c.attr(b._dialMarks[h],{stroke:f}):"circle"===b.marks.type?c.attr(b._dialMarks[h],{fill:e}):c.attr(b._dialMarks[h],{stroke:e}),b.progressBar&&b.marks.drawAboveProgressBar&&b._dialMarks[h].parentNode.appendChild(b._dialMarks[h].parentNode.removeChild(b._dialMarks[h]))}},_updateSpinnerMarksColor:function(){var b=this;if(b.spinner&&b.spinner.marks&&b.spinner.marks&&(b.spinner.marks.colorProgress||b.spinner.marks.colorRemaining)){var c=b.renderer,d=[];a.each(b._spinnerMarksList,function(a){b.endAngle-b.startAngle===360&&a==b.max||d.push(a)});for(var e=b._getColor(b.spinner.marks.colorProgress),f=b._getColor(b.spinner.marks.colorRemaining),g=b.value.length?b.value[0]:b.value,h=0;h<b._spinnerMarks.length;h++)d[h]>g?"circle"===b.spinner.marks.type?c.attr(b._spinnerMarks[h],{fill:f}):c.attr(b._spinnerMarks[h],{stroke:f}):"circle"===b.spinner.marks.type?c.attr(b._spinnerMarks[h],{fill:e}):c.attr(b._spinnerMarks[h],{stroke:e})}},_updateProgressBarColor:function(){var a=this;a.progressBar&&a._drawProgressBars()},_validateProperties:function(){var a=this,b=function(a,b){if(a&&"string"==typeof a){var c=a;return a={fill:c,stroke:c}}return a||(a={},a.fill=b,a.stroke=b),a&&a.fill&&!a.stroke&&(a.stroke=a.fill),a&&!a.fill&&a.stroke&&(a.fill=a.stroke),a&&!a.fill&&(a.fill=b),a&&!a.stroke&&(a.stroke=b),a};if(a.dial&&(a.dial.style=b(a.dial.style,"#dddddd")),a.style&&(a.style=b(a.style,"#dddddd")),a.progressBar&&(a.progressBar.style=b(a.progressBar.style,"transparent"),a.progressBar.background=b(a.progressBar.background,"transparent")),a.spinner&&(a.spinner.style=b(a.spinner.style,"transparent")),a.pointer&&(a.pointer.style=b(a.pointer.style,"transparent")),a.startAngle>=a.endAngle)throw new Error("jqxKnob: The end angle must be bigger than the start angle!");if(a.startAngle<0||a.startAngle>360)throw new Error("jqxKnob: Start angle must be between 0 and 360");if(a.endAngle>a.startAngle+360)throw new Error("jqxKnob: End angle must be between startAngle and startAngle + 360");if(a.dial&&a.dial.color&&"transparent"!==a.dial.color&&(!a.dial.outerRadius||!a.dial.innerRadius))throw new Error("jqxKnob: Dial options innerRadius and outerRadius need to be specified");if(a._isArray(a.pointer)||a._isArray(a.value)){if(!a._isArray(a.pointer))throw new Error("jqxKnob: If the value is an array, the pointer must also be an array.");if(!a._isArray(a.value))throw new Error("jqxKnob: If the pointer is an array, the value must also be an array.");if(a.pointer.length!==a.value.length)throw new Error("jqxKnob: The pointer and value array sizes must match.");if(a.progressBar&&(!a._isArray(a.progressBar.style)||a.progressBar.style.length!==a.pointer.length))throw new Error("jqxKnob: progressBar color must be an array with the same number of elements as the pointer and value.")}return!0}})}(jqxBaseFramework); 6 /* eslint-disable */
7 7
8 (function(a){a.jqx.jqxWidget("jqxKnob","",{});a.extend(a.jqx._jqxKnob.prototype,{defineInstance:function(){var b={type:"circle",allowValueChangeOnClick:true,allowValueChangeOnDrag:true,allowValueChangeOnMouseWheel:true,changing:null,dragEndAngle:-1,dragStartAngle:-1,disabled:false,dial:{style:"transparent",innerRadius:0,outerRadius:0,gradientType:null,gradientStops:null,startAngle:null,endAngle:null},endAngle:360,height:400,labels:{type:"digits",step:null,rotate:false,offset:null,style:"",visible:false},marks:{type:"",thickness:1,size:"10%",colorProgress:"transparent",colorRemaining:"transparent",minorInterval:1,majorInterval:5,offset:"80%",majorSize:"15%"},min:0,max:100,progressBar:{size:"10%",offset:"60%",color:"transparent",background:"transparent"},pointer:{color:{color:"transparent",border:null,gradientType:null,gradientStops:null},thickness:1,size:"",type:"",visible:false},pointerGrabAction:"normal",renderEngine:"",rotation:"clockwise",startAngle:0,spinner:{color:"transparent",innerRadius:0,outerRadius:0,marks:{step:1,rotate:false,color:"transparent",size:0,steps:10,thickness:1,offset:0}},style:{fill:"transparent",stroke:"transparent"},_touchEvents:{mousedown:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend"),mousemove:a.jqx.mobile.getTouchEventName("touchmove"),mouseenter:"mouseenter",mouseleave:"mouseleave",click:a.jqx.mobile.getTouchEventName("touchstart")},step:1,snapToStep:true,value:0,width:400};if(this===a.jqx._jqxKnob.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){var b=this;b._hostInit();b._ie8Plugin();b._validateProperties();b._initValues();b._refresh();a.jqx.utilities.resize(b.host,function(){b.widgetSize=Math.min(b.host.width(),b.host.height());b._refresh()})},_getEvent:function(b){if(this._isTouchDevice){return this._touchEvents[b]+".jqxKnob"+this.element.id}else{return b+".jqxKnob"+this.element.id}},_ie8Plugin:function(){if(typeof Array.prototype.forEach!="function"){Array.prototype.forEach=function(c){for(var b=0;b<this.length;b++){c.apply(this,[this[b],b,this])}}}if(!window.getComputedStyle){window.getComputedStyle=function(b,c){this.el=b;this.getPropertyValue=function(e){var d=/(\-([a-z]){1})/g;if(e=="float"){e="styleFloat"}if(d.test(e)){e=e.replace(d,function(){return arguments[2].toUpperCase()})}return b.currentStyle[e]?b.currentStyle[e]:null};return this}}},createColorGradient:function(c,b,d){return this._getGradient(c,b,d)},destroy:function(){var b=this;b.removeHandler(a(document),"mousemove.jqxKnob"+b.host[0].id);b.removeHandler(a(document),"blur.jqxKnob"+b.host[0].id);b.removeHandler(a(document),"mouseup.jqxKnob"+b.host[0].id);b.host.empty();b.host.remove()},propertiesChangedHandler:function(b,c,d){if(d.width&&d.height&&Object.keys(d).length==2){b._refresh()}},propertyChangedHandler:function(b,c,f,e){var d=this;if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(c==="disabled"){b.host.removeClass(b.toThemeProperty("jqx-fill-state-disabled"))}if(c==="value"){b._setValue(e,"propertyChange");return}b._validateProperties();b._refresh()},val:function(c){var b=this;if(arguments.length==0){return b.value}b._setValue(c,null)},_isPointerGrabbed:false,_pointerGrabbedIndex:-1,_attatchPointerEventHandlers:function(){var c=this;c.addHandler(c.host,this._getEvent("mousedown"),function(f){if(c.pointerGrabAction==="pointer"){if(f.target.id!==c._pointerID){return}}if(c._isTouchDevice){var i=a.jqx.position(f);f.clientX=i.left;f.clientY=i.top}if(c.pointerGrabAction==="progressBar"){var l={x:f.clientX,y:f.clientY};var h=c.host[0].getBoundingClientRect();var k=c.widgetSize;var d={x:h.left+k/2,y:h.top+k/2};var g=c._calculateAngleFromCoordinates(l,d,c.rotation);var e=c._calculateDistance(l,d);if(g<c.startAngle){g+=360}if(g>c.endAngle){if(g-c.endAngle!==(360+c.startAngle-g)){return}}var j=c._getScale(c.progressBar.offset,"w",k/2);var m=c._getScale(c.progressBar.size,"w",k/2);if(e<j||e>j+m){return}}c._isPointerGrabbed=true;if(c.allowValueChangeOnClick===true){c._mouseMovePointer(f)}f.preventDefault();f.stopPropagation();return false});var b=null;c.addHandler(a(document),this._getEvent("mousemove"),function(d){if(c.allowValueChangeOnDrag){if(b){clearTimeout(b)}b=setTimeout(function(){c._mouseMovePointer(d)});if(c._isPointerGrabbed){return false}}});c.addHandler(a(document),"blur.jqxKnob"+c.host[0].id,function(){c._isPointerGrabbed=false;c._pointerGrabbedIndex=-1});c.addHandler(a(document),this._getEvent("mouseup"),function(d){if(c._isPointerGrabbed){c._isPointerGrabbed=false;c._pointerGrabbedIndex=-1;c._raiseEvent(0,{originalEvent:d,value:c.value})}});c.addHandler(c.host,"wheel",function(d){if(c.allowValueChangeOnMouseWheel){var e=0;if(!d){d=window.event}if(d.originalEvent&&d.originalEvent.wheelDelta){d.wheelDelta=d.originalEvent.wheelDelta}if(d.wheelDelta){e=d.wheelDelta/120}else{if(d.detail){e=-d.detail/3}else{if(d.originalEvent&&d.originalEvent.deltaY){e=d.originalEvent.deltaY}}}if(e>0){c._increment()}else{c._decrement()}return false}})},_mouseMovePointer:function(c){var k=this;if(k.disabled){return}if(k._isPointerGrabbed){if(k._isTouchDevice){var j=a.jqx.mobile.getTouches(c);var h=j[0];c.clientX=parseInt(h.clientX);c.clientY=parseInt(h.clientY)}var q={x:c.clientX,y:c.clientY};var m=k.host[0].getBoundingClientRect();var p=k.widgetSize;var b={x:m.left+p/2,y:m.top+p/2};var f=k._calculateAngleFromCoordinates(q,b,k.rotation);var o=k._calculateValueFromAngle(f,k.dragStartAngle,k.dragEndAngle,k.min,k.max);if(k.value.length){if(k._pointerGrabbedIndex===-1){for(var g=0;g<k.value.length;g++){if(o<=k.value[g]){k._pointerGrabbedIndex=g;break}else{if(g===k.value.length-1){k._pointerGrabbedIndex=g}else{if(o<=k.value[g+1]){var n=k.value[g]+(k.value[g+1]-k.value[g])/2;k._pointerGrabbedIndex=o<=n?g:g+1;break}}}}}}if(k.pointer&&k.pointer.length>1){if(k._pointerGrabbedIndex==1){var l=k._calculateAngleFromValue(k.value[0],k.dragStartAngle,k.dragEndAngle,k.min,k.max);var e=k._calculateAngleFromValue(k.max,k.dragStartAngle,k.dragEndAngle,k.min,k.max);var f=k._calculateAngleFromValue(o,k.dragStartAngle,k.dragEndAngle,k.min,k.max);if(f<=l){return}if(f>=e){return}}if(k._pointerGrabbedIndex==0){var e=k._calculateAngleFromValue(k.value[1],k.dragStartAngle,k.dragEndAngle,k.min,k.max);var l=k._calculateAngleFromValue(k.min,k.dragStartAngle,k.dragEndAngle,k.min,k.max);var f=k._calculateAngleFromValue(o,k.dragStartAngle,k.dragEndAngle,k.min,k.max);if(f<=l){return}if(f>=e){return}}}if(k.changing){if(Array.isArray(k.value)){var d=k.value.slice(0);d[k._pointerGrabbedIndex]=o;var r=k.changing(k.value,d);if(r===false){return}}else{var r=k.changing(k.value,o);if(r===false){return}}}k._setValue(o,"mouse")}},_getScale:function(b,d,c){if(b&&b.toString().indexOf("%")>=0){b=parseInt(b,10)/100;if(typeof(c)=="object"){return c[d]()*b}else{return c*b}}return parseInt(b,10)},_hostInit:function(){var c=this;this._isTouchDevice=a.jqx.mobile.isTouchDevice();var b=c.host;b.width(c.width);b.height(c.height);b.css("position","relative");c.host.addClass(c.toThemeProperty("jqx-widget jqx-knob"));if(c.dragStartAngle==-1){c.dragStartAngle=c.startAngle}if(c.dragEndAngle==-1){c.dragEndAngle=c.endAngle}if(c.dragStartAngle<c.startAngle){c.dragStartAngle=c.startAngle}if(c.dragEndAngle>c.endAngle){c.dragEndAngle=c.endAngle}c.widgetSize=Math.min(c.host.width(),c.host.height())},_initRenderer:function(b){if(!a.jqx.createRenderer){throw"jqxKnob: Please include a reference to jqxdraw.js"}return a.jqx.createRenderer(this,b)},_initValues:function(){var b=this;if(b.marks){if(b.marks.style&&b.marks.style!==""){if(b.marks.style==="line"&&!b.marks.thickness){b.marks.thickness=1}if(!b.marks.size){b.marks.size="5%"}if(!b.marks.offset){b.marks.offset="85%"}}if(b.marks.majorInterval){if(b.marks.majorSize===undefined){b.marks.majorSize="10%"}}}b._marksList=b._getMarksArray(b.marks);if(b.spinner){b._spinnerMarksList=b._getMarksArray(b.spinner.marks)}},_calculateAngleFromValue:function(e,c,b,d,f){if(a.jqx.browser.msie&&a.jqx.browser.version<9){if(this.type!="circle"){return d!=f?parseInt((e-d)/(f-d)):0}return d!=f?parseInt((e-d)/(f-d)*(b-c)):0}if(this.type!="circle"){return d!=f?(e-d)/(f-d):0}return d!=f?(e-d)/(f-d)*(b-c):0},_calculateAngleFromCoordinates:function(d,c,e){var b=d.x-c.x;var f=d.y-c.y;if(f>0){return e==="clockwise"?90-Math.atan(b/f)*180/Math.PI:270+Math.atan(b/f)*180/Math.PI}else{if(f<0){return e==="clockwise"?270-Math.atan(b/f)*180/Math.PI:90+Math.atan(b/f)*180/Math.PI}else{if(b>=0){return 0}else{return 180}}}},_calculateValueFromAngle:function(g,e,c,d,b){if(g<e){g+=360}var f=d;if(g>c){if(g-c<(360+e-g)){f=b}}else{f=d+(g-e)*(b-d)/(c-e)}return f},_calculateDistance:function(c,b){return Math.sqrt(Math.pow(c.x-b.x,2)+Math.pow(c.y-b.y,2))},_drawBackground:function(){var f=this;var g=f.renderer;var e,b,c;e=f.widgetSize;b=e/2;var h=f.style.strokeWidth?f.style.strokeWidth:0;b-=h/2;if(f.style){var c=f._getColor(f.style.fill);var d=f._getColor(f.style.stroke);var h=f.style.strokeWidth?f.style.strokeWidth:1;if(f.type!="circle"){g.rect(0,0,this.host.width(),this.host.height(),{fill:c,stroke:d,"stroke-width":h})}else{g.circle(e/2,e/2,b,{fill:c,stroke:d,"stroke-width":h})}}},_drawDial:function(){var j=this;if(j.dial){var l=j.renderer;var c=j.widgetSize;var h,e,m,i,k,d,n=0,g;h=e=c/2;i=j._getScale(j.dial.outerRadius,"w",c/2);m=j._getScale(j.dial.innerRadius,"w",c/2);if(j.dial.startAngle!=null&&j.dial.endAngle!=null){k=j.rotation==="clockwise"?360-j.dial.endAngle:j.dial.startAngle;d=j.rotation==="clockwise"?360-j.dial.startAngle:j.dial.endAngle}else{k=j.rotation==="clockwise"?360-j.endAngle:j.startAngle;d=j.rotation==="clockwise"?360-j.startAngle:j.endAngle}g=j._getColor(j.dial.style.fill);var f=j._getColor(j.dial.style.stroke)||"";var b=j.dial.style.strokeWidth||0;l.pieslice(h,e,m,i,k,d,n,{fill:g,stroke:f,"stroke-width":b})}},_getMarksArray:function(f){if(f==undefined){return[]}var k=this,h,n,m={},l=k.max,g=k.min,j=l-g,c=f.minorInterval,b=f.majorInterval;var e=function(i){return(parseFloat(i.toPrecision(12)))};if(c){for(h=0;h<j;h+=c){n=e(g+h);m[n]={type:"minor"}}m[l]={type:"minor"}}if(b){for(h=0;h<j;h+=b){n=e(g+h);m[n]={type:"major"}}m[l]={type:"major"}}if(!c&&!b){var d=k.step;if(d){for(h=0;h<j;h+=d){n=e(g+h);m[n]={type:"minor"}}m[l]={type:"minor"}}}return m},_drawMarks:function(){var g=this;if(g.marks){var h=g.renderer;var b=g.widgetSize;var e=g.marks&&g.marks.colorRemaining!=null?g.marks.colorRemaining:"transparent";e=g._getColor(e);g._dialMarks=[];var j,c;var i=g.marks.type;if(!i){i="line"}var f=g._getScale(g.marks.offset,"w",b/2);var d=g._marksList;a.each(d,function(o,q){if(g.dragEndAngle-g.dragStartAngle===360){if(o==g.max){return}}c=g.dragStartAngle+g._calculateAngleFromValue(o,g.dragStartAngle,g.dragEndAngle,g.min,g.max);if(i==="circle"){var l=g._getScale(g.marks.size,"w",b/2);var k=g._getPointerPosition({x:b/2,y:b/2},f,c,g.rotation);g._dialMarks.push(h.circle(k.x,k.y,l,{fill:e}))}else{if(i==="line"){if(q.type==="major"&&g.marks.majorSize!==null&&g.marks.majorSize!==undefined){j=g._getScale(g.marks.majorSize,"w",b/2)}else{j=g._getScale(g.marks.size,"w",b/2)}var n=g._getScale(g.marks.thickness,"w",b/2);var p=g._getPointerPosition({x:b/2,y:b/2},f,c,g.rotation);var m=g._getPointerPosition({x:b/2,y:b/2},f+j,c,g.rotation);if(a.jqx.browser.msie&&a.jqx.browser.version<9){g._dialMarks.push(h.line(parseInt(p.x),parseInt(p.y),parseInt(m.x),parseInt(m.y),{stroke:e,"stroke-width":n}))}else{g._dialMarks.push(h.line(p.x,p.y,m.x,m.y,{stroke:e,"stroke-width":n}))}}}})}},_drawProgressBars:function(){var h=this;if(h.progressBar){h._progressBar=h._progressBar||[];for(var g=0;g<h._progressBar.length;g++){a(h._progressBar[g]).remove()}h._progressBar=[];if(h._isArray(h.progressBar.style)){var f=h.value[0];var c=h.value[1];var e=h.progressBar.style[0];var b=h.progressBar.style[1];h._progressBar.push(h._drawProgressBar(h.max,h.progressBar.background,"background"));if(h.progressBar.ranges){for(var g=0;g<h.progressBar.ranges.length;g++){var j=h.progressBar.ranges[g].startValue;var d=h.progressBar.ranges[g].endValue;h._progressBar.push(h._drawProgressBarFromToValue(j,d,h.progressBar.ranges[g],"background"))}}h._progressBar.push(h._drawProgressBar(f,e));h._progressBar.push(h._drawProgressBarFromEndToStart(c,b))}else{h._progressBar.push(h._drawProgressBar(h.max,h.progressBar.background,"background"));if(h.progressBar.ranges){for(var g=0;g<h.progressBar.ranges.length;g++){var j=h.progressBar.ranges[g].startValue;var d=h.progressBar.ranges[g].endValue;h._progressBar.push(h._drawProgressBarFromToValue(j,d,h.progressBar.ranges[g],"background"))}}h._progressBar.push(h._drawProgressBar(h.value,h.progressBar.style))}}},_drawProgressBarFromEndToStart:function(m,p){var g=this;var n=g.renderer;var l=g.widgetSize;var h,s;var e=g._getScale(g.progressBar.offset,"w",l/2);var d,c,f,o,q,k,b=0;h=g._getScale(g.progressBar.size,"w",l/2);d=c=l/2;f=e;o=e+h;var r=g._getColor(p.fill)||"transparent";var j=g._getColor(p.stroke)||"transparent";s=g.dragStartAngle+g._calculateAngleFromValue(m,g.dragStartAngle,g.dragEndAngle,g.min,g.max);q=g.dragStartAngle;var i=p.strokeWidth?p.strokeWidth:1;if(g.endAngle!=s){if(g.rotation==="clockwise"){return(n.pieslice(d,c,f,o,360-g.endAngle,360-s,b,{fill:r,stroke:j,"stroke-width":i}))}else{return(n.pieslice(d,c,f,o,k,s,b,{fill:r,stroke:j,"stroke-width":i}))}}},_drawProgressBarFromToValue:function(m,b,u,f){var k=this;var s=k.renderer;var r=k.widgetSize;var l,y;var g=k._getScale(k.progressBar.offset,"w",r/2);var e,d,j,t,v,q,c=0;l=k._getScale(k.progressBar.size,"w",r/2);e=d=r/2;j=g;t=g+l;var x=k._getColor(u.fill)||"transparent";var p=k._getColor(u.stroke)||"transparent";y=k.dragStartAngle+k._calculateAngleFromValue(b,k.dragStartAngle,k.dragEndAngle,k.min,k.max);v=k.dragStartAngle+k._calculateAngleFromValue(m,k.dragStartAngle,k.dragEndAngle,k.min,k.max);if(v==y){return}var o=1;if(f=="background"){o=0}var n=u.strokeWidth?u.strokeWidth:o;if(k.type!="circle"){if(k.type=="rect"){var w=y*(this.host.height()-2*g);var i=(this.host.height()-2*g);return(s.rect(e-l/2,g+i-w,l,w,{fill:x,stroke:p,"stroke-width":n}))}else{return(s.rect(g,d-l/2,this.host.width()-2*g,l,{fill:x,stroke:p,"stroke-width":n}))}}if(k.rotation==="clockwise"){return(s.pieslice(e,d,j,t,360-y,360-v,c,{fill:x,stroke:p,"stroke-width":n}))}else{return(s.pieslice(e,d,j,t,v,y,c,{fill:x,stroke:p,"stroke-width":n}))}},_drawProgressBar:function(q,t,e){var j=this;var r=j.renderer;var p=j.widgetSize;var k,x;var f=j._getScale(j.progressBar.offset,"w",p/2);var d,c,i,s,u,o,b=0;k=j._getScale(j.progressBar.size,"w",p/2);d=c=p/2;i=f;s=f+k;var w=j._getColor(t.fill)||"transparent";var n=j._getColor(t.stroke)||"transparent";x=j.dragStartAngle+j._calculateAngleFromValue(q,j.dragStartAngle,j.dragEndAngle,j.min,j.max);u=j.dragStartAngle;if(u==x){return}var m=1;if(e=="background"){m=0}var l=t.strokeWidth?t.strokeWidth:m;if(j.type!="circle"){if(j.type=="rect"){var v=x*(this.host.height()-2*f);var g=(this.host.height()-2*f);return(r.rect(d-k/2,f+g-v,k,v,{fill:w,stroke:n,"stroke-width":l}))}else{return(r.rect(f,c-k/2,this.host.width()-2*f,k,{fill:w,stroke:n,"stroke-width":l}))}}if(j.rotation==="clockwise"){return(r.pieslice(d,c,i,s,360-x,360-u,b,{opacity:t.opacity||1,fill:w,stroke:n,"stroke-width":l}))}else{return(r.pieslice(d,c,i,s,u,x,b,{opacity:t.opacity||1,fill:w,stroke:n,"stroke-width":l}))}},_drawLabels:function(){var o=this;o._labels=[];var p=o.renderer;var d=o.widgetSize;if(o.labels.visible===undefined){o.labels.visible=true}if(o.labels.visible===true){var l=o._getScale(o.labels.offset,"w",d/2);var r=o.labels.type?o.labels.type:"digits";var c=o.labels.style;var k=c&&c.fill?o._getColor(c.fill):"#333";var m;if(r==="digits"){var n=[];if(o.labels.customLabels){for(m=0;m<o.labels.customLabels.length;m++){n.push(o.labels.customLabels[m].value)}}else{var g=o.labels.step||o.step;for(m=o.min;m<o.max;m+=g){n.push(m)}if(o.dragEndAngle-360<o.dragStartAngle){n.push(o.max)}}for(m=0;m<n.length;m++){var h=o.labels.customLabels?o.labels.customLabels[m].text:n[m].toString();if(o.labels.formatFunction){h=o.labels.formatFunction(h)}var e=o.dragStartAngle;var f=o.dragEndAngle;var j=e+o._calculateAngleFromValue(n[m],e,f,o.min,o.max);var s=o._getPointerPosition({x:d/2,y:d/2},l,j,o.rotation);if(a.jqx.browser.msie&&a.jqx.browser.version<9){var b=p.measureText(h,0,{"class":this.toThemeProperty("jqx-knob-label")});var q=o.labels.rotate?90-j:0;p.text(h,s.x-b.width/2,s.y-b.height/2,b.width,b.height,q,{"class":this.toThemeProperty("jqx-knob-label")},false)}else{var b=p.measureText(h,0,{style:{fill:k},"class":this.toThemeProperty("jqx-knob-label")});var q=o.labels.rotate?90-j:0;p.text(h,s.x-b.width/2,s.y-b.height/2,b.width,b.height,q,{style:{fill:k},"class":this.toThemeProperty("jqx-knob-label")},false)}}}}},_drawPointers:function(){var c=this;c._pointers=c._pointers||[];c._pointers.forEach(function(f,e,d){a(f).remove();d.splice(e,1)});if(c.pointer){if(c._isArray(c.pointer)){for(var b=0;b<c.progressBar.style.length;b++){if(c.pointer[b].visible===false){continue}c._pointers.push(c._drawPointer(c.value[b],c.pointer[b]))}}else{if(c.pointer.visible===false){return}c._pointers.push(c._drawPointer(c.value,c.pointer))}}},_drawPointer:function(u,m){var l=this;m.id=m.id||l._getID();var v=l.renderer;var t=l.widgetSize;var f=m.type;if(!f){f="circle"}if(!m.style){m.style={fill:"#feaf4e",stroke:"#feaf4e"}}var y=l._getColor(m.style.fill);var x=m.style.stroke||"";var p,b;var g;var j=l._getScale(m.offset,"w",t/2);var B=l.dragStartAngle+l._calculateAngleFromValue(u,l.dragStartAngle,l.dragEndAngle,l.min,l.max);if(f==="circle"){var h=l._getScale(m.size,"w",t/2);var E=l._getPointerPosition({x:t/2,y:t/2},j,B,l.rotation);g=v.circle(E.x,E.y,h,{id:m.id,fill:y,stroke:x})}else{if(f==="line"){p=l._getScale(m.size,"w",t/2);b=m.thickness;var q=l._getPointerPosition({x:t/2,y:t/2},j,B,l.rotation);var r=l._getPointerPosition({x:t/2,y:t/2},j+p,B,l.rotation);g=v.line(q.x,q.y,r.x,r.y,{id:m.id,stroke:y,"stroke-width":b})}else{if(f==="arc"){p=l._getScale(m.size,"w",t/2);var e,d,k,w,z,s,c=0;var o=(l.dragEndAngle-l.dragStartAngle)/l._steps.length;e=d=t/2;k=j;w=j+p;z=l.rotation==="clockwise"?360-(B+o/2):B-o/2;s=l.rotation==="clockwise"?360-(B-o/2):B+o/2;g=v.pieslice(e,d,k,w,z,s,c,{id:m.id,fill:y,stroke:x})}else{if(f==="arrow"){p=l._getScale(m.size,"w",t/2);b=m.thickness;var n=l._getPointerPosition({x:t/2,y:t/2},p,B,l.rotation);var i=l._getPointerPosition({x:t/2,y:t/2},j,B,l.rotation);var D=l._getPointerPosition({x:i.x,y:i.y},b/2,B-90,l.rotation);var C=l._getPointerPosition({x:i.x,y:i.y},b/2,B+90,l.rotation);var A="M "+n.x+","+n.y+" L "+D.x+","+D.y+" L "+C.x+","+C.y+" "+n.x+","+n.y;g=this.renderer.path(A,{id:m.id,stroke:x,fill:y})}}}}return g},_rotateSpinnerMarks:function(j){var h=this;var m=h.spinner.marks;if(m){if(m.rotate===false){return}var k=h.renderer;var b=h.widgetSize;var e=m&&m.colorRemaining!=null?m.colorRemaining:"transparent";e=h._getColor(e);var n,c;var l=m.type;if(!l){l="line"}var f=h._getScale(m.offset,"w",b/2);for(var g=0;g<h._spinnerMarks.length;g++){a(h._spinnerMarks[g]).remove()}h._spinnerMarks=[];var d=h._spinnerMarksList;a.each(d,function(r,t){if(h.endAngle-h.startAngle===360){if(r==h.max){return}}c=j+h._calculateAngleFromValue(r,h.startAngle,h.endAngle,h.min,h.max);if(c<h.startAngle){return true}if(c>h.endAngle&&c<h.startAngle+360){return true}if(l==="circle"){var o=h._getScale(m.size,"w",b/2);var i=h._getPointerPosition({x:b/2,y:b/2},f,c,h.rotation);h._spinnerMarks.push(k.circle(i.x,i.y,o,{fill:e}))}else{if(l==="line"){if(t.type==="major"&&m.majorSize!==null&&m.majorSize!==undefined){n=h._getScale(m.majorSize,"w",b/2)}else{n=h._getScale(m.size,"w",b/2)}var q=h._getScale(m.thickness,"w",b/2);var s=h._getPointerPosition({x:b/2,y:b/2},f,c,h.rotation);var p=h._getPointerPosition({x:b/2,y:b/2},f+n,c,h.rotation);h._spinnerMarks.push(k.line(s.x,s.y,p.x,p.y,{stroke:e,"stroke-width":q}))}}})}},_drawSpinnerMarks:function(j){var g=this;if(j){var h=g.renderer;var b=g.widgetSize;var e=j&&j.colorRemaining!=null?j.colorRemaining:"transparent";e=g._getColor(e);g._spinnerMarks=[];var k,c;var i=j.type;if(!i){i="line"}var f=g._getScale(j.offset,"w",b/2);var d=g._spinnerMarksList;a.each(d,function(p,r){if(g.dragEndAngle-g.dragStartAngle===360){if(p==g.max){return}}c=g.startAngle+g._calculateAngleFromValue(p,g.startAngle,g.endAngle,g.min,g.max);if(i==="circle"){var m=g._getScale(j.size,"w",b/2);var l=g._getPointerPosition({x:b/2,y:b/2},f,c,g.rotation);g._spinnerMarks.push(h.circle(l.x,l.y,m,{fill:e}))}else{if(i==="line"){if(r.type==="major"&&j.majorSize!==null&&j.majorSize!==undefined){k=g._getScale(j.majorSize,"w",b/2)}else{k=g._getScale(j.size,"w",b/2)}var o=g._getScale(j.thickness,"w",b/2);var q=g._getPointerPosition({x:b/2,y:b/2},f,c,g.rotation);var n=g._getPointerPosition({x:b/2,y:b/2},f+k,c,g.rotation);g._spinnerMarks.push(h.line(q.x,q.y,n.x,n.y,{stroke:e,"stroke-width":o}))}}})}},_drawSpinner:function(){var g=this;if(g.spinner){var o=g.renderer;var n=g.widgetSize;if(!g.spinner.style){g.spinner.style={fill:"#dfe3e9",stroke:"#dfe3e9"}}var r=g._getColor(g.spinner.style.fill);var q=g.spinner.style.stroke||"";var d,c;d=c=n/2;var p=g._getScale(g.spinner.outerRadius,"w",n/2);var f=g._getScale(g.spinner.innerRadius,"w",n/2);var m=r.strokeWidth?r.strokeWidth:2;o.pieslice(d,c,f,p,360-g.endAngle,360-g.startAngle,0,{"stroke-width":m,fill:r,stroke:q});if(g.spinner.marks){g._drawSpinnerMarks(g.spinner.marks);return;g._spinnerMarks=[];var k,b,h;k=g._getScale(g.spinner.marks.size,"w",n/2);b=g._getScale(g.spinner.marks.thickness,"w",n/2);var e=g._getScale(g.spinner.marks.offset,"w",n/2);var t=0;a.each(g._spinnerMarksList,function(i,v){t++});h=g._getColor(g.spinner.marks.colorRemaining);var u;for(var s=0;s<t;s++){u=g.startAngle+s/t*g.dragEndAngle;var j=g._getPointerPosition({x:n/2,y:n/2},e,u,g.rotation);var l=g._getPointerPosition({x:n/2,y:n/2},e+k,u,g.rotation);g._spinnerMarks.push(o.line(j.x,j.y,l.x,l.y,{stroke:h,"stroke-width":b}))}}}},_getColor:function(b){if(b&&typeof(b)==="object"){return this._getGradient(b.color,b.gradientType,b.gradientStops)}return b},_getGradient:function(b,c,d){if(c&&d!=null&&typeof(d)==="object"){if(c==="linear"){b=this.renderer._toLinearGradient(b,true,d)}else{if(c==="linearHorizontal"){b=this.renderer._toLinearGradient(b,false,d)}else{if(c==="radial"){b=this.renderer._toRadialGradient(b,d)}}}}return b},_isArray:function(b){return Object.prototype.toString.call(b)==="[object Array]"},_events:["slide","change"],_raiseEvent:function(d,b){var c=this._events[d],e=a.Event(c);e.args=b;return this.host.trigger(e)},_movePointers:function(){var c=this;var d;for(var b=0;b<c._pointers.length;b++){if(c._pointers.length!==1){d=c.dragStartAngle+c._calculateAngleFromValue(c.value[b],c.dragStartAngle,c.dragEndAngle,c.min,c.max);c._pointers[b]=c._movePointer(c._pointers[b],c.pointer[b],d,c.value[b])}else{d=c.dragStartAngle+c._calculateAngleFromValue(c.value,c.dragStartAngle,c.dragEndAngle,c.min,c.max);c._pointers[0]=c._movePointer(c._pointers[0],c.pointer,d,c.value)}}},_movePointer:function(d,h,q,n){var g=this;var o=g.renderer;var m=g.widgetSize;var j;var c=h.type;if(!c){c="circle"}var f=g._getScale(h.offset,"w",m/2);if(c==="circle"){var t=g._getPointerPosition({x:m/2,y:m/2},f,q,g.rotation);o.attr(d,{cx:t.x,cy:t.y});if(a.jqx.browser.msie&&a.jqx.browser.version<9){a("#"+h.id).remove();d=g._drawPointer(n,h)}}else{if(c==="line"){j=g._getScale(h.size,"w",m/2);var k=g._getPointerPosition({x:m/2,y:m/2},f,q,g.rotation);var l=g._getPointerPosition({x:m/2,y:m/2},f+j,q,g.rotation);o.attr(d,{x1:k.x,y1:k.y,x2:l.x,y2:l.y});if(a.jqx.browser.msie&&a.jqx.browser.version<9){a("#"+h.id).remove();d=g._drawPointer(n,h)}}else{if(c==="arrow"){j=g._getScale(h.size,"w",m/2);var b=h.thickness;var i=g._getPointerPosition({x:m/2,y:m/2},j,q,g.rotation);var e=g._getPointerPosition({x:m/2,y:m/2},f,q,g.rotation);var s=g._getPointerPosition({x:e.x,y:e.y},b/2,q-90,g.rotation);var r=g._getPointerPosition({x:e.x,y:e.y},b/2,q+90,g.rotation);var p="M "+i.x+","+i.y+" L "+s.x+","+s.y+" L "+r.x+","+r.y+" "+i.x+","+i.y;o.attr(d,{d:p});if(a.jqx.browser.msie&&a.jqx.browser.version<9){a("#"+h.id).remove();d=g._drawPointer(n,h)}}else{if(c==="arc"){a("#"+h.id).remove();d=g._drawPointer(h)}}}}if(g.progressBar){d.parentNode.appendChild(d.parentNode.removeChild(d))}return d},_getPointerPosition:function(c,b,e,d){if(a.jqx.browser.msie&&a.jqx.browser.version<9){return{x:parseInt(c.x+b*Math.sin(Math.PI/180*(e+90))),y:d==="clockwise"?parseInt(c.y+b*Math.sin(Math.PI/180*(e))):parseInt(c.y-b*Math.sin(Math.PI/180*(e)))}}return{x:c.x+b*Math.sin(Math.PI/180*(e+90)),y:d==="clockwise"?c.y+b*Math.sin(Math.PI/180*(e)):c.y-b*Math.sin(Math.PI/180*(e))}},_getID:function(){var b=function(){return(((1+Math.random())*16)|0)};return(""+b()+b()+"-"+b()+"-"+b()+"-"+b()+"-"+b()+b()+b())},_decrement:function(){this._setValue(this.value-this.step,"mouse")},_increment:function(){this._setValue(this.value+this.step,"mouse")},_refresh:function(){var c=this;if(c.disabled){c.host.addClass(c.toThemeProperty("jqx-fill-state-disabled"))}if(!c.renderer){c._isVML=false;c.host.empty();c._initRenderer(c.host)}c.removeHandler(a(document),"mousemove.jqxKnob"+c.host[0].id);c.removeHandler(a(document),"blur.jqxKnob"+c.host[0].id);c.removeHandler(a(document),"mouseup.jqxKnob"+c.host[0].id);c.removeHandler(c.host,"wheel");c.removeHandler(c.host,"mousedown");c.host.empty();c._initRenderer(c.host);var d=c.renderer;if(!d){return}c._steps=[];for(var b=0;b<=(c.max-c.min)/c.step;b++){c._steps.push(c.min+c.step*b)}c._initValues();c._render()},_render:function(){var b=this;b._drawBackground();b._drawDial();b._drawMarks();b._drawLabels();b._drawSpinner();b._drawProgressBars();b._updateMarksColor();b._updateSpinnerMarksColor();b._drawPointers();b._attatchPointerEventHandlers()},_setValue:function(k,b){var h=this;var c=h.value;if(isNaN(k)){k=h.min}if(k>h.max){k=h.max}else{if(k<h.min){k=h.min}}if(h.snapToStep){var j=h._steps;for(var f=0;f<j.length;f++){if(k<j[f]){if(f===0){k=j[f]}else{if(j[f]-k<k-j[f-1]){k=j[f]}else{k=j[f-1]}}break}}}if(k==c){return}if(a.isArray(h.value)){if(h._pointerGrabbedIndex!=-1){if(h._pointerGrabbedIndex==1){var g=h.value[0];h.value[h._pointerGrabbedIndex]=k}if(h._pointerGrabbedIndex==0){var e=h.value[1];h.value[h._pointerGrabbedIndex]=k}h.value[h._pointerGrabbedIndex]=k}}else{h.value=k}h._updateProgressBarColor();h._updateMarksColor();h._updateSpinnerMarksColor();var d=h.dragStartAngle+h._calculateAngleFromValue(k,h.dragStartAngle,h.dragEndAngle,h.min,h.max);h._rotateSpinnerMarks(d);h._movePointers();h._raiseEvent(1,{value:h.value,type:b})},_updateMarksColor:function(){var e=this;if(e.marks&&(e.marks.colorProgress||e.marks.colorRemaining)){var h=e.renderer;var d=[];a.each(e._marksList,function(i){if(e.endAngle-e.startAngle===360){if(i==e.max){d.push(i);return}}d.push(i)});var c=e._getColor(e.marks.colorProgress);var g=e._getColor(e.marks.colorRemaining);var f=e.value.length?e.value[0]:e.value;for(var b=0;b<e._dialMarks.length;b++){if(d[b]>f){if(e.marks.type==="circle"){h.attr(e._dialMarks[b],{fill:g})}else{h.attr(e._dialMarks[b],{stroke:g})}}else{if(e.marks.type==="circle"){h.attr(e._dialMarks[b],{fill:c})}else{h.attr(e._dialMarks[b],{stroke:c})}}if(e.progressBar&&e.marks.drawAboveProgressBar){e._dialMarks[b].parentNode.appendChild(e._dialMarks[b].parentNode.removeChild(e._dialMarks[b]))}}}},_updateSpinnerMarksColor:function(){var e=this;if(!e.spinner){return}if(!e.spinner.marks){return}if(e.spinner.marks&&(e.spinner.marks.colorProgress||e.spinner.marks.colorRemaining)){var h=e.renderer;var d=[];a.each(e._spinnerMarksList,function(i){if(e.endAngle-e.startAngle===360){if(i==e.max){return}}d.push(i)});var c=e._getColor(e.spinner.marks.colorProgress);var g=e._getColor(e.spinner.marks.colorRemaining);var f=e.value.length?e.value[0]:e.value;for(var b=0;b<e._spinnerMarks.length;b++){if(d[b]>f){if(e.spinner.marks.type==="circle"){h.attr(e._spinnerMarks[b],{fill:g})}else{h.attr(e._spinnerMarks[b],{stroke:g})}}else{if(e.spinner.marks.type==="circle"){h.attr(e._spinnerMarks[b],{fill:c})}else{h.attr(e._spinnerMarks[b],{stroke:c})}}}}},_updateProgressBarColor:function(){var b=this;if(b.progressBar){b._drawProgressBars()}},_validateProperties:function(){var c=this;var b=function(e,d){if(e&&typeof(e)==="string"){var f=e;e={fill:f,stroke:f};return e;return}if(!e){e={};e.fill=d;e.stroke=d}if(e&&e.fill&&!e.stroke){e.stroke=e.fill}if(e&&!e.fill&&e.stroke){e.fill=e.stroke}if(e&&!e.fill){e.fill=d}if(e&&!e.stroke){e.stroke=d}return e};if(c.dial){c.dial.style=b(c.dial.style,"#dddddd")}if(c.style){c.style=b(c.style,"#dddddd")}if(c.progressBar){c.progressBar.style=b(c.progressBar.style,"transparent");c.progressBar.background=b(c.progressBar.background,"transparent")}if(c.spinner){c.spinner.style=b(c.spinner.style,"transparent")}if(c.pointer){c.pointer.style=b(c.pointer.style,"transparent")}if(c.startAngle>=c.endAngle){throw new Error("jqxKnob: The end angle must be bigger than the start angle!")}if(c.startAngle<0||c.startAngle>360){throw new Error("jqxKnob: Start angle must be between 0 and 360")}if(c.endAngle>c.startAngle+360){throw new Error("jqxKnob: End angle must be between startAngle and startAngle + 360")}if(c.dial&&c.dial.color&&c.dial.color!=="transparent"){if(!c.dial.outerRadius||!c.dial.innerRadius){throw new Error("jqxKnob: Dial options innerRadius and outerRadius need to be specified")}}if(c._isArray(c.pointer)||c._isArray(c.value)){if(!c._isArray(c.pointer)){throw new Error("jqxKnob: If the value is an array, the pointer must also be an array.")}if(!c._isArray(c.value)){throw new Error("jqxKnob: If the pointer is an array, the value must also be an array.")}if(c.pointer.length!==c.value.length){throw new Error("jqxKnob: The pointer and value array sizes must match.")}if(c.progressBar){if(!c._isArray(c.progressBar.style)||c.progressBar.style.length!==c.pointer.length){throw new Error("jqxKnob: progressBar color must be an array with the same number of elements as the pointer and value.")}}}return true}})})(jqxBaseFramework);
9

mercurial