@ftjs/antd 0.0.2

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.
@@ -0,0 +1,117 @@
1
+ import { CommonFormItemProps, FormInject, TfFormColumnBase, ValueOf } from '@ftjs/core';
2
+ import { RuleType, StoreValue, ValidatorRule } from 'ant-design-vue/es/form/interface';
3
+ import { Component, MaybeRefOrGetter, VNode } from 'vue';
4
+ import { TfFormColumnInput } from './components/input';
5
+ import { TfFormColumnSelect } from './components/select';
6
+ import { TfFormColumnDatePicker } from './components/date-picker';
7
+ import { TfFormColumnRangePicker } from './components/range-picker';
8
+ import { TfFormColumnRadio } from './components/radio';
9
+ import { TfFormColumnTextarea } from './components/textarea';
10
+ import { TfFormColumnUpload } from './components/upload';
11
+ import { TfFormColumnCascader } from './components/cascader';
12
+ import { TfFormColumnAutoComplete } from './components/auto-complete';
13
+ import { TfFormColumnCheckbox } from './components/checkbox';
14
+ import { TfFormColumnInputNumber } from './components/input-number';
15
+ import { TfFormColumnMentions } from './components/mentions';
16
+ import { TfFormColumnRate } from './components/rate';
17
+ import { TfFormColumnSlider } from './components/slider';
18
+ import { TfFormColumnSwitch } from './components/switch';
19
+ import { TfFormColumnTreeSelect } from './components/tree-select';
20
+ import { FormInstance, FormProps } from 'ant-design-vue';
21
+ export type VNodeChildAtom = VNode | string | number | boolean | null | undefined | void;
22
+ export type VueNode = VNodeChildAtom | VNodeChildAtom[] | VNode;
23
+ export interface FormExposed<T extends Record<string, any>> {
24
+ getFormData: FormInject<T, "antd">["getFormData"];
25
+ resetToDefault: FormInject<T, "antd">["resetToDefault"];
26
+ setAsDefault: FormInject<T, "antd">["setAsDefault"];
27
+ formInstance: FormInstance;
28
+ }
29
+ export interface AntdColumnBase<FormData extends Record<string, any>> extends TfFormColumnBase<FormData> {
30
+ /**
31
+ * 校验规则
32
+ */
33
+ rules?: MaybeRefOrGetter<ColumnRule[]>;
34
+ }
35
+ /**
36
+ * 允许外部注册类型
37
+ */
38
+ export interface RegisterColumnMap<FormData extends Record<string, any>> {
39
+ }
40
+ /**
41
+ * 全部的 antd column 集合
42
+ */
43
+ export type FormColumn<FormData extends Record<string, any>> = TfFormColumnDatePicker<FormData> | TfFormColumnRangePicker<FormData> | TfFormColumnRadio<FormData> | TfFormColumnSelect<FormData> | TfFormColumnTextarea<FormData> | TfFormColumnInput<FormData> | TfFormColumnUpload<FormData> | TfFormColumnCascader<FormData> | TfFormColumnAutoComplete<FormData> | TfFormColumnCheckbox<FormData> | TfFormColumnInputNumber<FormData> | TfFormColumnMentions<FormData> | TfFormColumnRate<FormData> | TfFormColumnSlider<FormData> | TfFormColumnSwitch<FormData> | TfFormColumnTreeSelect<FormData> | ValueOf<RegisterColumnMap<FormData>>;
44
+ export declare const formRenderMap: Map<string, Component>;
45
+ export declare function registerForm<T extends keyof RegisterColumnMap<any>>(type: T, Component: Component<CommonFormItemProps<RegisterColumnMap<any>[T]>>): void;
46
+ declare module "@ftjs/core" {
47
+ interface FormTypeMap<_FormData extends Record<string, any>> {
48
+ antd: {
49
+ formSlots: {};
50
+ columns: FormColumn<_FormData>;
51
+ extendedProps: {
52
+ /**
53
+ * 表格宽度
54
+ */
55
+ width?: string;
56
+ /**
57
+ * 隐藏底部按钮
58
+ * @default false
59
+ */
60
+ hideFooter?: boolean;
61
+ /**
62
+ * 隐藏确认按钮
63
+ * @default false
64
+ */
65
+ hideConfirm?: boolean;
66
+ /**
67
+ * 隐藏重置按钮
68
+ * @default false
69
+ */
70
+ hideReset?: boolean;
71
+ exposed?: FormExposed<_FormData>;
72
+ "onUpdate:exposed"?: (exposed: FormExposed<_FormData>) => void;
73
+ };
74
+ internalFormProps: FormProps;
75
+ };
76
+ antdSearch: {
77
+ formSlots: {};
78
+ columns: FormColumn<_FormData>;
79
+ extendedProps: {
80
+ exposed?: FormExposed<_FormData>;
81
+ "onUpdate:exposed"?: (exposed: FormExposed<_FormData>) => void;
82
+ };
83
+ internalFormProps: FormProps;
84
+ };
85
+ }
86
+ }
87
+ /**
88
+ * 从 antd vue 中复制出来的
89
+ */
90
+ interface ColumnRule extends Partial<ValidatorRule> {
91
+ warningOnly?: boolean;
92
+ /** validate the value from a list of possible values */
93
+ enum?: StoreValue[];
94
+ /** validate the exact length of a field */
95
+ len?: number;
96
+ /** validate the max length of a field */
97
+ max?: number;
98
+ /** validation error message */
99
+ message?: VueNode;
100
+ /** validate the min length of a field */
101
+ min?: number;
102
+ /** validate from a regular expression */
103
+ pattern?: RegExp;
104
+ /** indicates whether field is required */
105
+ required?: boolean;
106
+ /** transform a value before validation */
107
+ transform?: (value: StoreValue) => StoreValue;
108
+ /** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */
109
+ type?: RuleType;
110
+ /** treat required fields that only contain whitespace as errors */
111
+ whitespace?: boolean;
112
+ /** Customize rule level `validateTrigger`. Must be subset of Field `validateTrigger` */
113
+ validateTrigger?: string | string[];
114
+ /** Check trigger timing */
115
+ trigger?: "blur" | "change" | Array<"change" | "blur">;
116
+ }
117
+ export {};
@@ -0,0 +1,5 @@
1
+ export * from './form/define-form';
2
+ export { registerForm } from './form/register';
3
+ export type { FormColumn, AntdColumnBase, RegisterColumnMap, } from './form/register';
4
+ export * from './antd-table/define-table';
5
+ export * from './vxe-table/define-vxe-table';