UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 4.37 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),d=require("../../ap-form/index.js"),u=require("lodash-unified");require("../../config-provider/index.js");require("../../hooks/index.js");const P=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const z=require("../hooks/use-editable-api.js"),c=require("./utils.js"),G=require("../style/editable.js"),H=require("../../config-provider/hooks/use-namespace.js"),L=require("../../hooks/useControllableValue.js"),M=require("../../config-provider/hooks/use-global-config.js"),U=require("../index.vue.js"),W=e.defineComponent({name:"EditableGrid",__name:"index",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,Object]},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:{},value:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{}},emits:["update:value"],setup(y,{expose:w,emit:b}){const g=e.useSlots(),o=y,{b:h}=H.useNamespace("editable-aggrid"),C=G.default("editable-aggrid"),v=b,s=e.ref(),{value:r,updateValue:p}=L.useControllableValue(o,v),l=e.ref(),R=d.ApForm.useWatch(o.name,l);e.watch(r,a=>{const t=c.arrayToObject(a,o.rowKey);u.isEqual(t,e.unref(R))||l.value?.setFieldValue(o.name,t)},{deep:!0});const x=M.useGlobalConfig("valueTypeMap"),B=P.useGetEditableColumns(o,x),{add:_,addMultiple:S,remove:T,removeByKey:q,getRowData:F,getRowsData:E,setRowData:A,clear:N,refreshRowIds:i}=z.useEditableApi(o,l,r,p);function j(){const a=s.value?._internalGridApi;if(!i.value?.length||!a)return;const t=i.value.map(n=>a.getRowNode(n)).filter(n=>!!n);a.refreshCells({rowNodes:t,force:!0}),i.value=[]}function V(){l.value?.resetFields()}function O(a){return a?(u.isArray(a)?a:[a]).map(n=>u.isArray(n)?[o.name,...n]:[o.name,n]):void 0}async function k(a,t){return(await l.value?.validateFields(O(a),t))?.[o.name]}function D(a){p(a);const t=c.arrayToObject(a,o.rowKey);l.value?.setFieldValue(o.name,t)}function f(a,t){const n=a==="end"?r.value.length-1:a;s.value?.scrollToRow(n,t)}function K(a,t){s.value?.scrollToColumn(a,t)}return w({resetFields:V,validateFields:k,add:_,addMultiple:S,remove:T,removeByKey:q,getRowData:F,getRowsData:E,setRowData:A,clear:N,setTableData:D,scrollTo:f,scrollToRow:f,scrollToColumn:K}),(a,t)=>(e.openBlock(),e.createBlock(e.unref(d.ApForm),{ref_key:"formRef",ref:l,"initial-values":{[o.name]:e.unref(c.arrayToObject)(e.unref(r),o.rowKey)},style:{height:"100%"}},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ApForm).FormItem,{name:a.name,"no-style":""},{default:e.withCtx(()=>[e.createVNode(U.default,e.mergeProps(e.unref(u.omit)(o,["name","value","onUpdate:value","maxLength","onChange","defaultValue"]),{ref_key:"tableRef",ref:s,class:[e.unref(h)(),e.unref(C)],size:"mini",columns:e.unref(B),"data-source":e.unref(r),"search-form":!1,onUpdate:j}),e.createSlots({_:2},[e.renderList(g,(n,m)=>({name:m,fn:e.withCtx(I=>[e.renderSlot(a.$slots,m,e.normalizeProps(e.guardReactiveProps(I||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=W;