nextjs-cms 0.6.6 → 0.6.7
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/lib/serverActions.js +8 -8
- package/dist/api/routers/accountSettings.js +4 -4
- package/dist/api/trpc.js +1 -1
- package/dist/auth/lib/actions.d.ts.map +1 -1
- package/dist/auth/lib/actions.js +6 -5
- package/dist/core/factories/FieldFactory.d.ts.map +1 -1
- package/dist/core/factories/FieldFactory.js +2 -1
- package/dist/core/fields/color.d.ts.map +1 -1
- package/dist/core/fields/color.js +3 -2
- package/dist/core/fields/date.d.ts.map +1 -1
- package/dist/core/fields/date.js +3 -2
- package/dist/core/fields/document.d.ts.map +1 -1
- package/dist/core/fields/document.js +14 -13
- package/dist/core/fields/field-group.d.ts +3 -2
- package/dist/core/fields/field-group.d.ts.map +1 -1
- package/dist/core/fields/field.d.ts +1 -1
- package/dist/core/fields/field.d.ts.map +1 -1
- package/dist/core/fields/index.d.ts +1 -1
- package/dist/core/fields/index.d.ts.map +1 -1
- package/dist/core/fields/map.d.ts.map +1 -1
- package/dist/core/fields/map.js +3 -2
- package/dist/core/fields/number.d.ts.map +1 -1
- package/dist/core/fields/number.js +8 -7
- package/dist/core/fields/password.d.ts.map +1 -1
- package/dist/core/fields/password.js +5 -4
- package/dist/core/fields/photo.d.ts +6 -6
- package/dist/core/fields/photo.d.ts.map +1 -1
- package/dist/core/fields/photo.js +18 -17
- package/dist/core/fields/richText.d.ts +9 -9
- package/dist/core/fields/select.d.ts +1 -1
- package/dist/core/fields/select.js +3 -3
- package/dist/core/fields/slug.d.ts +4 -21
- package/dist/core/fields/slug.d.ts.map +1 -1
- package/dist/core/fields/slug.js +8 -50
- package/dist/core/fields/text.d.ts.map +1 -1
- package/dist/core/fields/text.js +4 -3
- package/dist/core/fields/video.d.ts.map +1 -1
- package/dist/core/fields/video.js +13 -12
- package/dist/core/sections/category.d.ts +6 -6
- package/dist/core/sections/category.js +3 -3
- package/dist/core/sections/hasItems.d.ts +12 -12
- package/dist/core/sections/section.d.ts +3 -3
- package/dist/core/sections/simple.d.ts +4 -4
- package/dist/core/submit/ItemEditSubmit.d.ts +6 -0
- package/dist/core/submit/ItemEditSubmit.d.ts.map +1 -1
- package/dist/core/submit/ItemEditSubmit.js +8 -0
- package/dist/core/submit/submit.d.ts +25 -5
- package/dist/core/submit/submit.d.ts.map +1 -1
- package/dist/core/submit/submit.js +109 -21
- package/dist/translations/dictionaries/ar.d.ts +68 -0
- package/dist/translations/dictionaries/ar.d.ts.map +1 -1
- package/dist/translations/dictionaries/ar.js +81 -0
- package/dist/translations/dictionaries/en.d.ts +68 -0
- package/dist/translations/dictionaries/en.d.ts.map +1 -1
- package/dist/translations/dictionaries/en.js +81 -0
- package/dist/translations/index.d.ts +3 -2
- package/dist/translations/index.d.ts.map +1 -1
- package/dist/translations/index.js +11 -3
- package/dist/validators/checkbox.d.ts +1 -1
- package/dist/validators/checkbox.d.ts.map +1 -1
- package/dist/validators/checkbox.js +7 -3
- package/dist/validators/color.d.ts +1 -1
- package/dist/validators/color.d.ts.map +1 -1
- package/dist/validators/color.js +6 -4
- package/dist/validators/date.d.ts +1 -1
- package/dist/validators/date.d.ts.map +1 -1
- package/dist/validators/date.js +5 -3
- package/dist/validators/document.d.ts +1 -1
- package/dist/validators/document.d.ts.map +1 -1
- package/dist/validators/document.js +10 -8
- package/dist/validators/index.d.ts +7 -7
- package/dist/validators/index.d.ts.map +1 -1
- package/dist/validators/index.js +7 -7
- package/dist/validators/map.d.ts +1 -1
- package/dist/validators/map.d.ts.map +1 -1
- package/dist/validators/map.js +7 -3
- package/dist/validators/number.d.ts +1 -1
- package/dist/validators/number.d.ts.map +1 -1
- package/dist/validators/number.js +19 -10
- package/dist/validators/password.d.ts +1 -1
- package/dist/validators/password.d.ts.map +1 -1
- package/dist/validators/password.js +13 -5
- package/dist/validators/photo.d.ts +1 -1
- package/dist/validators/photo.d.ts.map +1 -1
- package/dist/validators/photo.js +15 -13
- package/dist/validators/richText.d.ts +1 -1
- package/dist/validators/richText.d.ts.map +1 -1
- package/dist/validators/richText.js +14 -6
- package/dist/validators/select-multiple.d.ts +1 -1
- package/dist/validators/select-multiple.d.ts.map +1 -1
- package/dist/validators/select-multiple.js +8 -6
- package/dist/validators/select.d.ts +1 -1
- package/dist/validators/select.d.ts.map +1 -1
- package/dist/validators/select.js +8 -3
- package/dist/validators/slug.d.ts +1 -1
- package/dist/validators/slug.d.ts.map +1 -1
- package/dist/validators/slug.js +14 -8
- package/dist/validators/text.d.ts +1 -1
- package/dist/validators/text.d.ts.map +1 -1
- package/dist/validators/text.js +13 -3
- package/dist/validators/textarea.d.ts +1 -1
- package/dist/validators/textarea.d.ts.map +1 -1
- package/dist/validators/textarea.js +13 -3
- package/dist/validators/types.d.ts +7 -0
- package/dist/validators/types.d.ts.map +1 -0
- package/dist/validators/types.js +0 -0
- package/dist/validators/video.d.ts +1 -1
- package/dist/validators/video.d.ts.map +1 -1
- package/dist/validators/video.js +10 -8
- package/package.json +1 -1
|
@@ -56,14 +56,14 @@ export const getDocument = async (session, input) => {
|
|
|
56
56
|
if (!section?.name) {
|
|
57
57
|
throw new TRPCError({
|
|
58
58
|
code: 'BAD_REQUEST',
|
|
59
|
-
message: '
|
|
59
|
+
message: getString('invalidFilePath', session.user.locale),
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
62
|
const fieldConfig = section.fields.find((field) => field.name === fieldName);
|
|
63
63
|
if (!fieldConfig || typeof fieldConfig.build !== 'function') {
|
|
64
64
|
throw new TRPCError({
|
|
65
65
|
code: 'BAD_REQUEST',
|
|
66
|
-
message: '
|
|
66
|
+
message: getString('invalidRequest', session.user.locale),
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
69
|
const field = fieldConfig.build();
|
|
@@ -73,7 +73,7 @@ export const getDocument = async (session, input) => {
|
|
|
73
73
|
if (!field || !field.name || !field.extensions || field.extensions.length === 0) {
|
|
74
74
|
throw new TRPCError({
|
|
75
75
|
code: 'BAD_REQUEST',
|
|
76
|
-
message: '
|
|
76
|
+
message: getString('invalidRequest', session.user.locale),
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
@@ -89,7 +89,7 @@ export const getDocument = async (session, input) => {
|
|
|
89
89
|
if (!fs.existsSync(pathToFile)) {
|
|
90
90
|
throw new TRPCError({
|
|
91
91
|
code: 'BAD_REQUEST',
|
|
92
|
-
message: '
|
|
92
|
+
message: getString('fileNotFound', session.user.locale),
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
/**
|
|
@@ -106,7 +106,7 @@ export const getDocument = async (session, input) => {
|
|
|
106
106
|
if (!fileType) {
|
|
107
107
|
throw new TRPCError({
|
|
108
108
|
code: 'BAD_REQUEST',
|
|
109
|
-
message: '
|
|
109
|
+
message: getString('invalidFileType', session.user.locale),
|
|
110
110
|
});
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
@@ -115,7 +115,7 @@ export const getDocument = async (session, input) => {
|
|
|
115
115
|
if (!documentAllowedExtensions.includes(fileType.ext)) {
|
|
116
116
|
throw new TRPCError({
|
|
117
117
|
code: 'BAD_REQUEST',
|
|
118
|
-
message: '
|
|
118
|
+
message: getString('invalidFileType', session.user.locale),
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
121
|
/**
|
|
@@ -225,7 +225,7 @@ export async function streamPhoto(input) {
|
|
|
225
225
|
return nodeStreamToWebStream(nodeStream, processedImage);
|
|
226
226
|
}
|
|
227
227
|
export const getVideo = async (input) => {
|
|
228
|
-
throw new Error('
|
|
228
|
+
throw new Error(getString('useVideoApiRoute', 'en'));
|
|
229
229
|
};
|
|
230
230
|
export const getAdminPrivileges = async (adminId) => {
|
|
231
231
|
const rows = await db
|
|
@@ -392,7 +392,7 @@ export const deleteSectionItem = async (session, sectionName, sectionItemId, rec
|
|
|
392
392
|
if (!columns.includes(identifierFieldName)) {
|
|
393
393
|
return {
|
|
394
394
|
error: {
|
|
395
|
-
message: '
|
|
395
|
+
message: getString('sectionTableIdentifierNotFound', session.user.locale),
|
|
396
396
|
},
|
|
397
397
|
};
|
|
398
398
|
}
|
|
@@ -50,7 +50,7 @@ export const accountSettings = router({
|
|
|
50
50
|
if (!admin) {
|
|
51
51
|
throw new TRPCError({
|
|
52
52
|
code: 'NOT_FOUND',
|
|
53
|
-
message: '
|
|
53
|
+
message: getString('adminNotFound', ctx.session.user.locale),
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
const updates = {};
|
|
@@ -118,7 +118,7 @@ export const accountSettings = router({
|
|
|
118
118
|
if (!admin) {
|
|
119
119
|
throw new TRPCError({
|
|
120
120
|
code: 'NOT_FOUND',
|
|
121
|
-
message: '
|
|
121
|
+
message: getString('adminNotFound', ctx.session.user.locale),
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
124
|
/**
|
|
@@ -128,7 +128,7 @@ export const accountSettings = router({
|
|
|
128
128
|
if (!match) {
|
|
129
129
|
throw new TRPCError({
|
|
130
130
|
code: 'UNAUTHORIZED',
|
|
131
|
-
message: '
|
|
131
|
+
message: getString('oldPasswordIncorrect', ctx.session.user.locale),
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
/**
|
|
@@ -137,7 +137,7 @@ export const accountSettings = router({
|
|
|
137
137
|
if (input.newPassword !== input.confirmPassword) {
|
|
138
138
|
throw new TRPCError({
|
|
139
139
|
code: 'BAD_REQUEST',
|
|
140
|
-
message: '
|
|
140
|
+
message: getString('passwordsDoNotMatch', ctx.session.user.locale),
|
|
141
141
|
});
|
|
142
142
|
}
|
|
143
143
|
/**
|
package/dist/api/trpc.js
CHANGED
|
@@ -45,7 +45,7 @@ const t = initTRPC.context().create({
|
|
|
45
45
|
export const createCallerFactory = t.createCallerFactory;
|
|
46
46
|
const isAuthedMiddleware = t.middleware(async ({ ctx, next }) => {
|
|
47
47
|
if (!ctx.session || !ctx.session.user)
|
|
48
|
-
throw new TRPCError({ code: 'UNAUTHORIZED', message: '
|
|
48
|
+
throw new TRPCError({ code: 'UNAUTHORIZED', message: getString('noTokenProvided', 'en') });
|
|
49
49
|
return next({
|
|
50
50
|
/*ctx: {
|
|
51
51
|
user: user,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/auth/lib/actions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/auth/lib/actions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,eAAO,MAAM,WAAW,GAAU,eAAe;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;EA4HjE,CAAA;AAED,eAAO,MAAM,KAAK,GAAU,8CAIzB;IACC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;;;;;;;;;;;;;;;;EAwHA,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,UAAU,OAAO,GAAG,IAAI,qBA0B3D,CAAA"}
|
package/dist/auth/lib/actions.js
CHANGED
|
@@ -5,6 +5,7 @@ import bcrypt from 'bcrypt';
|
|
|
5
5
|
import { decodeRefreshToken, encodeJWT, encodeRefreshToken } from '../jwt.js';
|
|
6
6
|
import { cookies } from 'next/headers';
|
|
7
7
|
import { getCMSConfig } from '../../core/config/index.js';
|
|
8
|
+
import getString from '../../translations/index.js';
|
|
8
9
|
export const authRefresh = async (refreshToken) => {
|
|
9
10
|
if (!refreshToken) {
|
|
10
11
|
return {
|
|
@@ -115,7 +116,7 @@ export const authRefresh = async (refreshToken) => {
|
|
|
115
116
|
};
|
|
116
117
|
export const login = async ({ username, password, locale: localeParam, }) => {
|
|
117
118
|
if (!username || !password) {
|
|
118
|
-
throw new Error('
|
|
119
|
+
throw new Error(getString('usernameAndPasswordRequired', 'en'));
|
|
119
120
|
}
|
|
120
121
|
const result = await db
|
|
121
122
|
.select({
|
|
@@ -130,11 +131,11 @@ export const login = async ({ username, password, locale: localeParam, }) => {
|
|
|
130
131
|
.limit(1);
|
|
131
132
|
const admin = result[0];
|
|
132
133
|
if (!admin || !admin.password || !admin.id || !admin.username) {
|
|
133
|
-
throw new Error('
|
|
134
|
+
throw new Error(getString('invalidCredentials', 'en'));
|
|
134
135
|
}
|
|
135
136
|
const valid = await bcrypt.compare(password, admin.password);
|
|
136
137
|
if (!valid) {
|
|
137
|
-
throw new Error('
|
|
138
|
+
throw new Error(getString('invalidCredentials', 'en'));
|
|
138
139
|
}
|
|
139
140
|
let effectiveLocale = admin.locale;
|
|
140
141
|
if (localeParam && localeParam !== admin.locale) {
|
|
@@ -163,7 +164,7 @@ export const login = async ({ username, password, locale: localeParam, }) => {
|
|
|
163
164
|
sub: admin.username,
|
|
164
165
|
});
|
|
165
166
|
if (!accessToken || !refreshToken) {
|
|
166
|
-
throw new Error('
|
|
167
|
+
throw new Error(getString('failedToCreateTokens', 'en'));
|
|
167
168
|
}
|
|
168
169
|
try {
|
|
169
170
|
// Let's save the refresh token in the database
|
|
@@ -184,7 +185,7 @@ export const login = async ({ username, password, locale: localeParam, }) => {
|
|
|
184
185
|
});
|
|
185
186
|
}
|
|
186
187
|
catch (error) {
|
|
187
|
-
throw new Error('
|
|
188
|
+
throw new Error(getString('failedToSaveTokens', 'en'));
|
|
188
189
|
}
|
|
189
190
|
const cookieStore = await cookies();
|
|
190
191
|
// Let's send the refresh token as a cookie
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldFactory.d.ts","sourceRoot":"","sources":["../../../src/core/factories/FieldFactory.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAQlD,KAAK,eAAe,GACd;IACI,IAAI,EAAE,KAAK,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,KAAK,CAAA;CACjB,GACD;IACI,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAEP,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,aAAa,CAAa;IAClC,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;IAC9B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAA;IAC7B,OAAO,CAAC,YAAY,CAA4B;IAGhD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAY;IAEjD;;OAEG;gBACS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe;IASnE;;OAEG;IACU,UAAU;YAUT,aAAa;YASb,qBAAqB;IAwFnC;;;;OAIG;YACW,qBAAqB;IAuCnC;;;;OAIG;YACW,cAAc;IAuB5B;;;;;OAKG;YACW,YAAY;IAiB1B,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACU,cAAc;IAqB3B;;;OAGG;IACH,OAAO,CAAC,UAAU;IA4ElB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;;OAGG;IACU,gBAAgB;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"FieldFactory.d.ts","sourceRoot":"","sources":["../../../src/core/factories/FieldFactory.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAQlD,KAAK,eAAe,GACd;IACI,IAAI,EAAE,KAAK,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,KAAK,CAAA;CACjB,GACD;IACI,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAEP,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,aAAa,CAAa;IAClC,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;IAC9B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAA;IAC7B,OAAO,CAAC,YAAY,CAA4B;IAGhD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAY;IAEjD;;OAEG;gBACS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe;IASnE;;OAEG;IACU,UAAU;YAUT,aAAa;YASb,qBAAqB;IAwFnC;;;;OAIG;YACW,qBAAqB;IAuCnC;;;;OAIG;YACW,cAAc;IAuB5B;;;;;OAKG;YACW,YAAY;IAiB1B,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACU,cAAc;IAqB3B;;;OAGG;IACH,OAAO,CAAC,UAAU;IA4ElB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;;OAGG;IACU,gBAAgB;;;;;;;;;;;;;;;IAmF7B,IAAI,WAAW,IAAI,OAAO,GAAG,SAAS,CAErC;IACD,IAAI,YAAY,IAAI,MAAM,CAEzB;IACD,IAAI,KAAK,IAAI,OAAO,CAEnB;CACJ"}
|
|
@@ -425,9 +425,10 @@ export class FieldFactory {
|
|
|
425
425
|
* Only return the group if it has valid fields
|
|
426
426
|
*/
|
|
427
427
|
if (validFields.length > 0) {
|
|
428
|
+
const resolvedGroupTitle = resolveLocalizedString(group.title, locale, cmsConfig.i18n.fallbackLanguage);
|
|
428
429
|
processedGroups.push({
|
|
429
430
|
groupId: group.id,
|
|
430
|
-
groupTitle:
|
|
431
|
+
groupTitle: resolvedGroupTitle,
|
|
431
432
|
// Normalize order value here to avoid checking again in sort function
|
|
432
433
|
groupOrder: group.order ?? FieldFactory.DEFAULT_ORDER,
|
|
433
434
|
inputs: this.sortFieldsByOrder(validFields).map((field) => this.resolveFieldLabels(field.exportForClient(), locale, cmsConfig.i18n.fallbackLanguage)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/core/fields/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/core/fields/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAGxB,QAAA,MAAM,YAAY;IACd;;;;OAIG;;kBAEL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,UAAW,SAAQ,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;IAClD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAe;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;gBACtB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAO3C;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;IAIrB,eAAe;;;;;;;;;;IAMxB,aAAa;IAWJ,kBAAkB,IAAI,OAAO;IAOtC;;OAEG;IACG,oBAAoB;CAQ7B;AAED,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE9E,QAAA,MAAM,aAAa;IAnEf;;;;OAIG;;;;;;;;kBAkEL,CAAA;AAEF,QAAA,MAAM,sBAAsB;;;IAxExB;;;;OAIG;;;;;;;;kBAwEL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,gBAAgB,CAmBjF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Field, baseFieldConfigSchema } from './field.js';
|
|
2
2
|
import { entityKind } from '../helpers/index.js';
|
|
3
3
|
import * as z from 'zod';
|
|
4
|
+
import getString from '../../translations/index.js';
|
|
4
5
|
const configSchema = z.strictObject({
|
|
5
6
|
/**
|
|
6
7
|
* The default value of the field.
|
|
@@ -35,7 +36,7 @@ export class ColorField extends Field {
|
|
|
35
36
|
*/
|
|
36
37
|
if (this.required) {
|
|
37
38
|
if (!this.value || this.value.trim().length === 0) {
|
|
38
|
-
throw new Error(
|
|
39
|
+
throw new Error(getString('fieldIsRequired', 'en', { field: String(this.label) }));
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
}
|
|
@@ -53,7 +54,7 @@ export class ColorField extends Field {
|
|
|
53
54
|
* Check if the value represents a color
|
|
54
55
|
*/
|
|
55
56
|
if (this.value && !/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(this.value)) {
|
|
56
|
-
throw new Error('
|
|
57
|
+
throw new Error(getString('invalidColorPleaseProvideValidHex', 'en'));
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/core/fields/date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/core/fields/date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,QAAA,MAAM,YAAY;;;;;;IAEd;;;;OAIG;;kBAEL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,SAAU,SAAQ,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;IAChD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAc;IAE3D;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;gBACpC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAU3C;;;OAGG;IACH,OAAO,CAAC,SAAS;IAQjB;;;OAGG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;IAsBhB,eAAe;;;;;;;;;;;IAOxB,aAAa;IAYJ,kBAAkB,IAAI,OAAO;IAOtC;;;OAGG;IACG,oBAAoB;CAS7B;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE5E,QAAA,MAAM,aAAa;;;;;;IA/Gf;;;;OAIG;;;;;;;;kBA8GL,CAAA;AAEF,QAAA,MAAM,qBAAqB;;;;;;;;IApHvB;;;;OAIG;;;;;;;;kBAoHL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,eAAe,CAmB/E"}
|
package/dist/core/fields/date.js
CHANGED
|
@@ -2,6 +2,7 @@ import { Field, baseFieldConfigSchema } from './field.js';
|
|
|
2
2
|
import { entityKind } from '../helpers/index.js';
|
|
3
3
|
import * as z from 'zod';
|
|
4
4
|
import dayjs from 'dayjs';
|
|
5
|
+
import getString from '../../translations/index.js';
|
|
5
6
|
const configSchema = z.strictObject({
|
|
6
7
|
format: z.enum(['date', 'datetime', 'timestamp']).optional().describe('The format of the date field'),
|
|
7
8
|
/**
|
|
@@ -77,7 +78,7 @@ export class DateField extends Field {
|
|
|
77
78
|
if (this.required) {
|
|
78
79
|
const date = this.parseDate();
|
|
79
80
|
if (!date) {
|
|
80
|
-
throw new Error(
|
|
81
|
+
throw new Error(getString('fieldIsRequired', 'en', { field: String(this.label) }));
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
}
|
|
@@ -97,7 +98,7 @@ export class DateField extends Field {
|
|
|
97
98
|
this.value = date.toISOString();
|
|
98
99
|
}
|
|
99
100
|
else if (this.required) {
|
|
100
|
-
throw new Error(
|
|
101
|
+
throw new Error(getString('invalidDatePleaseProvideValid', 'en', { field: String(this.label) }));
|
|
101
102
|
}
|
|
102
103
|
// If not required and no valid date, keep value as-is (null/undefined)
|
|
103
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/core/fields/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/core/fields/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAS1C,QAAA,MAAM,YAAY;IACd;;;;;;;OAOG;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;kBAEL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,aAAc,SAAQ,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5D,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAkB;IAC/D,QAAQ,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAA;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAA;IAE7B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAqE;IAE1G;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,kBAAkB,CAAU;gBAExB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI;IAqDxC,eAAe;;kBApED,MAAM;kBAAQ,IAAI,GAAG,IAAI;;;;;;;;;;;;;IA6EjD,iBAAiB,CAAC,EACpB,WAAW,EACX,MAAM,EACN,aAAiB,GACpB,EAAE;QACC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;QACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAClC,GAAG,OAAO,CAAC,UAAU,CAAC;IAgBvB;;OAEG;IACG,WAAW;IA2BK,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpG;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIX,WAAW,CAAC,KAAK,EAAE,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,GAAG;IAQnB,OAAO,CAAC,IAAI,EAAE,IAAI;IAK3B,aAAa;IAab;;OAEG;IACG,oBAAoB;CAoD7B;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAEpF,QAAA,MAAM,aAAa;IAnRf;;;;;;;OAOG;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;kBAwQL,CAAA;AAEF,QAAA,MAAM,yBAAyB;;;IAxR3B;;;;;;;OAOG;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;kBA8QL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,mBAAmB,CAmBvF"}
|
|
@@ -6,6 +6,7 @@ import { customAlphabet } from 'nanoid';
|
|
|
6
6
|
import path from 'path';
|
|
7
7
|
import { FileField } from './fileField.js';
|
|
8
8
|
import { getCMSConfig } from '../config/index.js';
|
|
9
|
+
import getString from '../../translations/index.js';
|
|
9
10
|
const maxFileSizeSchema = z.strictObject({
|
|
10
11
|
size: z.number().describe('Maximum file size'),
|
|
11
12
|
unit: z.enum(['kb', 'mb']).describe('Size unit'),
|
|
@@ -80,7 +81,7 @@ export class DocumentField extends FileField {
|
|
|
80
81
|
case 'csv':
|
|
81
82
|
return 'text/csv';
|
|
82
83
|
default:
|
|
83
|
-
throw new Error(
|
|
84
|
+
throw new Error(getString('invalidFileExtension', 'en', { extensions: e }));
|
|
84
85
|
}
|
|
85
86
|
});
|
|
86
87
|
/**
|
|
@@ -98,13 +99,13 @@ export class DocumentField extends FileField {
|
|
|
98
99
|
}
|
|
99
100
|
async readChunkFromFile({ arrayBuffer, length, startPosition = 0, }) {
|
|
100
101
|
if (!arrayBuffer) {
|
|
101
|
-
throw new Error('
|
|
102
|
+
throw new Error(getString('errorReadingFile', 'en'));
|
|
102
103
|
}
|
|
103
104
|
const buffer = new Uint8Array(arrayBuffer);
|
|
104
105
|
const start = Math.max(0, startPosition);
|
|
105
106
|
const end = Math.min(start + length, buffer.length);
|
|
106
107
|
if (start >= end) {
|
|
107
|
-
throw new Error('
|
|
108
|
+
throw new Error(getString('errorReadingFile', 'en'));
|
|
108
109
|
}
|
|
109
110
|
return buffer.subarray(start, end);
|
|
110
111
|
}
|
|
@@ -113,10 +114,10 @@ export class DocumentField extends FileField {
|
|
|
113
114
|
*/
|
|
114
115
|
async writeToFile() {
|
|
115
116
|
if (!this._folder) {
|
|
116
|
-
throw new Error(
|
|
117
|
+
throw new Error(getString('folderNotSet', 'en', { field: String(this.label) }));
|
|
117
118
|
}
|
|
118
119
|
if (!this._buffer) {
|
|
119
|
-
throw new Error(
|
|
120
|
+
throw new Error(getString('bufferNotSet', 'en', { field: String(this.label) }));
|
|
120
121
|
}
|
|
121
122
|
try {
|
|
122
123
|
/**
|
|
@@ -133,7 +134,7 @@ export class DocumentField extends FileField {
|
|
|
133
134
|
await fs.promises.writeFile(path.join(uploadsFolder, '.documents', this._folder, this.value), this._buffer);
|
|
134
135
|
}
|
|
135
136
|
catch (error) {
|
|
136
|
-
throw new Error(
|
|
137
|
+
throw new Error(getString('documentWriteError', 'en', { field: String(this.label) }) + ` ${error.message}`);
|
|
137
138
|
}
|
|
138
139
|
}
|
|
139
140
|
async postSubmit(folder) {
|
|
@@ -146,7 +147,7 @@ export class DocumentField extends FileField {
|
|
|
146
147
|
if (!this._file)
|
|
147
148
|
return;
|
|
148
149
|
if (!this._folder) {
|
|
149
|
-
throw new Error(
|
|
150
|
+
throw new Error(getString('folderNotSet', 'en', { field: String(this.label) }));
|
|
150
151
|
}
|
|
151
152
|
try {
|
|
152
153
|
const uploadsFolder = (await getCMSConfig()).media.upload.path;
|
|
@@ -154,7 +155,7 @@ export class DocumentField extends FileField {
|
|
|
154
155
|
await fs.promises.unlink(pathToFile);
|
|
155
156
|
}
|
|
156
157
|
catch (error) {
|
|
157
|
-
throw new Error(
|
|
158
|
+
throw new Error(getString('documentDeleteError', 'en', { field: String(this.label) }));
|
|
158
159
|
}
|
|
159
160
|
}
|
|
160
161
|
async cleanupReplacedFile(previousValue, sectionName) {
|
|
@@ -194,7 +195,7 @@ export class DocumentField extends FileField {
|
|
|
194
195
|
if (!this.required)
|
|
195
196
|
return;
|
|
196
197
|
if (!this._file || !this._file?.type || !this._file?.name || !this._file?.size) {
|
|
197
|
-
throw new Error(
|
|
198
|
+
throw new Error(getString('fieldIsRequired', 'en', { field: String(this.label) }));
|
|
198
199
|
}
|
|
199
200
|
}
|
|
200
201
|
/**
|
|
@@ -209,14 +210,14 @@ export class DocumentField extends FileField {
|
|
|
209
210
|
const arrayBuffer = await this._file.arrayBuffer();
|
|
210
211
|
this._buffer = Buffer.from(arrayBuffer);
|
|
211
212
|
if (!this._buffer.length) {
|
|
212
|
-
throw new Error(
|
|
213
|
+
throw new Error(getString('fieldIsRequired', 'en', { field: String(this.label) }));
|
|
213
214
|
}
|
|
214
215
|
/**
|
|
215
216
|
* Check extension
|
|
216
217
|
*/
|
|
217
218
|
const ext = this._file.name.split('.').pop();
|
|
218
219
|
if (!ext || !this.extensions.includes(ext)) {
|
|
219
|
-
throw new Error(
|
|
220
|
+
throw new Error(getString('invalidFileTypeOrExtension', 'en', { field: String(this.label), extensions: this.extensions.join(', ') }));
|
|
220
221
|
}
|
|
221
222
|
/**
|
|
222
223
|
* Read the first 4100 bytes of the file
|
|
@@ -231,14 +232,14 @@ export class DocumentField extends FileField {
|
|
|
231
232
|
* If the file type is invalid, return an error
|
|
232
233
|
*/
|
|
233
234
|
if (!fileType) {
|
|
234
|
-
throw new Error(
|
|
235
|
+
throw new Error(getString('invalidDocumentFileType', 'en', { field: String(this.label) }));
|
|
235
236
|
}
|
|
236
237
|
/**
|
|
237
238
|
* Don't just trust the file extension
|
|
238
239
|
* Check the `fileType.ext` against the allowed extensions
|
|
239
240
|
*/
|
|
240
241
|
if (!fileType.ext || !this.extensions.includes(fileType.ext)) {
|
|
241
|
-
throw new Error(
|
|
242
|
+
throw new Error(getString('invalidFileTypeOrExtension', 'en', { field: String(this.label), extensions: this.extensions.join(', ') }));
|
|
242
243
|
}
|
|
243
244
|
/**
|
|
244
245
|
* Generate a random name for the file
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Field, FieldConfig } from './index.js';
|
|
2
2
|
import type { Prettify } from '../types/index.js';
|
|
3
|
+
import type { LocalizedString } from '../../translations/localization.js';
|
|
3
4
|
export type FieldGroupOptions = {
|
|
4
|
-
title?:
|
|
5
|
+
title?: LocalizedString;
|
|
5
6
|
order?: number;
|
|
6
7
|
fields: FieldConfig[];
|
|
7
8
|
};
|
|
@@ -10,7 +11,7 @@ export type FieldGroupConfig = Prettify<FieldGroupOptions> & {
|
|
|
10
11
|
};
|
|
11
12
|
export type FieldGroup = {
|
|
12
13
|
id: number;
|
|
13
|
-
title?:
|
|
14
|
+
title?: LocalizedString;
|
|
14
15
|
order?: number;
|
|
15
16
|
fields: Field[];
|
|
16
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-group.d.ts","sourceRoot":"","sources":["../../../src/core/fields/field-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"field-group.d.ts","sourceRoot":"","sources":["../../../src/core/fields/field-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEzE,MAAM,MAAM,iBAAiB,GAAG;IAC5B,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,WAAW,EAAE,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,GAAG;IACzD,IAAI,EAAE,aAAa,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,KAAK,EAAE,CAAA;CAClB,CAAA;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,gBAAgB,CAKrE"}
|
|
@@ -63,7 +63,7 @@ export declare abstract class Field<TType extends FieldType = FieldType, TExtraF
|
|
|
63
63
|
* Build the field to be used in a form
|
|
64
64
|
*/
|
|
65
65
|
build(): Promise<void>;
|
|
66
|
-
abstract prepareForSubmission(
|
|
66
|
+
abstract prepareForSubmission(): Promise<void>;
|
|
67
67
|
/**
|
|
68
68
|
* Generate a human-readable label from a field name.
|
|
69
69
|
* This is a static method to avoid recreation on every call.
|
|
@@ -1 +1 @@
|
|
|
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,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,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,eAAe,CAAA;IAC/B,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;IAaxE,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,
|
|
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,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,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,eAAe,CAAA;IAC/B,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;IAaxE,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;;;;;;;;;;IAef,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;;;;;;IAW9B;;;;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"}
|
|
@@ -29,7 +29,7 @@ export type { DateFieldClientConfig, DateFieldConfig } from './date.js';
|
|
|
29
29
|
export { ColorField, colorField } from './color.js';
|
|
30
30
|
export type { ColorFieldClientConfig, ColorFieldConfig } from './color.js';
|
|
31
31
|
export { SlugField, slugField } from './slug.js';
|
|
32
|
-
export type { SlugFieldClientConfig, SlugFieldConfig
|
|
32
|
+
export type { SlugFieldClientConfig, SlugFieldConfig } from './slug.js';
|
|
33
33
|
export { Field } from './field.js';
|
|
34
34
|
export type { BaseFieldConfig, FieldClientConfig } from './field.js';
|
|
35
35
|
export { FileField } from './fileField.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAEvE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC5D,YAAY,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC5D,YAAY,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACtD,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEtG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAEvE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACnD,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAElG,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACnD,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE1E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC5D,YAAY,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACtD,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/F,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9E,YAAY,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AAEzG,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC5D,YAAY,EAAE,yBAAyB,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAE9G,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAC7C,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC5D,YAAY,EAAE,yBAAyB,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAE9G,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAEvE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACnD,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE1E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/fields/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/core/fields/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/core/fields/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAGxB,QAAA,MAAM,YAAY;;;;;IAQd;;;;OAIG;;;;;;;;;;;;;kBAmBL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,QAAS,SAAQ,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC;IAC9C,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAa;IAC1D;;OAEG;IACM,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1E,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;gBACxB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAoB3C;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIF,eAAe;;;;iBA5BhB,MAAM;iBAAO,MAAM;;;mBADX,MAAM;mBAAS,MAAM;kBAAQ,MAAM;kBAAQ,MAAM;;;iBAJjD,MAAM;iBAAO,MAAM;;;;;;;;;;IA4C1C;;;OAGG;IACM,QAAQ,CAAC,KAAK,EAAE,MAAM;IAS/B,aAAa;IAWJ,kBAAkB,IAAI,OAAO;IAOtC;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ9C;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE1E,QAAA,MAAM,aAAa;;;;;IA1Hf;;;;OAIG;;;;;;;;;;;;;;;;;;;kBAyHL,CAAA;AAEF,QAAA,MAAM,oBAAoB;;;;;;;IA/HtB;;;;OAIG;;;;;;;;;;;;;;;;;;;kBA+HL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,cAAc,CAmB7E"}
|
package/dist/core/fields/map.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Field, baseFieldConfigSchema } from './field.js';
|
|
2
2
|
import { entityKind } from '../helpers/index.js';
|
|
3
3
|
import * as z from 'zod';
|
|
4
|
+
import getString from '../../translations/index.js';
|
|
4
5
|
const configSchema = z.strictObject({
|
|
5
6
|
center: z
|
|
6
7
|
.strictObject({
|
|
@@ -96,7 +97,7 @@ export class MapField extends Field {
|
|
|
96
97
|
*/
|
|
97
98
|
if (this.required) {
|
|
98
99
|
if (!this.value) {
|
|
99
|
-
throw new Error(
|
|
100
|
+
throw new Error(getString('fieldIsRequired', 'en', { field: String(this.label) }));
|
|
100
101
|
}
|
|
101
102
|
}
|
|
102
103
|
}
|
|
@@ -114,7 +115,7 @@ export class MapField extends Field {
|
|
|
114
115
|
* Check if the value if well formatted as `lat,lng` string
|
|
115
116
|
*/
|
|
116
117
|
if (!/^-?\d+(\.\d+)?,-?\d+(\.\d+)?$/.test(`${this.value?.lat},${this.value?.lng}`)) {
|
|
117
|
-
throw new Error(
|
|
118
|
+
throw new Error(getString('invalidMapFormat', 'en'));
|
|
118
119
|
}
|
|
119
120
|
}
|
|
120
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../src/core/fields/number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../src/core/fields/number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAiCxB,QAAA,MAAM,YAAY;;IA5Bd,oFAAoF;;;;;;;;;;;;;;;;;;;;;;IAoBpF;;;;OAIG;;wCAOL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,WAAY,SAAQ,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;IACpD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAgB;IAE7D,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEtB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAkD3C;;OAEG;IACH,OAAO,CAAC,WAAW;IAYH,eAAe;;;;;;;;;;;;;;;;IAY/B;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;IAIrB,kBAAkB,IAAI,OAAO;IActC,aAAa;IAkBb;;OAEG;IACG,oBAAoB;CA+C7B;AAED,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAYhF,QAAA,MAAM,aAAa;;IApOf,oFAAoF;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBpF;;;;OAIG;;;;;;;wCA+ML,CAAA;AAEF,QAAA,MAAM,uBAAuB;;IAzOzB,oFAAoF;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBpF;;;;OAIG;;;;;;;;;;mBAuNN,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,iBAAiB,CAmBnF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Field, baseFieldConfigSchema } from './field.js';
|
|
2
2
|
import { entityKind } from '../helpers/index.js';
|
|
3
3
|
import * as z from 'zod';
|
|
4
|
+
import getString from '../../translations/index.js';
|
|
4
5
|
const numberFieldAutoIncConfigSchema = z.strictObject({
|
|
5
6
|
hasAutoIncrement: z.literal(true).describe('Enable auto-increment for this field'),
|
|
6
7
|
/** Auto-increment is always integer. Allowing override to 'int' only (optional). */
|
|
@@ -75,10 +76,10 @@ export class NumberField extends Field {
|
|
|
75
76
|
* Basic structural logic checks
|
|
76
77
|
*/
|
|
77
78
|
if (this.minValue !== undefined && this.maxValue !== undefined && this.minValue > this.maxValue) {
|
|
78
|
-
throw new Error(
|
|
79
|
+
throw new Error(getString('fieldMinMaxMismatch', 'en', { field: String(this.label) }));
|
|
79
80
|
}
|
|
80
81
|
if (this.minLength !== undefined && this.maxLength !== undefined && this.minLength > this.maxLength) {
|
|
81
|
-
throw new Error(
|
|
82
|
+
throw new Error(getString('fieldLengthMismatch', 'en', { field: String(this.label) }));
|
|
82
83
|
}
|
|
83
84
|
/**
|
|
84
85
|
* Attempt to coerce the value
|
|
@@ -142,7 +143,7 @@ export class NumberField extends Field {
|
|
|
142
143
|
*/
|
|
143
144
|
if (this.required) {
|
|
144
145
|
if (this.value === undefined || this.value === null || Number.isNaN(this.value)) {
|
|
145
|
-
throw new Error(
|
|
146
|
+
throw new Error(getString('fieldIsRequired', 'en', { field: String(this.label) }));
|
|
146
147
|
}
|
|
147
148
|
}
|
|
148
149
|
}
|
|
@@ -163,7 +164,7 @@ export class NumberField extends Field {
|
|
|
163
164
|
*/
|
|
164
165
|
if (this.minValue) {
|
|
165
166
|
if (this.minValue > this.value) {
|
|
166
|
-
throw new Error(
|
|
167
|
+
throw new Error(getString('fieldMinValueError', 'en', { field: String(this.label), min: this.minValue }));
|
|
167
168
|
}
|
|
168
169
|
}
|
|
169
170
|
/**
|
|
@@ -171,7 +172,7 @@ export class NumberField extends Field {
|
|
|
171
172
|
*/
|
|
172
173
|
if (this.maxValue) {
|
|
173
174
|
if (this.maxValue < this.value) {
|
|
174
|
-
throw new Error(
|
|
175
|
+
throw new Error(getString('fieldMaxValueError', 'en', { field: String(this.label), max: this.maxValue }));
|
|
175
176
|
}
|
|
176
177
|
}
|
|
177
178
|
/**
|
|
@@ -179,7 +180,7 @@ export class NumberField extends Field {
|
|
|
179
180
|
*/
|
|
180
181
|
if (this.minLength) {
|
|
181
182
|
if (this.minLength > this.value.toString().length) {
|
|
182
|
-
throw new Error(
|
|
183
|
+
throw new Error(getString('numberMinLength', 'en', { min: this.minLength }));
|
|
183
184
|
}
|
|
184
185
|
}
|
|
185
186
|
/**
|
|
@@ -187,7 +188,7 @@ export class NumberField extends Field {
|
|
|
187
188
|
*/
|
|
188
189
|
if (this.maxLength) {
|
|
189
190
|
if (this.maxLength < this.value.toString().length) {
|
|
190
|
-
throw new Error(
|
|
191
|
+
throw new Error(getString('numberMaxLength', 'en', { max: this.maxLength }));
|
|
191
192
|
}
|
|
192
193
|
}
|
|
193
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../../src/core/fields/password.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../../src/core/fields/password.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAGxB,QAAA,MAAM,4BAA4B;;;kBAGhC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEjF,QAAA,MAAM,yBAAyB;;;;;;;;;kBAM7B,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEvD,qBAAa,aAAc,SAAQ,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;IACxD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAkB;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,GAAG,SAAS,CAAA;gBAE3C,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAQ3C;;OAEG;IACG,WAAW;IAMD,eAAe;;;;;;;;;;;;;;;;;IAU/B;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB,aAAa;IAWb;;OAEG;IACG,oBAAoB;CAuC7B;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAEpF,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;kBAGjB,CAAA;AAEF,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;kBAIhB,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE9D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,mBAAmB,CAmBvF"}
|