@aplus-frontend/ui 6.38.0 → 6.39.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/es/index.mjs +110 -104
  2. package/es/src/ag-grid/hooks/use-columns-def.mjs +73 -71
  3. package/es/src/ag-grid/index.vue.mjs +201 -200
  4. package/es/src/ag-grid/interface.d.ts +14 -0
  5. package/es/src/ap-form/drawer-form/index.vue.d.ts +4 -0
  6. package/es/src/ap-form/modal-form/index.vue.d.ts +9 -1
  7. package/es/src/ap-modal/utils/createModal.mjs +34 -36
  8. package/es/src/ap-table/components/setting/modal/index.vue2.mjs +72 -71
  9. package/es/src/ap-table/interface.d.ts +6 -0
  10. package/es/src/business/ag-grid-modal/constants.d.ts +4 -0
  11. package/es/src/business/ag-grid-modal/constants.mjs +6 -0
  12. package/es/src/business/ag-grid-modal/hooks/use-ag-grid-instance.d.ts +33 -0
  13. package/es/src/business/ag-grid-modal/hooks/use-ag-grid-instance.mjs +50 -0
  14. package/es/src/business/ag-grid-modal/hooks/use-ag-grid-modal.d.ts +3 -0
  15. package/es/src/business/ag-grid-modal/hooks/use-ag-grid-modal.mjs +95 -0
  16. package/es/src/business/ag-grid-modal/hooks/use-ag-grid-select-modal.d.ts +2 -0
  17. package/es/src/business/ag-grid-modal/hooks/use-ag-grid-select-modal.mjs +165 -0
  18. package/es/src/business/ag-grid-modal/hooks/use-modal-title.d.ts +24 -0
  19. package/es/src/business/ag-grid-modal/hooks/use-modal-title.mjs +49 -0
  20. package/es/src/business/ag-grid-modal/index.d.ts +3 -0
  21. package/es/src/business/ag-grid-modal/index.mjs +8 -0
  22. package/es/src/business/ag-grid-modal/interface.d.ts +141 -0
  23. package/es/src/business/ag-grid-modal/modal-layout/index.vue.d.ts +44 -0
  24. package/es/src/business/ag-grid-modal/modal-layout/index.vue.mjs +4 -0
  25. package/es/src/business/ag-grid-modal/modal-layout/index.vue2.mjs +106 -0
  26. package/es/src/business/ag-grid-modal/selected-items/default.vue.d.ts +25 -0
  27. package/es/src/business/ag-grid-modal/selected-items/default.vue.mjs +4 -0
  28. package/es/src/business/ag-grid-modal/selected-items/default.vue2.mjs +33 -0
  29. package/es/src/business/ag-grid-modal/selected-items/index.d.ts +36 -0
  30. package/es/src/business/ag-grid-modal/selected-items/index.mjs +8 -0
  31. package/es/src/business/ag-grid-modal/selected-items/style/css.d.ts +0 -0
  32. package/es/src/business/ag-grid-modal/selected-items/style/css.js +1 -0
  33. package/es/src/business/ag-grid-modal/selected-items/style/index.d.ts +0 -0
  34. package/es/src/business/ag-grid-modal/selected-items/style/index.js +1 -0
  35. package/es/src/business/ag-grid-modal/style/css.d.ts +0 -0
  36. package/es/src/business/ag-grid-modal/style/css.js +1 -0
  37. package/es/src/business/ag-grid-modal/style/index.d.ts +0 -0
  38. package/es/src/business/ag-grid-modal/style/index.js +1 -0
  39. package/es/src/business/ag-grid-modal/utils.d.ts +54 -0
  40. package/es/src/business/ag-grid-modal/utils.mjs +72 -0
  41. package/es/src/business/ag-grid-modal/wrapper/index.vue.d.ts +23 -0
  42. package/es/src/business/ag-grid-modal/wrapper/index.vue.mjs +4 -0
  43. package/es/src/business/ag-grid-modal/wrapper/index.vue2.mjs +25 -0
  44. package/es/src/business/ap-table-modal/hooks/use-create-table-modal.d.ts +1 -0
  45. package/es/src/business/ap-table-modal/hooks/use-table-modal.d.ts +1 -0
  46. package/es/src/business/ap-table-modal/hooks/use-table-select-modal.d.ts +1 -0
  47. package/es/src/business/ap-table-modal/index.d.ts +3 -0
  48. package/es/src/business/ap-table-modal/table-modal.vue.d.ts +1 -0
  49. package/es/src/business/ap-table-modal/table-modal.vue2.mjs +23 -23
  50. package/es/src/business/hooks/usePageListApTable.d.ts +1 -0
  51. package/es/src/business/index.d.ts +1 -0
  52. package/es/src/business/index.mjs +55 -54
  53. package/es/src/index.mjs +95 -89
  54. package/es/src/path-map.mjs +4 -1
  55. package/es/src/version.d.ts +1 -1
  56. package/es/src/version.mjs +1 -1
  57. package/lib/index.js +1 -1
  58. package/lib/src/ag-grid/hooks/use-columns-def.js +1 -1
  59. package/lib/src/ag-grid/index.vue.js +1 -1
  60. package/lib/src/ag-grid/interface.d.ts +14 -0
  61. package/lib/src/ap-form/drawer-form/index.vue.d.ts +4 -0
  62. package/lib/src/ap-form/modal-form/index.vue.d.ts +9 -1
  63. package/lib/src/ap-modal/utils/createModal.js +1 -1
  64. package/lib/src/ap-table/components/setting/modal/index.vue2.js +1 -1
  65. package/lib/src/ap-table/interface.d.ts +6 -0
  66. package/lib/src/business/ag-grid-modal/constants.d.ts +4 -0
  67. package/lib/src/business/ag-grid-modal/constants.js +1 -0
  68. package/lib/src/business/ag-grid-modal/hooks/use-ag-grid-instance.d.ts +33 -0
  69. package/lib/src/business/ag-grid-modal/hooks/use-ag-grid-instance.js +1 -0
  70. package/lib/src/business/ag-grid-modal/hooks/use-ag-grid-modal.d.ts +3 -0
  71. package/lib/src/business/ag-grid-modal/hooks/use-ag-grid-modal.js +1 -0
  72. package/lib/src/business/ag-grid-modal/hooks/use-ag-grid-select-modal.d.ts +2 -0
  73. package/lib/src/business/ag-grid-modal/hooks/use-ag-grid-select-modal.js +1 -0
  74. package/lib/src/business/ag-grid-modal/hooks/use-modal-title.d.ts +24 -0
  75. package/lib/src/business/ag-grid-modal/hooks/use-modal-title.js +1 -0
  76. package/lib/src/business/ag-grid-modal/index.d.ts +3 -0
  77. package/lib/src/business/ag-grid-modal/index.js +1 -0
  78. package/lib/src/business/ag-grid-modal/interface.d.ts +141 -0
  79. package/lib/src/business/ag-grid-modal/modal-layout/index.vue.d.ts +44 -0
  80. package/lib/src/business/ag-grid-modal/modal-layout/index.vue.js +1 -0
  81. package/lib/src/business/ag-grid-modal/modal-layout/index.vue2.js +1 -0
  82. package/lib/src/business/ag-grid-modal/selected-items/default.vue.d.ts +25 -0
  83. package/lib/src/business/ag-grid-modal/selected-items/default.vue.js +1 -0
  84. package/lib/src/business/ag-grid-modal/selected-items/default.vue2.js +1 -0
  85. package/lib/src/business/ag-grid-modal/selected-items/index.d.ts +36 -0
  86. package/lib/src/business/ag-grid-modal/selected-items/index.js +1 -0
  87. package/lib/src/business/ag-grid-modal/selected-items/style/css.cjs +1 -0
  88. package/lib/src/business/ag-grid-modal/selected-items/style/css.d.ts +0 -0
  89. package/lib/src/business/ag-grid-modal/selected-items/style/index.cjs +1 -0
  90. package/lib/src/business/ag-grid-modal/selected-items/style/index.d.ts +0 -0
  91. package/lib/src/business/ag-grid-modal/style/css.cjs +1 -0
  92. package/lib/src/business/ag-grid-modal/style/css.d.ts +0 -0
  93. package/lib/src/business/ag-grid-modal/style/index.cjs +1 -0
  94. package/lib/src/business/ag-grid-modal/style/index.d.ts +0 -0
  95. package/lib/src/business/ag-grid-modal/utils.d.ts +54 -0
  96. package/lib/src/business/ag-grid-modal/utils.js +1 -0
  97. package/lib/src/business/ag-grid-modal/wrapper/index.vue.d.ts +23 -0
  98. package/lib/src/business/ag-grid-modal/wrapper/index.vue.js +1 -0
  99. package/lib/src/business/ag-grid-modal/wrapper/index.vue2.js +1 -0
  100. package/lib/src/business/ap-table-modal/hooks/use-create-table-modal.d.ts +1 -0
  101. package/lib/src/business/ap-table-modal/hooks/use-table-modal.d.ts +1 -0
  102. package/lib/src/business/ap-table-modal/hooks/use-table-select-modal.d.ts +1 -0
  103. package/lib/src/business/ap-table-modal/index.d.ts +3 -0
  104. package/lib/src/business/ap-table-modal/table-modal.vue.d.ts +1 -0
  105. package/lib/src/business/ap-table-modal/table-modal.vue2.js +1 -1
  106. package/lib/src/business/hooks/usePageListApTable.d.ts +1 -0
  107. package/lib/src/business/index.d.ts +1 -0
  108. package/lib/src/business/index.js +1 -1
  109. package/lib/src/index.js +1 -1
  110. package/lib/src/path-map.js +1 -1
  111. package/lib/src/version.d.ts +1 -1
  112. package/lib/src/version.js +1 -1
  113. package/package.json +3 -3
  114. package/theme/ag-grid/index.css +3 -0
  115. package/theme/ag-grid-modal/index.css +789 -0
  116. package/theme/ag-grid-modal/index.less +73 -0
  117. package/theme/ag-grid-modal/selected-items.css +72 -0
  118. package/theme/ag-grid-modal/selected-items.less +34 -0
  119. package/theme/ap-form/ap-form-item.css +3 -0
  120. package/theme/ap-form/ap-form-item.less +3 -0
  121. package/theme/ap-form/index.css +3 -0
  122. package/theme/ap-form/search-form.css +3 -0
  123. package/theme/ap-grid/index.css +3 -0
  124. package/theme/ap-table/ap-table.css +3 -0
  125. package/theme/ap-table-modal/index.css +3 -0
  126. package/theme/ap-upload/index.css +5 -0
  127. package/theme/ap-upload/multiple-file.css +5 -0
  128. package/theme/ap-upload/multiple-file.less +6 -0
  129. package/theme/editable-table/index.css +3 -0
  130. package/theme/index.css +96 -0
  131. package/theme/index.less +2 -0
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),q=require("@aplus-frontend/antdv"),u=require("../../config-provider/config-provider.js"),P=require("lodash-unified"),N=require("@aplus-frontend/utils");require("../../config-provider/index.js");const f=require("./util.js"),k=require("../../utils/index.js"),w=require("../../config-provider/hooks/use-namespace.js"),M=s=>{let t,o;const{destroyOnClose:i=!0,wrapperOffset:r=!1}=s,{b:c}=w.useNamespace("ap-modal");let C=!1;function p(){t&&t(!1),C=!0}function g(){t&&t(!0)}function d(){t&&t(!1)}function m(e){o&&o(e)}const v=n.defineComponent({data(){return{open:i,props:s}},created(){t=e=>{this.open=e},o=e=>{this.props={...this.props,...e}}},methods:{async handleCancel(){if(this.props?.onCancel){const e=this.props?.content?.component?.exposed??void 0;await this.props?.onCancel(e)}i?p():d()},async handleOk(){try{if(o({confirmLoading:!0}),this.props?.onOk){const e=this.props?.content?.component?.exposed??void 0;await this.props.onOk(e)}o({confirmLoading:!1}),i?p():d()}catch{o({confirmLoading:!1})}}},render(){const e=P.omit(this.props,["onCancel","onOk","open","onUpdate:open","getContainer","icon"]);return n.createVNode(u.ConfigProvider,u.globalConfigCached.value,{default:()=>[n.createVNode(q.Modal,n.mergeProps({class:{[c()]:!0,[c("wrapper")]:r},centered:!0},e,{open:this.open,onCancel:this.handleCancel,onOk:this.handleOk,afterOpenChange:h=>{!h&&C&&(n.render(null,a),a.parentElement?.removeChild(a)),e?.afterOpenChange&&e?.afterOpenChange?.(h)}}),{default:()=>[n.createVNode("div",{class:{[c("body-wrapper")]:r},style:r===!1?{}:{maxHeight:`calc(100vh - ${(r===!0?100:N.isNumeric(r)?Number(r):100)*2}px)`}},[this.props?.content])]})]})}}),O=f.getContainerDom(u.globalConfigCached?.value?.getPopupContainer),x=f.getContainerDom(s.getContainer),y=O||x||k.getTopWindow().document.body,a=document.createElement("div");y.appendChild(a);const l=n.h(v),b=f.getModalGlobalAppContext();return l.appContext=s.appContext||b||l.appContext,n.render(l,a),{destroy:p,update:m,open:g,close:d}};exports.createModal=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),y=require("@aplus-frontend/antdv"),u=require("../../config-provider/config-provider.js"),O=require("lodash-unified"),q=require("@aplus-frontend/utils");require("../../config-provider/index.js");const f=require("./util.js"),P=require("../../utils/index.js"),N=require("../../config-provider/hooks/use-namespace.js"),k=s=>{let o,t;const{destroyOnClose:i=!0,wrapperOffset:r=!1}=s,{b:c}=N.useNamespace("ap-modal");function p(){o&&o(!1),setTimeout(()=>{n.render(null,a),a.parentElement?.removeChild(a)},500)}function C(){o&&o(!0)}function d(){o&&o(!1)}function h(e){t&&t(e)}const m=n.defineComponent({data(){return{open:i,props:s}},created(){o=e=>{this.open=e},t=e=>{this.props={...this.props,...e}}},methods:{async handleCancel(){if(this.props?.onCancel){const e=this.props?.content?.component?.exposed??void 0;await this.props?.onCancel(e)}i?p():d()},async handleOk(){try{if(t({confirmLoading:!0}),this.props?.onOk){const e=this.props?.content?.component?.exposed??void 0;await this.props.onOk(e)}t({confirmLoading:!1}),i?p():d()}catch{t({confirmLoading:!1})}}},render(){const e=O.omit(this.props,["onCancel","onOk","open","onUpdate:open","getContainer","icon"]);return n.createVNode(u.ConfigProvider,u.globalConfigCached.value,{default:()=>[n.createVNode(y.Modal,n.mergeProps({class:{[c()]:!0,[c("wrapper")]:r},centered:!0},e,{open:this.open,onCancel:this.handleCancel,onOk:this.handleOk}),{default:()=>[n.createVNode("div",{class:{[c("body-wrapper")]:r},style:r===!1?{}:{maxHeight:`calc(100vh - ${(r===!0?100:q.isNumeric(r)?Number(r):100)*2}px)`}},[this.props?.content])]})]})}}),g=f.getContainerDom(u.globalConfigCached?.value?.getPopupContainer),v=f.getContainerDom(s.getContainer),x=g||v||P.getTopWindow().document.body,a=document.createElement("div");x.appendChild(a);const l=n.h(m),b=f.getModalGlobalAppContext();return l.appContext=s.appContext||b||l.appContext,n.render(l,a),{destroy:p,update:h,open:C,close:d}};exports.createModal=k;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("@aplus-frontend/antdv"),A=require("../../../../utils/slot.js"),D=require("../../../context.js");require("../tree-select/index.vue.js");const E=require("../../../hooks/use-table-column-state.js");require("../../../../config-provider/index.js");require("../sorter/index.vue.js");const p=require("../utils.js"),R=require("@ant-design/icons-vue"),O=require("../../../../config-provider/hooks/use-locale.js"),g=require("../../../../config-provider/hooks/use-namespace.js"),I=require("../tree-select/index.vue2.js"),M=require("../sorter/index.vue2.js"),U=e.defineComponent({name:"ApTableSetting",__name:"index",props:{config:{default:()=>({})}},setup(v){const s=v,{columnsBackup:C,size:N,updateSize:S,updateColumns:V}=D.useInjectApTable(),i=e.ref(e.unref(N)),_=e.computed(()=>s.config.persistenceKey),{columnState:n,setColumnState:b,isAllSelected:x,toggleSelectAll:y,columnStateBackup:k,setColumnStateBackup:T,cacheColumnStateIfNeeded:q}=E.useTableColumnState(s.config,_,[]),{t:l}=O.useLocale(),{b:c,be:d}=g.useNamespace("ap-column-setting"),{b:h}=g.useNamespace("ap-table"),o=e.ref(!1),z=e.useSlots(),f=A.getSingleVNode(z.trigger)||e.createVNode(t.Button,{icon:e.createVNode(R.SettingOutlined,null,null),class:h("setting-trigger-button")},null),m=f?e.cloneVNode(f,{onClick:()=>{o.value=!0}}):null;function B(){b(p.customCloneColumnStates(e.unref(k)))}function w(){V?.(p.default(e.unref(C),e.unref(n))),S?.(e.unref(i)),o.value=!1;const r=p.customCloneColumnStates(n.value);T(r),q(r),s.config?.onChange?.(r)}return(r,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(m)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(m)),{key:0})):e.createCommentVNode("",!0),e.createVNode(e.unref(t.Modal),{open:o.value,"onUpdate:open":a[2]||(a[2]=u=>o.value=u),title:e.unref(l)("ap.apTable.setting.title"),width:900,centered:!0,"body-style":{padding:"0px !important",height:"450px"},onOk:w},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(c)("wrapper"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(c)("left"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(d)("left","header"))},[e.createElementVNode("div",null,[e.createElementVNode("span",{class:e.normalizeClass(e.unref(d)("left","header-tips"))},e.toDisplayString(e.unref(l)("ap.apTable.setting.selectAllTip")),3),e.createVNode(e.unref(t.Button),{type:"link",size:"small",onClick:e.unref(y)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(x)?e.unref(l)("ap.apTable.setting.unSelectAll"):e.unref(l)("ap.apTable.setting.selectAll")),1)]),_:1},8,["onClick"])]),e.createVNode(e.unref(t.RadioGroup),{value:i.value,"onUpdate:value":a[0]||(a[0]=u=>i.value=u)},{default:e.withCtx(()=>[e.createVNode(e.unref(t.RadioButton),{value:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("ap.apTable.setting.sizeSmall")),1)]),_:1}),e.createVNode(e.unref(t.RadioButton),{value:"middle"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("ap.apTable.setting.sizeNormal")),1)]),_:1})]),_:1},8,["value"])],2),e.createVNode(e.unref(t.Divider),{dashed:"",style:{margin:"0px"}}),e.createVNode(I.default,{class:e.normalizeClass(e.unref(d)("left","content")),value:e.unref(n)},null,8,["class","value"])],2),e.createVNode(e.unref(t.Divider),{type:"vertical",style:{height:"100%",margin:"0px"}}),e.createElementVNode("div",{class:e.normalizeClass(e.unref(c)("right"))},[e.createVNode(M.default,{value:e.unref(n),"onUpdate:value":a[1]||(a[1]=u=>e.isRef(n)?n.value=u:null),onReset:B},null,8,["value"])],2)],2)]),_:1},8,["open","title"])],64))}});exports.default=U;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("@aplus-frontend/antdv"),A=require("../../../../utils/slot.js"),E=require("../../../context.js");require("../tree-select/index.vue.js");const R=require("../../../hooks/use-table-column-state.js");require("../../../../config-provider/index.js");require("../sorter/index.vue.js");const p=require("../utils.js"),O=require("@ant-design/icons-vue"),I=require("../../../../config-provider/hooks/use-locale.js"),v=require("../../../../config-provider/hooks/use-namespace.js"),M=require("../tree-select/index.vue2.js"),U=require("../sorter/index.vue2.js"),j=e.defineComponent({name:"ApTableSetting",__name:"index",props:{config:{default:()=>({})}},setup(C){const s=C,{columnsBackup:N,size:S,updateSize:V,updateColumns:_}=E.useInjectApTable(),i=e.ref(e.unref(S)),b=e.computed(()=>s.config.persistenceKey),{columnState:l,setColumnState:x,isAllSelected:h,toggleSelectAll:y,columnStateBackup:k,setColumnStateBackup:T,cacheColumnStateIfNeeded:q}=R.useTableColumnState(s.config,b,[]),{t:a}=I.useLocale(),{b:c,be:d}=v.useNamespace("ap-column-setting"),{b:z}=v.useNamespace("ap-table"),u=e.ref(!1),f=e.ref(!1),B=e.useSlots(),m=A.getSingleVNode(B.trigger)||e.createVNode(t.Button,{icon:e.createVNode(O.SettingOutlined,null,null),class:z("setting-trigger-button")},null),g=m?e.cloneVNode(m,{onClick:()=>{u.value=!0}}):null;function w(){x(p.customCloneColumnStates(e.unref(k)))}function D(){_?.(p.default(e.unref(N),e.unref(l))),V?.(e.unref(i)),u.value=!1;const r=p.customCloneColumnStates(l.value);T(r),q(r),s.config?.onChange?.(r)}return(r,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(g)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(g)),{key:0})):e.createCommentVNode("",!0),e.createVNode(e.unref(t.Modal),{open:u.value,"onUpdate:open":o[2]||(o[2]=n=>u.value=n),title:e.unref(a)("ap.apTable.setting.title"),width:900,centered:!0,"body-style":{padding:"0px !important",height:"450px"},"after-open-change":n=>f.value=n,onOk:D},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(c)("wrapper"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(c)("left"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(d)("left","header"))},[e.createElementVNode("div",null,[e.createElementVNode("span",{class:e.normalizeClass(e.unref(d)("left","header-tips"))},e.toDisplayString(e.unref(a)("ap.apTable.setting.selectAllTip")),3),e.createVNode(e.unref(t.Button),{type:"link",size:"small",onClick:e.unref(y)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(h)?e.unref(a)("ap.apTable.setting.unSelectAll"):e.unref(a)("ap.apTable.setting.selectAll")),1)]),_:1},8,["onClick"])]),e.createVNode(e.unref(t.RadioGroup),{value:i.value,"onUpdate:value":o[0]||(o[0]=n=>i.value=n)},{default:e.withCtx(()=>[e.createVNode(e.unref(t.RadioButton),{value:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("ap.apTable.setting.sizeSmall")),1)]),_:1}),e.createVNode(e.unref(t.RadioButton),{value:"middle"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("ap.apTable.setting.sizeNormal")),1)]),_:1})]),_:1},8,["value"])],2),e.createVNode(e.unref(t.Divider),{dashed:"",style:{margin:"0px"}}),e.createVNode(M.default,{class:e.normalizeClass(e.unref(d)("left","content")),value:e.unref(l)},null,8,["class","value"])],2),e.createVNode(e.unref(t.Divider),{type:"vertical",style:{height:"100%",margin:"0px"}}),e.createElementVNode("div",{class:e.normalizeClass(e.unref(c)("right"))},[e.createVNode(U.default,{value:e.unref(l),"onUpdate:value":o[1]||(o[1]=n=>e.isRef(l)?l.value=n:null),onReset:w},null,8,["value"])],2)],2),[[e.vShow,f.value]])]),_:1},8,["open","title","after-open-change"])],64))}});exports.default=j;
@@ -352,6 +352,12 @@ export type ApTableExpose<SearchParamsType = Recordable, RecordType = any> = {
352
352
  * 查询表单提交
353
353
  */
354
354
  submit: () => void;
355
+ /**
356
+ * 表格查询提交(重制页码但查询参数不会重置)
357
+ * @param resetCurrent 是否重置当前页码,默认为`false`
358
+ * @returns
359
+ */
360
+ submitWith: (resetCurrent?: boolean) => void;
355
361
  /**
356
362
  * 查询表单重置
357
363
  */
@@ -0,0 +1,4 @@
1
+ /** 非字符串增加key值字段 */
2
+ export declare const ROW_KEY = "__ag-grid-modal-row-key";
3
+ export declare const SMALL_HEIGHT = "480px";
4
+ export declare const LARGER_HEIGHT = "calc(100vh - 200px)";
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o="__ag-grid-modal-row-key",t="480px",e="calc(100vh - 200px)";exports.LARGER_HEIGHT=e;exports.ROW_KEY=o;exports.SMALL_HEIGHT=t;
@@ -0,0 +1,33 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { AgGridExpose } from '../../../ag-grid';
3
+ import { RefreshType } from '../interface';
4
+ interface Options {
5
+ onMounted?: () => void;
6
+ onSelectedRows?: (rows?: any[]) => void;
7
+ }
8
+ export interface GridApi {
9
+ /** 设置 AgGrid 实例 */
10
+ setInstance: (node: any) => void;
11
+ /** 刷新表格 */
12
+ refresh: (type?: RefreshType) => void;
13
+ /** 获取 AgGrid 实例 */
14
+ getInstance: () => AgGridExpose | undefined;
15
+ /** 设置 AgGrid 选中行 */
16
+ setSelectedRowKeys: (keys: (string | number)[]) => void;
17
+ /** 获取 AgGrid 选中行 */
18
+ getSelectedRows: () => any[] | undefined;
19
+ /** 清空所有选中行 */
20
+ clearAllSelected: () => void;
21
+ /** 清除某一行数据 */
22
+ removeSelected: (record: any) => void;
23
+ /** 设置表格数据length */
24
+ setDataSourceLength: (len: number) => void;
25
+ }
26
+ interface GridApiProvider extends GridApi {
27
+ selectedRows?: ComputedRef<any[]>;
28
+ dataSourceLength?: ComputedRef<number>;
29
+ }
30
+ export declare function useAgGridInstance(options?: Options): [GridApi, any];
31
+ /** 获取上下文中grid的api */
32
+ export declare function useAgGridModalInject(): GridApiProvider | undefined;
33
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),A=require("lodash-unified"),r=Symbol("ag-grid-provider-key");function h(n){const t=o.ref(),c=o.ref(),s=o.ref(0),a=e=>{t.value=e},u=e=>{s.value=e},d=()=>t.value,i=(e="reset")=>{t.value&&e in t.value&&t.value[e]()},v=e=>{t.value?.rowSelection.setSelectedRowKeys(e)},S=()=>A.cloneDeep(t.value?.rowSelection.selectedRows.value),g=()=>t.value?.rowSelection.clearAll(),w=e=>t.value?.rowSelection.unSelectRows([e]);o.watch(t,e=>{e&&n?.onMounted?.()}),o.watch(()=>t.value?.rowSelection.selectedRows.value,e=>{c.value=e,n?.onSelectedRows?.(e)});const l={setInstance:a,refresh:i,getInstance:d,setSelectedRowKeys:v,getSelectedRows:S,clearAllSelected:g,removeSelected:w,setDataSourceLength:u},f=o.defineComponent({setup(e,{slots:R}){return o.provide(r,{...l,selectedRows:o.toRef(()=>c.value),dataSourceLength:o.toRef(()=>s.value)}),R.default}});return[l,f]}function I(){return o.inject(r)}exports.useAgGridInstance=h;exports.useAgGridModalInject=I;
@@ -0,0 +1,3 @@
1
+ import { AgGridPreviewModalProps, PreviewModalReturnType } from '../interface';
2
+ /** ag-grid弹框 */
3
+ export declare function useAgGridModal<T = any>(props: AgGridPreviewModalProps<T>): PreviewModalReturnType<T>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),h=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 s=null,i=null;const[n,f]=y.useAgGridInstance(),l=q.genRequest(r.api,r.getRowKey,n.setDataSourceLength),d=t=>{const{title:e,width:u,modalProps:_,...c}=a.isFunction(t)?t(r):t;a.isEmpty(c)||i?.(c);const g=a.omitBy({title:e,width:u,modalProps:_},a.isUndefined);a.isEmpty(g)||s?.update(g)},m=o.defineComponent({name:"AgGridModalPreviewContent",props:{modalConfig:{type:Object,required:!0}},setup(t){const e=o.ref(t.modalConfig);return i=u=>{e.value={...e.value,...u}},()=>o.createVNode(f,null,{default:()=>[o.createVNode(C.default,{rowHeight:e.value.rowHeight},{default:()=>[e.value.renderHeader?.(a.omit(n,"setInstance"),{updateProps:d}),o.createVNode(P.default,{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},e.value.gridSlots)]})]})}});function p(){s=h.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),s=null)},content:o.createVNode(m,{modalConfig:r},null),...r.modalProps||{}})}function v(t){l.setExtraParams(t?.extraParams),p()}return{open:v,refresh:n.refresh,getAgGridInstance:n.getInstance,updateProps:d}}exports.useAgGridModal=w;
@@ -0,0 +1,2 @@
1
+ import { AgGridSelectModalProps, SelectModalReturnType } from '../interface';
2
+ export declare function useAgGridSelectModal<T = any>(props: AgGridSelectModalProps<T>): SelectModalReturnType<T>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),O=require("../../../ap-modal/index.js");require("../../../ag-grid/index.js");const d=require("../utils.js"),P=require("./use-ag-grid-instance.js"),s=require("lodash-unified"),p=require("../constants.js"),L=require("./use-modal-title.js"),j=require("@aplus-frontend/antdv");require("../../../config-provider/index.js");require("../modal-layout/index.vue.js");require("../wrapper/index.vue.js");const F=require("../../../config-provider/hooks/use-locale.js"),G=require("../wrapper/index.vue2.js"),T=require("../modal-layout/index.vue2.js"),N=require("../../../ag-grid/index.vue.js");function V(n){let u,m=null,y=null;const g=new d.AsyncCallback,[b,q]=L.useModalTitle(),{t:x}=F.useLocale(),[a,S]=P.useAgGridInstance({onSelectedRows(e){q.setCount(e?.length||0)}}),w=d.genRequest(n.api,n.getRowKey,a.setDataSourceLength),C=e=>{const{title:t,width:o,modalProps:r,...c}=s.isFunction(e)?e(n):e;s.isEmpty(c)||y?.(c);const i=s.omitBy({title:t,width:o,modalProps:r},s.isUndefined);s.isEmpty(i)||m?.update(i)},f=s.isFunction(n.getRowKey)?n.getRowKey:e=>e[n.getRowKey],K=()=>{const e=n.mergeRule||"old",t=a.getSelectedRows()||[];return{keys:A(t),rows:t.map(c=>{const i=f(c);return e==="old"&&u?.[i]?u[i]:d.delRowKeyField(c)})}},R=async()=>{const e=K(),t=n.maxCount||1/0;return e.keys.length>t?(j.message.warning(x("ap.apTableModal.messageMaxCount",{maxCount:t})),Promise.reject()):(await n.beforeOk?.(e),n.finishCallback?.(e),g.resolve(e),e)},k=()=>{g.reject("modal is closed!")},M=l.defineComponent({name:"AgGridModalSelectContent",props:{modalConfig:{type:Object,required:!0},selectedRows:{type:Array,default:()=>[]}},setup(e){const t=l.reactive(e.modalConfig);return y=o=>{Object.assign(t,o)},()=>{const o=e.selectedRows?.map(r=>d.addRowKeyField(r,t.getRowKey));return l.createVNode(S,null,{default:()=>[l.createVNode(G.default,{rowHeight:t.rowHeight},{default:()=>[n.renderHeader?.(s.omit(a,"setInstance"),{updateProps:C}),l.createVNode(T.default,d.getModalLayoutConfig(t.modalLayout).props,{default:()=>[l.createVNode(N.default,{ref:a.setInstance,searchForm:{sortable:!1,resize:{target:"form"}},rowKey:s.isFunction(t.getRowKey)?p.ROW_KEY:t.getRowKey,request:w.request,style:{padding:"0px"},rowHeight:t.rowHeight,columns:t.columns,rowSelection:{defaultSelectedRows:o,preserveSelectedRowKeys:!0,type:t.mode||"checkbox",fixed:"left",columnWidth:38,disabled(r){return s.isFunction(t.disabledCheckbox)?t.disabledCheckbox(r,s.omit(a,"setInstance")):t.disabledCheckbox??!1}}},t.gridSlots)],...d.getModalLayoutConfig(t.modalLayout).slots})]})]})}}});function h(e){return l.createVNode(M,{modalConfig:n,selectedRows:e},null)}function v(){const e=Object.values(u||{}),t=h(e);m=O.ApModal.createModal({title:l.createVNode(b,{title:n.title,maxCount:n.maxCount||1/0},n.modalTitleSlots),width:n.width,destroyOnClose:!0,maskClosable:!1,onOk:R,onCancel:k,afterOpenChange(o){o===!1&&(a.setInstance(void 0),a.setDataSourceLength(0))},content:t,...n.modalProps||{}})}function A(e){return e?.map(f)||[]}function _(e,t,o=!1){if(u=e?.reduce((r,c)=>{const i=f(c);return r[i]=c,r},{}),w.setExtraParams(t?.extraParams),v(),o)return g.buildPromise()}function I(e,t){return _(e,t,!0)}return l.onUnmounted(()=>{g.reject("component is Unmounted!")}),{open:_,asyncOpen:I,refresh:a.refresh,getAgGridInstance:a.getInstance,genContent:h,validate:R,updateProps:C}}exports.useAgGridSelectModal=V;
@@ -0,0 +1,24 @@
1
+ import { DefineComponent, ExtractPropTypes, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ export declare function useModalTitle(): readonly [ DefineComponent<ExtractPropTypes<{
3
+ title: {
4
+ type: any;
5
+ default: null;
6
+ };
7
+ maxCount: {
8
+ type: NumberConstructor;
9
+ required: true;
10
+ };
11
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
12
+ title: {
13
+ type: any;
14
+ default: null;
15
+ };
16
+ maxCount: {
17
+ type: NumberConstructor;
18
+ required: true;
19
+ };
20
+ }>> & Readonly<{}>, {
21
+ title: any;
22
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
23
+ readonly setCount: (data: number) => void;
24
+ }];
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue");require("../../../config-provider/index.js");const n=require("../../../config-provider/hooks/use-locale.js");function r(){const a=t.ref(0),u=e=>{a.value=e};return[t.defineComponent({props:{title:{type:null,default:null},maxCount:{type:Number,required:!0}},setup(e,{slots:l}){const{t:o}=n.useLocale();return()=>t.createVNode("div",null,[e.title,l.default?l.default({maxCount:e.maxCount,count:a.value}):t.createVNode("span",{style:{color:"var(--ap-text-color-3)",fontSize:"12px",fontWeight:"normal",marginLeft:"12px"}},[isFinite(e.maxCount)?o("ap.apTableModal.titleSuffixOne",{maxCount:e.maxCount}):"",o("ap.apTableModal.titleSuffixTwo"),t.createVNode("span",{style:{color:"var(--ap-color-primary)"}},[a.value]),o("ap.apTableModal.titleSuffixThree")])])}}),{setCount:u}]}exports.useModalTitle=r;
@@ -0,0 +1,3 @@
1
+ export { useAgGridModal } from './hooks/use-ag-grid-modal';
2
+ export { useAgGridSelectModal } from './hooks/use-ag-grid-select-modal';
3
+ export { ApSelectedItems } from './selected-items';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./hooks/use-ag-grid-modal.js"),d=require("./hooks/use-ag-grid-select-modal.js"),r=require("./selected-items/index.js");exports.useAgGridModal=e.useAgGridModal;exports.useAgGridSelectModal=d.useAgGridSelectModal;exports.ApSelectedItems=r.ApSelectedItems;
@@ -0,0 +1,141 @@
1
+ import { StyleValue, VNodeChild } from 'vue';
2
+ import { AgGridColumnType, AgGridExpose, AgGridProps, AgGridSlots } from '../../ag-grid';
3
+ import { CreateModalFuncProps } from '../../ap-modal';
4
+ import { Recordable } from '../../type';
5
+ import { GridApi } from './hooks/use-ag-grid-instance';
6
+ export type GetRowKey<TableRowType> = ((record: TableRowType) => string | number) | string;
7
+ export type UpdatePropsFn<T> = (props: Partial<AgGridPreviewModalProps<T>> | ((props: AgGridPreviewModalProps<T>) => Partial<AgGridPreviewModalProps<T>>)) => void;
8
+ export type UpdateSelectPropsFn<T> = (props: Partial<AgGridSelectModalProps<T>> | ((props: AgGridSelectModalProps<T>) => Partial<AgGridSelectModalProps<T>>)) => void;
9
+ /** AgGridModal 基础类型 */
10
+ export interface AgGridModalBasicProps<TableRowType = any> {
11
+ title?: VNodeChild;
12
+ width?: string | number;
13
+ modalProps?: Omit<CreateModalFuncProps, 'content'>;
14
+ columns: AgGridColumnType<TableRowType, any>[];
15
+ getRowKey: GetRowKey<TableRowType>;
16
+ api?: (params: any) => Promise<RequestReturn<TableRowType>>;
17
+ /** 渲染头部信息 */
18
+ renderHeader?: (gridApi: Omit<GridApi, 'setInstance'>, modalApi: {
19
+ updateProps: UpdatePropsFn<TableRowType>;
20
+ }) => VNodeChild;
21
+ rowHeight?: number;
22
+ }
23
+ /** 刷新方式 */
24
+ export type RefreshType = 'reset' | 'submit' | 'submitWith';
25
+ /** 只读模式 */
26
+ export interface AgGridPreviewModalProps<RowType = any> extends AgGridModalBasicProps<RowType> {
27
+ /** ag-grid 插槽 */
28
+ gridSlots?: AgGridSlots<RowType>;
29
+ }
30
+ /** 只读模式返回值 */
31
+ export interface PreviewModalReturnType<RowType = any> {
32
+ /** 打开弹框 */
33
+ open(opt?: OpenOptions): void;
34
+ /** 刷新表格数据 */
35
+ refresh: (type: RefreshType) => void;
36
+ /** 获取ag-grid实例 */
37
+ getAgGridInstance: () => AgGridExpose | undefined;
38
+ /** 修改hook的props */
39
+ updateProps: UpdatePropsFn<RowType>;
40
+ }
41
+ export interface OpenOptions {
42
+ /** 发起网络请求携带的额外参数 */
43
+ extraParams?: Recordable;
44
+ }
45
+ /** 可选模式 */
46
+ export interface AgGridSelectModalProps<RowType = any> extends AgGridModalBasicProps<RowType> {
47
+ /** ag-grid 插槽 */
48
+ gridSlots?: AgGridSlots<RowType>;
49
+ /**
50
+ * 选择模式
51
+ * - radio: 单选模式
52
+ * - checkbox: 多选模式
53
+ * @default 'checkbox'
54
+ */
55
+ mode?: 'radio' | 'checkbox';
56
+ /**
57
+ * 合并规则
58
+ * - old 老数据优先
59
+ * - new 新数据优先
60
+ * @default 'old'
61
+ */
62
+ mergeRule?: 'old' | 'new';
63
+ /** 点击确认后执行的回调 */
64
+ finishCallback?: (data: OpenReturnType<RowType>) => void;
65
+ /** 最多选择多少条 */
66
+ maxCount?: number;
67
+ /** 禁用选项 */
68
+ disabledCheckbox?: boolean | ((record: RowType, actions: Omit<GridApi, 'setInstance'>) => boolean);
69
+ /** 额外的rowSelection配置 */
70
+ rowSelection?: Omit<AgGridProps['rowSelection'], 'disabled'>;
71
+ /** modal标题插槽 */
72
+ modalTitleSlots?: ModalTitleSlots;
73
+ /** 在finishCallback执行前执行,返回reject终止后续执行 */
74
+ beforeOk?: (data: OpenReturnType<RowType>) => Promise<any> | void;
75
+ /** 设置是否是复杂布局 */
76
+ modalLayout?: ModalLayoutConfig<RowType>;
77
+ }
78
+ export interface SelectModalReturnType<T = any> {
79
+ /** 打开弹框 */
80
+ open: (selectRows?: T[], options?: OpenOptions, isAsync?: boolean) => Promise<OpenReturnType<T>> | undefined;
81
+ /** 异步打开弹框 */
82
+ asyncOpen: (selectRows?: T[], options?: OpenOptions) => Promise<OpenReturnType<T>>;
83
+ /** 刷新表格数据 */
84
+ refresh: (type?: RefreshType) => void;
85
+ /** 获取表格实例 */
86
+ getAgGridInstance: () => AgGridExpose | undefined;
87
+ /** 获取原子化内容 */
88
+ genContent: (selectedRows?: T[]) => VNodeChild;
89
+ /** 获取数据并校验 */
90
+ validate: () => Promise<OpenReturnType<T>>;
91
+ /** 修改hook的props */
92
+ updateProps: UpdateSelectPropsFn<T>;
93
+ }
94
+ export interface RequestReturn<T = any> {
95
+ records: T[];
96
+ total: number;
97
+ }
98
+ /** open打开方法返回的值的类型 */
99
+ export interface OpenReturnType<RowType> {
100
+ keys: (string | number)[];
101
+ rows: RowType[];
102
+ }
103
+ /** modal-title slots */
104
+ export interface ModalTitleSlots {
105
+ /** 标题 suffix 插槽 */
106
+ default: (props: {
107
+ maxCount: number;
108
+ count: number;
109
+ }) => VNodeChild;
110
+ }
111
+ /** 弹框布局props */
112
+ export interface ModalLayoutProps {
113
+ /** 左侧标题 */
114
+ leftTitle?: string | VNodeChild;
115
+ /** 右侧内容样式 */
116
+ rightContentStyle?: StyleValue;
117
+ /** 中间分割线向上偏移量 */
118
+ dividerOffset?: number;
119
+ /** 是否有边框 */
120
+ bordered?: boolean;
121
+ }
122
+ /** modal-layout配置 */
123
+ export interface ModalLayoutConfig<T = any> extends ModalLayoutProps {
124
+ /** 右侧标题插槽 */
125
+ rightTitle?: (selectedCount: number) => any;
126
+ /** 右侧底部插槽 */
127
+ rightBottom?: (props: {
128
+ records: T[];
129
+ actions: {
130
+ deleteItem: (record: T) => void;
131
+ };
132
+ }) => any;
133
+ /** 已经选择item渲染, 选择项渲染插槽 */
134
+ renderSelectedItem: (props: {
135
+ record: T;
136
+ actions: {
137
+ deleteItem: (record: T) => void;
138
+ deleteCurrent: () => void;
139
+ };
140
+ }) => any;
141
+ }
@@ -0,0 +1,44 @@
1
+ import { ModalLayoutProps } from '../interface';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, VNodeArrayChildren, VNode, RendererNode, RendererElement, ComponentProvideOptions } from 'vue';
3
+ type __VLS_Props = ModalLayoutProps & {
4
+ layoutType?: 'two-column';
5
+ };
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: {
9
+ default?(_: {}): any;
10
+ default?(_: {}): any;
11
+ rightTitle?(_: {
12
+ count: number;
13
+ }): any;
14
+ renderSelectedItem?(_: {
15
+ record: any;
16
+ actions: {
17
+ deleteItem: (record: any) => void;
18
+ deleteCurrent: () => void;
19
+ };
20
+ }): any;
21
+ rightBottom?(_: {
22
+ records: any[];
23
+ actions: {
24
+ deleteItem: (record: any) => void;
25
+ };
26
+ }): any;
27
+ };
28
+ refs: {};
29
+ rootEl: any;
30
+ };
31
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
32
+ declare const __VLS_component: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
33
+ leftTitle: string | number | boolean | void | VNodeArrayChildren | VNode<RendererNode, RendererElement, {
34
+ [key: string]: any;
35
+ }> | null;
36
+ layoutType: "two-column";
37
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
38
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
39
+ export default _default;
40
+ type __VLS_WithTemplateSlots<T, S> = T & {
41
+ new (): {
42
+ $slots: S;
43
+ };
44
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index.vue2.js");exports.default=e.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../../../config-provider/index.js");const u=require("../../ap-title/index.js"),s=require("@aplus-frontend/antdv"),y=require("../hooks/use-ag-grid-instance.js"),g=require("../../../config-provider/hooks/use-locale.js"),v=require("../../../config-provider/hooks/use-namespace.js"),S=e.defineComponent({__name:"index",props:{leftTitle:{type:[String,Object,Number,Boolean,null,Array],default:""},rightContentStyle:{type:[Boolean,null,String,Object,Array]},dividerOffset:{},bordered:{type:Boolean},layoutType:{default:void 0}},setup(c){const{t:i}=g.useLocale(),o=y.useAgGridModalInject(),r=e.computed(()=>o?.selectedRows?.value||[]),d=c,m=()=>{if(d.dividerOffset!=null)return{"--ag-grid-modal-layout-divider-offset":`${d.dividerOffset}px`}},p=()=>{o?.clearAllSelected()},n=t=>{o?.removeSelected(t)},{e:f,m:l}=v.useNamespace("ag-grid-modal");return(t,h)=>t.layoutType==="two-column"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([e.unref(l)("table-layout"),t.bordered?e.unref(l)("bordered"):""]),style:e.normalizeStyle(m())},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(l)("table-layout-left"))},[t.leftTitle?(e.openBlock(),e.createBlock(e.unref(u.ApTitle),{key:0,style:{"margin-bottom":"16px"}},{prefix:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.h(e.Fragment,[t.leftTitle]))))]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(l)("table-layout-left-content"))},[e.renderSlot(t.$slots,"default")],2)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(l)("table-layout-right")),style:e.normalizeStyle(t.rightContentStyle)},[e.createVNode(e.unref(u.ApTitle),null,{prefix:e.withCtx(()=>[e.renderSlot(t.$slots,"rightTitle",{count:r.value.length},()=>[e.createTextVNode(e.toDisplayString(`${e.unref(i)("ap.apTableModal.selected")} (${r.value.length})`),1)])]),suffix:e.withCtx(()=>[e.createVNode(e.unref(s.Button),{type:"link",style:{padding:"0px",height:"22px","border-width":"0px"},onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("ap.apTableModal.clear")),1)]),_:1})]),_:3}),e.createElementVNode("div",{class:e.normalizeClass(e.unref(l)("table-layout-right-content"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,a=>e.renderSlot(t.$slots,"renderSelectedItem",{key:a,record:a,actions:{deleteItem:n,deleteCurrent:()=>n(a)}})),128)),r.value.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(f)("empty"))},[e.createVNode(e.unref(s.Empty),{image:e.unref(s.Empty).PRESENTED_IMAGE_SIMPLE},null,8,["image"])],2)):e.createCommentVNode("",!0)],2),e.createElementVNode("div",null,[e.renderSlot(t.$slots,"rightBottom",{records:r.value,actions:{deleteItem:n}})])],6)],6)):e.renderSlot(t.$slots,"default",{key:1})}});exports.default=S;
@@ -0,0 +1,25 @@
1
+ import { StyleValue, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ type __VLS_Props = {
3
+ style?: StyleValue;
4
+ };
5
+ declare function __VLS_template(): {
6
+ attrs: Partial<{}>;
7
+ slots: {
8
+ default?(_: {}): any;
9
+ };
10
+ refs: {};
11
+ rootEl: HTMLDivElement;
12
+ };
13
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
+ declare const __VLS_component: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
15
+ clickDel: (...args: any[]) => void;
16
+ }, string, PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onClickDel?: ((...args: any[]) => any) | undefined;
18
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
19
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
20
+ export default _default;
21
+ type __VLS_WithTemplateSlots<T, S> = T & {
22
+ new (): {
23
+ $slots: S;
24
+ };
25
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./default.vue2.js");exports.default=e.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=require("@aplus-frontend/icon");require("../../../config-provider/index.js");const a=require("../../../config-provider/hooks/use-namespace.js"),c=e.defineComponent({__name:"default",props:{style:{type:[Boolean,null,String,Object,Array]}},emits:["clickDel"],setup(i,{emit:n}){const{e:t}=a.useNamespace("ap-selected-items"),s=n,r=()=>s("clickDel");return(l,u)=>(e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(l.style),class:e.normalizeClass(e.unref(t)("default"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(t)("default-content"))},[e.renderSlot(l.$slots,"default")],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(t)("del-icon")),onClick:r},[e.createVNode(e.unref(o.IconApAdLineCloseDrawer))],2)],6))}});exports.default=c;
@@ -0,0 +1,36 @@
1
+ import { CreateComponentPublicInstanceWithMixins, StyleValue, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, ComponentOptionsBase, VNodeProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
2
+ export declare const ApSelectedItems: {
3
+ Default: {
4
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{
5
+ style?: StyleValue;
6
+ }> & Readonly<{
7
+ onClickDel?: ((...args: any[]) => any) | undefined;
8
+ }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
9
+ clickDel: (...args: any[]) => void;
10
+ }, PublicProps, {}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
11
+ P: {};
12
+ B: {};
13
+ D: {};
14
+ C: {};
15
+ M: {};
16
+ Defaults: {};
17
+ }, Readonly<{
18
+ style?: StyleValue;
19
+ }> & Readonly<{
20
+ onClickDel?: ((...args: any[]) => any) | undefined;
21
+ }>, {}, {}, {}, {}, {}>;
22
+ __isFragment?: never;
23
+ __isTeleport?: never;
24
+ __isSuspense?: never;
25
+ } & ComponentOptionsBase<Readonly<{
26
+ style?: StyleValue;
27
+ }> & Readonly<{
28
+ onClickDel?: ((...args: any[]) => any) | undefined;
29
+ }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
30
+ clickDel: (...args: any[]) => void;
31
+ }, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
32
+ $slots: {
33
+ default?(_: {}): any;
34
+ };
35
+ });
36
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./default.vue.js");const e=require("./default.vue2.js"),t={Default:e.default};exports.ApSelectedItems=t;
@@ -0,0 +1 @@
1
+ import '@aplus-frontend/ui/theme/ag-grid-modal/selected-items.css';
@@ -0,0 +1 @@
1
+ import '@aplus-frontend/ui/theme/ag-grid-modal/selected-items.less';
@@ -0,0 +1 @@
1
+ import '@aplus-frontend/ui/theme/ag-grid-modal/index.css';
File without changes
@@ -0,0 +1 @@
1
+ import '@aplus-frontend/ui/theme/ag-grid-modal/index.less';
@@ -0,0 +1,54 @@
1
+ import { Recordable } from '../../type';
2
+ import { GetRowKey, ModalLayoutConfig, RequestReturn } from './interface';
3
+ import { VNodeChild, StyleValue } from 'vue';
4
+ export declare function genRequest(api: ((params: any) => Promise<RequestReturn<any>>) | undefined, gerRowKey: GetRowKey<any>, callback?: (length: number) => void): {
5
+ request: (params: any) => Promise<{
6
+ data: any[];
7
+ total: number;
8
+ }>;
9
+ setExtraParams: (params?: Recordable) => void;
10
+ };
11
+ export declare function addRowKeyField(row: any, gerRowKey: GetRowKey<any>): any;
12
+ export declare function delRowKeyField(row: any): any;
13
+ /** 解析props */
14
+ export declare function getModalLayoutConfig(props?: ModalLayoutConfig): {
15
+ props: {
16
+ readonly layoutType: "two-column" | undefined;
17
+ readonly leftTitle?: string | VNodeChild;
18
+ readonly rightContentStyle?: StyleValue;
19
+ readonly dividerOffset?: number;
20
+ readonly bordered?: boolean;
21
+ };
22
+ slots: {
23
+ renderSelectedItem: ((props: {
24
+ record: any;
25
+ actions: {
26
+ deleteItem: (record: any) => void;
27
+ deleteCurrent: () => void;
28
+ };
29
+ }) => any) | undefined;
30
+ rightTitle: ((selectedCount: number) => any) | undefined;
31
+ rightBottom: ((props: {
32
+ records: any[];
33
+ actions: {
34
+ deleteItem: (record: any) => void;
35
+ };
36
+ }) => any) | undefined;
37
+ };
38
+ };
39
+ /**
40
+ * 异步回调
41
+ * buildPromise 构建异步回调
42
+ * resolve reject 兑现或拒绝回调
43
+ */
44
+ export declare class AsyncCallback<T = any> {
45
+ private p;
46
+ private operateFn;
47
+ constructor();
48
+ buildPromise(): Promise<T>;
49
+ clear(): void;
50
+ /** 兑现回调 */
51
+ resolve(data: T): void;
52
+ /** 拒绝回调 */
53
+ reject(error?: string): void;
54
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./constants.js"),h=require("lodash-unified");function p(e,t,r){let n=null;return{request:async s=>{const i=e;if(!i)return r?.(0),{data:[],total:0};n&&(s=Object.assign(s,n));const{records:l,total:c}=await i(Object.assign({},s));return r?.(l.length||0),{data:l.map(d=>u(d,t)),total:c}},setExtraParams:s=>{n=s||null}}}function u(e,t){return h.isFunction(t)?{...e,[a.ROW_KEY]:t(e)}:e}function f(e){return Reflect.deleteProperty(e,a.ROW_KEY),e}function F(e){const{renderSelectedItem:t,rightTitle:r,rightBottom:n,...o}=e||{};return{props:{...o,layoutType:e&&"two-column"},slots:{renderSelectedItem:t,rightTitle:r,rightBottom:n}}}class y{constructor(){this.p=null,this.operateFn=null}buildPromise(){return this.operateFn&&this.operateFn.reject("reuse"),this.p=new Promise((t,r)=>{this.operateFn={reject:r,resolve:t}}),this.p}clear(){this.p=null,this.operateFn=null}resolve(t){this.operateFn&&(this.operateFn.resolve(t),this.clear())}reject(t){this.operateFn&&(this.operateFn.reject(t),this.clear())}}exports.AsyncCallback=y;exports.addRowKeyField=u;exports.delRowKeyField=f;exports.genRequest=p;exports.getModalLayoutConfig=F;
@@ -0,0 +1,23 @@
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ type __VLS_Props = {
3
+ rowHeight?: number;
4
+ };
5
+ declare function __VLS_template(): {
6
+ attrs: Partial<{}>;
7
+ slots: {
8
+ default?(_: {}): any;
9
+ };
10
+ refs: {};
11
+ rootEl: HTMLDivElement;
12
+ };
13
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
+ declare const __VLS_component: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
15
+ rowHeight: number;
16
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
17
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
18
+ export default _default;
19
+ type __VLS_WithTemplateSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index.vue2.js");exports.default=e.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("../constants.js"),l=require("../hooks/use-ag-grid-instance.js"),s=e.defineComponent({__name:"index",props:{rowHeight:{default:40}},setup(n){const r=n,u=l.useAgGridModalInject(),i=e.computed(()=>u?.dataSourceLength?.value||0),c=e.computed(()=>i.value*r.rowHeight>400?t.LARGER_HEIGHT:t.SMALL_HEIGHT);return(o,a)=>(e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle({minHeight:e.unref(t.SMALL_HEIGHT),height:c.value,display:"flex",flexDirection:"column"})},[e.renderSlot(o.$slots,"default")],4))}});exports.default=s;
@@ -11,6 +11,7 @@ export declare function useCreateTableModal(props: UseCreateTableModalProps): {
11
11
  readonly resetApTableData: () => void;
12
12
  readonly getApTableInstance: () => {
13
13
  submit: () => void;
14
+ submitWith: (resetCurrent?: boolean) => void;
14
15
  reset: () => void;
15
16
  refresh: () => void;
16
17
  setSearchFormValues: (fields: Partial< Recordable>) => void;
@@ -9,6 +9,7 @@ export declare function useTableModal<TableRowType = Record<string, any>>(props:
9
9
  resetApTableData: () => void;
10
10
  getApTableInstance: () => {
11
11
  submit: () => void;
12
+ submitWith: (resetCurrent?: boolean) => void;
12
13
  reset: () => void;
13
14
  refresh: () => void;
14
15
  setSearchFormValues: (fields: Partial< Recordable>) => void;
@@ -8,6 +8,7 @@ export declare function useTableSelectModal<TableRowType = Record<string, any>>(
8
8
  resetApTableData: () => void;
9
9
  getApTableInstance: () => {
10
10
  submit: () => void;
11
+ submitWith: (resetCurrent?: boolean) => void;
11
12
  reset: () => void;
12
13
  refresh: () => void;
13
14
  setSearchFormValues: (fields: Partial< Recordable>) => void;
@@ -17,6 +17,7 @@ declare const ApTableModal: {
17
17
  close: () => void;
18
18
  getApTableInstance: () => {
19
19
  submit: () => void;
20
+ submitWith: (resetCurrent?: boolean) => void;
20
21
  reset: () => void;
21
22
  refresh: () => void;
22
23
  setSearchFormValues: (fields: Partial< Recordable>) => void;
@@ -128,6 +129,7 @@ declare const ApTableModal: {
128
129
  close: () => void;
129
130
  getApTableInstance: () => {
130
131
  submit: () => void;
132
+ submitWith: (resetCurrent?: boolean) => void;
131
133
  reset: () => void;
132
134
  refresh: () => void;
133
135
  setSearchFormValues: (fields: Partial< Recordable>) => void;
@@ -193,6 +195,7 @@ declare const ApTableModal: {
193
195
  close: () => void;
194
196
  getApTableInstance: () => {
195
197
  submit: () => void;
198
+ submitWith: (resetCurrent?: boolean) => void;
196
199
  reset: () => void;
197
200
  refresh: () => void;
198
201
  setSearchFormValues: (fields: Partial< Recordable>) => void;
@@ -10,6 +10,7 @@ declare const _default: DefineComponent<__VLS_Props, {
10
10
  close: () => void;
11
11
  getApTableInstance: () => {
12
12
  submit: () => void;
13
+ submitWith: (resetCurrent?: boolean) => void;
13
14
  reset: () => void;
14
15
  refresh: () => void;
15
16
  setSearchFormValues: (fields: Partial< Recordable>) => void;