element-gui
Version:
A Component Library for Vue.js.
1 lines • 7.94 kB
JavaScript
module.exports=function(e){var t={};function r(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(i,a,function(t){return e[t]}.bind(null,a));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/dist/",r(r.s=119)}({0:function(e,t,r){"use strict";function i(e,t,r,i,a,l,s,n){var o,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=r,u._compiled=!0),i&&(u.functional=!0),l&&(u._scopeId="data-v-"+l),s?(o=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},u._ssrRegister=o):a&&(o=n?function(){a.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:a),o)if(u.functional){u._injectStyles=o;var c=u.render;u.render=function(e,t){return o.call(t),c(e,t)}}else{var h=u.beforeCreate;u.beforeCreate=h?[].concat(h,o):[o]}return{exports:e,options:u}}r.d(t,"a",(function(){return i}))},119:function(e,t,r){"use strict";r.r(t);var i=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"el-rate",class:[e.rateSize?"el-rate--"+e.rateSize:""],attrs:{role:"slider","aria-valuenow":e.currentValue,"aria-valuetext":e.text,"aria-valuemin":"0","aria-valuemax":e.max,tabindex:"0"},on:{keydown:e.handleKey}},[e._l(e.max,(function(t,i){return r("span",{key:i,staticClass:"el-rate__item",style:{cursor:e.rateDisabled?"auto":"pointer"},on:{mousemove:function(r){return e.setCurrentValue(t,r)},mouseleave:e.resetCurrentValue,click:function(r){return e.selectValue(t)}}},[r("i",{staticClass:"el-rate__icon",class:[e.classes[t-1],{hover:e.hoverIndex===t}],style:e.getIconStyle(t)},[e.showDecimalIcon(t)?r("i",{staticClass:"el-rate__decimal",class:e.decimalIconClass,style:e.decimalStyle}):e._e()])])})),e.showText||e.showScore?r("span",{staticClass:"el-rate__text",style:{color:e.textColor}},[e._v(e._s(e.text))]):e._e()],2)};i._withStripped=!0;var a=r(3),l=r(16),s=r(13),n={name:"ElRate",mixins:[r.n(s).a],inject:{elForm:{default:""},elFormItem:{default:""}},data:function(){return{pointerAtLeftHalf:!0,currentValue:this.value,hoverIndex:-1}},props:{value:{type:Number,default:0},lowThreshold:{type:Number,default:2},highThreshold:{type:Number,default:4},max:{type:Number,default:5},colors:{type:[Array,Object],default:function(){return["#FC9306","#FC9306","#FC9306"]}},voidColor:{type:String,default:"#999999"},disabledVoidColor:{type:String,default:"#E5E5E5"},iconClasses:{type:[Array,Object],default:function(){return["el-icon-star-on","el-icon-star-on","el-icon-star-on"]}},voidIconClass:{type:String,default:"el-icon-star-off"},disabledVoidIconClass:{type:String,default:"el-icon-star-on"},disabled:Boolean,allowHalf:{type:Boolean,default:!1},showText:{type:Boolean,default:!1},showScore:{type:Boolean,default:!1},textColor:{type:String,default:"#333333"},texts:{type:Array,default:function(){return["极差","失望","一般","满意","惊喜"]}},scoreTemplate:{type:String,default:"{value}"},controllable:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},size:String},computed:{text:function(){var e="";return this.showScore?e=this.scoreTemplate.replace(/\{\s*value\s*\}/,this.rateDisabled?this.value:this.currentValue):this.showText&&(e=this.texts[Math.ceil(this.currentValue)-1]),e},decimalStyle:function(){var e="";return this.rateDisabled?e=this.valueDecimal+"%":this.allowHalf&&(e="50%"),{color:this.activeColor,width:e}},valueDecimal:function(){return 100*this.value-100*Math.floor(this.value)},classMap:function(){var e;return Array.isArray(this.iconClasses)?((e={})[this.lowThreshold]=this.iconClasses[0],e[this.highThreshold]={value:this.iconClasses[1],excluded:!0},e[this.max]=this.iconClasses[2],e):this.iconClasses},decimalIconClass:function(){return this.getValueFromMap(this.value,this.classMap)},voidClass:function(){return this.rateDisabled?this.disabledVoidIconClass:this.voidIconClass},activeClass:function(){return this.getValueFromMap(this.currentValue,this.classMap)},colorMap:function(){var e;return Array.isArray(this.colors)?((e={})[this.lowThreshold]=this.colors[0],e[this.highThreshold]={value:this.colors[1],excluded:!0},e[this.max]=this.colors[2],e):this.colors},activeColor:function(){return this.getValueFromMap(this.currentValue,this.colorMap)},classes:function(){var e=[],t=0,r=this.currentValue;for(this.allowHalf&&this.currentValue!==Math.floor(this.currentValue)&&r--;t<r;t++)e.push(this.activeClass);for(;t<this.max;t++)e.push(this.voidClass);return e},rateDisabled:function(){return this.disabled||(this.elForm||{}).disabled},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},rateSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size}},watch:{value:function(e){this.currentValue=e,this.pointerAtLeftHalf=this.value!==Math.floor(this.value)}},methods:{getMigratingConfig:function(){return{props:{"text-template":"text-template is renamed to score-template."}}},getValueFromMap:function(e,t){var r=Object.keys(t).filter((function(r){var i=t[r];return!!Object(l.isObject)(i)&&i.excluded?e<r:e<=r})).sort((function(e,t){return e-t})),i=t[r[0]];return Object(l.isObject)(i)?i.value:i||""},showDecimalIcon:function(e){var t=this.rateDisabled&&this.valueDecimal>0&&e-1<this.value&&e>this.value,r=this.allowHalf&&this.pointerAtLeftHalf&&e-.5<=this.currentValue&&e>this.currentValue;return t||r},getIconStyle:function(e){var t=this.rateDisabled?this.disabledVoidColor:this.voidColor;return{color:e<=this.currentValue?this.activeColor:t}},selectValue:function(e){this.rateDisabled||(this.clearable&&e===this.value&&(e=0),this.clearable&&this.allowHalf&&this.pointerAtLeftHalf&&this.value===this.currentValue&&(this.currentValue=0),this.allowHalf&&this.pointerAtLeftHalf?(this.$emit("input",this.currentValue),this.$emit("change",this.currentValue)):(this.$emit("input",e),this.$emit("change",e)))},handleKey:function(e){if(!this.rateDisabled&&!this.controllable){var t=this.currentValue,r=e.keyCode;38===r||39===r?(this.allowHalf?t+=.5:t+=1,e.stopPropagation(),e.preventDefault()):37!==r&&40!==r||(this.allowHalf?t-=.5:t-=1,e.stopPropagation(),e.preventDefault()),t=(t=t<0?0:t)>this.max?this.max:t,this.$emit("input",t),this.$emit("change",t)}},setCurrentValue:function(e,t){if(!this.rateDisabled){if(this.allowHalf){var r=t.target;Object(a.hasClass)(r,"el-rate__item")&&(r=r.querySelector(".el-rate__icon")),Object(a.hasClass)(r,"el-rate__decimal")&&(r=r.parentNode),this.pointerAtLeftHalf=2*t.offsetX<=r.clientWidth,this.currentValue=this.pointerAtLeftHalf?e-.5:e}else this.currentValue=e;this.hoverIndex=t?e:-1}},resetCurrentValue:function(){this.rateDisabled||(this.allowHalf&&(this.pointerAtLeftHalf=this.value!==Math.floor(this.value)),this.currentValue=this.value,this.hoverIndex=-1)}},created:function(){this.value||this.$emit("input",0)}},o=r(0),u=Object(o.a)(n,i,[],!1,null,null,null).exports;u.install=function(e){e.component(u.name,u)};t.default=u},13:function(e,t){e.exports=require("element-gui/lib/mixins/migrating")},16:function(e,t){e.exports=require("element-gui/lib/utils/types")},3:function(e,t){e.exports=require("element-gui/lib/utils/dom")}});