@juzhenfe/page-model 3.21.14 → 3.22.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 (135) hide show
  1. package/dist/index.es.js +9723 -14542
  2. package/dist/index.min.css +2 -1
  3. package/dist/index.umd.js +2 -7
  4. package/dist/{components → src/components}/buttons-renderer/utils/index.d.ts +2 -2
  5. package/dist/{components → src/components}/editable-table/index.d.ts +15 -14
  6. package/dist/{components → src/components}/form/components/column-tools/use-setting.d.ts +14 -14
  7. package/dist/src/components/form/components/section-config/merge.d.ts +3 -0
  8. package/dist/src/components/form/components/section-config/use.d.ts +14 -0
  9. package/dist/{components → src/components}/form/constructor.d.ts +83 -82
  10. package/dist/{components → src/components}/form/index.d.ts +5 -4
  11. package/dist/{components → src/components}/form/utils/save-columns.d.ts +30 -30
  12. package/dist/{components → src/components}/form/utils/use-form-els.d.ts +4 -4
  13. package/dist/{components → src/components}/form-dialog/use-move.d.ts +19 -19
  14. package/dist/{components → src/components}/page-model/components/top-tabs/constructor.d.ts +12 -11
  15. package/dist/{components → src/components}/page-model/constructor.d.ts +163 -162
  16. package/dist/{components → src/components}/page-model/index.d.ts +6 -5
  17. package/dist/{components → src/components}/page-model/patches/patch-config-urls.d.ts +2 -2
  18. package/dist/{components → src/components}/page-model/patches/patch-default-config.d.ts +2 -2
  19. package/dist/{components → src/components}/page-model/patches/patch-selectable.d.ts +2 -2
  20. package/dist/{components → src/components}/page-model/patches/patch-size.d.ts +2 -2
  21. package/dist/{components → src/components}/page-model/patches/patch-table-dragable.d.ts +2 -2
  22. package/dist/{components → src/components}/page-model/patches/patch-user-config.d.ts +2 -2
  23. package/dist/{components → src/components}/page-model/utils/default-config.d.ts +1 -1
  24. package/dist/{components → src/components}/page-model/utils/default-excel-export-config.d.ts +1 -1
  25. package/dist/{components → src/components}/page-model/utils/default-style-config.d.ts +1 -1
  26. package/dist/{components → src/components}/page-model/utils/default-text-config.d.ts +1 -1
  27. package/dist/{components → src/components}/page-model/utils/default-user-setting.d.ts +1 -1
  28. package/dist/{components → src/components}/page-model/utils/error-handler.d.ts +1 -1
  29. package/dist/{components → src/components}/page-model/utils/manager-controller.d.ts +49 -51
  30. package/dist/{components → src/components}/page-model/utils/patch-config.d.ts +3 -2
  31. package/dist/{components → src/components}/page-model/utils/use-auth-buttons.d.ts +9 -8
  32. package/dist/{components → src/components}/page-model/utils/use-keyboard-event.d.ts +9 -9
  33. package/dist/{components → src/components}/search-form/constructor.d.ts +24 -23
  34. package/dist/{components → src/components}/search-form/use-detect-item-width.d.ts +7 -6
  35. package/dist/{components → src/components}/table/components/column-tools/use-setting.d.ts +14 -14
  36. package/dist/{components → src/components}/table/components/column-tools/use-user-config.d.ts +14 -14
  37. package/dist/{components → src/components}/table/components/column-tools/use-user-show-row-config.d.ts +35 -35
  38. package/dist/{components → src/components}/table/components/export-form/use.d.ts +18 -17
  39. package/dist/{components → src/components}/table/components/selections-table/use.d.ts +15 -15
  40. package/dist/{components → src/components}/table/components/table-column/components/filter-zone/utils/index.d.ts +69 -69
  41. package/dist/{components → src/components}/table/constructor.d.ts +347 -339
  42. package/dist/{components → src/components}/table/utils/save-column-filter.d.ts +2 -2
  43. package/dist/{components → src/components}/table/utils/save-column-sort.d.ts +2 -2
  44. package/dist/{components → src/components}/table/utils/save-columns.d.ts +38 -38
  45. package/dist/{components → src/components}/table/utils/save-config.d.ts +6 -6
  46. package/dist/{components → src/components}/table/utils/use-column-drag.d.ts +8 -8
  47. package/dist/{components → src/components}/table/utils/use-listen-scroll.d.ts +7 -9
  48. package/dist/{components → src/components}/table/utils/use-static-summary.d.ts +13 -15
  49. package/dist/{components → src/components}/table/utils/use-table-config-change.d.ts +7 -9
  50. package/dist/{components → src/components}/table/utils/use-table-els.d.ts +6 -8
  51. package/dist/{main.d.ts → src/main.d.ts} +22 -21
  52. package/dist/{utils → src/utils}/config-saver.d.ts +51 -51
  53. package/dist/{utils → src/utils}/define-config.d.ts +3 -2
  54. package/dist/{utils → src/utils}/event-chain.d.ts +9 -9
  55. package/dist/{utils → src/utils}/event-emitter.d.ts +7 -7
  56. package/dist/{utils → src/utils}/index.d.ts +103 -102
  57. package/dist/src/utils/infinite-table.d.ts +49 -0
  58. package/dist/{utils → src/utils}/manager.d.ts +17 -16
  59. package/dist/{utils → src/utils}/provide-keys.d.ts +20 -20
  60. package/dist/{utils → src/utils}/reflect/index.d.ts +17 -16
  61. package/dist/{utils → src/utils}/reflect/reflect-collector.d.ts +25 -25
  62. package/dist/{utils → src/utils}/resize.d.ts +4 -3
  63. package/package.json +5 -6
  64. package/dist/components/buttons-renderer/components/button-item-render/index.vue.d.ts +0 -35
  65. package/dist/components/buttons-renderer/index.vue.d.ts +0 -85
  66. package/dist/components/column-filter-tools/index.vue.d.ts +0 -148
  67. package/dist/components/column-sort-tools/index.vue.d.ts +0 -170
  68. package/dist/components/draggable-list/index.vue.d.ts +0 -39
  69. package/dist/components/editable-table/components/table-cell/index.vue.d.ts +0 -12
  70. package/dist/components/form/components/col-container/components/module-container/index.vue.d.ts +0 -156
  71. package/dist/components/form/components/col-container/components/section-title-els/index.vue.d.ts +0 -45
  72. package/dist/components/form/components/col-container/components/tabs-mode-container/index.vue.d.ts +0 -100
  73. package/dist/components/form/components/col-container/index.vue.d.ts +0 -236
  74. package/dist/components/form/components/container-component/index.vue.d.ts +0 -281
  75. package/dist/components/form/type.d.ts +0 -167
  76. package/dist/components/form-container/components/dialog-mode/index.vue.d.ts +0 -116
  77. package/dist/components/form-container/components/drawer-mode/index.vue.d.ts +0 -123
  78. package/dist/components/form-container/components/full-page/index.vue.d.ts +0 -39
  79. package/dist/components/form-container/index.vue.d.ts +0 -35
  80. package/dist/components/form-dialog/index.vue.d.ts +0 -79
  81. package/dist/components/form-drawer/index.vue.d.ts +0 -83
  82. package/dist/components/form-item-renderer/index.vue.d.ts +0 -74
  83. package/dist/components/line-clamp-tools/index.vue.d.ts +0 -103
  84. package/dist/components/normal-tab/index.vue.d.ts +0 -35
  85. package/dist/components/normal-tab/type.d.ts +0 -18
  86. package/dist/components/page-model/components/selectable-operate/index.vue.d.ts +0 -120
  87. package/dist/components/page-model/components/top-tabs/index.vue.d.ts +0 -42
  88. package/dist/components/page-model/components/top-tabs/type.d.ts +0 -11
  89. package/dist/components/page-model/index.vue.d.ts +0 -2
  90. package/dist/components/page-model/type.d.ts +0 -344
  91. package/dist/components/scenes-tab/index.vue.d.ts +0 -4
  92. package/dist/components/scenes-tab/type.d.ts +0 -14
  93. package/dist/components/search-form/components/search-form-full/index.vue.d.ts +0 -174
  94. package/dist/components/search-form/type.d.ts +0 -42
  95. package/dist/components/simple-popover/index.vue.d.ts +0 -68
  96. package/dist/components/table/components/context-column-summary/index.vue.d.ts +0 -102
  97. package/dist/components/table/components/context-menu/index.vue.d.ts +0 -184
  98. package/dist/components/table/components/empty-data/index.vue.d.ts +0 -12
  99. package/dist/components/table/components/selections-table/index.vue.d.ts +0 -2
  100. package/dist/components/table/components/table-column/components/filter-zone/index.vue.d.ts +0 -109
  101. package/dist/components/table/components/table-column/index.vue.d.ts +0 -338
  102. package/dist/components/table/components/table-wrap/index.vue.d.ts +0 -16
  103. package/dist/components/table/index.vue.d.ts +0 -2
  104. package/dist/components/table/type.d.ts +0 -360
  105. package/dist/components/table-cell-renderer/index.vue.d.ts +0 -57
  106. package/dist/components/table-toolsbox/index.vue.d.ts +0 -101
  107. package/dist/types/common.d.ts +0 -484
  108. package/dist/types/form-item-types/cascader.d.ts +0 -38
  109. package/dist/types/form-item-types/checkbox-group.d.ts +0 -19
  110. package/dist/types/form-item-types/color-picker.d.ts +0 -21
  111. package/dist/types/form-item-types/date-picker.d.ts +0 -46
  112. package/dist/types/form-item-types/input-number.d.ts +0 -15
  113. package/dist/types/form-item-types/input.d.ts +0 -16
  114. package/dist/types/form-item-types/jz-a-map.d.ts +0 -14
  115. package/dist/types/form-item-types/jz-cascader.d.ts +0 -20
  116. package/dist/types/form-item-types/jz-city-picker.d.ts +0 -27
  117. package/dist/types/form-item-types/jz-ck-editor.d.ts +0 -27
  118. package/dist/types/form-item-types/jz-editor.d.ts +0 -20
  119. package/dist/types/form-item-types/jz-file-upload.d.ts +0 -20
  120. package/dist/types/form-item-types/jz-img-upload.d.ts +0 -23
  121. package/dist/types/form-item-types/jz-long-input.d.ts +0 -10
  122. package/dist/types/form-item-types/jz-td-map.d.ts +0 -13
  123. package/dist/types/form-item-types/no-e-type.d.ts +0 -12
  124. package/dist/types/form-item-types/radio-group.d.ts +0 -17
  125. package/dist/types/form-item-types/rate.d.ts +0 -30
  126. package/dist/types/form-item-types/select-v2.d.ts +0 -47
  127. package/dist/types/form-item-types/select.d.ts +0 -43
  128. package/dist/types/form-item-types/slider.d.ts +0 -31
  129. package/dist/types/form-item-types/switch.d.ts +0 -14
  130. package/dist/types/form-item-types/time-picker.d.ts +0 -41
  131. package/dist/types/form-item-types/time-select.d.ts +0 -30
  132. package/dist/types/renderer.d.ts +0 -9
  133. package/dist/types/shims-vue-property.d.ts +0 -7
  134. package/dist/types/shims-vue.d.ts +0 -7
  135. package/dist/types/window.d.ts +0 -10
