UNPKG

vxe-pc-ui

Version:
1 lines 2.05 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_checkbox=_interopRequireDefault(require("./checkbox"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeCheckboxGroup",props:{modelValue:Array,options:Array,optionProps:Object,disabled:{type:Boolean,default:null},max:{type:[String,Number],default:null},size:{type:String,default:()=>(0,_ui.getConfig)().checkboxGroup.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","change"],setup(o,e){const{slots:a,emit:i}=e,n=(0,_vue.inject)("$xeForm",null),d=(0,_vue.inject)("xeFormItemInfo",null);var u=_xeUtils.default.uniqueId(),t=(0,_vue.reactive)({}),l=(0,_vue.computed)(()=>{var e=o["disabled"];return null===e?!!n&&(n.props.readonly||n.props.disabled):e}),r=(0,_vue.computed)(()=>{var{modelValue:e,max:u}=o;return!!u&&(e?e.length:0)>=_xeUtils.default.toNumber(u)});const s=(0,_vue.computed)(()=>Object.assign({},o.optionProps)),c=(0,_vue.computed)(()=>{return s.value.label||"label"}),p=(0,_vue.computed)(()=>{return s.value.value||"value"}),v=(0,_vue.computed)(()=>{return s.value.disabled||"disabled"}),_={computeIsMaximize:r,computeIsDisabled:l},m={xID:u,props:o,context:e,reactData:t,getComputeMaps:()=>_};(0,_ui.useSize)(o);Object.assign(m,{dispatchEvent:(e,u,t)=>{i(e,(0,_ui.createEvent)(t,{$checkboxGroup:m},u))}},{handleChecked(e,u){var{checked:t,label:l}=e,r=o.modelValue||[],a=r.indexOf(l);t?-1===a&&r.push(l):r.splice(a,1),i("update:modelValue",r),m.dispatchEvent("change",Object.assign({checklist:r},e),u),n&&d&&n.triggerItemEvent(u,d.itemConfig.field,r)}});r=()=>{var e=o["options"],u=a.default;const t=p.value,l=c.value,r=v.value;return(0,_vue.h)("div",{class:"vxe-checkbox-group"},u?u({}):e?e.map(e=>(0,_vue.h)(_checkbox.default,{key:e[t],label:e[t],content:e[l],disabled:e[r]})):[])};return(0,_vue.provide)("$xeCheckboxGroup",m),m.renderVN=r}});