@aplus-frontend/ui
Version:
2 lines (1 loc) • 1.78 kB
JavaScript
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),_=require("../../../ap-modal/index.js");require("../../../ag-grid/index.js");const q=require("../utils.js"),y=require("./use-ag-grid-instance.js"),a=require("lodash-unified");require("../wrapper/index.vue.js");const C=require("../wrapper/index.vue2.js"),P=require("../../../ag-grid/index.vue.js");function w(r){let i=null,s=null;const[n,f]=y.useAgGridInstance(),l=q.genRequest(r.api,r.getRowKey,n.setDataSourceLength),d=t=>{const{title:e,width:u,modalProps:p,...c}=a.isFunction(t)?t(r):t;a.isEmpty(c)||s?.(c);const g=a.omitBy({title:e,width:u,modalProps:p},a.isUndefined);a.isEmpty(g)||i?.update(g)},m=o.defineComponent({name:"AgGridModalPreviewContent",props:{modalConfig:{type:Object,required:!0}},setup(t){const e=o.ref(t.modalConfig);return s=u=>{e.value={...e.value,...u}},()=>o.createVNode(f,null,{default:()=>[o.createVNode(C.default,{height:e.value.height,rowHeight:e.value.rowHeight},{default:()=>[e.value.renderHeader?.(a.omit(n,"setInstance"),{updateProps:d}),o.createVNode(P.default,o.mergeProps({ref:n.setInstance,searchForm:{sortable:!1,resize:{target:"form"}},rowKey:e.value.getRowKey,request:l.request,style:{padding:"0px"},rowHeight:e.value.rowHeight,columns:e.value.columns,autoHeight:!!e.value.height},r.gridProps),e.value.gridSlots)]})]})}});function h(){i=_.ApModal.createModal({title:r.title,width:r.width,destroyOnClose:!0,maskClosable:!1,footer:null,afterOpenChange(t){t===!1&&(n.setInstance(void 0),n.setDataSourceLength(0),i=null)},content:o.createVNode(m,{modalConfig:r},null),...r.modalProps||{}})}function v(t){l.setExtraParams(t?.extraParams),h()}return{open:v,refresh:n.refresh,getAgGridInstance:n.getInstance,updateProps:d}}exports.useAgGridModal=w;