1 | import { CreateElement, VNode } from 'vue'
|
2 | import { RowInfo } from '../component'
|
3 | import { Table } from '../table'
|
4 | import { Grid } from '../grid'
|
5 | import { ColumnInfo, ColumnCellRenderOptions, ColumnContentRenderOptions } from '../column'
|
6 | import { ColumnExportCellRenderParams, ColumnExportFooterRenderParams } from '../export'
|
7 | import { ColumnEditRenderOptions, ColumnEditRenderParams } from '../edit'
|
8 | import { ColumnFooterRenderParams } from '../footer'
|
9 | import { ColumnFilterRenderOptions, ColumnFilterRenderParams, ColumnFilterMethodParams, ColumnFilterResetParams } from '../filter'
|
10 | import { ToolbarButtonRenderOptions, ToolbarButtonRenderParams, ToolbarToolRenderOptions, ToolbarToolRenderParams } from '../toolbar'
|
11 | import { FormItemRenderOptions, FormItemRenderParams, FormItemVisibleParams, FormItemResetParams } from '../form-item'
|
12 |
|
13 |
|
14 |
|
15 |
|
16 | export interface VxeGlobalRenderer {
|
17 | mixin(map: { [name: string]: RendererMapOptions }): VxeGlobalRenderer;
|
18 | get(name: string): RendererMapOptions;
|
19 | add(name: string, options: RendererMapOptions): VxeGlobalRenderer;
|
20 | delete(name: string): VxeGlobalRenderer;
|
21 | }
|
22 |
|
23 | export interface RendererMapOptions {
|
24 |
|
25 | className?: string;
|
26 | isFooter?: boolean;
|
27 | renderFilter?(h: CreateElement, renderOpts: ColumnFilterRenderOptions, params: ColumnFilterRenderParams): VNode[] | string[];
|
28 | filterMethod?(params: ColumnFilterMethodParams): boolean;
|
29 | filterResetMethod?(params: ColumnFilterResetParams): void;
|
30 |
|
31 | defaultFilterMethod?(params: ColumnFilterMethodParams): boolean;
|
32 |
|
33 |
|
34 | renderHeader?(h: CreateElement, renderOpts: ColumnCellRenderOptions | ColumnEditRenderOptions, params: ColumnCellRenderParams | ColumnEditRenderParams): VNode[] | string[];
|
35 | renderDefault?(h: CreateElement, renderOpts: ColumnCellRenderOptions | ColumnEditRenderOptions, params: ColumnCellRenderParams | ColumnEditRenderParams): VNode[] | string[];
|
36 | renderFooter?(h: CreateElement, renderOpts: ColumnCellRenderOptions | ColumnEditRenderOptions, params: ColumnFooterRenderParams): VNode[] | string[];
|
37 | exportMethod?(params: ColumnExportCellRenderParams): string;
|
38 | footerExportMethod?(params: ColumnExportFooterRenderParams): string;
|
39 |
|
40 |
|
41 | autofocus?: string;
|
42 | renderEdit?(h: CreateElement, renderOpts: ColumnCellRenderOptions | ColumnEditRenderOptions, params: ColumnCellRenderParams | ColumnEditRenderParams): VNode[] | string[];
|
43 | renderCell?(h: CreateElement, renderOpts: ColumnCellRenderOptions | ColumnEditRenderOptions, params: ColumnCellRenderParams | ColumnEditRenderParams): VNode[] | string[];
|
44 |
|
45 |
|
46 | renderExpand?(h: CreateElement, renderOpts: ColumnContentRenderOptions, params: ColumnCellRenderParams | ColumnEditRenderParams): VNode[] | string[];
|
47 |
|
48 |
|
49 | renderToolbarButton?(h: CreateElement, renderOpts: ToolbarButtonRenderOptions, params: ToolbarButtonRenderParams): VNode[] | string[];
|
50 | renderToolbarTool?(h: CreateElement, renderOpts: ToolbarToolRenderOptions, params: ToolbarToolRenderParams): VNode[] | string[];
|
51 |
|
52 |
|
53 | renderItemTitle?(h: CreateElement, renderOpts: FormItemRenderOptions, params: FormItemRenderParams): VNode[] | string[];
|
54 | renderItemContent?(h: CreateElement, renderOpts: FormItemRenderOptions, params: FormItemRenderParams): VNode[] | string[];
|
55 | itemVisibleMethod?(params: FormItemVisibleParams): boolean;
|
56 | itemResetMethod?(params: FormItemResetParams): void;
|
57 |
|
58 |
|
59 | renderEmpty?(h: CreateElement, renderOpts: TableEmptyRender, params: EmptyRenderParams): VNode[] | string[];
|
60 |
|
61 | [key: string]: any;
|
62 | }
|
63 |
|
64 |
|
65 |
|
66 |
|
67 | export class RenderOptions {
|
68 | |
69 |
|
70 |
|
71 | name?: string;
|
72 | |
73 |
|
74 |
|
75 | props?: { [key: string]: any };
|
76 | |
77 |
|
78 |
|
79 | attrs?: { [key: string]: any };
|
80 | |
81 |
|
82 |
|
83 | events?: { [key: string]: Function };
|
84 | |
85 |
|
86 |
|
87 | nativeEvents?: { [key: string]: Function };
|
88 | [key: string]: any;
|
89 | }
|
90 |
|
91 |
|
92 |
|
93 |
|
94 | export class RenderParams {}
|
95 |
|
96 |
|
97 |
|
98 |
|
99 | export interface OptionProps extends RenderParams {
|
100 | value?: string;
|
101 | label?: string;
|
102 | [key: string]: any;
|
103 | }
|
104 |
|
105 |
|
106 |
|
107 |
|
108 | export interface OptionGroupProps extends RenderParams {
|
109 | options?: string;
|
110 | label?: string;
|
111 | [key: string]: any;
|
112 | }
|
113 |
|
114 |
|
115 |
|
116 |
|
117 | export interface ColumnCellRenderParams extends TableRenderParams {
|
118 | |
119 |
|
120 |
|
121 | column: ColumnInfo;
|
122 | |
123 |
|
124 |
|
125 | columnIndex: number;
|
126 | |
127 |
|
128 |
|
129 | $columnIndex: number;
|
130 | |
131 |
|
132 |
|
133 | row: RowInfo;
|
134 | |
135 |
|
136 |
|
137 | rowIndex: number;
|
138 | |
139 |
|
140 |
|
141 | $rowIndex: number;
|
142 | isHidden: boolean;
|
143 | fixed: string;
|
144 | type: string;
|
145 | }
|
146 |
|
147 |
|
148 |
|
149 |
|
150 | export class TableEmptyRender extends RenderOptions { }
|
151 |
|
152 | export class TableRenderParams extends RenderParams {
|
153 | |
154 |
|
155 |
|
156 | $table: Table;
|
157 | }
|
158 |
|
159 | export class GridRenderParams extends TableRenderParams {
|
160 | |
161 |
|
162 |
|
163 | $grid: Grid;
|
164 | }
|
165 |
|
166 | export class EmptyRenderParams extends TableRenderParams { }
|
167 |
|
168 | export interface ColumnDefaultSlotParams extends ColumnCellRenderParams { }
|
169 | export interface ColumnContentSlotParams extends ColumnContentRenderParams { }
|
170 | export interface ColumnIconSlotParams extends ColumnIconRenderParams { }
|
171 |
|
172 | export interface ColumnContentRenderParams extends ColumnCellRenderParams { }
|
173 | export interface ColumnIconRenderParams extends ColumnCellRenderParams { }
|