Files
vxe-table/lib/button/src/button.min.js
xuliangzhan 4ce8cf3a23 内部优化
2019-11-26 20:28:38 +08:00

1 line
2.9 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils/methods/xe-utils")),_conf=_interopRequireDefault(require("../../conf")),_tools=require("../../tools");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var _default={name:"VxeButton",props:{type:String,size:String,name:[String,Number],icon:String,disabled:Boolean,loading:Boolean},computed:{vSize:function(){return this.size||this.$parent.size||this.$parent.vSize}},render:function(e){var t,o,n=this,i=this.$scopedSlots,r=this.$listeners,s=this.type,a=this.vSize,u=this.name,d=this.disabled,l=this.loading,c="text"===s;return i.dropdowns?e("div",{class:["vxe-button--dropdown",_defineProperty({},"size--".concat(a),a)]},[e("button",{class:["vxe-button","type--".concat(c?s:"button"),(t={},_defineProperty(t,"size--".concat(a),a),_defineProperty(t,"theme--".concat(s),s&&!c),_defineProperty(t,"is--disabled",d||l),_defineProperty(t,"is--loading",l),t)],attrs:{name:u,disabled:d||l},on:Object.assign({mouseenter:this.mouseenterEvent,mouseleave:this.mouseleaveEvent},_xeUtils.default.objectMap(r,function(e,t){return function(e){return n.$emit(t,e)}}))},this.renderContent(e).concat([e("i",{class:"vxe-button--dropdown-arrow ".concat(_conf.default.icon.dropdownBottom)})])),e("div",{class:"vxe-button--dropdown-wrapper",on:{click:this.clickDropdownEvent,mouseenter:this.mouseenterEvent,mouseleave:this.mouseleaveEvent}},i.dropdowns.call(this))]):e("button",{class:["vxe-button","type--".concat(c?s:"button"),(o={},_defineProperty(o,"size--".concat(a),a),_defineProperty(o,"theme--".concat(s),s&&!c),_defineProperty(o,"is--disabled",d||l),_defineProperty(o,"is--loading",l),o)],attrs:{name:u,disabled:d||l},on:_xeUtils.default.objectMap(r,function(e,t){return function(e){return n.$emit(t,e)}})},this.renderContent(e))},methods:{renderContent:function(e){var t=this.$scopedSlots,o=this.icon,n=[];return this.loading?n.push(e("i",{class:["vxe-button--loading-icon",_conf.default.icon.btnLoading]})):o&&n.push(e("i",{class:["vxe-button--icon",o]})),t.default&&n.push(t.default.call(this)),n},clickDropdownEvent:function(e){var t=e.currentTarget,o=t.parentNode,n=_tools.DomTools.getEventTargetNode(e,t,"vxe-button"),i=n.flag,r=n.targetElem;i&&(o.dataset.active="N",_tools.DomTools.removeClass(o,"is--active"),_tools.UtilTools.emitEvent(this,"dropdown-click",[{name:r.getAttribute("name")},e]))},mouseenterEvent:function(e){var t=e.currentTarget.parentNode;t.dataset.active="Y",_tools.DomTools.addClass(t,"is--active")},mouseleaveEvent:function(e){var t=e.currentTarget.parentNode;t.dataset.active="N",setTimeout(function(){"Y"!==t.dataset.active&&_tools.DomTools.removeClass(t,"is--active")},300)}}};exports.default=_default;