cube-ui
Version:
A fantastic mobile ui lib implement by Vue
1 lines • 5.35 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.rate=t():(e.cube=e.cube||{},e.cube.rate=t())}("undefined"!=typeof self?self:this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var u=n[o]={i:o,l:!1,exports:{}};return e[o].call(u.exports,u,u.exports,t),u.l=!0,u.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="./",t(t.s=350)}({195:function(e,t,n){function o(e){n(220)}var u=n(9)(n(221),n(222),o,null,null);e.exports=u.exports},217:function(e,t,n){function o(e){n(218)}var u=n(9)(n(219),n(223),o,null,null);e.exports=u.exports},218:function(e,t){},219:function(e,t,n){var o,u,r;!function(a,i){u=[e,t,n(195)],o=i,void 0!==(r="function"==typeof o?o.apply(t,u):o)&&(e.exports=r)}(0,function(e,t,n){"use strict";function o(e){return e.type.indexOf(r)>-1}Object.defineProperty(t,"__esModule",{value:!0});var u=function(e){return e&&e.__esModule?e:{default:e}}(n),r="mouse";t.default={name:"cube-rate",props:{value:{type:Number,default:0},max:{type:Number,default:5},disabled:{type:Boolean,default:!1},justify:{type:Boolean,default:!1},allowHalf:{type:Boolean,default:!1}},data:function(){return{tempValue:0}},created:function(){this.mousePressed=!1},computed:{rateClass:function(){return this.justify&&"cube-rate-justify"}},watch:{value:{immediate:!0,handler:function(e){e!==this.tempValue&&(this.tempValue=this.handleNum(e))}}},methods:{handleStart:function(e){if(!this.disabled){o(e)&&(this.mousePressed=!0,document.addEventListener("mouseup",this.handleEnd),document.addEventListener("mousemove",this.handleMove));var t=this.$refs.rateContainer.getBoundingClientRect();this.left=t.left,this.containerWidth=t.width}},handleMove:function(e){this.disabled||(o(e)?this.mousePressed&&this.computeTempValue(e):this.computeTempValue(e.touches[0]))},handleEnd:function(e){this.disabled||o(e)&&!this.mousePressed||(o(e)&&(this.mousePressed=!1,document.removeEventListener("mouseup",this.handleEnd),document.removeEventListener("mousemove",this.handleMove)),this.computeTempValue(o(e)?e:e.changedTouches[0]),this.$emit("input",this.tempValue))},handleNum:function(e){if(this.allowHalf){var t=Math.ceil(e)-.5;e=e<=t?t:t+.5}else e=Math.ceil(e);return e},computeTempValue:function(e){var t=(e.clientX-this.left)/this.containerWidth*this.max;t=this.handleNum(t),t>0&&t<=this.max?this.tempValue=t:this.tempValue=t<=0?0:this.max}},components:{CubeRateItem:u.default}},e.exports=t.default})},220:function(e,t){},221:function(e,t,n){var o,u,r;!function(n,a){u=[e,t],o=a,void 0!==(r="function"==typeof o?o.apply(t,u):o)&&(e.exports=r)}(0,function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={name:"cube-rate-item",props:{index:{type:Number,default:0}}},e.exports=t.default})},222:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"cube-rate-item",class:{"cube-rate-item_active":e.index<=e.$parent.tempValue,"cube-rate-item_half_active":e.index===e.$parent.tempValue+.5}},[e._t("default",[n("div",{staticClass:"cube-rate-item-def"})])],2)},staticRenderFns:[]}},223:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",{ref:"rateContainer",staticClass:"cube-rate",class:e.rateClass,on:{touchstart:function(t){return t.stopPropagation(),e.handleStart(t)},touchmove:function(t){return t.stopPropagation(),t.preventDefault(),e.handleMove(t)},touchend:function(t){return t.stopPropagation(),e.handleEnd(t)},mousedown:function(t){return t.stopPropagation(),e.handleStart(t)},mousemove:function(t){return t.stopPropagation(),e.handleMove(t)},mouseup:function(t){return t.stopPropagation(),e.handleEnd(t)}}},[e._t("default",e._l(e.max,function(e){return n("cube-rate-item",{key:e,attrs:{index:e}})}))],2)},staticRenderFns:[]}},350:function(e,t,n){var o,u,r;!function(a,i){u=[e,t,n(217),n(195)],o=i,void 0!==(r="function"==typeof o?o.apply(t,u):o)&&(e.exports=r)}(0,function(e,t,n,o){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=u(n),a=u(o);r.default.install=function(e){e.component(r.default.name,r.default),e.component(a.default.name,a.default)},r.default.Item=a.default,t.default=r.default,e.exports=t.default})},9:function(e,t){e.exports=function(e,t,n,o,u){var r,a=e=e||{},i=typeof e.default;"object"!==i&&"function"!==i||(r=e,a=e.default);var s="function"==typeof a?a.options:a;t&&(s.render=t.render,s.staticRenderFns=t.staticRenderFns),o&&(s._scopeId=o);var l;if(u?(l=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__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(u)},s._ssrRegister=l):n&&(l=n),l){var d=s.functional,c=d?s.render:s.beforeCreate;d?s.render=function(e,t){return l.call(t),c(e,t)}:s.beforeCreate=c?[].concat(c,l):[l]}return{esModule:r,exports:a,options:s}}}})});