@aplus-frontend/ui
Version:
2 lines (1 loc) • 1.53 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue"),r=require("lodash-unified"),b=require("../../editable-table/utils.js"),f=require("../../ap-table/utils.js");require("../../config-provider/index.js");const v=require("@aplus-frontend/antdv/es/theme/internal"),E=require("../utils/editable.js"),A=require("../../config-provider/hooks/use-namespace.js"),g=(t,x)=>{const{em:m,be:h}=A.useNamespace("editable-grid"),q=l.useSlots(),[,C]=v.useToken();return l.computed(()=>{const i=t.columns;if(!i)return[];function o(N){return N.map(e=>({...e,children:o(e.children||[]),title:b.getEditableTableTitle(e,h("table-header","title"),m("header-cell","required"),q.headerCell,l.unref(C).colorTextTertiary),tooltip:void 0,customRender({value:u,originalNode:F,...n}){const s=r.isFunction(e.editable)?e.editable(n.text,n.record,n.index):!!e.editable;let d=F;if(s){const a=f.updateFormProps(e,f.getFieldProps(e.fieldProps,{value:u,...n})),c={};t.onFieldChange&&(c[`onUpdate:${a.valuePropName||"value"}`]=y=>t.onFieldChange?.(n.index,e.dataIndex,y));const I=r.isArray(e.dataIndex)?e.dataIndex:[e.dataIndex],T={name:[...r.isArray(t.name)?t.name:[t.name],n.index,...I],...a||{},field:{style:"width: 100%",...a?.field||{},...c,class:b.mergeClass("is-editable",a.class)}};d=E.getFinalEditableNode(e,T,n.record,l.unref(x))}return e.customRender?e.customRender({value:u,...n,editable:s,originalNode:d}):d}}))}return o(i)})};exports.default=g;exports.useGetEditableColumns=g;