switch.min.js 2.7 KB

1
  1. "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _tools=require("../../tools"),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var browse=_tools.DomTools.browse,_default2={name:"VxeSwitch",mixins:[_size.default],props:{value:[String,Number,Boolean],disabled:Boolean,size:{type:String,default:function(){return _conf.default.switch.size||_conf.default.size}},openLabel:String,closeLabel:String,openValue:{type:[String,Number,Boolean],default:!0},closeValue:{type:[String,Number,Boolean],default:!1},openIcon:String,closeIcon:String},data:function(){return{isActivated:!1,hasAnimat:!1,offsetLeft:0}},computed:{isChecked:function(){return this.value===this.openValue},onShowLabel:function(){return _tools.UtilTools.getFuncText(this.openLabel)},offShowLabel:function(){return _tools.UtilTools.getFuncText(this.closeLabel)},styles:function(){return browse.msie&&this.isChecked?{left:"".concat(this.offsetLeft,"px")}:null}},created:function(){var e=this;browse.msie&&this.$nextTick(function(){return e.updateStyle()})},render:function(e){var t=this.isChecked,i=this.vSize,s=this.disabled,n=this.openIcon,o=this.closeIcon;return e("div",{class:["vxe-switch",t?"is--on":"is--off",(_defineProperty(t={},"size--".concat(i),i),_defineProperty(t,"is--disabled",s),_defineProperty(t,"is--animat",this.hasAnimat),t)]},[e("button",{ref:"btn",class:"vxe-switch--button",attrs:{type:"button",disabled:s},on:{click:this.clickEvent,focus:this.focusEvent,blur:this.blurEvent}},[e("span",{class:"vxe-switch--label vxe-switch--label-on"},[n?e("i",{class:["vxe-switch--label-icon",n]}):null,this.onShowLabel]),e("span",{class:"vxe-switch--label vxe-switch--label-off"},[o?e("i",{class:["vxe-switch--label-icon",o]}):null,this.offShowLabel]),e("span",{class:"vxe-switch--icon",style:this.styles})])])},methods:{updateStyle:function(){this.hasAnimat=!0,this.offsetLeft=this.$refs.btn.offsetWidth},clickEvent:function(e){var t,i=this;this.disabled||(clearTimeout(this.activeTimeout),t=this.isChecked?this.closeValue:this.openValue,this.hasAnimat=!0,browse.msie&&this.updateStyle(),this.$emit("input",t),this.$emit("change",{value:t,$event:e}),this.activeTimeout=setTimeout(function(){i.hasAnimat=!1},400))},focusEvent:function(e){this.isActivated=!0,this.$emit("focus",{value:this.value,$event:e})},blurEvent:function(e){this.isActivated=!1,this.$emit("blur",{value:this.value,$event:e})}}};exports.default=_default2;