forked from nsjcy/frontEnd/nsjcy

LAPTOP-RI7D261L\Mr Ke
2020-02-13 a2789abb73725738127b03d95c95081b66954916
1
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/classNames")),_eventsMixin=_interopRequireDefault(require("../helpers/eventsMixin")),_styleToCssString=_interopRequireDefault(require("../helpers/styleToCssString")),_gestures=require("../helpers/gestures");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,a=new Array(e.length);t<e.length;t++)a[t]=e[t];return a}}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var getPrecision=function(e){var t=e.toString();return 0<=t.indexOf(".")?t.length-t.indexOf(".")-1:0},checkValuePrecision=function(e,t,a){var r=Math.round((e-a)/t)*t+a,i=getPrecision(t);return parseFloat(r.toFixed(i))},getStyles=function(e){return Array.isArray(e)?e.map(function(e){return(0,_styleToCssString.default)(e)}):(0,_styleToCssString.default)(e)},defaultEvents={onChange:function(){},onAfterChange:function(){}};(0,_baseComponent.default)({behaviors:[(0,_eventsMixin.default)({defaultEvents:defaultEvents})],relations:{"../field/index":{type:"ancestor"}},properties:{prefixCls:{type:String,value:"wux-slider"},min:{type:Number,value:0,observer:"getMarks"},max:{type:Number,value:100,observer:"getMarks"},step:{type:Number,value:1,observer:"getMarks"},defaultValue:{type:Array,value:[0]},value:{type:Array,value:[0],observer:function(e){this.data.controlled&&this.updated(e)}},controlled:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1},showMark:{type:Boolean,value:!1},showValue:{type:[Boolean,Object],value:!1},tipFormatter:{type:String,value:"{d}"},markStyle:{type:[String,Object,Array],value:"",observer:function(e){this.setData({extMarkStyle:getStyles(e)})}},handleStyle:{type:[String,Object,Array],value:"",observer:function(e){this.setData({extHandleStyle:getStyles(e)})}},trackStyle:{type:[String,Object,Array],value:"",observer:function(e){this.setData({extTrackStyle:getStyles(e)})}},railStyle:{type:[String,Object],value:"",observer:function(e){this.setData({extRailStyle:(0,_styleToCssString.default)(e)})}},wrapStyle:{type:[String,Object],value:"",observer:function(e){this.setData({extWrapStyle:(0,_styleToCssString.default)(e)})}}},data:{offsets:[],inputValue:[],extMarkStyle:"",extHandleStyle:"",extTrackStyle:"",extRailStyle:"",extWrapStyle:"",isTouched:!1,swiping:!1},computed:{classes:["prefixCls, disabled, tipFormatter",function(e,t,a){var r;return{wrap:(0,_classNames2.default)(e,(_defineProperty(r={},"".concat(e,"--disabled"),t),_defineProperty(r,"".concat(e,"--has-tip"),!!a),r)),min:"".concat(e,"__min"),rail:"".concat(e,"__rail"),mark:"".concat(e,"__mark"),track:"".concat(e,"__track"),handle:"".concat(e,"__handle"),max:"".concat(e,"__max")}}]},observers:{inputValue:function(e){var t=this,a=e.map(function(e){return t.calcOffset(t.checkValue(e))});this.setData({offsets:a})}},methods:{updated:function(e){this.hasFieldDecorator||this.data.inputValue!==e&&this.setData({inputValue:e})},onTouchStart:function(e){if(!(this.data.disabled||1<(0,_gestures.getPointsNumber)(e))){var t=e.currentTarget.dataset.index;this.isMoved=!1,this.startX=(0,_gestures.getTouchPoints)(e).x,this.moveX=0,this.startPos=this.data.offsets[t]||0,this.setData({last:t,isTouched:!0,isMoved:!1})}},onTouchMove:function(e){var l=this;if(!(this.data.disabled||1<(0,_gestures.getPointsNumber)(e))){var c=e.currentTarget.dataset.index,t=this.data.prefixCls;this.isMoved=!0,this.setData({isMoved:!0}),this.moveX=(0,_gestures.getTouchPoints)(e).x,this.getRect(".".concat(t,"__rail")).then(function(e){if(e&&l.isMoved){var t=(l.moveX-l.startX)/e.width*100,a=_toConsumableArray(l.data.offsets),r=l.checkValue(l.startPos+t,0,100),i=l.data.inputValue,n=l.calcValue(r),s=i[c-1],o=i[c+1];if(a[c]=l.calcOffset(n),s&&n<s&&(a[c]=l.calcOffset(s)),o&&o<n&&(a[c]=l.calcOffset(o)),i[c]!==n){var u=l.getValue(a);l.data.controlled||l.updated(u),l.triggerEvent("change",{offsets:a,value:u})}}})}},onTouchEnd:function(e){if(!(this.data.disabled||1<(0,_gestures.getPointsNumber)(e))&&this.isMoved){this.isMoved=!1,this.setData({isTouched:!1,isMoved:!1});var t=this.data.offsets,a=this.getValue(t);this.triggerEvent("afterChange",{offsets:t,value:a})}},getRect:function(e,a){var r=this;return new Promise(function(t){wx.createSelectorQuery().in(r)[a?"selectAll":"select"](e).boundingClientRect(function(e){a&&Array.isArray(e)&&e.length&&t(e),!a&&e&&t(e)}).exec()})},calcValue:function(e){var t=this.data,a=t.min,r=t.max;return this.trimValue(e*(r-a)/100+a)},calcOffset:function(e){var t=this.data,a=t.min;return 100*((e-a)/(t.max-a))},checkValue:function(e,t,a){var r=1<arguments.length&&void 0!==t?t:this.data.min,i=2<arguments.length&&void 0!==a?a:this.data.max;return e<=r?r:i<=e?i:e},trimValue:function(e){return checkValuePrecision(this.checkValue(e),this.data.step,this.data.min)},getValue:function(e){var t=this;return(0<arguments.length&&void 0!==e?e:this.data.offsets).map(function(e){return t.calcValue(e)})},getMarks:function(){if(this.data.showMark){for(var e=this.data,t=e.min,a=e.max,r=e.step,i=(a-t)/r,n=[],s=100*r/(a-t),o=1;o<i;o++)n.push(o*s);this.setData({marks:n})}},noop:function(){}},attached:function(){var e=this.data,t=e.defaultValue,a=e.value,r=e.controlled?a:t;this.getMarks(),this.updated(r)}});