UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 4.19 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),w=require("../../ap-form/index.js"),s=require("lodash-unified");require("../../config-provider/index.js");const D=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const P=require("../hooks/use-editable-form-item-api.js"),k=require("../../ap-form/context.js"),L=require("../../ap-form/utils/get.js"),M=require("../utils.js"),z=require("../../ap-form/hooks/use-watch.js"),G=require("./utils.js"),H=require("../style/editable.js"),K=require("../../config-provider/hooks/use-namespace.js"),O=require("../../config-provider/hooks/use-global-config.js"),W=require("../index.vue.js"),U=e.defineComponent({name:"EditableGrid",__name:"form-item",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowSelection:{type:Boolean},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{default:66},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},columns:{},defaultValue:{},onChange:{},maxLength:{},onFieldChange:{},label:{},name:{},formItem:{}},setup(h,{expose:y}){const b=e.useSlots(),t=h,{b:C}=K.useNamespace("editable-aggrid"),R=H.default("editable-aggrid"),r=e.ref(),{internalInstance:u,model:v}=k.useInjectForm(),i=M.getShadowName(t.name);let c;e.onMounted(()=>{const o=t.formItem?.initialValue??L.getModelValue(e.unref(v),t.name);c=s.cloneDeep(o),m(o,"suffix")});const l=e.ref([]),x=z.useWatch(t.name);e.watch(()=>x.value,o=>{s.isEqual(o,l.value)||p(o??c)},{deep:!0});const B=O.useGlobalConfig("valueTypeMap"),q=D.useGetEditableColumns(t,B,i),{add:S,addMultiple:m,remove:_,removeByKey:I,getRowData:E,getRowsData:F,setRowData:N,clear:T,refreshRowIds:d}=P.useEditableFormItemApi(t,u,l,i);function V(){const o=r.value?._internalGridApi;if(!d.value?.length||!o)return;const n=d.value.map(a=>o.getRowNode(a)).filter(a=>!!a);o.refreshCells({rowNodes:n,force:!0}),d.value=[]}function p(o){l.value=o;const n=G.arrayToObject(o,t.rowKey);u?.setFieldValue(t.name,o),u?.setFieldValue(i,n)}function f(o,n){const a=o==="end"?l.value.length-1:o;r.value?.scrollToRow(a,n)}function j(o,n){r.value?.scrollToColumn(o,n)}return y({add:S,addMultiple:m,remove:_,removeByKey:I,getRowData:E,getRowsData:F,setRowData:N,clear:T,setTableData:p,scrollTo:f,scrollToRow:f,scrollToColumn:j}),(o,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(w.ApForm).FormItem,{hidden:"",name:o.name},null,8,["name"]),e.createVNode(e.unref(w.ApForm).FormItem,e.mergeProps(e.unref(s.omit)(o.formItem,"initialValue"),{label:o.label}),{default:e.withCtx(()=>[e.createVNode(W.default,e.mergeProps(e.unref(s.omit)(t,["name","maxLength","onChange","defaultValue","formItem"]),{ref_key:"tableRef",ref:r,class:[e.unref(C)(),e.unref(R)],size:"mini",columns:e.unref(q),"data-source":l.value,"search-form":!1,onUpdate:V}),e.createSlots({_:2},[e.renderList(b,(a,g)=>({name:g,fn:e.withCtx(A=>[e.renderSlot(o.$slots,g,e.normalizeProps(e.guardReactiveProps(A||{})))])}))]),1040,["class","columns","data-source"])]),_:3},16,["label"])],64))}});exports.default=U;