Files
vxe-table/lib/button/src/button.min.js
xuliangzhan 2eb6bf0036 更新文档
2020-01-13 18:11:44 +08:00

1 line
3.3 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(t){return t&&t.__esModule?t:{default:t}}function _defineProperty(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var _default={name:"VxeButton",props:{type:String,size:String,name:[String,Number],status:String,icon:String,disabled:Boolean,loading:Boolean},computed:{vSize:function(){return this.size||this.$parent.size||this.$parent.vSize},isText:function(){return"text"===this.type},isFormBtn:function(){return"submit"===this.type||"reset"===this.type},btnType:function(){return this.isText?this.type:"button"},btnStatus:function(){return this.status||("primary"===this.type?this.type:null)}},created:function(){"primary"===this.type&&_tools.UtilTools.warn("vxe.error.delProp",["type=primary","status=primary"])},render:function(t){var e,n,o=this,i=this.$scopedSlots,s=this.$listeners,r=this.type,a=this.isText,u=this.isFormBtn,l=this.btnStatus,c=this.btnType,d=this.vSize,p=this.name,f=this.disabled,v=this.loading;return i.dropdowns?t("div",{class:["vxe-button--dropdown",_defineProperty({},"size--".concat(d),d)]},[t("button",{class:["vxe-button","type--".concat(c),(_defineProperty(e={},"size--".concat(d),d),_defineProperty(e,"theme--".concat(l),l&&!a),_defineProperty(e,"is--disabled",f||v),_defineProperty(e,"is--loading",v),e)],attrs:{name:p,type:u?r:null,disabled:f||v},on:Object.assign({mouseenter:this.mouseenterEvent,mouseleave:this.mouseleaveEvent},_xeUtils.default.objectMap(s,function(t,e){return function(t){return o.$emit(e,t)}}))},this.renderContent(t).concat([t("i",{class:"vxe-button--dropdown-arrow ".concat(_conf.default.icon.dropdownBottom)})])),t("div",{class:"vxe-button--dropdown-wrapper",on:{click:this.clickDropdownEvent,mouseenter:this.mouseenterEvent,mouseleave:this.mouseleaveEvent}},i.dropdowns.call(this))]):t("button",{class:["vxe-button","type--".concat(c),(_defineProperty(n={},"size--".concat(d),d),_defineProperty(n,"theme--".concat(l),l&&!a),_defineProperty(n,"is--disabled",f||v),_defineProperty(n,"is--loading",v),n)],attrs:{name:p,type:u?r:null,disabled:f||v},on:_xeUtils.default.objectMap(s,function(t,e){return function(t){return o.$emit(e,t)}})},this.renderContent(t))},methods:{renderContent:function(t){var e=this.$scopedSlots,n=this.icon,o=[];return this.loading?o.push(t("i",{class:["vxe-button--loading-icon",_conf.default.icon.btnLoading]})):n&&o.push(t("i",{class:["vxe-button--icon",n]})),e.default&&o.push(e.default.call(this)),o},clickDropdownEvent:function(t){var e=t.currentTarget,n=e.parentNode,o=_tools.DomTools.getEventTargetNode(t,e,"vxe-button"),i=o.flag,s=o.targetElem;i&&(n.dataset.active="N",_tools.DomTools.removeClass(n,"is--active"),_tools.UtilTools.emitEvent(this,"dropdown-click",[{name:s.getAttribute("name")},t]))},mouseenterEvent:function(t){var e=t.currentTarget.parentNode;e.dataset.active="Y",_tools.DomTools.addClass(e,"is--active")},mouseleaveEvent:function(t){var e=t.currentTarget.parentNode;e.dataset.active="N",setTimeout(function(){"Y"!==e.dataset.active&&_tools.DomTools.removeClass(e,"is--active")},300)}}};exports.default=_default;