@aplus-frontend/ui
Version:
2 lines (1 loc) • 3.54 kB
JavaScript
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),I=require("../../../ap-modal/index.js");require("../../../ag-grid/index.js");const u=require("../utils.js"),p=require("./use-ag-grid-instance.js"),r=require("lodash-unified"),O=require("../constants.js"),F=require("./use-modal-title.js"),G=require("@aplus-frontend/antdv");require("../../../config-provider/index.js");require("../modal-layout/index.vue.js");require("../wrapper/index.vue.js");const L=require("../../../config-provider/hooks/use-locale.js"),T=require("../wrapper/index.vue2.js"),j=require("../modal-layout/index.vue2.js"),H=require("../../../ag-grid/index.vue.js");function N(t){let d,m=null,y=null;const g=new u.AsyncCallback,[q,b]=F.useModalTitle(),{t:S}=L.useLocale(),[c,v]=p.useAgGridInstance({onSelectedRows(e){b.setCount(e?.length||0)}}),w=u.genRequest(t.api,t.getRowKey,c.setDataSourceLength),h=e=>{const{title:n,width:l,modalProps:o,...s}=r.isFunction(e)?e(r.cloneDeep(t)):e;r.isEmpty(s)||y?.(s);const a=r.omitBy({title:n,width:l,modalProps:o},r.isUndefined);r.isEmpty(a)||m?.update(a)},f=r.isFunction(t.getRowKey)?t.getRowKey:e=>e[t.getRowKey],x=()=>{const e=t.mergeRule||"old",n=c.getSelectedRows()||[];return{keys:P(n),rows:n.map(s=>{const a=f(s);return e==="old"&&d?.[a]?d[a]:u.delRowKeyField(s)})}},C=async()=>{const e=x(),n=t.maxCount||1/0;return e.keys.length>n?(G.message.warning(S("ap.apTableModal.messageMaxCount",{maxCount:n})),Promise.reject()):(await t.beforeOk?.(e),t.finishCallback?.(e),g.resolve(e),e)},K=()=>{g.reject("modal is closed!")},k=i.defineComponent({name:"AgGridModalSelectContent",props:{modalConfig:{type:Object,required:!0},selectedRows:{type:Array,default:()=>[]}},setup(e){const n=i.ref(e.modalConfig);return y=l=>{n.value={...n.value,...l}},()=>{const l=e.selectedRows?.map(a=>u.addRowKeyField(a,n.value.getRowKey)),o=n.value,s=u.getModalLayoutConfig(o.modalLayout);return i.createVNode(v,null,{default:()=>[i.createVNode(T.default,{height:o.height,rowHeight:o.rowHeight},{default:()=>[t.renderHeader?.(r.omit(c,"setInstance"),{updateProps:h}),i.createVNode(j.default,s.props,{default:()=>[i.createVNode(H.default,i.mergeProps({ref:c.setInstance,searchForm:{sortable:!1,resize:{target:"form"}},rowKey:r.isFunction(o.getRowKey)?O.ROW_KEY:o.getRowKey,request:w.request,style:{padding:"0px"},rowHeight:o.rowHeight,columns:o.columns,rowSelection:{defaultSelectedRows:l,preserveSelectedRowKeys:!0,type:o.mode||"checkbox",fixed:"left",columnWidth:38,disabled(a){return r.isFunction(o.disabledCheckbox)?o.disabledCheckbox(a,r.omit(c,"setInstance")):o.disabledCheckbox??!1},...t.rowSelection},autoHeight:!!n.value.height},t.gridProps),o.gridSlots)],...s.slots})]})]})}}});function R(e){return i.createVNode(k,{modalConfig:t,selectedRows:e},null)}function M(){const e=Object.values(d||{}),n=R(e);m=I.ApModal.createModal({title:i.createVNode(q,{title:t.title,maxCount:t.maxCount||1/0},t.modalTitleSlots),width:t.width,destroyOnClose:!0,maskClosable:!1,onOk:C,onCancel:K,afterOpenChange(l){l===!1&&(c.setInstance(void 0),c.setDataSourceLength(0))},content:n,...t.modalProps||{}})}function P(e){return e?.map(f)||[]}function _(e,n,l=!1){if(d=e?.reduce((o,s)=>{const a=f(s);return o[a]=s,o},{}),w.setExtraParams(n?.extraParams),M(),l)return g.buildPromise()}function A(e,n){return _(e,n,!0)}return i.onUnmounted(()=>{g.reject("component is Unmounted!")}),{open:_,asyncOpen:A,refresh:c.refresh,getAgGridInstance:c.getInstance,genContent:R,validate:C,updateProps:h}}exports.useAgGridSelectModal=N;