UNPKG

7.17 kBJavaScriptView Raw
1module.exports=function(e){function t(o){if(i[o])return i[o].exports;var r=i[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var i={};return t.m=e,t.c=i,t.d=function(e,i,o){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist/",t(t.s=308)}({0:function(e,t){e.exports=function(e,t,i,o,r,n){var s,l=e=e||{},c=typeof e.default;"object"!==c&&"function"!==c||(s=e,l=e.default);var u="function"==typeof l?l.options:l;t&&(u.render=t.render,u.staticRenderFns=t.staticRenderFns,u._compiled=!0),i&&(u.functional=!0),r&&(u._scopeId=r);var a;if(n?(a=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(n)},u._ssrRegister=a):o&&(a=o),a){var h=u.functional,p=h?u.render:u.beforeCreate;h?(u._injectStyles=a,u.render=function(e,t){return a.call(t),p(e,t)}):u.beforeCreate=p?[].concat(p,a):[a]}return{esModule:s,exports:l,options:u}}},23:function(e,t){e.exports=require("babel-runtime/core-js/array/from")},27:function(e,t,i){"use strict";var o=i(23),r=i.n(o),n=i(46),s=function(e,t,i,o){if(e!==t&&"number"==typeof e){t=t||0,i=i||2;!function r(){if(e+=(t-e)/i,Math.abs(t-e)<1)return void o(t,!0);o(e,!1),requestAnimationFrame(r)}()}};t.a={name:"Picker",componentName:"Picker",components:{RemToPx:n.a},props:{options:{type:Array,reqiured:!0},value:{type:String},placeholder:{type:String,default:""},itemHeight:{type:Number,default:.9}},watch:{options:function(e){requestAnimationFrame(this.scrollToActive)}},created:function(){this.$$touch={}},mounted:function(){this.$$touch.scrollElement=this.$el.querySelector(".vx-picker"),requestAnimationFrame(this.scrollToActive),this.$nextTick(this.computeStyles),window.addEventListener("resize",this.computeStyles,!1)},beforeDestroy:function(){this.$$touch=null,this.$$pullTimer&&clearTimeout(this.$$pullTimer),this.$$timer&&clearTimeout(this.$$timer),window.removeEventListener("resize",this.computeStyles)},methods:{computeStyles:function(){var e=this,t=document.documentElement.style.fontSize;if(t&&this.itemHeight){t=parseInt(t,10);var i=t*this.itemHeight;i%2&&i++;var o=this.$el.querySelector(".vx-picker"),r=this.$el.querySelector(".vx-picker--scroller"),n=this.$el.querySelector(".vx-picker--indicator-top"),s=this.$el.querySelector(".vx-picker--indicator-bottom");requestAnimationFrame(function(){o.style.height=7*i+"px",r.style.padding=3*i+"px 0",r.style.lineHeight=i+"px",n.style.top=3*i+"px",s.style.top=4*i+"px",n.style.boxShadow="0px -"+3*i+"px 0px "+3*i+"px rgba(255,255,255,0.45)",s.style.boxShadow="0px "+3*i+"px 0px "+3*i+"px rgba(255,255,255,0.45)",requestAnimationFrame(e.scrollToActive)})}},scrollToActive:function(){var e=this,t=this.$el.querySelector(".is-active"),i=0;r()(this.$el.querySelectorAll(".vx-picker--item")).forEach(function(e,o){e===t&&(i=o)}),requestAnimationFrame(function(){e.$$touch.scrollElement.scrollTop=t?i*t.offsetHeight:0})},handleTouchEnd:function(){this.$$touch.scrollEnd=!0,this.computedScrollTop()},handleTouchMove:function(e){var t=this,i=e.changedTouches[0].pageY;this.$$touch.pageY&&(0===this.$$touch.scrollElement.scrollTop&&i-this.$$touch.pageY>0?(this.$$pullTimer&&clearTimeout(this.$$pullTimer),this.$$pullTimer=setTimeout(function(){t.$emit("pulldown")},500),e.preventDefault(),e.stopPropagation()):Math.round(this.$$touch.scrollElement.scrollTop)===this.$$touch.maxScrollTop&&i-this.$$touch.pageY<0&&(this.$$pullTimer&&clearTimeout(this.$$pullTimer),this.$$pullTimer=setTimeout(function(){t.$emit("pullup")},500),e.preventDefault(),e.stopPropagation())),this.$$touch.pageY=i},handleTouchStart:function(e){this.$$touch.scrollEnd=!1,this.$$touch.maxScrollTop=this.$$touch.scrollElement.scrollHeight-this.$$touch.scrollElement.offsetHeight,this.$$touch.pageY=e.changedTouches[0].pageY,this.$$timer&&clearTimeout(this.$$timer),this.$$pullTimer&&clearTimeout(this.$$pullTimer);var t=this.$$touch.scrollElement.querySelector(".vx-picker--item");t&&(this.$$touch.offsetHeight=t.offsetHeight)},handleScroll:function(){this.$$touch&&this.$$touch.scrollEnd&&this.computedScrollTop()},computedScrollTop:function(){var e=this;this.$$timer&&clearTimeout(this.$$timer),this.$$timer=setTimeout(function(){e.$$touch.scrollEnd=!1;var t=e.$el.querySelector(".vx-picker"),i=t.scrollTop,o=Math.round(i/e.$$touch.offsetHeight),r=o*e.$$touch.offsetHeight;requestAnimationFrame(function(){i!==r&&s(i,r,4,function(e){t.scrollTop=e});var n=e.$el.querySelectorAll(".vx-picker--item")[o];if(n){var l=n.dataset.value;l!==e.value&&e.$emit("input",l).$emit("change",l)}})},200)}}}},28:function(e,t,i){"use strict";t.a={name:"RemToPx",componentName:"RemToPx",props:{width:{type:Number},height:{type:Number},even:{type:Boolean,default:!1},tag:{type:String,default:"div"}},data:function(){return{styles:this.getStyles()}},mounted:function(){window.addEventListener("resize",this.handleResize,!1)},beforeDestroy:function(){window.removeEventListener("resize",this.handleResize)},methods:{handleResize:function(){this.styles=this.getStyles()},getStyles:function(){var e=document.documentElement.style.fontSize,t="",i="";return e&&(e=parseInt(e,10),this.width&&(t=Math.round(e*this.width),this.even&&t%2&&t++),this.height&&(i=Math.round(e*this.height),this.even&&i%2&&i++)),"width:"+t+"px;height:"+i+"px"}}}},308:function(e,t,i){e.exports=i(34)},34:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=i(27),r=i(48),n=i(0),s=n(o.a,r.a,!1,null,null,null);t.default=s.exports},46:function(e,t,i){"use strict";var o=i(28),r=i(47),n=i(0),s=n(o.a,r.a,!1,null,null,null);t.a=s.exports},47:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.tag,{tag:"component",style:e.styles},[e._t("default")],2)},r=[],n={render:o,staticRenderFns:r};t.a=n},48:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"vx-picker--wrapper",attrs:{onselectstart:"return false;"}},[i("div",{staticClass:"vx-picker",on:{touchstart:e.handleTouchStart,touchmove:e.handleTouchMove,touchend:e.handleTouchEnd,scroll:e.handleScroll}},[i("div",{staticClass:"vx-picker--scroller"},[e.placeholder?i("rem-to-px",{class:["vx-picker--item","vx-picker--placeholder"],attrs:{height:e.itemHeight,even:""}},[e._v("\n "+e._s(e.placeholder)+"\n ")]):e._e(),e._l(e.options,function(t,o){return i("rem-to-px",{key:o,class:["vx-picker--item",{"is-active":t.value===e.value}],attrs:{height:e.itemHeight,even:"","data-value":t.value,"data-index":o},domProps:{innerHTML:e._s(t.label)}})})],2)]),e._m(0)])},r=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"vx-picker--indicator"},[i("div",{staticClass:"vx-picker--indicator-top"}),i("div",{staticClass:"vx-picker--indicator-bottom"})])}],n={render:o,staticRenderFns:r};t.a=n}});
\No newline at end of file