@@ -1,484 +0,0 @@
1
- /// <reference path="../components/page-model/type.d.ts" />
2
- /// <reference path="./form-item-types/cascader.d.ts" />
3
- /// <reference path="./form-item-types/checkbox-group.d.ts" />
4
- /// <reference path="./form-item-types/input-number.d.ts" />
5
- /// <reference path="./form-item-types/input.d.ts" />
6
- /// <reference path="./form-item-types/no-e-type.d.ts" />
7
- /// <reference path="./form-item-types/select.d.ts" />
8
- /// <reference path="./form-item-types/color-picker.d.ts" />
9
- /// <reference path="./form-item-types/date-picker.d.ts" />
10
- /// <reference path="./form-item-types/radio-group.d.ts" />
11
- /// <reference path="./form-item-types/rate.d.ts" />
12
- /// <reference path="./form-item-types/select-v2.d.ts" />
13
- /// <reference path="./form-item-types/slider.d.ts" />
14
- /// <reference path="./form-item-types/switch.d.ts" />
15
- /// <reference path="./form-item-types/time-picker.d.ts" />
16
- /// <reference path="./form-item-types/time-select.d.ts" />
17
- /// <reference path="./form-item-types/jz-a-map.d.ts" />
18
- /// <reference path="./form-item-types/jz-td-map.d.ts" />
19
- /// <reference path="./form-item-types/jz-city-picker.d.ts" />
20
- /// <reference path="./form-item-types/jz-editor.d.ts" />
21
- /// <reference path="./form-item-types/jz-ck-editor.d.ts" />
22
- /// <reference path="./form-item-types/jz-img-upload.d.ts" />
23
- /// <reference path="./form-item-types/jz-file-upload.d.ts" />
24
- /// <reference path="./form-item-types/jz-cascader.d.ts" />
25
-
26
- import { ButtonProps } from 'element-plus'
27
- import { StyleValue, VNode } from 'vue'
28
- import { JSX } from 'vue/jsx-runtime'
29
-
30
- declare global {
31
- type AnyObject = {
32
- [key: string]: any
33
- }
34
-
35
- type ExtendKeys<T> = T & AnyObject
36
-
37
- type AnyFunction = (...args: any[]) => any
38
-
39
- type CreateDeType<T, CTX = any> = T | ((this: CTX, ...rest: any[]) => T)
40
-
41
- type CreateDePromiseResult<FN extends (...rest: any[]) => any> =
42
- | FN
43
- | ((
44
- this: ThisParameterType<FN>,
45
- ...rest: Parameters<FN>
46
- ) => Promise<ReturnType<FN>>)
47
-
48
- type FilterType = 'string' | 'number' | 'date' | 'boolean' | 'select' | 'list'
49
-
50
- namespace PageModel {
51
- type _ButtonProps = Omit<ButtonProps, 'icon'> & {
52
- icon: any
53
- title: string
54
- }
55
-
56
- type LinkedFormItem<MODEL = any, CTX = any> =
57
- | ElInput<MODEL, CTX>
58
- | ElInputNumber<MODEL, CTX>
59
- | ElCascader<MODEL, CTX>
60
- | ElCheckboxGroup<MODEL, CTX>
61
- | ElSelect<MODEL, CTX>
62
- | ElColorPicker<MODEL, CTX>
63
- | ElDatePicker<MODEL, CTX>
64
- | ElRadioboxGroup<MODEL, CTX>
65
- | ElRate<MODEL, CTX>
66
- | ElSelectV2<MODEL, CTX>
67
- | ElSlider<MODEL, CTX>
68
- | ElSwitch<MODEL, CTX>
69
- | ElTimePicker<MODEL, CTX>
70
- | ElTimeSelect<MODEL, CTX>
71
- | JuzhenAMap<MODEL, CTX>
72
- | JuzhenTdMap<MODEL, CTX>
73
- | JuzhenCascader<MODEL, CTX>
74
- | JuzhenCityPicker<MODEL, CTX>
75
- | JuzhenEditor<MODEL, CTX>
76
- | JuzhenCkEditor<MODEL, CTX>
77
- | JuzhenImgUpload<MODEL, CTX>
78
- | JuzhenFileUpload<MODEL, CTX>
79
- | NoEType<MODEL, CTX>
80
-
81
- type _Badge = {
82
- count?: number
83
- maxCount?: number
84
- }
85
-
86
- type _Button<MODEL = AnyObject, CTX = any> = {
87
- /**
88
- * 按钮的名称
89
- */
90
- text?: string
91
- /**
92
- * 自定义事件
93
- */
94
- event?: string
95
- /**
96
- * 按钮权限值(作为权限判断的依据)
97
- */
98
- authValue?: string
99
- isAdd?: boolean
100
- isEdit?: boolean
101
- isDel?: boolean
102
- isCopy?: boolean
103
- isImport?: boolean
104
- isShow?:
105
- | boolean
106
- | ((this: CTX, self: _Button, data: MODEL, index: number) => boolean)
107
- isDisabled?: (
108
- this: CTX,
109
- self: _Button,
110
- data: MODEL,
111
- index: number
112
- ) => boolean
113
- copyText?: CreateDeType<string>
114
- props?: Partial<_ButtonProps>
115
- customProps?: AnyObject
116
- renderFn?: (this: CTX, data: MODEL, index: number) => JSX.Element
117
- } & _Badge
118
-
119
- type Button<MODEL = AnyObject, CTX = any> = _Button<MODEL, CTX> & {
120
- children?: Omit<_Button, 'props' | 'isCopy' | 'copyText'>[]
121
- }
122
-
123
- // 表格表单元素
124
- type BaseElItem<MODEL = AnyObject> = {
125
- label?: string
126
- prop?: keyof MODEL extends string ? keyof MODEL : string
127
- _key?: string
128
- }
129
-
130
- interface ElFormItemProps {
131
- required?: boolean
132
- rules?: AnyObject
133
- error?: string
134
- inlineMessage?: boolean
135
- showMessage?: boolean
136
- size?: Size
137
- labelWidth?: string
138
- class?: string
139
- labelPosition?: 'left' | 'top'
140
- }
141
-
142
- // 表单的元素
143
- interface FormElBaseItem<MODEL = AnyObject, CTX = any>
144
- extends BaseElItem<MODEL> {
145
- /**
146
- * 当前组件的名称
147
- */
148
- name?: string
149
- /**
150
- * 标签宽度
151
- */
152
- labelWidth?: string
153
- /**
154
- * 前置文字
155
- */
156
- prefix?: CreateDeType<string, CTX>
157
- /**
158
- * 后置文字
159
- */
160
- suffix?: CreateDeType<string, CTX>
161
- /**
162
- * 提示文字
163
- */
164
- helpText?: CreateDeType<string, CTX>
165
- /**
166
- * 提示文字是否作为弹窗
167
- */
168
- helpTextAsTooltip?: boolean
169
- /**
170
- * 是否显示
171
- */
172
- isShow?:
173
- | boolean
174
- | ((
175
- this: CTX,
176
- self: FormElBaseItem<MODEL, CTX>,
177
- data: MODEL
178
- ) => boolean)
179
- /**
180
- * 值改变时触发
181
- */
182
- change?: (this: CTX, value: any, label: string) => void
183
- /**
184
- * 是否禁用
185
- */
186
- isDisabled?: (this: CTX, data: MODEL) => boolean
187
- /**
188
- * 自定义渲染
189
- */
190
- renderFn?: (this: CTX, data: MODEL) => JSX.Element
191
- /**
192
- * 表单项属性
193
- */
194
- formItemProps?: ElFormItemProps
195
- /**
196
- * 模块名称
197
- */
198
- moduleName?: string
199
- /**
200
- * 区块名称
201
- */
202
- sectionName?: string
203
- /**
204
- * 用户section配置
205
- */
206
- userSectionName?: string
207
- /**
208
- * 用户module配置
209
- */
210
- userModuleName?: string
211
- /**
212
- * 用户表格配置
213
- */
214
- userConfigShow?: boolean
215
- /**
216
- * 用户表头
217
- */
218
- userLabel?: string
219
- /**
220
- * 内部更新的propslist
221
- */
222
- _updateProps?: string[]
223
- }
224
-
225
- // 表格元素
226
- type TableColumnType = 'selection' | 'index' | 'expand'
227
-
228
- type SortOrders = 'ascending' | 'descending' | null
229
-
230
- type SortableType = 'custom'
231
-
232
- type Align = 'left' | 'center' | 'right'
233
-
234
- type DateFormat =
235
- | 'YYYY-MM'
236
- | 'MM-DD'
237
- | 'YYYY-MM-DD'
238
- | 'YYYY-MM-DD HH:mm'
239
- | 'YYYY-MM-DD HH:mm:ss'
240
- | 'YYYY/MM'
241
- | 'MM/DD'
242
- | 'YYYY/MM/DD'
243
- | 'YYYY/MM/DD HH:mm'
244
- | 'YYYY/MM/DD HH:mm:ss'
245
-
246
- interface TableBaseItemProps {
247
- type?: TableColumnType
248
- prop?: string
249
- className?: string
250
- labelClassName?: string
251
- width?: number | string
252
- minWidth?: number | string
253
- renderHeader?: ({
254
- column,
255
- $index,
256
- }: {
257
- column: any
258
- $index: number
259
- }) => any
260
- sortable?: boolean | SortableType
261
- sortMethod?: (a: any, b: any) => any
262
- sortBy?: string | ((row: any, index: number) => any) | string[]
263
- resizable?: boolean
264
- columnKey?: string
265
- align?: Align
266
- headerAlign?: Align
267
- showTooltipWhenOverflow?: boolean
268
- showOverflowTooltip?: boolean
269
- fixed?: true | 'left' | 'right'
270
- formatter?: (row: any, column: any, cellValue: any, index: number) => any
271
- selectable?: (row: any, index: number) => any
272
- reserveSelection?: boolean
273
- filterMethod?: (value: any, row: any, column: any) => any
274
- filteredValue?: any[]
275
- filters?: any[]
276
- filterPlacement?: string
277
- filterMultiple?: boolean
278
- index?: number | ((index: number) => any)
279
- sortOrders?: SortOrders[]
280
- }
281
-
282
- interface AscParams extends AnyObject {}
283
- interface DescParams extends AnyObject {}
284
- interface NoParams extends AnyObject {}
285
-
286
- interface TableBaseItem<MODEL = any, CTX = any> extends BaseElItem<MODEL> {
287
- /**
288
- * 表头小组件渲染
289
- */
290
- headerToolRenderFn?: (el: TableBaseItem<MODEL>, index: number) => VNode
291
- /**
292
- * 列渲染的唯一key
293
- */
294
- _columnKey?: string
295
- /**
296
- * 宽度
297
- */
298
- width?: string | number
299
- /**
300
- * 最小宽度
301
- */
302
- minWidth?: string | number
303
- /**
304
- * 定位
305
- */
306
- fixed?: 'left' | 'right' | boolean
307
- /**
308
- * 是否显示
309
- */
310
- isShow?:
311
- | boolean
312
- | ((this: CTX, self: TableBaseItem<MODEL, CTX>) => boolean)
313
- /**
314
- * 用户表格配置
315
- */
316
- userConfigShow?: boolean
317
- /**
318
- * 用户表头
319
- */
320
- userLabel?: string
321
- /**
322
- * 表格排序
323
- */
324
- sortValues?: [AscParams, DescParams] | [AscParams, DescParams, NoParams]
325
- /**
326
- * 列属性
327
- */
328
- props?: ConvertFunctionContext<TableBaseItemProps, CTX>
329
- /**
330
- * 自定义输入渲染
331
- */
332
- renderFn?: (this: CTX, data: MODEL, index: number) => JSX.Element
333
- /**
334
- * 自定义文本渲染
335
- */
336
- textRenderFn?: (this: CTX, data: MODEL, index: number) => JSX.Element
337
- /**
338
- * 是否启用过滤
339
- */
340
- filterable?: boolean
341
-
342
- /**
343
- * 过滤的选项
344
- */
345
- filters?: ExtendReflect<{
346
- /**
347
- * 过滤类型
348
- */
349
- filterType: FilterType
350
- /**
351
- * 复数过滤
352
- */
353
- filterMultiple?: boolean
354
- /**
355
- * 过滤表单文本
356
- */
357
- filterLabel?: string
358
- /**
359
- * 过滤选项
360
- */
361
- filterOptions?: Array<{
362
- label: string
363
- value: string | number | boolean
364
- }>
365
- /**
366
- * 获取过滤选项
367
- */
368
- getFilterOptions?: (this: CTX) => Promise<{
369
- label: string
370
- value: string | number | boolean
371
- }[]>
372
- }>
373
-
374
- /**
375
- * 是否必填
376
- */
377
- required?: boolean
378
- /**
379
- * 是否直接显示编辑组件
380
- */
381
- showEdit?: boolean
382
- /**
383
- * 内置编辑组件
384
- */
385
- editData?: FormItem<MODEL, CTX> & {
386
- api?: string | ((this: CTX, data: MODEL) => string)
387
- method?: PageModel.AjaxMethod
388
- beforeSubmit?: CreateDePromiseResult<
389
- (this: CTX, data: MODEL) => AnyObject | false
390
- >
391
- isDisabled?: (this: CTX, data: MODEL) => boolean
392
- /**
393
- * 自定义更新请求
394
- * @param this table
395
- * @param data 请求的数据
396
- * @returns 是否成功
397
- */
398
- customUpdate?: (this: CTX, data: MODEL) => Promise<boolean | void>
399
- /**
400
- * 触发的弹窗名称
401
- */
402
- triggerPoperClassName?: string
403
- }
404
- // 子元素
405
- children?: Omit<TableBaseItem<MODEL, CTX>, 'children'>[]
406
- // 自定义属性
407
- customProps?: AnyObject
408
- // 帮助文本
409
- helpText?: string
410
- // 显示合计
411
- showSummary?: number | string
412
- /**
413
- * 显示的行数
414
- */
415
- showRowNumbers?: number
416
- /**
417
- * 图标
418
- */
419
- icon?: any
420
- }
421
-
422
- interface TableVirtualBaseItem<MODEL = any, CTX = any>
423
- extends TableBaseItem<MODEL, CTX> {
424
- title?: string
425
- dataKey: string
426
- key?: string
427
- cellRenderer?: (opt: { rowData: MODEL; rowIndex: number }) => JSX.Element
428
- headerCellRenderer?: (opt: {
429
- rowData: MODEL
430
- rowIndex: number
431
- }) => JSX.Element
432
- children?: TableVirtualBaseItem<MODEL, CTX>[]
433
- }
434
-
435
- // 创建eType组件类型
436
- interface CreateFormItemComponent<
437
- NAME,
438
- MODEL,
439
- CTX,
440
- PROPS = any,
441
- EVENTS = any
442
- > extends FormElBaseItem<MODEL, CTX> {
443
- eType: NAME
444
- props?: PROPS
445
- events?: EVENTS
446
- style?: StyleValue
447
- }
448
-
449
- // 为对象中的函数添加this指向
450
- type ConvertFunctionContext<T, CTX> = {
451
- [K in keyof T]: T[K] extends (...rest: any[]) => any
452
- ? (this: CTX, ...rest: Parameters<T[K]>) => any
453
- : T[K]
454
- }
455
-
456
- type CreatePropsFromElement<
457
- P,
458
- O extends undefined | keyof P = undefined,
459
- CTX = any
460
- > = Partial<
461
- ConvertFunctionContext<
462
- O extends string | number | symbol ? Omit<P, O> : P,
463
- CTX
464
- >
465
- >
466
-
467
- // 扩展对象的reflect提示
468
- type ExtendReflect<T> = T & {
469
- _reflect?: string
470
- _reflectChangeKey?: string
471
- }
472
-
473
- type OptionsData = ExtendReflect<{
474
- list?: any[]
475
- label?: string
476
- value?: string
477
- [key: string]: any
478
- }>
479
-
480
- type ExtendOptionsData<T> = T & {
481
- optionsData: OptionsData
482
- }
483
- }
484
- }
@@ -1,38 +0,0 @@
1
- /// <reference path="../common.d.ts" />
2
-
3
- import { CascaderProps, CascaderOption } from 'element-plus'
4
-
5
- declare global {
6
- namespace PageModel {
7
-
8
- type CascaderComponentProps = {
9
- options: CascaderOption[];
10
- props: CascaderProps;
11
- size: Size;
12
- placeholder: string;
13
- disabled: boolean;
14
- clearable: boolean;
15
- showAllLevels: boolean;
16
- collapseTags: boolean;
17
- separator: string;
18
- filterable: boolean;
19
- filterMethod: (node: any, keyword: string) => any;
20
- debounce: number;
21
- beforeFilter: boolean | Promise<any>;
22
- popperClass: string;
23
- }
24
-
25
- type ElCascaderProps<CTX> = CreatePropsFromElement<ExtendReflect<CascaderComponentProps>, undefined, CTX>
26
-
27
- type ElCascaderEvents<CTX> = CreatePropsFromElement<{
28
- change: (value: any[]) => any;
29
- expandChange: (value: any[]) => any;
30
- blur: (event: Event) => any;
31
- focus: (event: Event) => any;
32
- visibleChange: (value: boolean) => any;
33
- removeTag: (value: any) => any;
34
- }, undefined, CTX>
35
-
36
- type ElCascader<MODEL = any, CTX = any> = CreateFormItemComponent<'el-cascader', MODEL, CTX, ElCascaderProps<CTX>, ElCascaderEvents<CTX>>
37
- }
38
- }
@@ -1,19 +0,0 @@
1
- /// <reference path="../common.d.ts" />
2
-
3
- declare namespace PageModel {
4
-
5
- type ElCheckboxGroupProps<CTX> = CreatePropsFromElement<{
6
- size: Size;
7
- disabled: false;
8
- min: number;
9
- max: number;
10
- textColor: string;
11
- fill: string;
12
- }, undefined, CTX>
13
-
14
- type ElCheckboxGroupEvents<CTX> = CreatePropsFromElement<{
15
- change: (value: any[]) => void;
16
- }, undefined, CTX>
17
-
18
- type ElCheckboxGroup<MODEL = any, CTX = any> = ExtendOptionsData<CreateFormItemComponent<'el-checkbox-group', MODEL, CTX, ElCheckboxGroupProps<CTX>, ElCheckboxGroupEvents<CTX>>>
19
- }
@@ -1,21 +0,0 @@
1
-
2
- /// <reference path="../common.d.ts" />
3
-
4
- declare namespace PageModel {
5
- type ElColorPickerProps<CTX> = CreatePropsFromElement<{
6
- size: Size;
7
- disabled: false;
8
- showAlpha: boolean;
9
- colorFormat: 'hsl' | 'hsv' | 'hex' | 'rgb';
10
- popperClass: string;
11
- predefine: any[];
12
- }, undefined, CTX>
13
-
14
- type ElColorPickerEvents<CTX> = CreatePropsFromElement<{
15
- change: (value: any[]) => any;
16
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
17
- "onActive-change"?: ((...args: any[]) => any) | undefined;
18
- }, undefined, CTX>
19
-
20
- type ElColorPicker<MODEL = any, CTX = any> = CreateFormItemComponent<'el-color-picker', MODEL, CTX, ElColorPickerProps<CTX>, ElColorPickerEvents<CTX>>
21
- }
@@ -1,46 +0,0 @@
1
-
2
- /// <reference path="../common.d.ts" />
3
-
4
- import { Component } from "vue"
5
-
6
- declare global {
7
- namespace PageModel {
8
- type ElDatePickerProps<CTX> = CreatePropsFromElement<{
9
- readonly: boolean;
10
- disabled: boolean;
11
- size: Size;
12
- editable: boolean;
13
- clearable: boolean;
14
- placeholder: string;
15
- startPlaceholder: string;
16
- endPlaceholder: string;
17
- type: 'year' | 'month' | 'date' | 'dates' | 'week' | 'datetime' | 'datetimerange' | 'daterange' | 'monthrange';
18
- format: DateFormat;
19
- popperClass: string;
20
- rangeSeparator: string;
21
- defaultValue: Date;
22
- defaultTime: Date[];
23
- valueFormat: DateFormat;
24
- id: string | string[];
25
- name: string;
26
- unlinkPanels: boolean;
27
- prefixIcon: string | Component;
28
- clearIcon: string | Component;
29
- validateEvent: boolean;
30
- disabledDate: (date: Date) => boolean;
31
- shortcuts: { text: string, value: Date | Function }[];
32
- cellClassName: (date: Date) => string;
33
- }, undefined, CTX>
34
-
35
- type ElDatePickerEvents<CTX> = CreatePropsFromElement<{
36
- change: (value: Date | string) => void;
37
- blur: AnyFunction;
38
- focus: AnyFunction;
39
- panelChange: (date: Date | string, mode: string, view: any) => any;
40
- visibleChange: AnyFunction;
41
- }, undefined, CTX>
42
-
43
- type ElDatePicker<MODEL = any, CTX = any> = CreateFormItemComponent<'el-date-picker', MODEL, CTX, ElDatePickerProps<CTX>, ElDatePickerEvents<CTX>>
44
- }
45
- }
46
-
@@ -1,15 +0,0 @@
1
- /// <reference path="../common.d.ts" />
2
-
3
- import { inputNumberProps, inputNumberEmits } from 'element-plus'
4
- import { ExtractPropTypes } from 'vue'
5
-
6
- declare global {
7
- namespace PageModel {
8
-
9
- type ElInputNumberProps<CTX> = CreatePropsFromElement<ExtractPropTypes<typeof inputNumberProps>, 'modelValue', CTX>
10
-
11
- type ElInputNumberEvents<CTX> = CreatePropsFromElement<ExtractPropTypes<typeof inputNumberEmits>, undefined, CTX>
12
-
13
- type ElInputNumber<MODEL = any, CTX = any> = CreateFormItemComponent<'el-input-number', MODEL, CTX, ElInputNumberProps<CTX>, ElInputEvents<CTX>>
14
- }
15
- }
@@ -1,16 +0,0 @@
1
- /// <reference path="../common.d.ts" />
2
- import { InputProps, InputEmits } from 'element-plus'
3
-
4
- declare global {
5
- namespace PageModel {
6
-
7
- type ElInputProps<CTX> = CreatePropsFromElement<InputProps, 'modelValue', CTX> & {
8
- rows?: number;
9
- }
10
-
11
- type ElInputEvents<CTX> = CreatePropsFromElement<InputEmits, undefined, CTX>
12
-
13
- type ElInput<MODEL = any, CTX = any> = CreateFormItemComponent<'el-input', MODEL, CTX, ElInputProps<CTX>, ElInputEvents<CTX>>
14
- }
15
-
16
- }
@@ -1,14 +0,0 @@
1
- /// <reference path="../common.d.ts" />
2
-
3
- declare namespace PageModel {
4
- type JuzhenAMapProps<CTX> = CreatePropsFromElement<{
5
- options: AnyObject;
6
- height: number | string;
7
- width: number | string;
8
- markers: any[];
9
- search: boolean;
10
- useCenter: boolean;
11
- }, undefined, CTX>
12
-
13
- type JuzhenAMap<MODEL = any, CTX = any> = CreateFormItemComponent<'a-map', MODEL, CTX, JuzhenAMapProps<CTX>>
14
- }
@@ -1,20 +0,0 @@
1
- /// <reference path="../common.d.ts" />
2
- /// <reference path="./cascader.d.ts" />
3
-
4
- import { CascaderProps } from "element-plus";
5
-
6
- declare global {
7
- namespace PageModel {
8
-
9
- type JzCascaderPropsOrigin<CTX> = {
10
- options?: any[];
11
- } & ElCascaderProps<CTX> & CascaderProps
12
-
13
- type JuzhenCascaderProps<CTX> = ExtendReflect<JzCascaderPropsOrigin<CTX>>
14
-
15
- type JuzhenCascaderEvents<CTX> = ElCascaderEvents<CTX>
16
-
17
- type JuzhenCascader<MODEL = any, CTX = any> = CreateFormItemComponent<'juzhen-cascader', MODEL, CTX, JuzhenCascaderProps<CTX>, JuzhenCascaderEvents<CTX>>
18
- }
19
-
20
- }