@aplus-frontend/ui 0.4.33 → 0.5.0-beta.0

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 (123) hide show
  1. package/es/index.mjs +121 -117
  2. package/es/src/ap-button/ap-confirm-button.vue.d.ts +20 -0
  3. package/es/src/ap-button/ap-confirm-button.vue.mjs +56 -0
  4. package/es/src/ap-button/ap-confirm-button.vue2.mjs +4 -0
  5. package/es/src/ap-button/index.d.ts +2 -1
  6. package/es/src/ap-button/index.mjs +1 -0
  7. package/es/src/ap-button/interface.d.ts +6 -1
  8. package/es/src/ap-button/utils/index.d.ts +2 -0
  9. package/es/src/ap-button/utils/index.mjs +36 -16
  10. package/es/src/ap-grid/constants.d.ts +9 -0
  11. package/es/src/ap-grid/constants.mjs +12 -0
  12. package/es/src/ap-grid/hooks/use-inner-params.d.ts +10 -0
  13. package/es/src/ap-grid/hooks/use-inner-params.mjs +41 -0
  14. package/es/src/ap-grid/hooks/use-render-columns.d.ts +6 -0
  15. package/es/src/ap-grid/hooks/use-render-columns.mjs +29 -0
  16. package/es/src/ap-grid/index.d.ts +3 -0
  17. package/es/src/ap-grid/index.mjs +2 -0
  18. package/es/src/ap-grid/index.vue.mjs +399 -0
  19. package/es/src/ap-grid/index.vue2.mjs +4 -0
  20. package/es/src/ap-grid/interface.d.ts +279 -0
  21. package/es/src/ap-grid/interface.mjs +1 -0
  22. package/es/src/ap-grid/style/css.d.ts +0 -0
  23. package/es/src/ap-grid/style/css.js +1 -0
  24. package/es/src/ap-grid/style/index.d.ts +0 -0
  25. package/es/src/ap-grid/style/index.js +1 -0
  26. package/es/src/ap-grid/utils/col.d.ts +20 -0
  27. package/es/src/ap-grid/utils/col.mjs +106 -0
  28. package/es/src/ap-grid/utils/renderer.d.ts +3 -0
  29. package/es/src/ap-grid/utils/renderer.mjs +21 -0
  30. package/es/src/ap-grid/utils/table.d.ts +13 -0
  31. package/es/src/ap-grid/utils/table.mjs +64 -0
  32. package/es/src/ap-modal/utils/createModal.mjs +28 -28
  33. package/es/src/ap-table/ap-table.vue.d.ts +2 -0
  34. package/es/src/ap-table/components/setting/select-group/index.vue2.mjs +38 -38
  35. package/es/src/ap-table/components/setting/sortable/item.vue2.mjs +9 -9
  36. package/es/src/ap-table/components/setting/tree-select/index.vue2.mjs +21 -21
  37. package/es/src/ap-table/components/setting/utils.d.ts +15 -3
  38. package/es/src/ap-table/components/setting/utils.mjs +49 -38
  39. package/es/src/ap-table/context.d.ts +2 -1
  40. package/es/src/ap-table/context.mjs +8 -7
  41. package/es/src/ap-table/hooks/use-table-column-state.mjs +79 -70
  42. package/es/src/ap-table/hooks/use-table-paging-ng.d.ts +8 -2
  43. package/es/src/ap-table/hooks/use-table-paging-ng.mjs +43 -40
  44. package/es/src/ap-table/hooks/use-table-row-selection.d.ts +12 -0
  45. package/es/src/ap-table/hooks/use-table-row-selection.mjs +41 -27
  46. package/es/src/ap-table/interface.d.ts +4 -0
  47. package/es/src/ap-table/utils.d.ts +1 -1
  48. package/es/src/business/ap-table-modal/hooks/use-create-table-modal.d.ts +2 -0
  49. package/es/src/business/ap-table-modal/hooks/use-table-modal.d.ts +2 -0
  50. package/es/src/business/ap-table-modal/hooks/use-table-select-modal.d.ts +2 -0
  51. package/es/src/business/ap-table-modal/index.d.ts +8 -0
  52. package/es/src/business/ap-table-modal/table-modal.vue.d.ts +4 -0
  53. package/es/src/business/hooks/usePageListApTable.d.ts +2 -0
  54. package/es/src/index.d.ts +1 -0
  55. package/es/src/index.mjs +242 -237
  56. package/es/src/path-map.mjs +2 -1
  57. package/lib/index.js +1 -1
  58. package/lib/src/ap-button/ap-confirm-button.vue.d.ts +20 -0
  59. package/lib/src/ap-button/ap-confirm-button.vue.js +1 -0
  60. package/lib/src/ap-button/ap-confirm-button.vue2.js +1 -0
  61. package/lib/src/ap-button/index.d.ts +2 -1
  62. package/lib/src/ap-button/index.js +1 -1
  63. package/lib/src/ap-button/interface.d.ts +6 -1
  64. package/lib/src/ap-button/utils/index.d.ts +2 -0
  65. package/lib/src/ap-button/utils/index.js +1 -1
  66. package/lib/src/ap-grid/constants.d.ts +9 -0
  67. package/lib/src/ap-grid/constants.js +1 -0
  68. package/lib/src/ap-grid/hooks/use-inner-params.d.ts +10 -0
  69. package/lib/src/ap-grid/hooks/use-inner-params.js +1 -0
  70. package/lib/src/ap-grid/hooks/use-render-columns.d.ts +6 -0
  71. package/lib/src/ap-grid/hooks/use-render-columns.js +1 -0
  72. package/lib/src/ap-grid/index.d.ts +3 -0
  73. package/lib/src/ap-grid/index.js +1 -0
  74. package/lib/src/ap-grid/index.vue.js +1 -0
  75. package/lib/src/ap-grid/index.vue2.js +1 -0
  76. package/lib/src/ap-grid/interface.d.ts +279 -0
  77. package/lib/src/ap-grid/interface.js +1 -0
  78. package/lib/src/ap-grid/style/css.cjs +1 -0
  79. package/lib/src/ap-grid/style/css.d.ts +0 -0
  80. package/lib/src/ap-grid/style/index.cjs +1 -0
  81. package/lib/src/ap-grid/style/index.d.ts +0 -0
  82. package/lib/src/ap-grid/utils/col.d.ts +20 -0
  83. package/lib/src/ap-grid/utils/col.js +1 -0
  84. package/lib/src/ap-grid/utils/renderer.d.ts +3 -0
  85. package/lib/src/ap-grid/utils/renderer.js +1 -0
  86. package/lib/src/ap-grid/utils/table.d.ts +13 -0
  87. package/lib/src/ap-grid/utils/table.js +1 -0
  88. package/lib/src/ap-modal/utils/createModal.js +1 -1
  89. package/lib/src/ap-table/ap-table.vue.d.ts +2 -0
  90. package/lib/src/ap-table/components/setting/select-group/index.vue2.js +1 -1
  91. package/lib/src/ap-table/components/setting/sortable/item.vue2.js +1 -1
  92. package/lib/src/ap-table/components/setting/tree-select/index.vue2.js +1 -1
  93. package/lib/src/ap-table/components/setting/utils.d.ts +15 -3
  94. package/lib/src/ap-table/components/setting/utils.js +1 -1
  95. package/lib/src/ap-table/context.d.ts +2 -1
  96. package/lib/src/ap-table/context.js +1 -1
  97. package/lib/src/ap-table/hooks/use-table-column-state.js +1 -1
  98. package/lib/src/ap-table/hooks/use-table-paging-ng.d.ts +8 -2
  99. package/lib/src/ap-table/hooks/use-table-paging-ng.js +1 -1
  100. package/lib/src/ap-table/hooks/use-table-row-selection.d.ts +12 -0
  101. package/lib/src/ap-table/hooks/use-table-row-selection.js +1 -1
  102. package/lib/src/ap-table/interface.d.ts +4 -0
  103. package/lib/src/ap-table/utils.d.ts +1 -1
  104. package/lib/src/business/ap-table-modal/hooks/use-create-table-modal.d.ts +2 -0
  105. package/lib/src/business/ap-table-modal/hooks/use-table-modal.d.ts +2 -0
  106. package/lib/src/business/ap-table-modal/hooks/use-table-select-modal.d.ts +2 -0
  107. package/lib/src/business/ap-table-modal/index.d.ts +8 -0
  108. package/lib/src/business/ap-table-modal/table-modal.vue.d.ts +4 -0
  109. package/lib/src/business/hooks/usePageListApTable.d.ts +2 -0
  110. package/lib/src/index.d.ts +1 -0
  111. package/lib/src/index.js +1 -1
  112. package/lib/src/path-map.js +1 -1
  113. package/package.json +3 -1
  114. package/theme/antd-global-overwrite/admin/index.css +8 -1
  115. package/theme/antd-global-overwrite/admin/modal.css +8 -1
  116. package/theme/antd-global-overwrite/admin/modal.less +10 -1
  117. package/theme/antd-global-overwrite/aplus/index.css +8 -1
  118. package/theme/antd-global-overwrite/aplus/modal.css +8 -1
  119. package/theme/antd-global-overwrite/aplus/modal.less +10 -1
  120. package/theme/ap-grid/index.css +302 -0
  121. package/theme/ap-grid/index.less +65 -0
  122. package/theme/index.css +51 -0
  123. package/theme/index.less +1 -0
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./ap-confirm-button.vue.js");exports.default=e.default;
@@ -1,4 +1,5 @@
1
1
  import { default as ApButton } from './ap-button.vue';
