UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 1.97 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("clsx"),b=require("lodash-unified"),I=require("vue"),F=require("../../ap-grid/utils/editable.js"),C=require("../../ap-table/utils.js"),M=require("../../editable-table/utils.js");require("../../utils/index.js");const S=require("../editable/utils.js"),$=require("../../utils/is.js");function R(t,r,n){t.__skipNextRefresh?t.__skipNextRefresh[r]=n:t.__skipNextRefresh={[r]:n}}function m(t,r,n){t.__prevEditable?t.__prevEditable[r]=n:t.__prevEditable={[r]:n}}const q=(t,r,n)=>{function v(e){const u=e.editable,l=n?[n]:b.isArray(t.name)?t.name:[t.name];return!u||e.children?.length?{_path:[...l]}:{customRender({value:d,originalNode:N,params:a,...i}){const c=b.isFunction(e.editable)?e.editable(i.text,i.record,i.rowIndex):!!e.editable;let f=N;const k=b.isArray(e.dataIndex)?e.dataIndex:[e.dataIndex],x=S.getRowKey(i.record,i.rowIndex,t.rowKey);if(c){const _=C.updateFormProps(e,C.getFieldProps(e.fieldProps,{value:d,...i})),h={};t.onFieldChange&&(h[`onUpdate:${_.valuePropName||"value"}`]=E=>t.onFieldChange?.(i.rowIndex,e.dataIndex,E));const w={name:[...l,String(x),...k],..._||{},field:{style:"width: 100%",..._?.field||{},...h,class:y.clsx("is-editable",_.class)}};f=F.getFinalEditableNode(e,w,i.record,I.unref(r))}e.customRender&&(f=e.customRender({value:d,...i,editable:c,originalNode:f,index:i.rowIndex,renderIndex:i.rowIndex,path:[...l,String(x)]}));const s=a.node,o=a.column.getColId(),g=s.__prevEditable?.[o];return!s.__skipNextRefresh?.[o]&&$.isDef(g)&&g!==c&&(R(s,o,!0),setTimeout(()=>{a?.api.refreshCells({rowNodes:[a.node],columns:[a.column.getColId()],force:!0}),R(s,o,!1)},0)),m(s,o,c),f},_path:[...l]}}return I.computed(()=>{const e=t.columns;if(!e)return[];function u(l){return l.map(d=>({...d,_requireMark:M.getColumnIsRequired(d),children:u(d.children||[]),...v(d)}))}return u(e)})};exports.default=q;exports.useGetEditableColumns=q;