@routevn/creator-model 1.10.2 → 1.10.3
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/package.json +1 -1
- package/src/model.js +45 -0
package/package.json
CHANGED
package/src/model.js
CHANGED
|
@@ -395,6 +395,13 @@ const LAYOUT_ELEMENT_BASE_TYPES = [
|
|
|
395
395
|
"container-ref-confirm-dialog-ok",
|
|
396
396
|
"container-ref-confirm-dialog-cancel",
|
|
397
397
|
];
|
|
398
|
+
const SAVE_LOAD_DATE_FORMATS = new Set([
|
|
399
|
+
"DD/MM/YYYY",
|
|
400
|
+
"MM/DD/YYYY",
|
|
401
|
+
"YYYY-MM-DD",
|
|
402
|
+
"DD MMM YYYY",
|
|
403
|
+
"YYYY年MM月DD日",
|
|
404
|
+
]);
|
|
398
405
|
export const SCHEMA_VERSION = 10;
|
|
399
406
|
const LAYOUT_CONTAINER_ELEMENT_TYPES = [
|
|
400
407
|
"folder",
|
|
@@ -3874,6 +3881,7 @@ const validateLayoutElementData = ({
|
|
|
3874
3881
|
"border",
|
|
3875
3882
|
"text",
|
|
3876
3883
|
"content",
|
|
3884
|
+
"dateFormat",
|
|
3877
3885
|
"textStyle",
|
|
3878
3886
|
"displaySpeed",
|
|
3879
3887
|
"revealEffect",
|
|
@@ -3966,6 +3974,27 @@ const validateLayoutElementData = ({
|
|
|
3966
3974
|
}
|
|
3967
3975
|
}
|
|
3968
3976
|
|
|
3977
|
+
if (
|
|
3978
|
+
data.dateFormat !== undefined &&
|
|
3979
|
+
!SAVE_LOAD_DATE_FORMATS.has(data.dateFormat)
|
|
3980
|
+
) {
|
|
3981
|
+
return invalidFromErrorFactory(
|
|
3982
|
+
errorFactory,
|
|
3983
|
+
`${path}.dateFormat must be one of ${Array.from(SAVE_LOAD_DATE_FORMATS).join(", ")} when provided`,
|
|
3984
|
+
);
|
|
3985
|
+
}
|
|
3986
|
+
|
|
3987
|
+
if (
|
|
3988
|
+
data.dateFormat !== undefined &&
|
|
3989
|
+
data.type !== undefined &&
|
|
3990
|
+
data.type !== "text-ref-save-load-slot-date"
|
|
3991
|
+
) {
|
|
3992
|
+
return invalidFromErrorFactory(
|
|
3993
|
+
errorFactory,
|
|
3994
|
+
`${path}.dateFormat can only be provided for save/load date elements`,
|
|
3995
|
+
);
|
|
3996
|
+
}
|
|
3997
|
+
|
|
3969
3998
|
if (data.hidden !== undefined && typeof data.hidden !== "boolean") {
|
|
3970
3999
|
return invalidFromErrorFactory(
|
|
3971
4000
|
errorFactory,
|
|
@@ -4642,6 +4671,7 @@ const validateLayoutElementItems = ({ items, path, errorFactory }) => {
|
|
|
4642
4671
|
"border",
|
|
4643
4672
|
"text",
|
|
4644
4673
|
"content",
|
|
4674
|
+
"dateFormat",
|
|
4645
4675
|
"textStyle",
|
|
4646
4676
|
"displaySpeed",
|
|
4647
4677
|
"revealEffect",
|
|
@@ -12218,6 +12248,21 @@ const validateVisualElementReferenceTargets = ({
|
|
|
12218
12248
|
state,
|
|
12219
12249
|
errorFactory,
|
|
12220
12250
|
}) => {
|
|
12251
|
+
if (
|
|
12252
|
+
data.dateFormat !== undefined &&
|
|
12253
|
+
data.type !== "text-ref-save-load-slot-date"
|
|
12254
|
+
) {
|
|
12255
|
+
return invalidFromErrorFactory(
|
|
12256
|
+
errorFactory,
|
|
12257
|
+
`${ownerLabel} element dateFormat can only be provided for save/load date elements`,
|
|
12258
|
+
{
|
|
12259
|
+
[ownerIdField]: ownerId,
|
|
12260
|
+
elementId,
|
|
12261
|
+
field: "dateFormat",
|
|
12262
|
+
},
|
|
12263
|
+
);
|
|
12264
|
+
}
|
|
12265
|
+
|
|
12221
12266
|
if (data.blur !== undefined && data.type !== "sprite") {
|
|
12222
12267
|
return invalidFromErrorFactory(
|
|
12223
12268
|
errorFactory,
|