@tarojs/components
Version:
Taro 组件库。
1 lines • 3.53 kB
JavaScript
System.register(["./p-b2d01686.system.js"],(function(t){"use strict";var e,i,n,a,r;return{setters:[function(t){e=t.r;i=t.c;n=t.h;a=t.H;r=t.g}],execute:function(){var o=t("taro_slider_core",function(){function t(t){var n=this;e(this,t);this.onChange=i(this,"change",7);this.onChanging=i(this,"changing",7);this.min=0;this.max=100;this.step=1;this.disabled=false;this.value=0;this.activeColor="#1aad19";this.backgroundColor="#e9e9e9";this.blockSize=28;this.blockColor="#ffffff";this.showValue=false;this.name="";this.totalWidth=0;this.touching=false;this.ogX=0;this.touchId=null;this.percent=0;this.isWillLoadCalled=false;this.handleTouchStart=function(t){if(n.touching||n.disabled)return;n.touching=true;n.touchId=t.targetTouches[0].identifier;n.totalWidth=n.sliderInsRef.clientWidth;n.ogX=t.targetTouches[0].pageX;n.ogPercent=n.percent};this.handleTouchMove=function(t){var e=n,i=e.disabled,a=e.touching,r=e.touchId,o=e.totalWidth,l=e.max,s=e.min,h=e.ogX,u=e.ogPercent;if(!a||i)return;if(t.targetTouches[0].identifier!==r)return;t.preventDefault();var c=t.targetTouches[0].pageX;var d=c-h;var f=d/o*100+u;f=Math.max(0,Math.min(f,100));var v=s+f*.01*(l-s);n.updateByStep(v);n.onChanging.emit({detail:t.detail,value:n.val})};this.handleTouchEnd=function(t){var e=n,i=e.disabled,a=e.touching;if(!a||i)return;if(n.percent!==n.ogPercent){n.onChange.emit({detail:t.detail,value:n.val})}n.touching=false;n.touchId=null;n.ogX=0;n.ogPercent=0}}t.prototype.function=function(t){if(!this.isWillLoadCalled)return;var e=this,i=e.max,n=e.min;if(t!==null&&t!==this.val){var a=Math.max(n,Math.min(t,i));this.updateByStep(a)}};t.prototype.componentDidLoad=function(){var t=this;Object.defineProperty(this.el,"value",{get:function(){return t.val},set:function(e){return t.value=e},configurable:true});this.handler.addEventListener("touchstart",this.handleTouchStart);this.handler.addEventListener("touchmove",this.handleTouchMove);this.handler.addEventListener("touchend",this.handleTouchEnd)};t.prototype.componentDidUpdate=function(){this.value=null};t.prototype.componentWillLoad=function(){this.isWillLoadCalled=true;var t=this,e=t.value,i=t.max,n=t.min;if(e===null)return;var a=Math.max(n,Math.min(e,i));this.updateByStep(a)};t.prototype.updateByStep=function(t){var e=this,i=e.max,n=e.min,a=e.step;var r=Math.floor((i-n)/a);for(var o=0;o<=r;o++){var l=n+a*o;var s=o===r?null:n+a*(o+1);if(t===l)break;if(!s&&t>l){t=l}if(s&&t>l&&t<s){if(t-l<a/2){t=l}else{t=s}break}}var h=(t-n)/(i-n)*100;this.val=t;this.percent=h};t.prototype.render=function(){var t=this;var e=this,i=e.showValue,r=e.backgroundColor,o=e.activeColor,l=e.blockColor,s=e.name,h=e.percent,u=e.val;var c=this.blockSize;var d={backgroundColor:r};var f=h>100?100:h;var v={width:f+"%",backgroundColor:o};if(c<12){c=12}if(c>28){c=28}var p={left:f+"%",width:c+"px",height:c+"px",backgroundColor:l,marginTop:"-"+Math.floor(c/2)+"px",marginLeft:"-"+Math.floor(c/2)+"px"};return n(a,{class:"weui-slider-box"},n("div",{class:"weui-slider"},n("div",{class:"weui-slider__inner",style:d,ref:function(e){return t.sliderInsRef=e}},n("div",{style:v,class:"weui-slider__track"}),n("div",{class:"weui-slider__handler",ref:function(e){if(e)t.handler=e},style:p}),n("input",{type:"hidden",name:s,value:u}))),i&&n("div",{class:"weui-slider-box__value"},u))};Object.defineProperty(t.prototype,"el",{get:function(){return r(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{value:["function"]}},enumerable:false,configurable:true});return t}())}}}));