2
2
  import { default as ApActionButton } from './ap-action-button.vue';
3
+ import { default as ApConfirmButton } from './ap-confirm-button.vue';
3
4
  export * from './interface';
4
- export { ApButton, ApActionButton };
5
+ export { ApButton, ApActionButton, ApConfirmButton };
@@ -1 +1 @@
1
- "use strict";require("./ap-button.vue2.js");require("./ap-action-button.vue2.js");require("./interface.js");
1
+ "use strict";require("./ap-button.vue2.js");require("./ap-action-button.vue2.js");require("./ap-confirm-button.vue2.js");require("./interface.js");
@@ -1,4 +1,4 @@
1
- import { ButtonProps } from '@aplus-frontend/antdv';
1
+ import { ModalFuncProps, ButtonProps } from '@aplus-frontend/antdv';
2
2
  export type ApButtonProps = Omit<ButtonProps, 'type' | 'onClick'> & {
3
3
  type?: ButtonProps['type'] | 'borderLink';
4
4
  borderLinkColor?: string;
@@ -11,3 +11,8 @@ export type ApButtonSlots = {
11
11
  default: any;
12
12
  icon?: any;
13
13
  };
14
+ export type ApConfirButtonProps = ApButtonProps & {
15
+ title: ModalFuncProps['title'];
16
+ content: ModalFuncProps['content'];
17
+ confirmProps?: ModalFuncProps;
18
+ };
@@ -1,3 +1,5 @@
1
+ import { ModalFuncProps } from '@aplus-frontend/antdv';
1
2
  export declare function isPromise(fn: any): any;
2
3
  export declare const isAsynchronous: (fn: any) => any;
3
4
  export declare const transferOpacityColor: (thisColor?: string, thisOpacity?: string) => string | undefined;
5
+ export declare const confirmHandle: (ModalFuncProps: ModalFuncProps) => Promise<unknown>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function i(e){return typeof e=="object"&&typeof e.then=="function"?e:!1}const a=e=>typeof e=="function"&&i(e==null?void 0:e()),l=(e,c="0.7")=>{var n;try{let t=e==null?void 0:e.toLowerCase();if(t&&/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(t)){if(t.length===4){let o="#";for(let s=1;s<4;s+=1)o+=t.slice(s,s+1).concat(t.slice(s,s+1));t=o}const r=[];for(let o=1;o<7;o+=2)r.push(parseInt("0x"+t.slice(o,o+2)));return"rgba("+r.join(",")+","+c+")"}if(t&&t.startsWith("rgb")){let r=t.match(/(\d(\.\d+)?)+/g);return r=(n=r==null?void 0:r.slice(0,3))==null?void 0:n.concat(c),"rgba("+r.join(",")+")"}return t}catch{return}};exports.isAsynchronous=a;exports.isPromise=i;exports.transferOpacityColor=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@aplus-frontend/antdv"),l=require("lodash-unified");function i(e){return typeof e=="object"&&typeof e.then=="function"?e:!1}const f=e=>typeof e=="function"&&i(e==null?void 0:e()),u=(e,c="0.7")=>{var s;try{let t=e==null?void 0:e.toLowerCase();if(t&&/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(t)){if(t.length===4){let r="#";for(let n=1;n<4;n+=1)r+=t.slice(n,n+1).concat(t.slice(n,n+1));t=r}const o=[];for(let r=1;r<7;r+=2)o.push(parseInt("0x"+t.slice(r,r+2)));return"rgba("+o.join(",")+","+c+")"}if(t&&t.startsWith("rgb")){let o=t.match(/(\d(\.\d+)?)+/g);return o=(s=o==null?void 0:o.slice(0,3))==null?void 0:s.concat(c),"rgba("+o.join(",")+")"}return t}catch{return}},y=e=>{const{onOk:c=()=>({})}=e;return new Promise((s,t)=>{a.Modal.confirm({onOk:async()=>{try{await c(),s(!0)}catch{t()}},onCancel:()=>{t()},...l.omit(e,["onOk"])})})};exports.confirmHandle=y;exports.isAsynchronous=f;exports.isPromise=i;exports.transferOpacityColor=u;
@@ -0,0 +1,9 @@
1
+ export declare const sizeMap: {
2
+ readonly mini: undefined;
3
+ readonly small: "small";
4
+ readonly medium: "middle";
5
+ };
6
+ export declare const sizeReverseMap: {
7
+ readonly small: "small";
8
+ readonly middle: "medium";
9
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={mini:void 0,small:"small",medium:"middle"},i={small:"small",middle:"medium"};exports.sizeMap=e;exports.sizeReverseMap=i;
@@ -0,0 +1,10 @@
1
+ import { ApGridProps } from '../interface';
2
+ import { VxeTableEvents } from 'vxe-table';
3
+ /**
4
+ * 用于管理内部生成的查询参数(排序/筛选/分页等)
5
+ */
6
+ export declare const useInnerParams: <RecordType>(tableChangeCallback: ApGridProps["onChange"]) => {
7
+ sortChangeEvent: VxeTableEvents.SortChange<RecordType>;
8
+ filterChangeEvent: VxeTableEvents.FilterChange<RecordType>;
9
+ paginationChangeEvent: (page: number, pageSize: number) => void;
10
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../ap-table/hooks/use-table-paging-ng.js"),g={asc:"ascend",desc:"descend"},u=o=>{const t={};let c={};const s={current:a.DEFAULT_CURRENT,pageSize:a.DEFAULT_PAGE_SIZE};function i(e){o==null||o(s,c,t,{currentDataSource:[],action:e})}return{sortChangeEvent:({field:e,order:n,column:r})=>{t.column=r,t.order=n?g[n]:null,t.field=e,i("sort")},filterChangeEvent:({filterList:e})=>{const n={};for(const r of e)n[r.field]=r.values;c=n,i("filter")},paginationChangeEvent:(e,n)=>{s.current=e,s.pageSize=n,i("paginate")}}};exports.useInnerParams=u;
@@ -0,0 +1,6 @@
1
+ import { Ref, ComputedRef } from 'vue';
2
+ import { ApGridColumnType } from '../interface';
3
+ export declare const useRenderColumns: <RecordType>(columns: Ref<ApGridColumnType<RecordType>[]>) => {
4
+ renderConfig: ComputedRef<import("vue/jsx-runtime").JSX.Element[]>;
5
+ updateSignal: Ref<number, number>;
6
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("@aplus-frontend/antdv/es/theme/internal");require("../../config-provider/index.js");const s=require("../utils/renderer.js"),l=require("../../config-provider/hooks/use-namespace.js"),i=require("../../config-provider/hooks/use-global-config.js"),c=r=>{const[,t]=a.useToken(),{be:u}=l.useNamespace("ap-grid"),o=i.useGlobalConfig("valueTypeMap"),n=e.ref(Date.now());return e.watch(()=>r.value,()=>{n.value=Date.now()},{deep:!0}),{renderConfig:e.computed(()=>s.renderWithColumns(r.value,t.value.colorPrimary,u("table-header","title"),e.unref(o))),updateSignal:n}};exports.useRenderColumns=c;
@@ -0,0 +1,3 @@
1
+ import { default as ApGrid } from './index.vue';
2
+ export { ApGrid };
3
+ export * from './interface';
@@ -0,0 +1 @@
1
+ "use strict";require("./index.vue2.js");require("./interface.js");
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),v=require("vxe-table"),oe=require("vxe-pc-ui");require("/Users/limoer/www/aplus/aplus-ui/node_modules/.pnpm/vxe-table@4.10.14_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/lib/style.css");require("/Users/limoer/www/aplus/aplus-ui/node_modules/.pnpm/vxe-pc-ui@4.3.95_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-pc-ui/lib/style.css");const c=require("lodash-unified"),ae=require("../ap-form/index.js");require("../config-provider/index.js");const te=require("../ap-table/constants.js"),u=require("../ap-table/utils.js"),ne=require("../ap-table/hooks/use-table-paging-ng.js"),le=require("@aplus-frontend/antdv"),se=require("./hooks/use-inner-params.js"),b=require("./utils/table.js"),ue=require("../ap-table/hooks/use-table-row-selection.js"),de=require("../ap-table/context.js"),V=require("./constants.js"),ce=require("./hooks/use-render-columns.js"),ie=require("@aplus-frontend/antdv/es/theme/internal"),fe=require("../config-provider/hooks/use-namespace.js"),pe=require("../config-provider/hooks/use-global-config.js"),me=e.defineComponent({name:"ApGrid",__name:"index",props:{dropdownPrefixCls:{},loading:{type:[Boolean,Object],default:void 0},bordered:{type:Boolean,default:!1},locale:{},onChange:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!1},prefixCls:{},tableLayout:{},title:{},id:{},showHeader:{type:Boolean,default:!0},components:{},customRow:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean],default:!1},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean,default:!1},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean,default:!1},indentSize:{default:15},expandIconColumnIndex:{},showExpandColumn:{type:Boolean,default:!0},expandedRowClassName:{},childrenColumnName:{default:"children"},rowExpandable:{},sticky:{type:[Boolean,Object]},transformCellText:{},rowClassName:{},stripe:{type:Boolean},headerRowClassName:{},footerRowClassName:{},cellClassName:{},headerCellClassName:{},footerCellClassName:{},rowStyle:{},headerRowStyle:{},footerRowStyle:{},cellStyle:{},headerCellStyle:{},footerCellStyle:{},height:{},minHeight:{},maxHeight:{},mergeCells:{},mergeFooterItems:{},cellConfig:{},columns:{},rowSelection:{type:Boolean},card:{type:Boolean,default:!1},params:{},request:{},defaultData:{},dataSource:{},onLoadingChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},manual:{type:Boolean,default:!1},size:{default:"medium"},adaptive:{type:Boolean,default:!1},columnResizable:{type:[Boolean,Object],default:!1},rowKey:{default:"key"},footer:{},virtual:{type:[Boolean,Object],default:void 0},expandable:{}},setup(T,{expose:_}){var z;const i=(z=e.getCurrentInstance())==null?void 0:z.appContext.app;i&&!i.__VXE_PC_UI_INSTALLED__&&(i.use(oe),i.__VXE_PC_UI_INSTALLED__=!0);const x=e.useSlots(),o=T,{e:h,b:f,be:A}=fe.useNamespace("ap-grid"),O=pe.useGlobalConfig("valueTypeMap"),l=e.ref([]),k=e.ref([]),p=e.ref(),S=e.ref(o.size),[,L]=ie.useToken(),{renderConfig:D,updateSignal:K}=ce.useRenderColumns(l);let R=0;const B=e.computed(()=>{var r,n,t;return R++,((t=(n=(r=o.columns)==null?void 0:r.filter(a=>!a.hideInSearch&&a.dataIndex&&(a.valueType||a.customRenderFormItem)&&!te.noRenderAsFormItemValueList.includes(a.valueType)))==null?void 0:n.sort((a,s)=>{let d=u.getColumnOrder(a.order);return u.getColumnOrder(s.order)-d}))==null?void 0:t.map(a=>{const s=u.updateFormProps(a,u.getFieldProps(a.fieldProps,{})),d={...a,fieldProps:{label:a.title,name:a.dataIndex,...s||{},_signal:R},renderNode:void 0};return d.renderNode=u.getSearchFormItemRenderNode(d,e.unref(O)),d}))||[]}),j=e.computed(()=>[f(),o.card?null:f("wrapper")].filter(Boolean)),F=e.computed(()=>u.recursionApColumns(e.unref(l),r=>{if(r.sorter===!0)return r.key||r.dataIndex}).filter(Boolean)),P=e.computed(()=>u.recursionApColumns(e.unref(l),r=>{if(r.filters&&!r.onFilter)return r.key||r.dataIndex}).filter(Boolean)),{formRef:y,submit:N,reset:E,refresh:U,data:m,tableProps:$,setDataSource:W,handleTableChange:H}=ne.useTablePaging({async request(r){var t;if(!C.value.preserveSelectedRowKeys&&c.isUndefined(o.dataSource)&&w(),!c.isUndefined(o.dataSource)){const a=r.pageSize*(r.current-1);return{data:(o.pagination===!1?o.dataSource:o.dataSource.slice(a,a+r.pageSize))||[],total:o.dataSource.length||0}}const n=await((t=o.request)==null?void 0:t.call(o,r));return{data:(n==null?void 0:n.data)||[],total:(n==null?void 0:n.total)||0}},namespace:"ap-grid",filterFields:P,sortFields:F,defaultParams:o.params,defaultData:o.defaultData,manual:o.manual,formatParams:o.beforeSearchSubmit,pagination:o.pagination}),{sortChangeEvent:M,filterChangeEvent:G,paginationChangeEvent:X}=se.useInnerParams(H);de.useProvideApTable({columns:e.computed(()=>l.value),columnsBackup:e.computed(()=>k.value),size:e.computed(()=>V.sizeMap[S.value]),updateColumns(r){l.value=r},updateSize(r){S.value=V.sizeReverseMap[r]},renderConfig:e.computed(()=>({className:A("table-header","title"),color:L.value.colorPrimary}))});const I=e.computed(()=>l.value.some(r=>r.fixed==="left"||r.fixed===!0)?"left":void 0),J=e.computed(()=>c.isUndefined(o.dataSource)?m.records:o.dataSource),{selectedRows:g,rowSelection:C,...Q}=ue.default({...o.rowSelection===!0?{}:o.rowSelection,dataSource:J,rowKey:o.rowKey}),q=()=>{const r=p.value;r&&(g.value=[...r.getCheckboxReserveRecords(),...r.getCheckboxRecords()])},Y=()=>{const r=p.value;r&&(g.value=[r.getRadioRecord()])};function Z(){var r;return((r=o.columns)==null?void 0:r.filter(n=>!n.hideInTable))||[]}function ee(r){var n,t,a;(a=(t=(n=y.value)==null?void 0:n.apForm)==null?void 0:t.setFieldsValue)==null||a.call(t,r)}function re(r=!1){var t,a,s;const n=r?"getFieldsValueTransformed":"getFieldsValue";return(s=(a=(t=y.value)==null?void 0:t.apForm)==null?void 0:a[n])==null?void 0:s.call(a,!0)}function w(){Q.clearAll();const r=p.value;r&&(C.value.type==="radio"?(r.clearRadioRow(),r.clearRadioReserve()):(r.clearCheckboxRow(),r.clearCheckboxReserve()))}return e.watchEffect(()=>{const r=Z();l.value=r,k.value=r}),e.watch(()=>o.dataSource,r=>{W(r)},{immediate:!0}),e.watch(()=>e.unref(m).loading,r=>{var n;(n=o.onLoadingChange)==null||n.call(o,r)}),_({submit:N,reset:E,refresh:U,setSearchFormValues:ee,getSearchFormValues:re,getShowColumns:()=>e.unref(l),rowSelection:{selectedRows:e.computed(()=>g.value),clearAll:w}}),(r,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(j.value)},[e.unref(c.isUndefined)(r.dataSource)&&r.searchForm!==!1&&B.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.card?e.unref(h)("search-wrapper"):null),style:e.normalizeStyle(r.searchFormWrapperStyle)},[e.createVNode(e.unref(ae.ApForm).SearchForm,e.mergeProps(r.searchForm||{},{ref_key:"formRef",ref:y,"custom-reset":"","submit-loading":!1,onSubmit:e.unref(N),onReset:e.unref(E)}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,t=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.renderNode.Comp),e.mergeProps({key:t.dataIndex,item:t,ref_for:!0},t.fieldProps||{},{span:t.span,"custom-render":t.renderNode.render}),null,16,["item","span","custom-render"]))),128))]),_:2},[x.searchFormExtra?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["onSubmit","onReset"])],6)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([e.unref(h)("table-wrapper"),r.card?e.unref(h)("table-wrapper-card"):null]),style:e.normalizeStyle(r.tableWrapperStyle)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(f)("header-wrapper"))},[e.renderSlot(r.$slots,"title",{selectedRows:e.unref(g),selectedRowKeys:e.unref(C).selectedRowKeys,shownColumns:l.value,clearAll:w})],2),(e.openBlock(),e.createBlock(e.unref(v.VxeTable),e.mergeProps(e.unref(b.toVxeProps)(o),{ref_key:"tableRef",ref:p,key:e.unref(K),data:e.unref(m).records,"sort-config":{remote:F.value.length>0},"filter-config":{remote:P.value.length>0},loading:e.unref(m).loading,"row-config":{isHover:!0,keyField:o.rowKey},size:S.value,onSortChange:e.unref(M),onFilterChange:e.unref(G),onCheckboxChange:q,onCheckboxAll:q,onRadioChange:Y}),e.createSlots({default:e.withCtx(()=>[o.expandable?(e.openBlock(),e.createBlock(e.unref(v.VxeColumn),e.mergeProps({key:0},e.unref(b.getRowExpandProps)(r.expandable),{fixed:I.value}),{content:e.withCtx(t=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.expandable.renderContent(t))))]),_:1},16,["fixed"])):e.createCommentVNode("",!0),o.rowSelection?(e.openBlock(),e.createBlock(e.unref(v.VxeColumn),e.mergeProps({key:1},e.unref(b.getRowSelectionProps)(e.unref(C)),{fixed:I.value}),null,16,["fixed"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(D),t=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t),{key:t.props.colId}))),128))]),_:2},[e.renderList(e.unref(c.omit)(x,["searchFormExtra"]),(t,a)=>({name:a,fn:e.withCtx(s=>[e.renderSlot(r.$slots,a,e.normalizeProps(e.guardReactiveProps(s||{})))])}))]),1040,["data","sort-config","filter-config","loading","row-config","size","onSortChange","onFilterChange"])),r.pagination!==!1?(e.openBlock(),e.createBlock(e.unref(le.Pagination),e.mergeProps({key:0,class:e.unref(f)("pagination")},e.unref($).pagination,{onChange:e.unref(X)}),null,16,["class","onChange"])):e.createCommentVNode("",!0)],6)],2))}});exports.default=me;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index.vue.js");exports.default=e.default;
@@ -0,0 +1,279 @@
1
+ import { ApFormSearchFormProps } from '../ap-form/interface';
2
+ import { ApTablePaginationConfig, ApTableValueFields, ApTableValueTypes, CommonFieldReturnType, ExtraProColumnType, FieldPropsType, RequestData, ValueEnum } from '../ap-table/interface';
3
+ import { Recordable } from '../type';
4
+ import { TableProps } from '@aplus-frontend/antdv';
5
+ import { ColumnFilterItem, SortOrder, TableRowSelection } from '@aplus-frontend/antdv/es/table/interface';
6
+ import { ComputedRef, CSSProperties, Ref, VNode } from 'vue';
7
+ import { VxeTablePropTypes, VxeTableSlots, VxeColumnPropTypes, VxeTableProps, VxeTableDefines, VxeColumnSlots } from 'vxe-table';
8
+ export type ColConfigType = VxeTableDefines.ColumnOptions;
9
+ export type ApGridColumnType<RecordType = any, ExtraValueType = 'text', ValueType extends ApTableValueTypes = ApTableValueTypes, MergedValueType extends ExtraValueType | ValueType = ExtraValueType | ValueType> = MergedValueType extends ExtraValueType | ValueType ? Omit<ExtraProColumnType<RecordType>, 'sorter' | 'rowSpan' | 'customCell' | 'customHeaderCell' | 'minWidth'> & {
10
+ children?: ApGridColumnType<RecordType, ExtraValueType, ValueType, MergedValueType>[];
11
+ /**
12
+ * 表单项所占据的格子数(1-24格)
13
+ */
14
+ span?: number;
15
+ /**
16
+ * 列的最小宽度
17
+ */
18
+ minWidth?: string | number;
19
+ /**
20
+ * 在title之后展示一个icon并触发tooltip
21
+ */
22
+ tooltip?: string;
23
+ /**
24
+ * 是否可以复制
25
+ * @deprecated 暂未实现
26
+ */
27
+ copyable?: boolean;
28
+ /**
29
+ * 配置溢出隐藏的方式
30
+ */
31
+ ellipsis?: VxeTablePropTypes.ShowOverflow;
32
+ /**
33
+ * 是否搜索表单中隐藏
34
+ */
35
+ hideInSearch?: boolean;
36
+ /**
37
+ * 是否在表格中隐藏
38
+ */
39
+ hideInTable?: boolean;
40
+ /**
41
+ * 值的枚举,会自动转化把值当成 key 来取出要显示的内容(也会作为select等组件的选项)
42
+ */
43
+ valueEnum?: ValueEnum;
44
+ /**
45
+ * 自定义查询表单渲染
46
+ */
47
+ customRenderFormItem?: (config: ApGridColumnType<RecordType>) => any;
48
+ /**
49
+ * 自定义渲染文本,和customRender相比,其必须返回字符串,并且后续的渲染(例如copy/ellipsis)都将使用这个值
50
+ */
51
+ renderText?: (option: {
52
+ value: any;
53
+ text: any;
54
+ record: RecordType;
55
+ index: number;
56
+ renderIndex: number;
57
+ column: ApGridColumnType<RecordType>;
58
+ }) => string;
59
+ /**
60
+ * 指定值类型(将会用于默认渲染和查询表单生成)
61
+ */
62
+ valueType?: MergedValueType;
63
+ /**
64
+ * 值类型额外配置的参数(用于查询表单渲染)
65
+ */
66
+ fieldProps?: FieldPropsType<Extract<MergedValueType, ValueType> extends never ? CommonFieldReturnType : ApTableValueFields[Extract<MergedValueType, ValueType>], RecordType, ExtraValueType, ValueType, MergedValueType>;
67
+ /**
68
+ * 用于表单项排序的字段
69
+ * @description 值越大,越排在前面,请设置正整数,设置为0或负数将会无效
70
+ */
71
+ order?: number;
72
+ /**
73
+ * 用于指定列排序,设置为true表示后端排序,否则为前端排序
74
+ * Table同时只能设置一种排序类型,当至少有一个后端排序列时,显式设置为前端排序的列将不会生效
75
+ */
76
+ sorter?: true | {
77
+ type?: VxeColumnPropTypes.SortType;
78
+ by?: VxeColumnPropTypes.SortBy;
79
+ };
80
+ /**
81
+ * 表头的菜单筛选项,设置为true后会尝试使用valueEnum生成filters
82
+ */
83
+ filters?: Omit<ColumnFilterItem, 'children'>[] | true;
84
+ /**
85
+ * 自定义渲染,添加了`originalNode、originalText`
86
+ * @param opt
87
+ * @returns
88
+ */
89
+ customRender?: (opt: {
90
+ value: any;
91
+ text: any;
92
+ record: RecordType;
93
+ index: number;
94
+ renderIndex: number;
95
+ column: ApGridColumnType<RecordType>;
96
+ originalNode?: VNode;
97
+ originalText?: any;
98
+ }) => any;
99
+ } : never;
100
+ export type ApGridRowSelection<RecordType> = Pick<TableRowSelection<RecordType>, 'defaultSelectedRowKeys' | 'type' | 'preserveSelectedRowKeys' | 'onChange' | 'fixed' | 'columnWidth' | 'columnTitle'> & {
101
+ /**
102
+ * 设置禁用的列
103
+ * @param row
104
+ * @returns
105
+ */
106
+ disabled?: (row: RecordType) => boolean;
107
+ };
108
+ export type ApGridProps<RecordType = any, ParamsType = any> = Omit<TableProps<RecordType>, 'columns' | 'pagination' | 'dataSource' | 'size' | 'rowSelection' | 'rowKey' | 'rowClassName' | 'footer'> & Pick<VxeTableProps<RecordType>, 'rowClassName' | 'stripe' | 'headerRowClassName' | 'footerRowClassName' | 'cellClassName' | 'headerCellClassName' | 'footerCellClassName' | 'rowStyle' | 'headerRowStyle' | 'footerRowStyle' | 'cellStyle' | 'headerCellStyle' | 'footerCellStyle' | 'height' | 'minHeight' | 'maxHeight' | 'mergeCells' | 'mergeFooterItems' | 'cellConfig'> & {
109
+ /**
110
+ * 列配置
111
+ */
112
+ columns?: ApGridColumnType<RecordType, any>[];
113
+ /**
114
+ * 行选中配置
115
+ */
116
+ rowSelection?: true | ApGridRowSelection<RecordType>;
117
+ /**
118
+ * 是否启用卡片样式
119
+ */
120
+ card?: boolean;
121
+ /**
122
+ * request额外请求的参数
123
+ * 如果传入响应式数据,将会在变更后重新执行
124
+ */
125
+ params?: ParamsType | Ref<ParamsType>;
126
+ /**
127
+ * 请求获取dataSource
128
+ * @param params
129
+ * @returns
130
+ */
131
+ request?: (params: Partial<ParamsType> & {
132
+ pageSize: number;
133
+ current: number;
134
+ sort?: Record<string, SortOrder>;
135
+ filter?: Recordable<any>;
136
+ }) => Promise<Partial<RequestData<RecordType>>>;
137
+ /**
138
+ * 表格的默认数据源,这些数据源将会在第一次请求后被替换
139
+ */
140
+ defaultData?: RecordType[];
141
+ /**
142
+ * 表格的最终数据源(设置后request和defaultData都不会生效),离线表格的效果
143
+ */
144
+ dataSource?: RecordType[];
145
+ /**
146
+ * 表格loading状态变更后触发
147
+ * @param loading
148
+ * @returns
149
+ */
150
+ onLoadingChange?: (loading: boolean) => void;
151
+ /**
152
+ * 查询表单配置,设置为false表示不渲染查询表单
153
+ */
154
+ searchForm?: false | ApFormSearchFormProps;
155
+ /**
156
+ * 查询表单提交之前,一般用于自定义对查询数据进行变更
157
+ * @param params
158
+ * @returns
159
+ */
160
+ beforeSearchSubmit?: (params: Partial<ParamsType>) => any;
161
+ /**
162
+ * 是否显示分页器(特定的分页器)或者指定默认的当前页和pageSize
163
+ */
164
+ pagination?: false | ApTablePaginationConfig;
165
+ /**
166
+ * 自定义查询表单容器样式
167
+ */
168
+ searchFormWrapperStyle?: CSSProperties;
169
+ /**
170
+ * 自定义表格样式
171
+ */
172
+ tableWrapperStyle?: CSSProperties;
173
+ /**
174
+ * 是否手动发起第一次网络请求
175
+ */
176
+ manual?: boolean;
177
+ /**
178
+ * 表格尺寸(只支持中等大小和小尺寸)
179
+ */
180
+ size?: 'medium' | 'small' | 'mini';
181
+ /**
182
+ * 表格是否自适应高度
183
+ * @deprecated 暂未实现
184
+ */
185
+ adaptive?: boolean;
186
+ /**
187
+ * 设置表格列是否可以resize,还可以进行更多可变尺寸配置
188
+ */
189
+ columnResizable?: boolean | VxeTablePropTypes.ResizableConfig;
190
+ rowKey?: string;
191
+ /**
192
+ * 指定用于渲染footer的数据,支持函数
193
+ */
194
+ footer?: VxeTablePropTypes.FooterData | VxeTablePropTypes.FooterMethod<RecordType>;
195
+ /**
196
+ * 设置虚拟滚动
197
+ */
198
+ virtual?: false | ApGridVirtualConfig;
199
+ /**
200
+ * 设置可展开及其配置
201
+ */
202
+ expandable?: VxeTablePropTypes.ExpandConfig<RecordType> & {
203
+ /**
204
+ * 自定义渲染内容
205
+ */
206
+ renderContent: VxeColumnSlots<RecordType>['content'];
207
+ /**
208
+ * 展开列占据的宽度,默认为auto
209
+ */
210
+ width?: string | number;
211
+ /**
212
+ * 展开列的title
213
+ */
214
+ title?: string;
215
+ };
216
+ };
217
+ export type ApGridVirtualConfig = {
218
+ x?: false | number;
219
+ y?: false | number;
220
+ };
221
+ export type ApGridColumnProps<RecordType> = {
222
+ column: ApGridColumnType<RecordType>;
223
+ };
224
+ export type ApGridSlots<RecordType> = VxeTableSlots<RecordType> & {
225
+ /**
226
+ * 自定义查询表单额外的区域
227
+ */
228
+ searchFormExtra?: any;
229
+ /**
230
+ * 自定义表格上部查询表单下部分区域的渲染
231
+ */
232
+ title?: (params: {
233
+ selectedRows: RecordType[];
234
+ selectedRowKeys: (string | number)[];
235
+ shownColumns: ApGridColumnType<RecordType>[];
236
+ clearAll: () => void;
237
+ }) => any;
238
+ };
239
+ export type ApGridExpose<SearchParamsType = Recordable, RecordType = any> = {
240
+ /**
241
+ * 表格查询提交(重制页码但查询参数不会重置)
242
+ * @returns
243
+ */
244
+ submit: () => void;
245
+ /**
246
+ * 表格查询重置(重置页码和查询参数)
247
+ * @returns
248
+ */
249
+ reset: () => void;
250
+ /**
251
+ * 表格刷新当页数据
252
+ * @returns
253
+ */
254
+ refresh: () => void;
255
+ /**
256
+ * 设置查询表单数据
257
+ * @param values
258
+ * @returns
259
+ */
260
+ setSearchFormValues: (values: Partial<SearchParamsType>) => void;
261
+ /**
262
+ * 获取查询表单数据
263
+ * @param transform 是否获取转换后的数据 默认为`false`
264
+ * @returns
265
+ */
266
+ getSearchFormValues: (transform?: boolean) => Partial<SearchParamsType> & Recordable<any>;
267
+ /**
268
+ * 获取最终现实的列配置
269
+ * @returns
270
+ */
271
+ getShowColumns: () => ApGridColumnType<RecordType>[];
272
+ /**
273
+ * 行选中相关
274
+ */
275
+ rowSelection: {
276
+ selectedRows: ComputedRef<RecordType[]>;
277
+ clearAll: () => void;
278
+ };
279
+ };
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ import '@aplus-frontend/ui/theme/ap-grid/index.css';
File without changes
@@ -0,0 +1 @@
1
+ import '@aplus-frontend/ui/theme/ap-grid/index.less';
File without changes
@@ -0,0 +1,20 @@
1
+ import { ApGridColumnType, ColConfigType } from '../interface';
2
+ import { ValueTypeRenderConfig } from '../../config-provider';
3
+ /**
4
+ * 转换分组页
5
+ * @param columnConfig
6
+ * @returns
7
+ */
8
+ export declare function transformToColGroup<RecordType>(columnConfig: ApGridColumnType<RecordType>, color: string, className: string): ColConfigType;
9
+ /**
10
+ * 转换渲染列
11
+ * @param columnConfig
12
+ * @returns
13
+ */
14
+ export declare function transformToColumn<RecordType>(columnConfig: ApGridColumnType<RecordType>, color: string, className: string, extraValueType?: Record<string, ValueTypeRenderConfig>): ColConfigType;
15
+ /**
16
+ * 将ApColumn风格的列配置转换成适合VxeTable渲染的数据结构
17
+ * @param rawColumn
18
+ * @returns
19
+ */
20
+ export declare function transformCol<RecordType>(rawColumn: ApGridColumnType<RecordType>, color: string, className: string, extraValueType?: Record<string, ValueTypeRenderConfig>): ColConfigType;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("vue"),l=require("lodash-unified"),h=require("../../ap-table/utils.js");function S(e){if(!l.isUndefined(e))return l.isArray(e)?e.reduce((r,i)=>l.isString(i)?`${r}.${i}`:`${r}[${i}]`,""):String(e)}function w(e){if(e)return e===!0?"left":e}function R(e){return l.isBoolean(e)?{sortable:e}:e?{sortable:!0,sortType:e==null?void 0:e.type,sortBy:e==null?void 0:e.by}:{sortable:!1}}function M(e){let r;return l.isBoolean(e.filters)&&e.valueEnum?r=h.valueEnumToArray(e.valueEnum):r=e.filters,r==null?void 0:r.map(i=>({label:l.isString(i.text)?i.text:"",value:i.value}))}function $(e){if(e)return r=>e(r.value,r.row)}function x(e,r,i){const d=l.pick(e,["width","minWidth","align"]);return d.field=S(e.dataIndex),d.fixed=w(e.fixed),d.title=e.title,d.slots={header:()=>h.getTableTitle(e,i,void 0,r)},d.headerAlign=e.align,d.showOverflow=e.ellipsis,d.showHeaderOverflow=e.ellipsis,d}function y(e,r,i,d){const t=l.pick(e,["width","minWidth","align","resizable"]);t.field=S(e.dataIndex),t.fixed=w(e.fixed),t.headerAlign=e.align,t.footerAlign=e.align,t.showOverflow=e.ellipsis,t.showFooterOverflow=e.ellipsis,Object.assign(t,R(e.sorter)),t.filters=M(e),t.filterMultiple=e.filterMultiple,t.filterMethod=$(e.onFilter),t.title=e.title;const T=({value:s,...n})=>{var v,F;const a=h.getTableRenderType(e),f=h.getTableRenderProps({...e,valueType:a},{value:s,...n}),u=h.getTableCellRenderNode(a,f,n.record,d),A=((v=e.renderText)==null?void 0:v.call(e,{value:s,...n}))||s;let p=e.renderText?O.createVNode(O.Fragment,null,[(F=e.renderText)==null?void 0:F.call(e,{value:s,...n})]):u;return e.customRender&&(p=e.customRender({value:s,...n,column:e,originalNode:p,originalText:A})),p};return t.slots={header:()=>h.getTableTitle(e,i,void 0,r),default:({row:s,rowIndex:n})=>T({value:s[t.field],text:s[t.field],record:s,index:n,renderIndex:n,column:e})},t}function q(e,r,i,d){var s;if(!((s=e.children)!=null&&s.length))return y(e,r,i,d);function t(n){return n.map(a=>{var f;if((f=a.children)!=null&&f.length){const u=x(a,r,i);return u.children=t(a.children),u}return y(a,r,i,d)})}const T=x(e,r,i);return T.children=t(e.children),T}exports.transformCol=q;exports.transformToColGroup=x;exports.transformToColumn=y;
@@ -0,0 +1,3 @@
1
+ import { ApGridColumnType } from '../interface';
2
+ import { ValueTypeRenderConfig } from '../../config-provider';
3
+ export declare function renderWithColumns<RecordType>(columns: ApGridColumnType<RecordType>[], color: string, className: string, extraValueType?: Record<string, ValueTypeRenderConfig>): import("vue/jsx-runtime").JSX.Element[];
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),u=require("vxe-table"),d=require("./col.js");function l(e){var r;return(r=e.children)!=null&&r.length?o.createVNode(u.VxeColgroup,e,{...e.slots||{},default:()=>{var t;return(t=e.children)==null?void 0:t.map(n=>l(n))}}):o.createVNode(u.VxeColumn,e,{...e.slots||{}})}function a(e,r,t,n){return e.map(s=>l(d.transformCol(s,r,t,n)))}exports.renderWithColumns=a;
@@ -0,0 +1,13 @@
1
+ import { VxeTableEventProps, VxeTableProps } from 'vxe-table';
2
+ import { ApGridProps, ApGridRowSelection } from '../interface';
3
+ import { RowSelectionType } from '@aplus-frontend/antdv/es/table/interface';
4
+ export declare function toVxeProps<RecordType>(props: any): VxeTableProps<RecordType> & VxeTableEventProps<RecordType>;
5
+ export declare function getRowSelectionProps(rowSelection: ApGridRowSelection<any> | true): {
6
+ type: RowSelectionType;
7
+ width: string | number;
8
+ };
9
+ export declare function getRowExpandProps(config: ApGridProps['expandable']): {
10
+ readonly type: "expand";
11
+ readonly title: string | undefined;
12
+ readonly width: string | number;
13
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("lodash-unified"),a=30,c=50;function f(e){var i,n,d;const t={...e};if(e.columnResizable&&(t.columnConfig?t.columnConfig.resizable=!0:t.columnConfig={resizable:!0}),e.rowSelection){const o=e.rowSelection===!0?{}:e.rowSelection;o.type==="radio"?t.radioConfig={highlight:!0,checkMethod({row:r}){return o.disabled?!o.disabled(r):!0},checkRowKey:(i=o.defaultSelectedRowKeys)==null?void 0:i[0],reserve:l.isUndefined(o.preserveSelectedRowKeys)?!0:o.preserveSelectedRowKeys}:t.checkboxConfig={highlight:!0,checkMethod({row:r}){return o.disabled?!o.disabled(r):!0},checkRowKeys:o.defaultSelectedRowKeys,reserve:l.isUndefined(o.preserveSelectedRowKeys)?!0:o.preserveSelectedRowKeys}}return t.border=e.bordered,e.expandable&&(t.expandConfig=l.omit(e.expandable,["renderContent","width","title"])),e.footer&&(t.showFooter=!0,l.isFunction(e.footer)?t.footerMethod=e.footer:t.footerData=e.footer),e.virtual===!1?(t.virtualXConfig={enabled:!1},t.virtualYConfig={enabled:!1}):(s(t,"X",(n=e.virtual)==null?void 0:n.x),s(t,"Y",(d=e.virtual)==null?void 0:d.y)),t}function s(e,t,i){const n=t==="X",d=n?"virtualXConfig":"virtualYConfig",o=i!==!1,r=n?a:c,u=l.isNumber(i)&&i>=0?i:r;e[d]={enabled:o,gt:u}}function h(e){const t=e===!0||!e.type?"checkbox":e.type,i=e===!0?60:e.columnWidth||60;return{type:t,width:i}}function b(e){const t=(e==null?void 0:e.width)||"auto";return{type:"expand",title:e==null?void 0:e.title,width:t}}exports.getRowExpandProps=b;exports.getRowSelectionProps=h;exports.toVxeProps=f;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),b=require("@aplus-frontend/antdv"),m=require("../../config-provider/config-provider.js"),q=require("lodash-unified"),w=require("@aplus-frontend/utils");require("../../config-provider/index.js");const x=require("../../config-provider/hooks/use-namespace.js"),N=p=>{let t,r;const{destroyOnClose:l=!0,wrapperOffset:s=!1}=p,{b:h}=x.useNamespace("ap-modal");function u(){t&&t(!1),setTimeout(()=>{var e;o.render(null,a),(e=a.parentElement)==null||e.removeChild(a)},500)}function g(){t&&t(!0)}function f(){t&&t(!1)}function C(e){r&&r(e)}const v=o.defineComponent({data(){return{open:l,props:p}},created(){t=e=>{this.open=e},r=e=>{this.props={...this.props,...e}}},methods:{async handleCancel(){var e,n,i,d,c;if((e=this.props)!=null&&e.onCancel){const y=((d=(i=(n=this.props)==null?void 0:n.content)==null?void 0:i.component)==null?void 0:d.exposed)??void 0;await((c=this.props)==null?void 0:c.onCancel(y))}l?u():f()},async handleOk(){var e,n,i,d;try{if(r({confirmLoading:!0}),(e=this.props)!=null&&e.onOk){const c=((d=(i=(n=this.props)==null?void 0:n.content)==null?void 0:i.component)==null?void 0:d.exposed)??void 0;await this.props.onOk(c)}r({confirmLoading:!1}),l?u():f()}catch{r({confirmLoading:!1})}}},render(){const e=q.omit(this.props,["onCancel","onOk","open","onUpdate:open","getContainer","icon"]);return o.createVNode(m.ConfigProvider,m.globalConfigCached.value,{default:()=>[o.createVNode(b.Modal,o.mergeProps({class:{[h()]:!0,[h("wrapper")]:s},open:this.open,onCancel:this.handleCancel,onOk:this.handleOk},e),{default:()=>{var n;return[o.createVNode("div",{style:Object.assign({padding:"0 20px"},s===!1?{}:{maxHeight:`${window.innerHeight-(s===!0?100:w.isNumeric(s)?Number(s):100)*2}px`,overflow:"hidden auto"})},[(n=this.props)==null?void 0:n.content])]}})]})}}),O=p.getContainer||document.body,a=document.createElement("div");return O.appendChild(a),o.render(o.h(v),a),{destroy:u,update:C,open:g,close:f}};exports.createModal=N;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),b=require("@aplus-frontend/antdv"),m=require("../../config-provider/config-provider.js"),q=require("lodash-unified"),w=require("@aplus-frontend/utils");require("../../config-provider/index.js");const N=require("../../config-provider/hooks/use-namespace.js"),P=p=>{let t,r;const{destroyOnClose:l=!0,wrapperOffset:s=!1}=p,{b:u}=N.useNamespace("ap-modal");function f(){t&&t(!1),setTimeout(()=>{var e;o.render(null,a),(e=a.parentElement)==null||e.removeChild(a)},500)}function C(){t&&t(!0)}function h(){t&&t(!1)}function g(e){r&&r(e)}const v=o.defineComponent({data(){return{open:l,props:p}},created(){t=e=>{this.open=e},r=e=>{this.props={...this.props,...e}}},methods:{async handleCancel(){var e,n,i,c,d;if((e=this.props)!=null&&e.onCancel){const O=((c=(i=(n=this.props)==null?void 0:n.content)==null?void 0:i.component)==null?void 0:c.exposed)??void 0;await((d=this.props)==null?void 0:d.onCancel(O))}l?f():h()},async handleOk(){var e,n,i,c;try{if(r({confirmLoading:!0}),(e=this.props)!=null&&e.onOk){const d=((c=(i=(n=this.props)==null?void 0:n.content)==null?void 0:i.component)==null?void 0:c.exposed)??void 0;await this.props.onOk(d)}r({confirmLoading:!1}),l?f():h()}catch{r({confirmLoading:!1})}}},render(){const e=q.omit(this.props,["onCancel","onOk","open","onUpdate:open","getContainer","icon"]);return o.createVNode(m.ConfigProvider,m.globalConfigCached.value,{default:()=>[o.createVNode(b.Modal,o.mergeProps({class:{[u()]:!0,[u("wrapper")]:s},open:this.open,onCancel:this.handleCancel,onOk:this.handleOk},e),{default:()=>{var n;return[o.createVNode("div",{class:{[u("body-wrapper")]:s},style:s===!1?{}:{maxHeight:`${window.innerHeight-(s===!0?100:w.isNumeric(s)?Number(s):100)*2}px`}},[(n=this.props)==null?void 0:n.content])]}})]})}}),y=p.getContainer||document.body,a=document.createElement("div");return y.appendChild(a),o.render(o.h(v),a),{destroy:f,update:g,open:C,close:h}};exports.createModal=P;
@@ -20,6 +20,8 @@ declare const _default: <RecordType>(__VLS_props: NonNullable<Awaited<typeof __V
20
20
  unSelectAll: () => void;
21
21
  clearAll: () => void;
22
22
  toggleSelect: (item: RecordType) => void;
23
+ selectMulti: (items: RecordType[]) => void;
24
+ unSelectMulti: (items: RecordType[]) => void;
23
25
  selectedRows: ComputedRef<RecordType[]>;
24
26
  };
