@aplus-frontend/ui
Version:
2 lines (1 loc) • 5.3 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),p=require("../../ap-form/index.js"),f=require("lodash-unified");require("../../config-provider/index.js");const g=require("../../utils/index.js"),T=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const V=require("../../ap-form/context.js"),j=require("../../ap-form/utils/get.js"),O=require("../../utils/warning.js"),P=require("../style/editable.js"),G=require("../../config-provider/hooks/use-namespace.js"),z=require("../../config-provider/hooks/use-global-config.js"),A=require("../index.vue.js"),K=t.defineComponent({name:"EditableGridFormItem",__name:"form-item",props:{dropdownPrefixCls:{},bordered:{type:Boolean,default:!1},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!0},prefixCls:{},tableLayout:{default:"fixed"},title:{},id:{},showHeader:{type:Boolean,default:!0},components:{},customRow:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean],default:!1},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean,default:!1},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean,default:!1},indentSize:{default:15},expandIconColumnIndex:{},showExpandColumn:{type:Boolean,default:!0},expandedRowClassName:{},childrenColumnName:{default:"children"},rowExpandable:{},sticky:{type:[Boolean,Object],default:!1},transformCellText:{},rowClassName:{},stripe:{type:Boolean},headerRowClassName:{},footerRowClassName:{},cellClassName:{},headerCellClassName:{},footerCellClassName:{},rowStyle:{},headerRowStyle:{},footerRowStyle:{},cellStyle:{},headerCellStyle:{},footerCellStyle:{},height:{},minHeight:{},maxHeight:{},mergeCells:{},mergeFooterItems:{},cellConfig:{},loading:{type:Boolean,default:void 0},loadingConfig:{},headerCellConfig:{},footerCellConfig:{},round:{type:Boolean},rowSelection:{type:Boolean,default:void 0},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},size:{default:"mini"},adaptive:{type:Boolean,default:!1},columnResizable:{type:[Boolean,Object],default:!1},rowKey:{default:"key"},footer:{},virtual:{type:[Boolean,Object],default:void 0},expandable:{},value:{},rowHighlightable:{type:[Boolean,Function]},treeConfig:{},onReady:{},columns:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},onFieldChange:{},label:{},name:{},formItem:{default:()=>({})}},setup(h,{expose:y}){const C=t.useSlots(),o=h;O.useDevWarning("EditableGridFormItem")(!1,"breaking","EditableGridFormItem has been EOL, Please use EditableAgGridFormItem(https://aplus.aplnk.com/aplus-ui/components/ag-grid/editable/) instead.");const{b}=G.useNamespace("editable-grid"),w=P.default("editable-grid"),{internalInstance:u,model:x}=V.useInjectForm(),c=t.toRef(o.name),i=t.ref(j.getModelValue(t.unref(x),c.value)||[]),R=p.ApForm.useWatch(c);t.watch(()=>R.value,async e=>{await t.nextTick(),i.value=e,o.onChange?.(e)},{deep:!0});const m=t.ref(),v=z.useGlobalConfig("valueTypeMap"),B=T.useGetEditableColumns(o,v);function S(e,l){const s=t.unref(i)?.length||0;if(g.isDef(o.maxLength)&&s>=o.maxLength)return;const a={...e||{}};u?.setFieldValue(o.name,a,!0,(n,r)=>{if(!n[r]){n[r]=[a];return}f.isUndefined(l)?n[r].push(a):n[r].splice(l,0,a)})}function F(e,l="suffix"){const s=t.unref(i)?.length||0,a=f.isNumber(e)?e:e.length;if(g.isDef(o.maxLength)&&s+a>o.maxLength)return;const n=f.isNumber(e)?new Array(e).fill(0).map(()=>({})):f.cloneDeep(e);u?.setFieldValue(o.name,n,!0,(r,d)=>{if(!r[d]){r[d]=[...n];return}l==="suffix"?r[d].push(...n):r[d].unshift(...n)})}function N(e){const l=new Set(f.isNumber(e)?[e]:e);u?.setFieldValue(o.name,void 0,!0,(s,a)=>{s[a]=s[a].filter((n,r)=>!l.has(r))})}function _(e){const l=new Set(f.isArray(e)?e:[e]);l.size!==0&&u?.setFieldValue?.(o.name,void 0,!0,(s,a)=>{s[a]=s[a].filter(n=>!l.has(n[o.rowKey]))})}function I(){return t.unref(i)}function q(e){return t.unref(i)?.[e]}function D(e,l,s=!0){u?.setFieldValue(o.name,void 0,!0,(a,n)=>{if(!(!a[n]||!a[n][e])){if(!s){const r=Object.keys(a[n][e]);for(const d of r)d!==o.rowKey&&delete a[n][e][d]}Object.assign(a[n][e],{...l})}})}function E(e){u?.setFieldValue(o.name,e)}function k(e){const l=e==="end"?i.value.length-1:e;m.value?.scrollToRow(l)}function L(){u?.setFieldValue?.(o.name,[])}return y({add:S,remove:N,getRowData:q,getRowsData:I,setRowData:D,addMultiple:F,scrollTo:k,setTableData:E,clear:L,removeByKey:_}),(e,l)=>(t.openBlock(),t.createBlock(t.unref(p.ApForm).FormItem,t.mergeProps(e.formItem,{name:e.name,label:e.label}),{default:t.withCtx(()=>[t.createVNode(A.default,t.mergeProps(t.unref(f.omit)(o,["name","value","onUpdate:value","maxLength","onChange","defaultValue","formItem"]),{ref_key:"tableRef",ref:m,class:[t.unref(b)(),t.unref(w)],columns:t.unref(B),"data-source":i.value,"search-form":!1}),t.createSlots({_:2},[t.renderList(C,(s,a)=>({name:a,fn:t.withCtx(n=>[t.renderSlot(e.$slots,a,t.normalizeProps(t.guardReactiveProps(n||{})))])}))]),1040,["class","columns","data-source"])]),_:3},16,["name","label"]))}});exports.default=K;