2020-05-19 11:43:42 +03:00

7 lines
6.8 KiB
JavaScript

/*!
* AngularJS Material Design
* https://github.com/angular/material
* @license MIT
* v1.1.18-master-97a1616
*/
!function(e,Z){"use strict";t.$inject=["$$rAF","$window","$mdAria","$mdUtil","$mdConstant","$mdTheming","$mdGesture","$parse","$log","$timeout"],Z.module("material.components.slider",["material.core"]).directive("mdSlider",t).directive("mdSliderContainer",function(){return{controller:function(){},compile:function(e){var t=e.find("md-slider");if(t)return void 0!==t.attr("md-vertical")&&e.attr("md-vertical",""),t.attr("flex")||t.attr("flex",""),function(e,o,t,n){function i(e){o.children().attr("disabled",e),o.find("input").attr("disabled",e)}o.addClass("_md");var d,a=Z.noop;t.disabled?i(!0):t.ngDisabled&&(a=e.$watch(t.ngDisabled,function(e){i(e)})),e.$on("$destroy",function(){a()}),n.fitInputWidthToTextLength=function(e){var t=o[0].querySelector("md-input-container");if(t){var n=getComputedStyle(t),i=parseInt(n.minWidth),a=parseInt(n.paddingLeft)+parseInt(n.paddingRight);d=d||parseInt(n.maxWidth);var r=Math.max(d,i+a+i/2*e);t.style.maxWidth=r+"px"}}}}}});var ee=10,te=4;function t(G,K,a,U,H,j,Y,J,Q,X){return{scope:{},require:["?ngModel","?^mdSliderContainer"],template:'<div class="md-slider-wrapper"><div class="md-slider-content"><div class="md-track-container"><div class="md-track"></div><div class="md-track md-track-fill"></div><div class="md-track-ticks"></div></div><div class="md-thumb-container"><div class="md-thumb"></div><div class="md-focus-thumb"></div><div class="md-focus-ring"></div><div class="md-sign"><span class="md-thumb-text"></span></div><div class="md-disabled-thumb"></div></div></div></div>',compile:function(e,t){var n=Z.element(e[0].getElementsByClassName("md-slider-wrapper")),i=t.tabindex||0;n.attr("tabindex",i),(t.disabled||t.ngDisabled)&&n.attr("tabindex",-1);return n.attr("role","slider"),a.expect(e,"aria-label"),r}};function r(n,i,e,t){j(i);var a=t[0]||{$setViewValue:function(e){this.$viewValue=e,this.$viewChangeListeners.forEach(function(e){e()})},$parsers:[],$formatters:[],$viewChangeListeners:[]},r=t[1],o=(Z.element(U.getClosest(i,"_md-slider-container",!0)),e.ngDisabled?Z.bind(null,J(e.ngDisabled),n.$parent):function(){return i[0].hasAttribute("disabled")}),d=Z.element(i[0].querySelector(".md-thumb")),s=Z.element(i[0].querySelector(".md-thumb-text")),l=d.parent(),u=Z.element(i[0].querySelector(".md-track-container")),c=Z.element(i[0].querySelector(".md-track-fill")),m=Z.element(i[0].querySelector(".md-track-ticks")),f=Z.element(i[0].getElementsByClassName("md-slider-wrapper")),v=(Z.element(i[0].getElementsByClassName("md-slider-content")),U.throttle(E,5e3)),p=Z.isDefined(e.mdVertical),h=Z.isDefined(e.mdDiscrete),g=Z.isDefined(e.mdInvert);Z.isDefined(e.min)?e.$observe("min",k):k(0),Z.isDefined(e.max)?e.$observe("max",A):A(100),Z.isDefined(e.step)?e.$observe("step",M):M(1),Z.isDefined(e.round)?e.$observe("round",S):S(3);Z.noop;function $(){E(),I()}e.ngDisabled&&n.$parent.$watch(e.ngDisabled,function(){i.attr("aria-disabled",!!o())}),Y.register(f,"drag",{horizontal:!p}),n.mouseActive=!1,f.on("keydown",function(e){if(o())return;var t,n=H.KEY_CODE;switch(e.keyCode){case n.DOWN_ARROW:case n.LEFT_ARROW:e.preventDefault(),t=-x;break;case n.UP_ARROW:case n.RIGHT_ARROW:e.preventDefault(),t=x;break;case n.PAGE_DOWN:e.preventDefault(),t=-x*ee;break;case n.PAGE_UP:e.preventDefault(),t=x*ee;break;case n.HOME:e.preventDefault(),e.stopPropagation(),W(b);break;case n.END:e.preventDefault(),e.stopPropagation(),W(w)}t&&(t=g?-t:t,(e.metaKey||e.ctrlKey||e.altKey)&&(t*=te),e.preventDefault(),e.stopPropagation(),W(a.$viewValue+t))}).on("mousedown",function(){(function(){if(!h||o())return;if(Z.isUndefined(x))return;if(x<=0){var e="Slider step value must be greater than zero when in discrete mode";throw Q.error(e),new Error(e)}var t=Math.floor((w-b)/x);C||(C=Z.element("<canvas>").css("position","absolute"),m.append(C),D=C[0].getContext("2d"));var n,i=N();!i||i.height||i.width||(E(),i=R);C[0].width=i.width,C[0].height=i.height;for(var a=0;a<=t;a++){var r=K.getComputedStyle(m[0]);D.fillStyle=r.color||"black",n=Math.floor((p?i.height:i.width)*(a/t)),D.fillRect(p?0:n-1,p?n-1:0,p?i.width:2,p?2:i.height)}})(),n.mouseActive=!0,f.removeClass("md-focused"),X(function(){n.mouseActive=!1},100)}).on("focus",function(){!1===n.mouseActive&&f.addClass("md-focused")}).on("blur",function(){f.removeClass("md-focused"),i.removeClass("md-active"),function(){if(C&&D){var e=N();D.clearRect(0,0,e.width,e.height)}}()}).on("$md.pressdown",function(e){if(o())return;i.addClass("md-active"),i[0].focus(),E();var t=T(_(z(F(p?e.pointer.y:e.pointer.x))));n.$apply(function(){P(t),L(B(t))})}).on("$md.pressup",function(e){if(o())return;i.removeClass("md-dragging");var t=T(_(z(F(p?e.pointer.y:e.pointer.x))));n.$apply(function(){P(t),I()})}).on("$md.dragstart",function(e){if(o())return;O=!0,e.stopPropagation(),i.addClass("md-dragging"),q(e)}).on("$md.drag",function(e){if(!O)return;e.stopPropagation(),q(e)}).on("$md.dragend",function(e){if(!O)return;e.stopPropagation(),O=!1}),setTimeout($,0);var b,w,x,y,C,D,V=G.throttle($);function k(e){b=parseFloat(e),a.$viewValue=T(a.$modelValue,b,w),f.attr("aria-valuemin",e),$()}function A(e){w=parseFloat(e),a.$viewValue=T(a.$modelValue,b,w),f.attr("aria-valuemax",e),$()}function M(e){x=parseFloat(e)}function S(e){y=T(parseInt(e),0,6)}Z.element(K).on("resize",V),n.$on("$destroy",function(){Z.element(K).off("resize",V)}),a.$render=I,a.$viewChangeListeners.push(I),a.$formatters.push(T),a.$formatters.push(_);var R={};function E(){R=u[0].getBoundingClientRect()}function N(){return v(),R}function W(e){n.$evalAsync(function(){P(e)})}function P(e){a.$setViewValue(T(_(e)))}function I(){isNaN(a.$viewValue)&&(a.$viewValue=a.$modelValue),a.$viewValue=T(a.$viewValue);var e=B(a.$viewValue);n.modelValue=a.$viewValue,f.attr("aria-valuenow",a.$viewValue),L(e),s.text(a.$viewValue)}function T(e,t,n){if(Z.isNumber(e))return t=Z.isNumber(t)?t:b,n=Z.isNumber(n)?n:w,Math.max(t,Math.min(n,e))}function _(e){if(Z.isNumber(e)){var t=Math.round((e-b)/x)*x+b;return t=Math.round(t*Math.pow(10,y))/Math.pow(10,y),r&&r.fitInputWidthToTextLength&&U.debounce(function(){r.fitInputWidthToTextLength(t.toString().length)},100)(),t}}function L(e){var t=100*(e=function(e){return Math.max(0,Math.min(e||0,1))}(e))+"%",n=g?100*(1-e)+"%":t;p?l.css("bottom",t):U.bidiProperty(l,"left","right",t),c.css(p?"height":"width",n),i.toggleClass(g?"md-max":"md-min",0===e),i.toggleClass(g?"md-min":"md-max",1===e)}E();var O=!1;function q(e){h?function(e){var t=T(_(z(F(e))));L(F(e)),s.text(t)}(p?e.pointer.y:e.pointer.x):function(e){n.$evalAsync(function(){P(z(F(e)))})}(p?e.pointer.y:e.pointer.x)}function F(e){var t=(e-(p?R.top:R.left))/(p?R.height:R.width);return p||"rtl"!==U.bidi()||(t=1-t),Math.max(0,Math.min(1,p?1-t:t))}function z(e){return b+(g?1-e:e)*(w-b)}function B(e){var t=(e-b)/(w-b);return g?1-t:t}}}}(window,window.angular);