25
27
  scrollBar: {
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),u=require("@aplus-frontend/antdv");require("../../../../config-provider/index.js");const C=require("../../../context.js"),i=require("../utils.js"),y=require("../../../../config-provider/hooks/use-namespace.js"),_=e.defineComponent({__name:"index",props:{value:{}},setup(h){const r=h,{b:m}=y.useNamespace("select-group"),a=e.ref(!1),{columnsBackup:f}=C.useInjectApTable(),d=e.computed(()=>{var o;return(o=e.unref(f))==null?void 0:o.find(t=>{var l;return t.key===((l=r.value)==null?void 0:l.key)})});function k(n){const o=r.value.children.find(t=>t.key===n.key);return{checked:o==null?void 0:o.show,disabled:r.value.disabled||(o==null?void 0:o.disabled)}}function v(n){const o=r.value;o.children.forEach(t=>t.show=n),o.show=n,a.value=!1}function p(n,o){const t=r.value,l=t.children.find(c=>c.key===n);if(!l)return;l.show=o;const s=t.children.every(c=>c.show),b=t.children.some(c=>c.show);t.show=s,a.value=b&&!s}const w=e.computed(()=>r.value.disabled||r.value.children.every(n=>n.disabled));return e.watch(()=>r.value,n=>{const o=n.children.every(l=>l.show),t=n.children.some(l=>l.show);a.value=t&&!o,n.show!==o&&(n.show=o)},{deep:!0,immediate:!0}),(n,o)=>{var t;return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:e.normalizeClass(e.unref(m)("header"))},[e.createVNode(e.unref(u.Checkbox),{indeterminate:a.value,checked:(t=n.value)==null?void 0:t.show,disabled:w.value,"onUpdate:checked":v},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i.cloneLabelNode)(d.value.title))))]),_:1},8,["indeterminate","checked","disabled"])],2),e.createElementVNode("div",null,[e.createVNode(e.unref(u.Row),{align:"middle"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value.children,l=>(e.openBlock(),e.createBlock(e.unref(u.Col),{key:l.key,span:8},{default:e.withCtx(()=>[e.createVNode(e.unref(u.Checkbox),e.mergeProps({ref_for:!0},k(l),{"onUpdate:checked":s=>p(l.key,s)}),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i.cloneLabelNode)(l.title))))]),_:2},1040,["onUpdate:checked"])]),_:2},1024))),128))]),_:1})])])}}});exports.default=_;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),u=require("@aplus-frontend/antdv");require("../../../../config-provider/index.js");const y=require("../../../context.js"),h=require("../utils.js"),_=require("../../../../config-provider/hooks/use-namespace.js"),B=e.defineComponent({__name:"index",props:{value:{}},setup(f){const l=f,{b:m}=_.useNamespace("select-group"),a=e.ref(!1),{columnsBackup:k,renderConfig:d}=y.useInjectApTable(),i=e.computed(()=>{var n;return(n=e.unref(k))==null?void 0:n.find(t=>{var r;return t.key===((r=l.value)==null?void 0:r.key)})});function v(o){const n=l.value.children.find(t=>t.key===o.key);return{checked:n==null?void 0:n.show,disabled:l.value.disabled||(n==null?void 0:n.disabled)}}function p(o){const n=l.value;n.children.forEach(t=>t.show=o),n.show=o,a.value=!1}function w(o,n){const t=l.value,r=t.children.find(c=>c.key===o);if(!r)return;r.show=n;const s=t.children.every(c=>c.show),b=t.children.some(c=>c.show);t.show=s,a.value=b&&!s}const C=e.computed(()=>l.value.disabled||l.value.children.every(o=>o.disabled));return e.watch(()=>l.value,o=>{const n=o.children.every(r=>r.show),t=o.children.some(r=>r.show);a.value=t&&!n,o.show!==n&&(o.show=n)},{deep:!0,immediate:!0}),(o,n)=>{var t;return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:e.normalizeClass(e.unref(m)("header"))},[e.createVNode(e.unref(u.Checkbox),{indeterminate:a.value,checked:(t=o.value)==null?void 0:t.show,disabled:C.value,"onUpdate:checked":p},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(h.getLabelNode)(i.value,e.unref(d)))))]),_:1},8,["indeterminate","checked","disabled"])],2),e.createElementVNode("div",null,[e.createVNode(e.unref(u.Row),{align:"middle"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.children,r=>(e.openBlock(),e.createBlock(e.unref(u.Col),{key:r.key,span:8},{default:e.withCtx(()=>[e.createVNode(e.unref(u.Checkbox),e.mergeProps({ref_for:!0},v(r),{"onUpdate:checked":s=>w(r.key,s)}),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(h.getLabelNode)(r,e.unref(d)))))]),_:2},1040,["onUpdate:checked"])]),_:2},1024))),128))]),_:1})])])}}});exports.default=B;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("@aplus-frontend/antdv"),i=require("@ant-design/icons-vue");require("../../../../config-provider/index.js");const b=require("../sorter/context.js"),B=require("../images/icon_carst_down.svg.js"),w=require("../images/icon_fill_right.svg.js"),_=require("../utils.js"),z=require("../../../../config-provider/hooks/use-namespace.js"),q=require("../../../../config-provider/hooks/use-locale.js"),y=["src"],E=e.defineComponent({__name:"item",props:{value:{},"onUpdate:value":{type:Function},level:{},open:{type:Boolean}},emits:["update:open","update:value"],setup(d,{emit:f}){const t=d,p=f,{b:n,be:s,is:m}=z.useNamespace("sortable-item-meta"),{fixedToLeft:h,fixedToRight:C,unFixed:k}=b.useInjectSorterMethods(),{t:c}=q.useLocale();function u(l){var a;const o=t.value;return o.fixed=l,(a=o.children)==null||a.forEach(T=>T.fixed=l),o}function v(){const l=u("left");h(l)}function V(){const l=u("right");C(l)}function N(){const l=u(void 0);k(l)}function g(){p("update:open",!t.open)}function x(){var o;const l=t.value;l.show=!1,(o=l.children)==null||o.forEach(a=>a.show=!1)}return(l,o)=>{var a;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(n)())},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n)("left"))},[e.createVNode(e.unref(i.HolderOutlined),{class:e.normalizeClass(e.unref(s)("left","holder")),style:{"font-size":"16px",color:"#abb7cc"}},null,8,["class"]),e.createElementVNode("span",{class:e.normalizeClass(e.unref(s)("left","indicator")),onClick:g},[(a=l.value.children)!=null&&a.length?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.open?e.unref(w.default):e.unref(B.default)},null,8,y)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass([e.unref(s)("left","label-wrapper"),e.unref(m)("level2",t.level===2)])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(_.cloneLabelNode)(l.value.label))))],2)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n)("right"))},[e.createVNode(e.unref(r.Space),null,{default:e.withCtx(()=>[t.level!==2&&l.value.fixed!=="left"?(e.openBlock(),e.createBlock(e.unref(r.Tooltip),{key:0,title:e.unref(c)("ap.apTable.setting.fixToLeft")},{default:e.withCtx(()=>[e.createVNode(e.unref(i.VerticalAlignTopOutlined),{rotate:270,class:e.normalizeClass(e.unref(n)("action-icon")),onClick:v},null,8,["class"])]),_:1},8,["title"])):e.createCommentVNode("",!0),t.level!==2&&l.value.fixed?(e.openBlock(),e.createBlock(e.unref(r.Tooltip),{key:1,title:e.unref(c)("ap.apTable.setting.unFixed")},{default:e.withCtx(()=>[e.createVNode(e.unref(i.VerticalAlignMiddleOutlined),{class:e.normalizeClass(e.unref(n)("action-icon")),onClick:N},null,8,["class"])]),_:1},8,["title"])):e.createCommentVNode("",!0),t.level!==2&&l.value.fixed!=="right"?(e.openBlock(),e.createBlock(e.unref(r.Tooltip),{key:2,title:e.unref(c)("ap.apTable.setting.fixToRight")},{default:e.withCtx(()=>[e.createVNode(e.unref(i.VerticalAlignTopOutlined),{rotate:90,class:e.normalizeClass(e.unref(n)("action-icon")),onClick:V},null,8,["class"])]),_:1},8,["title"])):e.createCommentVNode("",!0),l.value.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(r.Tooltip),{key:3,title:e.unref(c)("ap.apTable.setting.delete")},{default:e.withCtx(()=>[e.createVNode(e.unref(i.DeleteOutlined),{class:e.normalizeClass(e.unref(n)("action-icon")),onClick:x},null,8,["class"])]),_:1},8,["title"]))]),_:1})],2)],2)}}});exports.default=E;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("@aplus-frontend/antdv"),i=require("@ant-design/icons-vue");require("../../../../config-provider/index.js");const b=require("../sorter/context.js"),B=require("../images/icon_carst_down.svg.js"),w=require("../images/icon_fill_right.svg.js"),_=require("../utils.js"),z=require("../../../../config-provider/hooks/use-namespace.js"),q=require("../../../../config-provider/hooks/use-locale.js"),y=["src"],E=e.defineComponent({__name:"item",props:{value:{},"onUpdate:value":{type:Function},level:{},open:{type:Boolean}},emits:["update:open","update:value"],setup(d,{emit:f}){const t=d,p=f,{b:n,be:s,is:m}=z.useNamespace("sortable-item-meta"),{fixedToLeft:h,fixedToRight:C,unFixed:k}=b.useInjectSorterMethods(),{t:c}=q.useLocale();function u(l){var a;const o=t.value;return o.fixed=l,(a=o.children)==null||a.forEach(T=>T.fixed=l),o}function v(){const l=u("left");h(l)}function V(){const l=u("right");C(l)}function g(){const l=u(void 0);k(l)}function N(){p("update:open",!t.open)}function x(){var o;const l=t.value;l.show=!1,(o=l.children)==null||o.forEach(a=>a.show=!1)}return(l,o)=>{var a;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(n)())},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n)("left"))},[e.createVNode(e.unref(i.HolderOutlined),{class:e.normalizeClass(e.unref(s)("left","holder")),style:{"font-size":"16px",color:"#abb7cc"}},null,8,["class"]),e.createElementVNode("span",{class:e.normalizeClass(e.unref(s)("left","indicator")),onClick:N},[(a=l.value.children)!=null&&a.length?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.open?e.unref(w.default):e.unref(B.default)},null,8,y)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass([e.unref(s)("left","label-wrapper"),e.unref(m)("level2",t.level===2)])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(_.getLabelRenderNode)(l.value.label))))],2)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n)("right"))},[e.createVNode(e.unref(r.Space),null,{default:e.withCtx(()=>[t.level!==2&&l.value.fixed!=="left"?(e.openBlock(),e.createBlock(e.unref(r.Tooltip),{key:0,title:e.unref(c)("ap.apTable.setting.fixToLeft")},{default:e.withCtx(()=>[e.createVNode(e.unref(i.VerticalAlignTopOutlined),{rotate:270,class:e.normalizeClass(e.unref(n)("action-icon")),onClick:v},null,8,["class"])]),_:1},8,["title"])):e.createCommentVNode("",!0),t.level!==2&&l.value.fixed?(e.openBlock(),e.createBlock(e.unref(r.Tooltip),{key:1,title:e.unref(c)("ap.apTable.setting.unFixed")},{default:e.withCtx(()=>[e.createVNode(e.unref(i.VerticalAlignMiddleOutlined),{class:e.normalizeClass(e.unref(n)("action-icon")),onClick:g},null,8,["class"])]),_:1},8,["title"])):e.createCommentVNode("",!0),t.level!==2&&l.value.fixed!=="right"?(e.openBlock(),e.createBlock(e.unref(r.Tooltip),{key:2,title:e.unref(c)("ap.apTable.setting.fixToRight")},{default:e.withCtx(()=>[e.createVNode(e.unref(i.VerticalAlignTopOutlined),{rotate:90,class:e.normalizeClass(e.unref(n)("action-icon")),onClick:V},null,8,["class"])]),_:1},8,["title"])):e.createCommentVNode("",!0),l.value.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(r.Tooltip),{key:3,title:e.unref(c)("ap.apTable.setting.delete")},{default:e.withCtx(()=>[e.createVNode(e.unref(i.DeleteOutlined),{class:e.normalizeClass(e.unref(n)("action-icon")),onClick:x},null,8,["class"])]),_:1},8,["title"]))]),_:1})],2)],2)}}});exports.default=E;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("@aplus-frontend/antdv");require("../select-group/index.vue.js");const _=require("../../../context.js"),g=require("../utils.js"),v=require("../select-group/index.vue2.js"),B=e.defineComponent({__name:"index",props:{value:{}},setup(a){const u=a,{columnsBackup:k}=_.useInjectApTable(),f=e.computed(()=>[...e.unref(k)||[]].sort((t,n)=>{var r,c,i,s;return(r=t.children)!=null&&r.length&&!((c=n.children)!=null&&c.length)?1:!((i=t.children)!=null&&i.length)&&((s=n.children)!=null&&s.length)?-1:0}));function d(o){return u.value.find(t=>t.key===o.key)}function p(o){const t=d(o);return{checked:t==null?void 0:t.show,disabled:t==null?void 0:t.disabled}}function h(o,t){const n=u.value,r=n==null?void 0:n.find(c=>c.key===o);r&&(r.show=t)}return(o,t)=>(e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(l.Row),{gutter:[24,16],align:"middle"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,n=>{var r;return e.openBlock(),e.createElementBlock(e.Fragment,{key:n.key},[(r=n.children)!=null&&r.length?(e.openBlock(),e.createBlock(e.unref(l.Col),{key:1,span:24},{default:e.withCtx(()=>[e.createVNode(v.default,{value:d(n)},null,8,["value"])]),_:2},1024)):(e.openBlock(),e.createBlock(e.unref(l.Col),{key:0,span:8},{default:e.withCtx(()=>[e.createVNode(e.unref(l.Checkbox),e.mergeProps({ref_for:!0},p(n),{"onUpdate:checked":c=>h(n.key,c)}),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(g.cloneLabelNode)(n.title))))]),_:2},1040,["onUpdate:checked"])]),_:2},1024))],64)}),128))]),_:1})]))}});exports.default=B;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("@aplus-frontend/antdv");require("../select-group/index.vue.js");const g=require("../../../context.js"),v=require("../utils.js"),B=require("../select-group/index.vue2.js"),C=e.defineComponent({__name:"index",props:{value:{}},setup(a){const u=a,{columnsBackup:f,renderConfig:k}=g.useInjectApTable(),p=e.computed(()=>[...e.unref(f)||[]].sort((t,n)=>{var r,c,i,s;return(r=t.children)!=null&&r.length&&!((c=n.children)!=null&&c.length)?1:!((i=t.children)!=null&&i.length)&&((s=n.children)!=null&&s.length)?-1:0}));function d(o){return u.value.find(t=>t.key===o.key)}function h(o){const t=d(o);return{checked:t==null?void 0:t.show,disabled:t==null?void 0:t.disabled}}function _(o,t){const n=u.value,r=n==null?void 0:n.find(c=>c.key===o);r&&(r.show=t)}return(o,t)=>(e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(l.Row),{gutter:[24,16],align:"middle"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,n=>{var r;return e.openBlock(),e.createElementBlock(e.Fragment,{key:n.key},[(r=n.children)!=null&&r.length?(e.openBlock(),e.createBlock(e.unref(l.Col),{key:1,span:24},{default:e.withCtx(()=>[e.createVNode(B.default,{value:d(n)},null,8,["value"])]),_:2},1024)):(e.openBlock(),e.createBlock(e.unref(l.Col),{key:0,span:8},{default:e.withCtx(()=>[e.createVNode(e.unref(l.Checkbox),e.mergeProps({ref_for:!0},h(n),{"onUpdate:checked":c=>_(n.key,c)}),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(v.getLabelNode)(n,e.unref(k)))))]),_:2},1040,["onUpdate:checked"])]),_:2},1024))],64)}),128))]),_:1})]))}});exports.default=C;
@@ -1,5 +1,8 @@
1
1
  import { ColumnsType } from '@aplus-frontend/antdv/es/table';
