fourteendp
2024-07-04 64a4992a84dadb33614e937f5d7464dcd312a1bd
提交 | 用户 | age
6753e2 1 import {
L 2   FormItemContentRenderParams,
64a499 3   VxeFormItemPropTypes,
6753e2 4   VxeGlobalRendererHandles,
64a499 5   VxeGlobalRendererOptions,
6753e2 6 } from 'vxe-table';
L 7 import { createDefaultRender, createEditRender, createFormItemRender } from './AButton';
8
9 function createEditButtonRender() {
10   return function (
64a499 11     renderOpts: VxeGlobalRendererHandles.RenderTableEditOptions,
F 12     params: VxeGlobalRendererHandles.RenderTableEditParams,
6753e2 13   ) {
L 14     const buttonEditRender = createEditRender();
15     const { children } = renderOpts;
16     if (children) {
17       return children.map(
64a499 18         (childRenderOpts: VxeGlobalRendererHandles.RenderTableEditOptions) =>
6753e2 19           buttonEditRender(childRenderOpts, params)[0],
L 20       );
21     }
22     return [];
23   };
24 }
25
26 function createDefaultButtonRender() {
27   return function (
28     renderOpts: VxeGlobalRendererHandles.RenderDefaultOptions,
64a499 29     params: VxeGlobalRendererHandles.RenderTableDefaultParams,
6753e2 30   ) {
L 31     const buttonDefaultRender = createDefaultRender();
32     const { children } = renderOpts;
33     if (children) {
34       return children.map(
35         (childRenderOpts: VxeGlobalRendererHandles.RenderDefaultOptions) =>
36           buttonDefaultRender(childRenderOpts, params)[0],
37       );
38     }
39     return [];
40   };
41 }
42
43 function createButtonItemRender() {
64a499 44   return function (
F 45     renderOpts: VxeFormItemPropTypes.ItemRender,
46     params: FormItemContentRenderParams,
47   ) {
6753e2 48     const buttonItemRender = createFormItemRender();
L 49     const { children } = renderOpts;
50     if (children) {
51       return children.map(
64a499 52         (childRenderOpts: VxeFormItemPropTypes.ItemRender) =>
F 53           buttonItemRender(childRenderOpts, params)[0],
6753e2 54       );
L 55     }
56     return [];
57   };
58 }
59
60 export default {
64a499 61   renderTableEdit: createEditButtonRender(),
F 62   renderTableDefault: createDefaultButtonRender(),
63   renderFormItemContent: createButtonItemRender(),
64 } as VxeGlobalRendererOptions;