nextjs-cms 0.5.9 → 0.5.10
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.
- package/dist/api/axios/axiosInstance.d.ts +1 -1
- package/dist/api/axios/axiosInstance.js +8 -8
- package/dist/api/index.d.ts +855 -855
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +12 -12
- package/dist/api/lib/serverActions.d.ts +239 -239
- package/dist/api/lib/serverActions.d.ts.map +1 -1
- package/dist/api/lib/serverActions.js +834 -834
- package/dist/api/root.d.ts +828 -828
- package/dist/api/root.js +30 -30
- package/dist/api/routers/accountSettings.d.ts +60 -60
- package/dist/api/routers/accountSettings.js +108 -108
- package/dist/api/routers/admins.d.ts +105 -105
- package/dist/api/routers/admins.js +219 -219
- package/dist/api/routers/auth.d.ts +47 -47
- package/dist/api/routers/auth.js +25 -25
- package/dist/api/routers/categorySection.d.ts +103 -103
- package/dist/api/routers/categorySection.js +38 -38
- package/dist/api/routers/cmsSettings.d.ts +48 -48
- package/dist/api/routers/cmsSettings.js +51 -51
- package/dist/api/routers/cpanel.d.ts +83 -83
- package/dist/api/routers/cpanel.js +216 -216
- package/dist/api/routers/files.d.ts +47 -47
- package/dist/api/routers/files.js +23 -23
- package/dist/api/routers/gallery.d.ts +35 -35
- package/dist/api/routers/gallery.js +62 -62
- package/dist/api/routers/googleAnalytics.d.ts +30 -30
- package/dist/api/routers/googleAnalytics.js +7 -7
- package/dist/api/routers/hasItemsSection.d.ts +139 -139
- package/dist/api/routers/hasItemsSection.js +34 -34
- package/dist/api/routers/navigation.d.ts +51 -51
- package/dist/api/routers/navigation.js +11 -11
- package/dist/api/routers/simpleSection.d.ts +57 -57
- package/dist/api/routers/simpleSection.js +12 -12
- package/dist/api/trpc.d.ts +106 -106
- package/dist/api/trpc.js +72 -72
- package/dist/auth/axios/axiosInstance.d.ts +1 -1
- package/dist/auth/axios/axiosInstance.js +8 -8
- package/dist/auth/csrf.d.ts +29 -29
- package/dist/auth/csrf.js +76 -76
- package/dist/auth/hooks/index.d.ts +3 -3
- package/dist/auth/hooks/index.d.ts.map +1 -1
- package/dist/auth/hooks/index.js +3 -3
- package/dist/auth/hooks/useAxiosPrivate.d.ts +4 -4
- package/dist/auth/hooks/useAxiosPrivate.js +74 -74
- package/dist/auth/hooks/useRefreshToken.d.ts +6 -6
- package/dist/auth/hooks/useRefreshToken.js +79 -79
- package/dist/auth/index.d.ts +22 -22
- package/dist/auth/index.js +44 -44
- package/dist/auth/jwt.d.ts +5 -5
- package/dist/auth/jwt.js +25 -25
- package/dist/auth/lib/actions.d.ts +32 -32
- package/dist/auth/lib/actions.d.ts.map +1 -1
- package/dist/auth/lib/actions.js +209 -209
- package/dist/auth/lib/client.d.ts +3 -3
- package/dist/auth/lib/client.js +46 -46
- package/dist/auth/lib/index.d.ts +2 -2
- package/dist/auth/lib/index.d.ts.map +1 -1
- package/dist/auth/lib/index.js +2 -2
- package/dist/auth/react.d.ts +105 -105
- package/dist/auth/react.d.ts.map +1 -1
- package/dist/auth/react.js +347 -347
- package/dist/auth/trpc.d.ts +5 -5
- package/dist/auth/trpc.d.ts.map +1 -1
- package/dist/auth/trpc.js +81 -81
- package/dist/core/config/config-loader.d.ts +91 -91
- package/dist/core/config/config-loader.js +230 -230
- package/dist/core/config/index.d.ts +2 -2
- package/dist/core/config/index.d.ts.map +1 -1
- package/dist/core/config/index.js +1 -1
- package/dist/core/config/loader.d.ts +1 -1
- package/dist/core/config/loader.js +42 -42
- package/dist/core/db/index.d.ts +1 -1
- package/dist/core/db/index.d.ts.map +1 -1
- package/dist/core/db/index.js +1 -1
- package/dist/core/db/table-checker/DbTable.d.ts +5 -5
- package/dist/core/db/table-checker/DbTable.js +5 -5
- package/dist/core/db/table-checker/MysqlTable.d.ts +33 -33
- package/dist/core/db/table-checker/MysqlTable.d.ts.map +1 -1
- package/dist/core/db/table-checker/MysqlTable.js +94 -94
- package/dist/core/db/table-checker/index.d.ts +1 -1
- package/dist/core/db/table-checker/index.d.ts.map +1 -1
- package/dist/core/db/table-checker/index.js +1 -1
- package/dist/core/factories/FieldFactory.d.ts +123 -123
- package/dist/core/factories/FieldFactory.d.ts.map +1 -1
- package/dist/core/factories/FieldFactory.js +411 -411
- package/dist/core/factories/SectionFactory.d.ts +109 -109
- package/dist/core/factories/SectionFactory.d.ts.map +1 -1
- package/dist/core/factories/SectionFactory.js +415 -415
- package/dist/core/factories/index.d.ts +2 -2
- package/dist/core/factories/index.d.ts.map +1 -1
- package/dist/core/factories/index.js +2 -2
- package/dist/core/fields/checkbox.d.ts +62 -62
- package/dist/core/fields/checkbox.d.ts.map +1 -1
- package/dist/core/fields/checkbox.js +62 -62
- package/dist/core/fields/color.d.ts +83 -83
- package/dist/core/fields/color.d.ts.map +1 -1
- package/dist/core/fields/color.js +91 -91
- package/dist/core/fields/date.d.ts +99 -99
- package/dist/core/fields/date.d.ts.map +1 -1
- package/dist/core/fields/date.js +108 -108
- package/dist/core/fields/document.d.ts +179 -179
- package/dist/core/fields/document.d.ts.map +1 -1
- package/dist/core/fields/document.js +277 -277
- package/dist/core/fields/field-group.d.ts +17 -17
- package/dist/core/fields/field-group.d.ts.map +1 -1
- package/dist/core/fields/field-group.js +6 -6
- package/dist/core/fields/field.d.ts +125 -125
- package/dist/core/fields/field.d.ts.map +1 -1
- package/dist/core/fields/field.js +148 -148
- package/dist/core/fields/fileField.d.ts +14 -14
- package/dist/core/fields/fileField.d.ts.map +1 -1
- package/dist/core/fields/fileField.js +5 -5
- package/dist/core/fields/index.d.ts +64 -64
- package/dist/core/fields/index.d.ts.map +1 -1
- package/dist/core/fields/index.js +18 -18
- package/dist/core/fields/map.d.ts +166 -166
- package/dist/core/fields/map.d.ts.map +1 -1
- package/dist/core/fields/map.js +152 -152
- package/dist/core/fields/number.d.ts +185 -185
- package/dist/core/fields/number.d.ts.map +1 -1
- package/dist/core/fields/number.js +241 -241
- package/dist/core/fields/password.d.ts +108 -108
- package/dist/core/fields/password.d.ts.map +1 -1
- package/dist/core/fields/password.js +133 -133
- package/dist/core/fields/photo.d.ts +288 -288
- package/dist/core/fields/photo.d.ts.map +1 -1
- package/dist/core/fields/photo.js +410 -410
- package/dist/core/fields/richText.d.ts +294 -294
- package/dist/core/fields/richText.d.ts.map +1 -1
- package/dist/core/fields/richText.js +338 -338
- package/dist/core/fields/select.d.ts +365 -365
- package/dist/core/fields/select.d.ts.map +1 -1
- package/dist/core/fields/select.js +499 -499
- package/dist/core/fields/selectMultiple.d.ts +235 -235
- package/dist/core/fields/selectMultiple.d.ts.map +1 -1
- package/dist/core/fields/selectMultiple.js +417 -417
- package/dist/core/fields/tags.d.ts +130 -130
- package/dist/core/fields/tags.d.ts.map +1 -1
- package/dist/core/fields/tags.js +105 -105
- package/dist/core/fields/text.d.ts +135 -135
- package/dist/core/fields/text.d.ts.map +1 -1
- package/dist/core/fields/text.js +157 -157
- package/dist/core/fields/textArea.d.ts +106 -106
- package/dist/core/fields/textArea.d.ts.map +1 -1
- package/dist/core/fields/textArea.js +126 -126
- package/dist/core/fields/video.d.ts +147 -147
- package/dist/core/fields/video.d.ts.map +1 -1
- package/dist/core/fields/video.js +248 -248
- package/dist/core/helpers/entity.d.ts +7 -7
- package/dist/core/helpers/entity.js +27 -27
- package/dist/core/helpers/index.d.ts +4 -4
- package/dist/core/helpers/index.d.ts.map +1 -1
- package/dist/core/helpers/index.js +3 -3
- package/dist/core/index.d.ts +7 -7
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +7 -7
- package/dist/core/sections/category.d.ts +282 -282
- package/dist/core/sections/category.d.ts.map +1 -1
- package/dist/core/sections/category.js +147 -147
- package/dist/core/sections/hasItems.d.ts +631 -631
- package/dist/core/sections/hasItems.d.ts.map +1 -1
- package/dist/core/sections/hasItems.js +144 -144
- package/dist/core/sections/index.d.ts +4 -4
- package/dist/core/sections/index.d.ts.map +1 -1
- package/dist/core/sections/index.js +4 -4
- package/dist/core/sections/section.d.ts +225 -225
- package/dist/core/sections/section.d.ts.map +1 -1
- package/dist/core/sections/section.js +341 -341
- package/dist/core/sections/simple.d.ts +98 -98
- package/dist/core/sections/simple.d.ts.map +1 -1
- package/dist/core/sections/simple.js +95 -95
- package/dist/core/security/dom.d.ts +10 -10
- package/dist/core/security/dom.js +92 -92
- package/dist/core/submit/ItemEditSubmit.d.ts +75 -75
- package/dist/core/submit/ItemEditSubmit.js +186 -186
- package/dist/core/submit/NewItemSubmit.d.ts +13 -13
- package/dist/core/submit/NewItemSubmit.js +93 -93
- package/dist/core/submit/SimpleSectionSubmit.d.ts +12 -12
- package/dist/core/submit/SimpleSectionSubmit.js +93 -93
- package/dist/core/submit/index.d.ts +4 -4
- package/dist/core/submit/index.js +4 -4
- package/dist/core/submit/submit.d.ts +115 -115
- package/dist/core/submit/submit.js +479 -479
- package/dist/core/types/index.d.ts +279 -279
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js +1 -1
- package/dist/db/client.d.ts +8 -8
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +19 -19
- package/dist/db/config.d.ts +5 -5
- package/dist/db/config.js +22 -22
- package/dist/db/drizzle.config.d.ts +5 -5
- package/dist/db/drizzle.config.js +18 -18
- package/dist/db/index.d.ts +2 -2
- package/dist/db/index.js +3 -3
- package/dist/db/schema.d.ts +638 -638
- package/dist/db/schema.js +73 -73
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -7
- package/dist/translations/index.d.ts +2 -2
- package/dist/translations/index.js +15 -15
- package/dist/utils/CpanelApi.d.ts +24 -24
- package/dist/utils/CpanelApi.js +64 -64
- package/dist/utils/constants.d.ts +13 -13
- package/dist/utils/constants.js +61 -61
- package/dist/utils/index.d.ts +4 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -4
- package/dist/utils/utils.d.ts +59 -59
- package/dist/utils/utils.js +132 -132
- package/dist/validators/checkbox.d.ts +3 -3
- package/dist/validators/checkbox.d.ts.map +1 -1
- package/dist/validators/checkbox.js +12 -12
- package/dist/validators/color.d.ts +3 -3
- package/dist/validators/color.d.ts.map +1 -1
- package/dist/validators/color.js +7 -7
- package/dist/validators/date.d.ts +3 -3
- package/dist/validators/date.d.ts.map +1 -1
- package/dist/validators/date.js +5 -5
- package/dist/validators/document.d.ts +3 -3
- package/dist/validators/document.d.ts.map +1 -1
- package/dist/validators/document.js +57 -57
- package/dist/validators/index.d.ts +14 -14
- package/dist/validators/index.d.ts.map +1 -1
- package/dist/validators/index.js +14 -14
- package/dist/validators/map.d.ts +3 -3
- package/dist/validators/map.d.ts.map +1 -1
- package/dist/validators/map.js +5 -5
- package/dist/validators/number.d.ts +3 -3
- package/dist/validators/number.d.ts.map +1 -1
- package/dist/validators/number.js +20 -20
- package/dist/validators/password.d.ts +3 -3
- package/dist/validators/password.d.ts.map +1 -1
- package/dist/validators/password.js +11 -11
- package/dist/validators/photo.d.ts +3 -3
- package/dist/validators/photo.d.ts.map +1 -1
- package/dist/validators/photo.js +100 -100
- package/dist/validators/richText.d.ts +3 -3
- package/dist/validators/richText.d.ts.map +1 -1
- package/dist/validators/richText.js +8 -8
- package/dist/validators/select-multiple.d.ts +9 -9
- package/dist/validators/select-multiple.d.ts.map +1 -1
- package/dist/validators/select-multiple.js +20 -20
- package/dist/validators/select.d.ts +3 -3
- package/dist/validators/select.d.ts.map +1 -1
- package/dist/validators/select.js +5 -5
- package/dist/validators/text.d.ts +3 -3
- package/dist/validators/text.d.ts.map +1 -1
- package/dist/validators/text.js +7 -7
- package/dist/validators/textarea.d.ts +3 -3
- package/dist/validators/textarea.d.ts.map +1 -1
- package/dist/validators/textarea.js +7 -7
- package/dist/validators/video.d.ts +3 -3
- package/dist/validators/video.d.ts.map +1 -1
- package/dist/validators/video.js +57 -57
- package/package.json +2 -3
|
@@ -1,126 +1,126 @@
|
|
|
1
|
-
import { entityKind } from
|
|
2
|
-
import type { ConditionalField, ConditionalRule, FieldType } from
|
|
3
|
-
import * as z from 'zod';
|
|
4
|
-
/**
|
|
5
|
-
* The Field class is used in the submit class to handle submission of the field
|
|
6
|
-
* It might also be used in the field factory to create the field in the form?
|
|
7
|
-
*/
|
|
8
|
-
export declare abstract class Field<TType extends FieldType = FieldType, TExtraFieldConfig extends object = object> implements AnyField<TType> {
|
|
9
|
-
static readonly [entityKind]: string;
|
|
10
|
-
readonly type: TType;
|
|
11
|
-
readonly name: string;
|
|
12
|
-
readonly label: string;
|
|
13
|
-
readonly required: boolean;
|
|
14
|
-
/**
|
|
15
|
-
* The default value of the field in the DB table,
|
|
16
|
-
*/
|
|
17
|
-
readonly defaultValue: any;
|
|
18
|
-
readonly order: number | undefined;
|
|
19
|
-
readonly groupId: number | undefined;
|
|
20
|
-
readonly conditionalRules: ConditionalRule[] | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* adminGenerated is used to determine if the field is generated by the admin or not.
|
|
23
|
-
* If set to false, the field will not be included in the form.
|
|
24
|
-
* If set to 'readonly', the field will be visible in the form as a `readonly` text, but will not be included in the submission.
|
|
25
|
-
*/
|
|
26
|
-
adminGenerated?: true | false | 'readonly';
|
|
27
|
-
/**
|
|
28
|
-
* Destination tables are used to save the value of the field in a different table.
|
|
29
|
-
* This is useful when we have a select multiple field, or a tags field and we want to save the values in a different table.
|
|
30
|
-
*
|
|
31
|
-
* Destination tables store only two identifier fields per row:
|
|
32
|
-
* - The reference item identifier: The identifier of the item that has this field as a field
|
|
33
|
-
* - The option identifier: The identifier of the select multiple or tags fields
|
|
34
|
-
*
|
|
35
|
-
* Destination tables have no identifier field.
|
|
36
|
-
* The primary key is automatically set as the combination of the reference item identifier and the option identifier.
|
|
37
|
-
*/
|
|
38
|
-
readonly destinationDb?: {
|
|
39
|
-
table: string;
|
|
40
|
-
itemIdentifier: string;
|
|
41
|
-
selectIdentifier: string;
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Dynamically generated fields based on the value of `conditionalRules` from conditional fields.
|
|
45
|
-
*/
|
|
46
|
-
conditionalFields: ConditionalField[];
|
|
47
|
-
value: any;
|
|
48
|
-
constructor(config: BaseFieldConfig<TExtraFieldConfig>, fieldType: TType);
|
|
49
|
-
abstract checkRequired(): void;
|
|
50
|
-
setValue(value: any): void;
|
|
51
|
-
/**
|
|
52
|
-
* Perform any action after submitting the form
|
|
53
|
-
*/
|
|
54
|
-
postSubmit(variable?: any): Promise<void>;
|
|
55
|
-
postSubmitRollback(): Promise<void>;
|
|
56
|
-
/**
|
|
57
|
-
* Get the value of the field
|
|
58
|
-
*/
|
|
59
|
-
abstract getValue(): any;
|
|
60
|
-
getSubmitValue(): any;
|
|
61
|
-
/**
|
|
62
|
-
* Build the field to be used in a form
|
|
63
|
-
*/
|
|
64
|
-
build(): Promise<void>;
|
|
65
|
-
abstract prepareForSubmission(): Promise<void>;
|
|
66
|
-
/**
|
|
67
|
-
* Generate a human-readable label from a field name.
|
|
68
|
-
* This is a static method to avoid recreation on every call.
|
|
69
|
-
*/
|
|
70
|
-
static generateLabel(name: string): string;
|
|
71
|
-
exportForClient(): {
|
|
72
|
-
type: TType;
|
|
73
|
-
name: string;
|
|
74
|
-
label: string;
|
|
75
|
-
required: boolean;
|
|
76
|
-
conditionalFields: ConditionalField[];
|
|
77
|
-
readonly: boolean;
|
|
78
|
-
defaultValue: any;
|
|
79
|
-
value: any;
|
|
80
|
-
};
|
|
81
|
-
hasSqlNameAndValue(): boolean;
|
|
82
|
-
/**
|
|
83
|
-
* Check if field is conditional
|
|
84
|
-
*/
|
|
85
|
-
isConditional(): boolean;
|
|
86
|
-
}
|
|
87
|
-
export type FieldClientConfig = ReturnType<Field['exportForClient']>;
|
|
88
|
-
export declare const conditionalRuleSchema: z.ZodCustom<ConditionalRule, ConditionalRule>;
|
|
89
|
-
/**
|
|
90
|
-
* Base field configuration schema
|
|
91
|
-
* This schema defines the base properties that all fields share
|
|
92
|
-
* Field types should extend this schema with their specific config
|
|
93
|
-
*/
|
|
94
|
-
export declare const baseFieldConfigSchema: z.ZodObject<{
|
|
95
|
-
name: z.ZodString;
|
|
96
|
-
label: z.ZodOptional<z.ZodString>;
|
|
97
|
-
required: z.ZodOptional<z.ZodBoolean>;
|
|
98
|
-
defaultValue: z.ZodOptional<z.ZodAny>;
|
|
99
|
-
order: z.ZodOptional<z.ZodNumber>;
|
|
100
|
-
/**
|
|
101
|
-
* Set if the field is only visible when all conditions are met.
|
|
102
|
-
* For now, conditionalRules only support one condition rule.
|
|
103
|
-
* If the condition is met, the field will be visible.
|
|
104
|
-
*/
|
|
105
|
-
conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<ConditionalRule, ConditionalRule>>>;
|
|
106
|
-
/**
|
|
107
|
-
* adminGenerated is used to determine if the field is generated by the admin or not.
|
|
108
|
-
* If set to false, the field will not be included in the form.
|
|
109
|
-
* If set to 'readonly', the field will be visible in the form as a `readonly` text, but will not be included in the submission.
|
|
110
|
-
*/
|
|
111
|
-
adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
|
|
112
|
-
}, z.core.$strict>;
|
|
113
|
-
/**
|
|
114
|
-
* This is the base field configuration
|
|
115
|
-
* It's used to define the base properties of a field
|
|
116
|
-
* It can be extended by other field types to add more properties
|
|
117
|
-
*/
|
|
118
|
-
export type BaseFieldConfig<TExtraFieldConfig extends object = object> = z.infer<typeof baseFieldConfigSchema> & TExtraFieldConfig;
|
|
119
|
-
/**
|
|
120
|
-
* This type represents the base field
|
|
121
|
-
*/
|
|
122
|
-
interface AnyField<TType extends FieldType> extends BaseFieldConfig<{}> {
|
|
123
|
-
type: TType;
|
|
124
|
-
}
|
|
125
|
-
export {};
|
|
1
|
+
import { entityKind } from '../helpers/index.js';
|
|
2
|
+
import type { ConditionalField, ConditionalRule, FieldType } from '../types/index.js';
|
|
3
|
+
import * as z from 'zod';
|
|
4
|
+
/**
|
|
5
|
+
* The Field class is used in the submit class to handle submission of the field
|
|
6
|
+
* It might also be used in the field factory to create the field in the form?
|
|
7
|
+
*/
|
|
8
|
+
export declare abstract class Field<TType extends FieldType = FieldType, TExtraFieldConfig extends object = object> implements AnyField<TType> {
|
|
9
|
+
static readonly [entityKind]: string;
|
|
10
|
+
readonly type: TType;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly label: string;
|
|
13
|
+
readonly required: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* The default value of the field in the DB table,
|
|
16
|
+
*/
|
|
17
|
+
readonly defaultValue: any;
|
|
18
|
+
readonly order: number | undefined;
|
|
19
|
+
readonly groupId: number | undefined;
|
|
20
|
+
readonly conditionalRules: ConditionalRule[] | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* adminGenerated is used to determine if the field is generated by the admin or not.
|
|
23
|
+
* If set to false, the field will not be included in the form.
|
|
24
|
+
* If set to 'readonly', the field will be visible in the form as a `readonly` text, but will not be included in the submission.
|
|
25
|
+
*/
|
|
26
|
+
adminGenerated?: true | false | 'readonly';
|
|
27
|
+
/**
|
|
28
|
+
* Destination tables are used to save the value of the field in a different table.
|
|
29
|
+
* This is useful when we have a select multiple field, or a tags field and we want to save the values in a different table.
|
|
30
|
+
*
|
|
31
|
+
* Destination tables store only two identifier fields per row:
|
|
32
|
+
* - The reference item identifier: The identifier of the item that has this field as a field
|
|
33
|
+
* - The option identifier: The identifier of the select multiple or tags fields
|
|
34
|
+
*
|
|
35
|
+
* Destination tables have no identifier field.
|
|
36
|
+
* The primary key is automatically set as the combination of the reference item identifier and the option identifier.
|
|
37
|
+
*/
|
|
38
|
+
readonly destinationDb?: {
|
|
39
|
+
table: string;
|
|
40
|
+
itemIdentifier: string;
|
|
41
|
+
selectIdentifier: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Dynamically generated fields based on the value of `conditionalRules` from conditional fields.
|
|
45
|
+
*/
|
|
46
|
+
conditionalFields: ConditionalField[];
|
|
47
|
+
value: any;
|
|
48
|
+
constructor(config: BaseFieldConfig<TExtraFieldConfig>, fieldType: TType);
|
|
49
|
+
abstract checkRequired(): void;
|
|
50
|
+
setValue(value: any): void;
|
|
51
|
+
/**
|
|
52
|
+
* Perform any action after submitting the form
|
|
53
|
+
*/
|
|
54
|
+
postSubmit(variable?: any): Promise<void>;
|
|
55
|
+
postSubmitRollback(): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Get the value of the field
|
|
58
|
+
*/
|
|
59
|
+
abstract getValue(): any;
|
|
60
|
+
getSubmitValue(): any;
|
|
61
|
+
/**
|
|
62
|
+
* Build the field to be used in a form
|
|
63
|
+
*/
|
|
64
|
+
build(): Promise<void>;
|
|
65
|
+
abstract prepareForSubmission(): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Generate a human-readable label from a field name.
|
|
68
|
+
* This is a static method to avoid recreation on every call.
|
|
69
|
+
*/
|
|
70
|
+
static generateLabel(name: string): string;
|
|
71
|
+
exportForClient(): {
|
|
72
|
+
type: TType;
|
|
73
|
+
name: string;
|
|
74
|
+
label: string;
|
|
75
|
+
required: boolean;
|
|
76
|
+
conditionalFields: ConditionalField[];
|
|
77
|
+
readonly: boolean;
|
|
78
|
+
defaultValue: any;
|
|
79
|
+
value: any;
|
|
80
|
+
};
|
|
81
|
+
hasSqlNameAndValue(): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Check if field is conditional
|
|
84
|
+
*/
|
|
85
|
+
isConditional(): boolean;
|
|
86
|
+
}
|
|
87
|
+
export type FieldClientConfig = ReturnType<Field['exportForClient']>;
|
|
88
|
+
export declare const conditionalRuleSchema: z.ZodCustom<ConditionalRule, ConditionalRule>;
|
|
89
|
+
/**
|
|
90
|
+
* Base field configuration schema
|
|
91
|
+
* This schema defines the base properties that all fields share
|
|
92
|
+
* Field types should extend this schema with their specific config
|
|
93
|
+
*/
|
|
94
|
+
export declare const baseFieldConfigSchema: z.ZodObject<{
|
|
95
|
+
name: z.ZodString;
|
|
96
|
+
label: z.ZodOptional<z.ZodString>;
|
|
97
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
98
|
+
defaultValue: z.ZodOptional<z.ZodAny>;
|
|
99
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
100
|
+
/**
|
|
101
|
+
* Set if the field is only visible when all conditions are met.
|
|
102
|
+
* For now, conditionalRules only support one condition rule.
|
|
103
|
+
* If the condition is met, the field will be visible.
|
|
104
|
+
*/
|
|
105
|
+
conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<ConditionalRule, ConditionalRule>>>;
|
|
106
|
+
/**
|
|
107
|
+
* adminGenerated is used to determine if the field is generated by the admin or not.
|
|
108
|
+
* If set to false, the field will not be included in the form.
|
|
109
|
+
* If set to 'readonly', the field will be visible in the form as a `readonly` text, but will not be included in the submission.
|
|
110
|
+
*/
|
|
111
|
+
adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
|
|
112
|
+
}, z.core.$strict>;
|
|
113
|
+
/**
|
|
114
|
+
* This is the base field configuration
|
|
115
|
+
* It's used to define the base properties of a field
|
|
116
|
+
* It can be extended by other field types to add more properties
|
|
117
|
+
*/
|
|
118
|
+
export type BaseFieldConfig<TExtraFieldConfig extends object = object> = z.infer<typeof baseFieldConfigSchema> & TExtraFieldConfig;
|
|
119
|
+
/**
|
|
120
|
+
* This type represents the base field
|
|
121
|
+
*/
|
|
122
|
+
interface AnyField<TType extends FieldType> extends BaseFieldConfig<{}> {
|
|
123
|
+
type: TType;
|
|
124
|
+
}
|
|
125
|
+
export {};
|
|
126
126
|
//# sourceMappingURL=field.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/core/fields/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/core/fields/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB;;;GAGG;AACH,8BAAsB,KAAK,CAEvB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,iBAAiB,SAAS,MAAM,GAAG,MAAM,CAC3C,YAAW,QAAQ,CAAC,KAAK,CAAC;IAExB,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAU;IAC9C,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,SAAS,CAAA;IAExD;;;;OAIG;IACH,cAAc,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,UAAU,CAAA;IAE1C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE;QACrB,KAAK,EAAE,MAAM,CAAA;QACb,cAAc,EAAE,MAAM,CAAA;QACtB,gBAAgB,EAAE,MAAM,CAAA;KAC3B,CAAA;IAED;;OAEG;IACI,iBAAiB,EAAE,gBAAgB,EAAE,CAAK;IACnC,KAAK,EAAE,GAAG,CAAA;gBAKZ,MAAM,EAAE,eAAe,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,KAAK;IAYxE,QAAQ,CAAC,aAAa,IAAI,IAAI;IAE9B,QAAQ,CAAC,KAAK,EAAE,GAAG;IAInB;;OAEG;IACU,UAAU,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhD;;OAEG;IACH,QAAQ,CAAC,QAAQ,IAAI,GAAG;IAExB,cAAc,IAAI,GAAG;IAIrB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,QAAQ,CAAC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9C;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAY1C,eAAe;;;;;;;;;;IAaf,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,aAAa,IAAI,OAAO;CAa3B;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGpE,eAAO,MAAM,qBAAqB,+CAA8B,CAAA;AAEhE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;IAM9B;;;;OAIG;;IAEH;;;;OAIG;;kBAEL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,CAAC,iBAAiB,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,GAC1G,iBAAiB,CAAA;AAErB;;GAEG;AACH,UAAU,QAAQ,CAAC,KAAK,SAAS,SAAS,CAAE,SAAQ,eAAe,CAAC,EAAE,CAAC;IACnE,IAAI,EAAE,KAAK,CAAA;CACd"}
|
|
@@ -1,148 +1,148 @@
|
|
|
1
|
-
import { entityKind } from
|
|
2
|
-
import * as z from 'zod';
|
|
3
|
-
/**
|
|
4
|
-
* The Field class is used in the submit class to handle submission of the field
|
|
5
|
-
* It might also be used in the field factory to create the field in the form?
|
|
6
|
-
*/
|
|
7
|
-
export class Field {
|
|
8
|
-
static [entityKind] = 'Field';
|
|
9
|
-
type;
|
|
10
|
-
name;
|
|
11
|
-
label;
|
|
12
|
-
required;
|
|
13
|
-
/**
|
|
14
|
-
* The default value of the field in the DB table,
|
|
15
|
-
*/
|
|
16
|
-
defaultValue;
|
|
17
|
-
order;
|
|
18
|
-
groupId;
|
|
19
|
-
conditionalRules;
|
|
20
|
-
/**
|
|
21
|
-
* adminGenerated is used to determine if the field is generated by the admin or not.
|
|
22
|
-
* If set to false, the field will not be included in the form.
|
|
23
|
-
* If set to 'readonly', the field will be visible in the form as a `readonly` text, but will not be included in the submission.
|
|
24
|
-
*/
|
|
25
|
-
adminGenerated;
|
|
26
|
-
/**
|
|
27
|
-
* Destination tables are used to save the value of the field in a different table.
|
|
28
|
-
* This is useful when we have a select multiple field, or a tags field and we want to save the values in a different table.
|
|
29
|
-
*
|
|
30
|
-
* Destination tables store only two identifier fields per row:
|
|
31
|
-
* - The reference item identifier: The identifier of the item that has this field as a field
|
|
32
|
-
* - The option identifier: The identifier of the select multiple or tags fields
|
|
33
|
-
*
|
|
34
|
-
* Destination tables have no identifier field.
|
|
35
|
-
* The primary key is automatically set as the combination of the reference item identifier and the option identifier.
|
|
36
|
-
*/
|
|
37
|
-
destinationDb;
|
|
38
|
-
/**
|
|
39
|
-
* Dynamically generated fields based on the value of `conditionalRules` from conditional fields.
|
|
40
|
-
*/
|
|
41
|
-
conditionalFields = [];
|
|
42
|
-
/*protected*/ value;
|
|
43
|
-
// No need to access the config
|
|
44
|
-
// protected config: BaseFieldConfig<TExtraFieldConfig>
|
|
45
|
-
constructor(config, fieldType) {
|
|
46
|
-
this.type = fieldType;
|
|
47
|
-
this.name = config.name;
|
|
48
|
-
this.label = config.label ?? Field.generateLabel(config.name);
|
|
49
|
-
this.required = config.required ?? false;
|
|
50
|
-
this.defaultValue = config.defaultValue;
|
|
51
|
-
this.order = config.order;
|
|
52
|
-
this.conditionalRules = config.conditionalRules;
|
|
53
|
-
this.adminGenerated = config.adminGenerated ?? true;
|
|
54
|
-
this.value = undefined;
|
|
55
|
-
}
|
|
56
|
-
setValue(value) {
|
|
57
|
-
this.value = value;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Perform any action after submitting the form
|
|
61
|
-
*/
|
|
62
|
-
async postSubmit(variable) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
async postSubmitRollback() {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
getSubmitValue() {
|
|
69
|
-
return this.getValue();
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Build the field to be used in a form
|
|
73
|
-
*/
|
|
74
|
-
async build() {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Generate a human-readable label from a field name.
|
|
79
|
-
* This is a static method to avoid recreation on every call.
|
|
80
|
-
*/
|
|
81
|
-
static generateLabel(name) {
|
|
82
|
-
return (name
|
|
83
|
-
// Replace underscores with spaces
|
|
84
|
-
.replace(/_/g, ' ')
|
|
85
|
-
// Insert space before camelCase capitals
|
|
86
|
-
.replace(/([a-z0-9])([A-Z])/g, '$1 $2')
|
|
87
|
-
// Capitalize first letter of each word
|
|
88
|
-
.replace(/\b\w/g, (char) => char.toUpperCase()));
|
|
89
|
-
}
|
|
90
|
-
exportForClient() {
|
|
91
|
-
return {
|
|
92
|
-
type: this.type,
|
|
93
|
-
name: this.name,
|
|
94
|
-
label: this.label,
|
|
95
|
-
required: this.required,
|
|
96
|
-
conditionalFields: this.conditionalFields,
|
|
97
|
-
readonly: this.adminGenerated === 'readonly',
|
|
98
|
-
defaultValue: this.defaultValue,
|
|
99
|
-
value: this.value,
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
hasSqlNameAndValue() {
|
|
103
|
-
return this.adminGenerated === true;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Check if field is conditional
|
|
107
|
-
*/
|
|
108
|
-
isConditional() {
|
|
109
|
-
let status = true;
|
|
110
|
-
if (this.conditionalRules && this.conditionalRules.length > 0) {
|
|
111
|
-
this.conditionalRules.map((rule) => {
|
|
112
|
-
if (!rule.field || !rule.value || !rule.condition) {
|
|
113
|
-
return (status = false);
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
status = false;
|
|
119
|
-
}
|
|
120
|
-
return status;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
// Schema for ConditionalRule (circular dependency with FieldConfig, so use custom)
|
|
124
|
-
export const conditionalRuleSchema = z.custom();
|
|
125
|
-
/**
|
|
126
|
-
* Base field configuration schema
|
|
127
|
-
* This schema defines the base properties that all fields share
|
|
128
|
-
* Field types should extend this schema with their specific config
|
|
129
|
-
*/
|
|
130
|
-
export const baseFieldConfigSchema = z.strictObject({
|
|
131
|
-
name: z.string().describe('The name of the field'),
|
|
132
|
-
label: z.string().optional().describe('The label of the field'),
|
|
133
|
-
required: z.boolean().optional().describe('Whether the field is required'),
|
|
134
|
-
defaultValue: z.any().optional().describe('The default value of the field'),
|
|
135
|
-
order: z.number().optional().describe('The order of the field'),
|
|
136
|
-
/**
|
|
137
|
-
* Set if the field is only visible when all conditions are met.
|
|
138
|
-
* For now, conditionalRules only support one condition rule.
|
|
139
|
-
* If the condition is met, the field will be visible.
|
|
140
|
-
*/
|
|
141
|
-
conditionalRules: z.array(conditionalRuleSchema).optional().describe('Conditional rules for the field'),
|
|
142
|
-
/**
|
|
143
|
-
* adminGenerated is used to determine if the field is generated by the admin or not.
|
|
144
|
-
* If set to false, the field will not be included in the form.
|
|
145
|
-
* If set to 'readonly', the field will be visible in the form as a `readonly` text, but will not be included in the submission.
|
|
146
|
-
*/
|
|
147
|
-
adminGenerated: z.union([z.literal(true), z.literal(false), z.literal('readonly')]).optional(),
|
|
148
|
-
});
|
|
1
|
+
import { entityKind } from '../helpers/index.js';
|
|
2
|
+
import * as z from 'zod';
|
|
3
|
+
/**
|
|
4
|
+
* The Field class is used in the submit class to handle submission of the field
|
|
5
|
+
* It might also be used in the field factory to create the field in the form?
|
|
6
|
+
*/
|
|
7
|
+
export class Field {
|
|
8
|
+
static [entityKind] = 'Field';
|
|
9
|
+
type;
|
|
10
|
+
name;
|
|
11
|
+
label;
|
|
12
|
+
required;
|
|
13
|
+
/**
|
|
14
|
+
* The default value of the field in the DB table,
|
|
15
|
+
*/
|
|
16
|
+
defaultValue;
|
|
17
|
+
order;
|
|
18
|
+
groupId;
|
|
19
|
+
conditionalRules;
|
|
20
|
+
/**
|
|
21
|
+
* adminGenerated is used to determine if the field is generated by the admin or not.
|
|
22
|
+
* If set to false, the field will not be included in the form.
|
|
23
|
+
* If set to 'readonly', the field will be visible in the form as a `readonly` text, but will not be included in the submission.
|
|
24
|
+
*/
|
|
25
|
+
adminGenerated;
|
|
26
|
+
/**
|
|
27
|
+
* Destination tables are used to save the value of the field in a different table.
|
|
28
|
+
* This is useful when we have a select multiple field, or a tags field and we want to save the values in a different table.
|
|
29
|
+
*
|
|
30
|
+
* Destination tables store only two identifier fields per row:
|
|
31
|
+
* - The reference item identifier: The identifier of the item that has this field as a field
|
|
32
|
+
* - The option identifier: The identifier of the select multiple or tags fields
|
|
33
|
+
*
|
|
34
|
+
* Destination tables have no identifier field.
|
|
35
|
+
* The primary key is automatically set as the combination of the reference item identifier and the option identifier.
|
|
36
|
+
*/
|
|
37
|
+
destinationDb;
|
|
38
|
+
/**
|
|
39
|
+
* Dynamically generated fields based on the value of `conditionalRules` from conditional fields.
|
|
40
|
+
*/
|
|
41
|
+
conditionalFields = [];
|
|
42
|
+
/*protected*/ value;
|
|
43
|
+
// No need to access the config
|
|
44
|
+
// protected config: BaseFieldConfig<TExtraFieldConfig>
|
|
45
|
+
constructor(config, fieldType) {
|
|
46
|
+
this.type = fieldType;
|
|
47
|
+
this.name = config.name;
|
|
48
|
+
this.label = config.label ?? Field.generateLabel(config.name);
|
|
49
|
+
this.required = config.required ?? false;
|
|
50
|
+
this.defaultValue = config.defaultValue;
|
|
51
|
+
this.order = config.order;
|
|
52
|
+
this.conditionalRules = config.conditionalRules;
|
|
53
|
+
this.adminGenerated = config.adminGenerated ?? true;
|
|
54
|
+
this.value = undefined;
|
|
55
|
+
}
|
|
56
|
+
setValue(value) {
|
|
57
|
+
this.value = value;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Perform any action after submitting the form
|
|
61
|
+
*/
|
|
62
|
+
async postSubmit(variable) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
async postSubmitRollback() {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
getSubmitValue() {
|
|
69
|
+
return this.getValue();
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Build the field to be used in a form
|
|
73
|
+
*/
|
|
74
|
+
async build() {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Generate a human-readable label from a field name.
|
|
79
|
+
* This is a static method to avoid recreation on every call.
|
|
80
|
+
*/
|
|
81
|
+
static generateLabel(name) {
|
|
82
|
+
return (name
|
|
83
|
+
// Replace underscores with spaces
|
|
84
|
+
.replace(/_/g, ' ')
|
|
85
|
+
// Insert space before camelCase capitals
|
|
86
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1 $2')
|
|
87
|
+
// Capitalize first letter of each word
|
|
88
|
+
.replace(/\b\w/g, (char) => char.toUpperCase()));
|
|
89
|
+
}
|
|
90
|
+
exportForClient() {
|
|
91
|
+
return {
|
|
92
|
+
type: this.type,
|
|
93
|
+
name: this.name,
|
|
94
|
+
label: this.label,
|
|
95
|
+
required: this.required,
|
|
96
|
+
conditionalFields: this.conditionalFields,
|
|
97
|
+
readonly: this.adminGenerated === 'readonly',
|
|
98
|
+
defaultValue: this.defaultValue,
|
|
99
|
+
value: this.value,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
hasSqlNameAndValue() {
|
|
103
|
+
return this.adminGenerated === true;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Check if field is conditional
|
|
107
|
+
*/
|
|
108
|
+
isConditional() {
|
|
109
|
+
let status = true;
|
|
110
|
+
if (this.conditionalRules && this.conditionalRules.length > 0) {
|
|
111
|
+
this.conditionalRules.map((rule) => {
|
|
112
|
+
if (!rule.field || !rule.value || !rule.condition) {
|
|
113
|
+
return (status = false);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
status = false;
|
|
119
|
+
}
|
|
120
|
+
return status;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// Schema for ConditionalRule (circular dependency with FieldConfig, so use custom)
|
|
124
|
+
export const conditionalRuleSchema = z.custom();
|
|
125
|
+
/**
|
|
126
|
+
* Base field configuration schema
|
|
127
|
+
* This schema defines the base properties that all fields share
|
|
128
|
+
* Field types should extend this schema with their specific config
|
|
129
|
+
*/
|
|
130
|
+
export const baseFieldConfigSchema = z.strictObject({
|
|
131
|
+
name: z.string().describe('The name of the field'),
|
|
132
|
+
label: z.string().optional().describe('The label of the field'),
|
|
133
|
+
required: z.boolean().optional().describe('Whether the field is required'),
|
|
134
|
+
defaultValue: z.any().optional().describe('The default value of the field'),
|
|
135
|
+
order: z.number().optional().describe('The order of the field'),
|
|
136
|
+
/**
|
|
137
|
+
* Set if the field is only visible when all conditions are met.
|
|
138
|
+
* For now, conditionalRules only support one condition rule.
|
|
139
|
+
* If the condition is met, the field will be visible.
|
|
140
|
+
*/
|
|
141
|
+
conditionalRules: z.array(conditionalRuleSchema).optional().describe('Conditional rules for the field'),
|
|
142
|
+
/**
|
|
143
|
+
* adminGenerated is used to determine if the field is generated by the admin or not.
|
|
144
|
+
* If set to false, the field will not be included in the form.
|
|
145
|
+
* If set to 'readonly', the field will be visible in the form as a `readonly` text, but will not be included in the submission.
|
|
146
|
+
*/
|
|
147
|
+
adminGenerated: z.union([z.literal(true), z.literal(false), z.literal('readonly')]).optional(),
|
|
148
|
+
});
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Field } from
|
|
2
|
-
import { entityKind } from
|
|
3
|
-
type FileType = 'photo' | 'video' | 'document';
|
|
4
|
-
export declare abstract class FileField<TType extends FileType = FileType, TExtraFieldConfig extends object = object> extends Field<TType, TExtraFieldConfig> {
|
|
5
|
-
static readonly [entityKind]: string;
|
|
6
|
-
abstract extensions: string[];
|
|
7
|
-
/**
|
|
8
|
-
* Write the file to the disk
|
|
9
|
-
*/
|
|
10
|
-
abstract writeToFile(): Promise<void>;
|
|
11
|
-
abstract setFileName(value: string): void;
|
|
12
|
-
abstract setFile(file: File): void;
|
|
13
|
-
}
|
|
14
|
-
export {};
|
|
1
|
+
import { Field } from './field.js';
|
|
2
|
+
import { entityKind } from '../helpers/index.js';
|
|
3
|
+
type FileType = 'photo' | 'video' | 'document';
|
|
4
|
+
export declare abstract class FileField<TType extends FileType = FileType, TExtraFieldConfig extends object = object> extends Field<TType, TExtraFieldConfig> {
|
|
5
|
+
static readonly [entityKind]: string;
|
|
6
|
+
abstract extensions: string[];
|
|
7
|
+
/**
|
|
8
|
+
* Write the file to the disk
|
|
9
|
+
*/
|
|
10
|
+
abstract writeToFile(): Promise<void>;
|
|
11
|
+
abstract setFileName(value: string): void;
|
|
12
|
+
abstract setFile(file: File): void;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
15
15
|
//# sourceMappingURL=fileField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileField.d.ts","sourceRoot":"","sources":["../../../src/core/fields/fileField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"fileField.d.ts","sourceRoot":"","sources":["../../../src/core/fields/fileField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,KAAK,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;AAC9C,8BAAsB,SAAS,CAC3B,KAAK,SAAS,QAAQ,GAAG,QAAQ,EACjC,iBAAiB,SAAS,MAAM,GAAG,MAAM,CAC3C,SAAQ,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC;IACrC,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAc;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAA;IAC7B;;OAEG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IACzC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;CACrC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Field } from
|
|
2
|
-
import { entityKind } from
|
|
3
|
-
export class FileField extends Field {
|
|
4
|
-
static [entityKind] = 'FileField';
|
|
5
|
-
}
|
|
1
|
+
import { Field } from './field.js';
|
|
2
|
+
import { entityKind } from '../helpers/index.js';
|
|
3
|
+
export class FileField extends Field {
|
|
4
|
+
static [entityKind] = 'FileField';
|
|
5
|
+
}
|