2
- import { ApColumnState, ApTableSettingDefaultValueType } from '../../interface';
2
+ import { ApColumnState, ApTableContextRenderConfig, ApTableSettingDefaultValueType } from '../../interface';
3
+ import { VNode, RendererNode, RendererElement, VNodeArrayChildren } from 'vue';
4
+ import { ColumnTitleProps } from '@aplus-frontend/antdv/es/table/interface';
5
+ import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
3
6
  /**
4
7
  * 根据列状态重新生成表格列配置
5
8
  * @param columns 表格列数组
@@ -9,12 +12,21 @@ import { ApColumnState, ApTableSettingDefaultValueType } from '../../interface';
9
12
  export default function generateColumnsByColumnState(columns: ColumnsType, columnStateList: ApColumnState[]): ColumnsType;
10
13
  export declare function customCloneColumnStates<T extends ApColumnState | ApColumnState[]>(columnStates: T): T;
11
14
  /**
12
- * 克隆列设置用的label
15
+ * 获取基于title设置的label节点
13
16
  * @param node
14
17
  * @param overrideProps
15
18
  * @returns
16
19
  */
17
- export declare function cloneLabelNode(node: any): any;
20
+ export declare function getLabelNode(column: any, renderConfig?: ApTableContextRenderConfig): number | boolean | void | VNode<RendererNode, RendererElement, {
21
+ [key: string]: any;
22
+ }> | VNodeArrayChildren | ((props: ColumnTitleProps<any>) => VNodeArrayChildren | VueNode) | null;
23
+ /**
24
+ * 获取最终用于渲染的节点
25
+ * @param node
26
+ * @param overrideProps
27
+ * @returns
28
+ */
29
+ export declare function getLabelRenderNode(node: any): any;
18
30
  /**
19
31
  * 生成可用于缓存的列状态对象
20
32
  * @param columnStates
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("lodash-unified"),s=require("vue");function c(e,i){var o;const n=[];for(const t of i){const l=e.find(r=>r.key===t.key);if((o=t.children)!=null&&o.length){const r=c(l.children,t.children);r.length&&n.push({...l,fixed:t.fixed,children:r})}else{if(!t.show)continue;n.push({...l,fixed:t.fixed})}}return n}function f(e){return u.cloneDeepWith(e,(i,n)=>{if(n==="label")return i})}function a(e){return s.isVNode(e)?e:u.isArray(e)?e[0]:e}function d(e){function i(n){const o={};return n.forEach((t,l)=>{var r;o[t.key]={...u.omit(t,["label","key","children"]),order:l,children:(r=t.children)!=null&&r.length?i(t.children):void 0}}),o}return i(e)}exports.cloneLabelNode=a;exports.customCloneColumnStates=f;exports.default=c;exports.getColumnStateString=d;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("lodash-unified"),s=require("vue"),a=require("../../utils.js");function c(e,t){var n;const i=[];for(const l of t){const u=e.find(r=>r.key===l.key);if((n=l.children)!=null&&n.length){const r=c(u.children,l.children);r.length&&i.push({...u,fixed:l.fixed,children:r})}else{if(!l.show)continue;i.push({...u,fixed:l.fixed})}}return i}function d(e){return o.cloneDeepWith(e,(t,i)=>{if(i==="label")return t})}function h(e,t){const i=e.title,n=o.isArray(i)?i[0]:i;return s.isVNode(n)?n:a.getTableTitle(e,(t==null?void 0:t.className)||"",void 0,t==null?void 0:t.color)}function f(e){return s.isVNode(e)?e:o.isArray(e)?e[0]:e}function m(e){function t(i){const n={};return i.forEach((l,u)=>{var r;n[l.key]={...o.omit(l,["label","key","children"]),order:u,children:(r=l.children)!=null&&r.length?t(l.children):void 0}}),n}return t(e)}exports.customCloneColumnStates=d;exports.default=c;exports.getColumnStateString=m;exports.getLabelNode=h;exports.getLabelRenderNode=f;
@@ -1,6 +1,6 @@
1
1
  import { ColumnType } from '@aplus-frontend/antdv/es/table';
2
2
  import { ComputedRef, InjectionKey } from 'vue';
3
- import { ApTableProps } from './interface';
3
+ import { ApTableContextRenderConfig, ApTableProps } from './interface';
4
4
  type TableSize = ApTableProps['size'];
5
5
  type ApTableContextProps<RecordType> = {
6
6
  /**
@@ -25,6 +25,7 @@ type ApTableContextProps<RecordType> = {
25
25
  size?: ComputedRef<TableSize>;
26
26
  updateSize?: (nextSize: TableSize) => void;
27
27
  dataSource?: ComputedRef<RecordType[]>;
28
+ renderConfig?: ComputedRef<ApTableContextRenderConfig>;
28
29
  };
29
30
  export declare const ApTableContextKey: InjectionKey<ApTableContextProps<any>>;
30
31
  export declare function useProvideApTable<ModelType>(state: ApTableContextProps<ModelType>): void;