UNPKG

yw-common-list

Version:

基于vxe-table封装的自定义可配置表格

1 lines 2.94 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _utils=require("../../tools/utils"),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size")),_dom=require("../../tools/dom");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 _default2={name:"VxeSwitch",mixins:[_size.default],props:{value:[String,Number,Boolean],disabled:Boolean,className:String,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},inject:{$xeform:{default:null},$xeformiteminfo:{default:null}},data:function(){return{isActivated:!1,hasAnimat:!1,offsetLeft:0}},computed:{isChecked:function(){return this.value===this.openValue},onShowLabel:function(){return(0,_utils.getFuncText)(this.openLabel)},offShowLabel:function(){return(0,_utils.getFuncText)(this.closeLabel)},styles:function(){return _dom.browse.msie&&this.isChecked?{left:"".concat(this.offsetLeft,"px")}:null}},created:function(){var e=this;_dom.browse.msie&&this.$nextTick(function(){return e.updateStyle()})},render:function(e){var t=this.isChecked,i=this.vSize,s=this.className,n=this.disabled,o=this.openIcon,l=this.closeIcon;return e("div",{class:["vxe-switch",s,t?"is--on":"is--off",(_defineProperty(s={},"size--".concat(i),i),_defineProperty(s,"is--disabled",n),_defineProperty(s,"is--animat",this.hasAnimat),s)]},[e("button",{ref:"btn",class:"vxe-switch--button",attrs:{type:"button",disabled:n},on:{click:this.clickEvent,focus:this.focusEvent,blur:this.blurEvent}},[e("span",{class:"vxe-switch--label vxe-switch--label-on"},[o?e("i",{class:["vxe-switch--label-icon",o]}):null,this.onShowLabel]),e("span",{class:"vxe-switch--label vxe-switch--label-off"},[l?e("i",{class:["vxe-switch--label-icon",l]}):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,_dom.browse.msie&&this.updateStyle(),this.$emit("input",t),this.$emit("change",{value:t,$event:e}),this.$xeform&&this.$xeformiteminfo&&this.$xeform.triggerItemEvent(e,this.$xeformiteminfo.itemConfig.field,t),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;