UNPKG

@jecloud/ui

Version:

JECloud UI库,基于ant-design-vue封装

1 lines 1.21 kB
import{mergeProps as e,createVNode as c}from"vue";import{useTreeNode as t}from"./use-column-treenode";import{hasClass as l}from"@jecloud/utils";export function useCheckbox(r){var a=r.props,o=r.context.slots,s=o.default,i="center",n={slots:{},props:{align:i,headerAlign:i,resizable:!1,width:40,draggable:!1}};if(a.treeNode){var d=t(r);s=d.slots.default,n.props={}}var u=function(t,l,r){var a=t.checked,o=t.disabled,s=t.indeterminate;return c("span",e(r,{class:["vxe-cell--checkbox",{"is--checked":a,"is--disabled":o,"is--indeterminate":s}]}),[c("i",{class:["vxe-cell--checkbox-icon",{"fas fa-check-square":a,"fal fa-square":!a&&!s,"fas fa-minus-square":s}]},null),l])};return n.slots={header:function(e){var t,l=e.$table,r=e.checked,a=e.disabled,s=e.column.getTitle(),i=o.title;return(i||s)&&(t=c("span",{class:"vxe-cell--checkbox-label"},[i?i(e):s])),u(e,t,{onClick:function(e){a||l.triggerCheckAllEvent(e,!r)}})},checkbox:function(e){var c,t=e.$table,r=e.disabled,a=e.visible,o=e.row,i=t.getComputeMaps().computeCheckboxOpts.value.labelField;return(s||i)&&(c=s?s(e):o[i]),u(e,c,{onClick:function(c){!r&&a&&l(c.target,"vxe-cell--checkbox-icon")&&(e.checked=!e.checked,t.triggerCheckRowEvent(c,e,e.checked))}})}},n}