ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
2 lines (1 loc) • 870 B
JavaScript
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("../../_util/hooks/use-state.js"),s=require("vue"),r=(o,x,f)=>{const a=s.computed(()=>{const e=s.toValue(o);let t={expandedKeys:[],onExpand:()=>{}};return e?(typeof e=="object"&&(t={...t,...e}),{enableCollapse:!0,customizeExpandedKeys:t.expandedKeys,customizeOnExpand:t.onExpand}):{enableCollapse:!1,customizeExpandedKeys:t.expandedKeys,customizeOnExpand:t.onExpand}}),[n,l]=c.default(a.value.customizeExpandedKeys),p=e=>{var d,u;if(!a.value.enableCollapse)return;const t=n.value.includes(e)?n.value.filter(i=>i!==e):[...n.value,e];(u=(d=a.value).customizeOnExpand)==null||u.call(d,t),typeof s.toValue(o)!="object"&&l(t)};return s.watch(a,e=>{l(e.customizeExpandedKeys)},{deep:1}),[s.computed(()=>a.value.enableCollapse),n,p]};exports.default=r;
;