UNPKG

vxe-pc-ui

Version:
1 lines 1.67 kB
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_button=_interopRequireDefault(require("./button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeButtonGroup",props:{options:Array,mode:String,status:String,round:Boolean,vertical:Boolean,circle:Boolean,align:String,className:[String,Function],disabled:Boolean,permissionCode:[String,Number],size:{type:String,default:()=>(0,_ui.getConfig)().buttonGroup.size||(0,_ui.getConfig)().size}},emits:["click","contextmenu"],setup(r,e){let{slots:o,emit:u}=e;var t=_xeUtils.default.uniqueId(),i=(0,_vue.reactive)({});let n={},s={xID:t,props:r,context:e,reactData:i,getComputeMaps:()=>n},a=((0,_ui.useSize)(r),(0,_ui.usePermission)(r)).computePermissionInfo,l=(e,t,i)=>{u(e,(0,_ui.createEvent)(i,{$buttonGroup:s},t))},p={dispatchEvent:l},c=e=>{l("contextmenu",{},e)};Object.assign(s,p,{handleClick(e,t){var i=r.options;let u=e.name;i=i?i.find(e=>e.name===u):null;p.dispatchEvent("click",Object.assign(Object.assign({},e),{option:i}),t)}});return s.renderVN=()=>{var{className:e,options:t,vertical:i}=r,u=a.value,n=o.default;return u.visible?(0,_vue.h)("div",{class:["vxe-button-group",e?_xeUtils.default.isFunction(e)?e({$buttonGroup:s}):e:"",{"is--vertical":i}],onContextmenu:c},n?n({}):t?t.map((e,t)=>(0,_vue.h)(_button.default,Object.assign({key:t},e))):[]):(0,_ui.renderEmptyElement)(s)},(0,_vue.provide)("$xeButtonGroup",s),s},render(){return this.renderVN()}});