@jecloud/ui
Version:
JECloud UI库,基于ant-design-vue封装
1 lines • 906 B
JavaScript
import{reactive as e,toRaw as r}from"vue";import{defaults as o,omit as s,pick as t}from"@jecloud/utils";import{useCheckbox as l}from"./use-column-checkbox";import{useSwitch as p}from"./use-column-switch";import{useTreeNode as n}from"./use-column-treenode";import{useAction as a}from"./use-column-action";export function useColumn(s){var u,m=s.props,d=s.context.slots,f=m.type,g=c(s);["checkbox","radio"].includes(f)?g=l(s):"switch"===f?g=p(s):"seq"===f?g=i(s):"action"===f?g=a(s):m.treeNode&&(g=n(s));var b=e(Object.assign(o(r(m),g.props),t(g.props,["resizable","draggable"])));return b.draggable&&(b.headerClassName=(null!==(u=b.headerClassName)&&void 0!==u?u:"")+" is--draggable"),{props:b,slots:o(g.slots,d)}}var c=function(e){var r=e.props,o={slots:{},props:{cellRender:{}}};return(r.editRender||r.cellRender)&&(o.props=s(o.props,["cellRender"])),o},i=function(){return{props:{draggable:!1},slots:{}}};