1 |
- (window.webpackJsonp=window.webpackJsonp||[]).push([[30],{439:function(e,t,i){"use strict";var s=i(435),o=function(){function e(e){this.scroll=e,this.wheelEndTimer=0,this.wheelMoveTimer=0,this.wheelStart=!1,this.init()}return e.prototype.init=function(){this.handleBScroll(),this.handleOptions(),this.handleHooks(),this.registerEvent()},e.prototype.handleBScroll=function(){this.scroll.registerType(["alterOptions","mousewheelStart","mousewheelMove","mousewheelEnd"])},e.prototype.handleOptions=function(){var e=!0===this.scroll.options.mouseWheel?{}:this.scroll.options.mouseWheel;this.mouseWheelOpt=Object(s.t)({speed:20,invert:!1,easeTime:300,discreteTime:400,throttleTime:0,dampingFactor:.1},e)},e.prototype.handleHooks=function(){this.hooksFn=[],this.registerHooks(this.scroll.hooks,"destroy",this.destroy)},e.prototype.registerEvent=function(){this.eventRegister=new s.f(this.scroll.scroller.wrapper,[{name:"wheel",handler:this.wheelHandler.bind(this)},{name:"mousewheel",handler:this.wheelHandler.bind(this)},{name:"DOMMouseScroll",handler:this.wheelHandler.bind(this)}])},e.prototype.registerHooks=function(e,t,i){e.on(t,i,this),this.hooksFn.push([e,t,i])},e.prototype.wheelHandler=function(e){if(this.scroll.enabled){this.beforeHandler(e),this.wheelStart||(this.wheelStartHandler(e),this.wheelStart=!0);var t=this.getWheelDelta(e);this.wheelMoveHandler(t),this.wheelEndDetector(t)}},e.prototype.wheelStartHandler=function(e){this.cleanCache();var t=this.scroll.scroller,i=t.scrollBehaviorX,o=t.scrollBehaviorY;i.setMovingDirection(s.b.Default),o.setMovingDirection(s.b.Default),i.setDirection(s.b.Default),o.setDirection(s.b.Default),this.scroll.trigger(this.scroll.eventTypes.alterOptions,this.mouseWheelOpt),this.scroll.trigger(this.scroll.eventTypes.mousewheelStart)},e.prototype.cleanCache=function(){this.deltaCache=[]},e.prototype.wheelMoveHandler=function(e){var t=this,i=this.mouseWheelOpt,s=i.throttleTime,o=i.dampingFactor;if(s&&this.wheelMoveTimer)this.deltaCache.push(e);else{var l=this.deltaCache.reduce((function(e,t){return{x:e.x+t.x,y:e.y+t.y}}),{x:0,y:0});this.cleanCache();var n=this.scroll.scroller,r=n.scrollBehaviorX,a=n.scrollBehaviorY;r.setMovingDirection(-e.directionX),a.setMovingDirection(-e.directionY),r.setDirection(e.x),a.setDirection(e.y);var h=r.performDampingAlgorithm(Math.round(e.x)+l.x,o),c=a.performDampingAlgorithm(Math.round(e.y)+l.x,o);if(!this.scroll.trigger(this.scroll.eventTypes.mousewheelMove,{x:h,y:c})){var d=this.getEaseTime();h===this.scroll.x&&c===this.scroll.y||this.scroll.scrollTo(h,c,d)}s&&(this.wheelMoveTimer=window.setTimeout((function(){t.wheelMoveTimer=0}),s))}},e.prototype.wheelEndDetector=function(e){var t=this;window.clearTimeout(this.wheelEndTimer),this.wheelEndTimer=window.setTimeout((function(){t.wheelStart=!1,window.clearTimeout(t.wheelMoveTimer),t.wheelMoveTimer=0,t.scroll.trigger(t.scroll.eventTypes.mousewheelEnd,e)}),this.mouseWheelOpt.discreteTime)},e.prototype.getWheelDelta=function(e){var t=this.mouseWheelOpt,i=t.speed,o=0,l=0,n=t.invert?s.b.Negative:s.b.Positive;switch(!0){case"deltaX"in e:1===e.deltaMode?(o=-e.deltaX*i,l=-e.deltaY*i):(o=-e.deltaX,l=-e.deltaY);break;case"wheelDeltaX"in e:o=e.wheelDeltaX/120*i,l=e.wheelDeltaY/120*i;break;case"wheelDelta"in e:o=l=e.wheelDelta/120*i;break;case"detail"in e:o=l=-e.detail/3*i}return o*=n,l*=n,this.scroll.hasVerticalScroll||(Math.abs(l)>Math.abs(o)&&(o=l),l=0),this.scroll.hasHorizontalScroll||(o=0),{x:o,y:l,directionX:o>0?s.b.Negative:o<0?s.b.Positive:s.b.Default,directionY:l>0?s.b.Negative:l<0?s.b.Positive:s.b.Default}},e.prototype.beforeHandler=function(e){var t=this.scroll.options,i=t.preventDefault,o=t.stopPropagation,l=t.preventDefaultException;i&&!Object(s.L)(e.target,l)&&Object(s.H)(e),o&&e.stopPropagation()},e.prototype.getEaseTime=function(){var e=this.mouseWheelOpt.easeTime;return e<100&&Object(s.S)("easeTime should be greater than 100.If mouseWheel easeTime is too small,scrollEnd will be triggered many times."),Math.max(e,100)},e.prototype.destroy=function(){this.eventRegister.destroy(),window.clearTimeout(this.wheelEndTimer),window.clearTimeout(this.wheelMoveTimer),this.hooksFn.forEach((function(e){var t=e[0],i=e[1],s=e[2];t.off(i,s)}))},e.pluginName="mouseWheel",e.applyOrder=s.a.Pre,e}();t.a=o},461:function(e,t,i){"use strict";var s=i(435),o=[{key:"wheelTo",name:"wheelTo"},{key:"getSelectedIndex",name:"getSelectedIndex"},{key:"restorePosition",name:"restorePosition"}].map((function(e){return{key:e.key,sourceKey:"plugins.wheel."+e.name}})),l=4,n=function(){function e(e){this.scroll=e,this.init()}return e.prototype.init=function(){this.handleBScroll(),this.handleOptions(),this.handleHooks(),this.refreshBoundary(),this.setSelectedIndex(this.options.selectedIndex)},e.prototype.handleBScroll=function(){this.scroll.proxy(o),this.scroll.registerType(["wheelIndexChanged"])},e.prototype.handleOptions=function(){var e=!0===this.scroll.options.wheel?{}:this.scroll.options.wheel;this.options=Object(s.t)({wheelWrapperClass:"wheel-scroll",wheelItemClass:"wheel-item",rotate:25,adjustTime:400,selectedIndex:0,wheelDisabledItemClass:"wheel-disabled-item"},e)},e.prototype.handleHooks=function(){var e=this,t=this.scroll,i=this.scroll.scroller,o=i.actionsHandler,n=i.scrollBehaviorX,r=i.scrollBehaviorY,a=i.animater,h=i.content;t.on(t.eventTypes.scrollEnd,(function(t){var s=e.findNearestValidWheel(t.y).index;if(i.animater.forceStopped&&!e.isAdjustingPosition)return e.target=e.items[s],!0;e.setSelectedIndex(s),e.isAdjustingPosition&&(e.isAdjustingPosition=!1)})),this.scroll.hooks.on(this.scroll.hooks.eventTypes.refresh,(function(t){t!==h&&(h=t,e.setSelectedIndex(e.options.selectedIndex,!0)),e.rotateX(e.scroll.y),e.wheelTo(e.selectedIndex,0)})),this.scroll.hooks.on(this.scroll.hooks.eventTypes.beforeInitialScrollTo,(function(t){t.x=0,t.y=-e.selectedIndex*e.itemHeight})),i.hooks.on(i.hooks.eventTypes.checkClick,(function(){var t=Object(s.h)(e.items).indexOf(e.target);return-1===t||e.wheelTo(t,e.options.adjustTime,s.r.swipe),!0})),i.hooks.on(i.hooks.eventTypes.scrollTo,(function(t){t.y=e.findNearestValidWheel(t.y).y})),i.hooks.on(i.hooks.eventTypes.minDistanceScroll,(function(){var e=i.animater;!0===e.forceStopped&&(e.forceStopped=!1)})),i.hooks.on(i.hooks.eventTypes.scrollToElement,(function(t,i){if(!Object(s.A)(t,e.options.wheelItemClass))return!0;i.top=e.findNearestValidWheel(i.top).y})),o.hooks.on(o.hooks.eventTypes.beforeStart,(function(t){e.target=t.target})),n.hooks.on(n.hooks.eventTypes.computeBoundary,(function(e){e.maxScrollPos=0,e.minScrollPos=0})),r.hooks.on(r.hooks.eventTypes.computeBoundary,(function(t){e.items=e.scroll.scroller.content.children,e.checkWheelAllDisabled(),e.itemHeight=e.items.length>0?r.contentSize/e.items.length:0,t.maxScrollPos=-e.itemHeight*(e.items.length-1),t.minScrollPos=0})),r.hooks.on(r.hooks.eventTypes.momentum,(function(t){t.rate=l,t.destination=e.findNearestValidWheel(t.destination).y})),r.hooks.on(r.hooks.eventTypes.end,(function(t){var i=e.findNearestValidWheel(r.currentPos);t.destination=i.y,t.duration=e.options.adjustTime})),a.hooks.on(a.hooks.eventTypes.time,(function(t){e.transitionDuration(t)})),a.hooks.on(a.hooks.eventTypes.timeFunction,(function(t){e.timeFunction(t)})),a.hooks.on(a.hooks.eventTypes.callStop,(function(){var t=e.findNearestValidWheel(e.scroll.y).index;e.isAdjustingPosition=!0,e.wheelTo(t,0)})),a.translater.hooks.on(a.translater.hooks.eventTypes.translate,(function(t){e.rotateX(t.y)}))},e.prototype.refreshBoundary=function(){var e=this.scroll.scroller,t=e.scrollBehaviorX,i=e.scrollBehaviorY,s=e.content;t.refresh(s),i.refresh(s)},e.prototype.setSelectedIndex=function(e,t){void 0===t&&(t=!1);var i=this.selectedIndex;this.selectedIndex=e,i===e||t||this.scroll.trigger("wheelIndexChanged",e)},e.prototype.getSelectedIndex=function(){return this.selectedIndex},e.prototype.wheelTo=function(e,t,i){void 0===e&&(e=0),void 0===t&&(t=0);var s=-e*this.itemHeight;this.scroll.scrollTo(0,s,t,i)},e.prototype.restorePosition=function(){if(this.scroll.pending){var e=this.getSelectedIndex();this.scroll.scroller.animater.clearTimer(),this.wheelTo(e,0)}},e.prototype.transitionDuration=function(e){for(var t=0;t<this.items.length;t++)this.items[t].style[s.P.transitionDuration]=e+"ms"},e.prototype.timeFunction=function(e){for(var t=0;t<this.items.length;t++)this.items[t].style[s.P.transitionTimingFunction]=e},e.prototype.rotateX=function(e){for(var t=this.options.rotate,i=void 0===t?25:t,o=0;o<this.items.length;o++){var l=(i*(e/this.itemHeight+o)).toFixed(3);this.items[o].style[s.P.transform]="rotateX("+l+"deg)"}},e.prototype.findNearestValidWheel=function(e){e=e>0?0:e<this.scroll.maxScrollY?this.scroll.maxScrollY:e;for(var t=Math.abs(Math.round(-e/this.itemHeight)),i=t,o=this.items,l=this.options.wheelDisabledItemClass;t>=0&&Object(s.A)(o[t],l);)t--;if(t<0)for(t=i;t<=o.length-1&&Object(s.A)(o[t],l);)t++;return t===o.length&&(t=i),{index:this.wheelItemsAllDisabled?-1:t,y:-t*this.itemHeight}},e.prototype.checkWheelAllDisabled=function(){var e=this.options.wheelDisabledItemClass,t=this.items;this.wheelItemsAllDisabled=!0;for(var i=0;i<t.length;i++)if(!Object(s.A)(t[i],e)){this.wheelItemsAllDisabled=!1;break}},e.pluginName="wheel",e}();t.a=n},525:function(e,t,i){},684:function(e,t,i){"use strict";i(525)},749:function(e,t,i){"use strict";i.r(t);var s=i(436),o=i(461),l=i(439);s.a.use(o.a),s.a.use(l.a);var n=[{text:"Venomancer",value:1,disabled:"wheel-disabled-item"},{text:"Nerubian Weaver",value:2},{text:"Spectre",value:3},{text:"Juggernaut",value:4},{text:"Karl",value:5},{text:"Zeus",value:6},{text:"Witch Doctor",value:7},{text:"Lich",value:8},{text:"Oracle",value:9},{text:"Earthshaker",value:10}],r={name:"picker",data:function(){return{state:0,selectedIndex:2,selectedText:"open",pickerData:n}},methods:{_confirm:function(){if(!this._isMoving()){this.hide();var e=this.wheel.getSelectedIndex();this.selectedIndex=e,this.selectedText=this.pickerData[this.selectedIndex].text,this.$emit("select",e)}},_cancel:function(){this.hide(),this.$emit("cancel")},_isMoving:function(){return this.wheel.pending},show:function(){var e=this;1!==this.state&&(this.state=1,this.wheel?(this.wheel.enable(),this.wheel.wheelTo(this.selectedIndex)):this.$nextTick((function(){var t=e.$refs.wheelWrapper.children[0];e._createWheel(t)})))},hide:function(){this.state=0,this.wheel.disable()},refresh:function(){var e=this;this.$nextTick((function(){e.wheel.refresh()}))},_createWheel:function(e){var t=this;return this.wheel?this.wheel.refresh():(this.wheel=new s.a(e,{mouseWheel:!0,wheel:{selectedIndex:this.selectedIndex,wheelWrapperClass:"wheel-scroll",wheelItemClass:"wheel-item",wheelDisabledItemClass:"wheel-disabled-item"},probeType:3,useTransition:!0}),this.wheel.on("scrollEnd",(function(){t.$emit("change",t.wheel.getSelectedIndex())}))),this.wheel}}},a=(i(684),i(41)),h=Object(a.a)(r,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"mouse-wheel-picker"},[t("ul",{staticClass:"example-list"},[t("li",{staticClass:"example-item",on:{click:e.show}},[t("span",{staticClass:"open"},[e._v(e._s(e.selectedText))])])]),e._v(" "),t("transition",{attrs:{name:"picker-fade"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:1===e.state,expression:"state===1"}],staticClass:"picker",on:{touchmove:function(e){e.preventDefault()},click:e._cancel}},[t("transition",{attrs:{name:"picker-move"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:1===e.state,expression:"state===1"}],staticClass:"picker-panel",on:{click:function(e){e.stopPropagation()}}},[t("div",{staticClass:"picker-choose border-bottom-1px"},[t("span",{staticClass:"cancel",on:{click:e._cancel}},[e._v("Cancel")]),e._v(" "),t("span",{staticClass:"confirm",on:{click:e._confirm}},[e._v("Confirm")]),e._v(" "),t("h1",{staticClass:"picker-title"},[e._v("Title")])]),e._v(" "),t("div",{staticClass:"picker-content"},[t("div",{staticClass:"mask-top border-bottom-1px"}),e._v(" "),t("div",{staticClass:"mask-bottom border-top-1px"}),e._v(" "),t("div",{ref:"wheelWrapper",staticClass:"wheel-wrapper"},[t("div",{staticClass:"wheel"},[t("ul",{staticClass:"wheel-scroll"},e._l(e.pickerData,(function(i,s){return t("li",{key:s,staticClass:"wheel-item",class:{"wheel-disabled-item":i.disabled}},[e._v(e._s(i.text))])})),0)])])]),e._v(" "),t("div",{staticClass:"picker-footer"})])])],1)])],1)}),[],!1,null,"50c5f53b",null);t.default=h.exports}}]);
|