UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 1.74 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),d=require("lodash-unified"),s=require("../utils.js"),c=require("../../ap-table/utils.js");require("../../config-provider/index.js");const C=require("@aplus-frontend/antdv/es/theme/internal"),N=require("../../utils/warning.js"),v=require("../../config-provider/hooks/use-namespace.js"),w=(r,m)=>{const{em:x,be:T}=v.useNamespace("editable-table"),h=N.useDevWarning("EditableTable"),q=t.useSlots(),[,F]=C.useToken();return t.computed(()=>{const i=r.columns;if(!i)return[];function b(I){return I.map(e=>({...d.omit(e,["ellipsis"]),children:b(e.children||[]),title:s.getEditableTableTitle(e,T("table-header","title"),x("header-cell","required"),q.headerCell,t.unref(F).colorTextTertiary),customRender({value:a,...n}){const o=d.isFunction(e.editable)?e.editable(n.text,n.record,n.index):!!e.editable;if(!e.valueType&&!e.customRender&&!e.customRenderFormItem)return h(!1,"usage","'can not render table cell because no `valueType` / `customRender` / `customRenderFormItem`'"),null;let u;if(o){const l=c.updateFormProps(e,c.getFieldProps(e.fieldProps,{value:a,...n})),g={};r.onFieldChange&&(g[`onUpdate:${l.valuePropName||"value"}`]=y=>r.onFieldChange?.(n.index,e.dataIndex,y));const R=d.isArray(e.dataIndex)?e.dataIndex:[e.dataIndex];u={name:[...d.isArray(r.name)?r.name:[r.name],n.index,...R],...l||{},field:{style:"width: 100%",...l?.field||{},...g,class:s.mergeClass("is-editable",l.class)}}}else u={field:c.getTableRenderProps(e,{value:a,...n})};const f=s.getFinalNode(e,o,u,a,n.record,t.unref(m));return e.customRender?e.customRender({value:a,...n,editable:o,originalNode:f}):f}}))}return b(i)})};exports.default=w;