@routevn/creator-model 1.2.5 → 1.2.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/package.json +1 -1
- package/src/model.js +105 -2
package/package.json
CHANGED
package/src/model.js
CHANGED
|
@@ -3298,12 +3298,13 @@ const validateLayoutElementData = ({
|
|
|
3298
3298
|
|
|
3299
3299
|
if (
|
|
3300
3300
|
data.direction !== undefined &&
|
|
3301
|
+
data.direction !== "absolute" &&
|
|
3301
3302
|
data.direction !== "horizontal" &&
|
|
3302
3303
|
data.direction !== "vertical"
|
|
3303
3304
|
) {
|
|
3304
3305
|
return invalidFromErrorFactory(
|
|
3305
3306
|
errorFactory,
|
|
3306
|
-
`${path}.direction must be 'horizontal' or 'vertical' when provided`,
|
|
3307
|
+
`${path}.direction must be 'absolute', 'horizontal' or 'vertical' when provided`,
|
|
3307
3308
|
);
|
|
3308
3309
|
}
|
|
3309
3310
|
|
|
@@ -3656,6 +3657,21 @@ const validateKeyboardMap = ({ value, path, errorFactory }) => {
|
|
|
3656
3657
|
return VALID_RESULT;
|
|
3657
3658
|
};
|
|
3658
3659
|
|
|
3660
|
+
const validatePreviewObject = ({ value, path, errorFactory }) => {
|
|
3661
|
+
if (value === undefined) {
|
|
3662
|
+
return VALID_RESULT;
|
|
3663
|
+
}
|
|
3664
|
+
|
|
3665
|
+
if (!isPlainObject(value)) {
|
|
3666
|
+
return invalidFromErrorFactory(
|
|
3667
|
+
errorFactory,
|
|
3668
|
+
`${path} must be an object when provided`,
|
|
3669
|
+
);
|
|
3670
|
+
}
|
|
3671
|
+
|
|
3672
|
+
return VALID_RESULT;
|
|
3673
|
+
};
|
|
3674
|
+
|
|
3659
3675
|
const validateLayoutItems = ({ items, path, errorFactory }) => {
|
|
3660
3676
|
for (const [itemId, item] of Object.entries(items)) {
|
|
3661
3677
|
const itemPath = `${path}.${itemId}`;
|
|
@@ -3681,6 +3697,7 @@ const validateLayoutItems = ({ items, path, errorFactory }) => {
|
|
|
3681
3697
|
"layoutType",
|
|
3682
3698
|
"isFragment",
|
|
3683
3699
|
"thumbnailFileId",
|
|
3700
|
+
"preview",
|
|
3684
3701
|
"elements",
|
|
3685
3702
|
],
|
|
3686
3703
|
path: itemPath,
|
|
@@ -3729,6 +3746,17 @@ const validateLayoutItems = ({ items, path, errorFactory }) => {
|
|
|
3729
3746
|
);
|
|
3730
3747
|
}
|
|
3731
3748
|
|
|
3749
|
+
{
|
|
3750
|
+
const result = validatePreviewObject({
|
|
3751
|
+
value: item.preview,
|
|
3752
|
+
path: `${itemPath}.preview`,
|
|
3753
|
+
errorFactory,
|
|
3754
|
+
});
|
|
3755
|
+
if (result?.valid === false) {
|
|
3756
|
+
return result;
|
|
3757
|
+
}
|
|
3758
|
+
}
|
|
3759
|
+
|
|
3732
3760
|
if (item.type === "layout") {
|
|
3733
3761
|
if (!LAYOUT_TYPE_KEYS.includes(item.layoutType)) {
|
|
3734
3762
|
return invalidFromErrorFactory(
|
|
@@ -3786,6 +3814,7 @@ const validateControlItems = ({ items, path, errorFactory }) => {
|
|
|
3786
3814
|
"name",
|
|
3787
3815
|
"description",
|
|
3788
3816
|
"thumbnailFileId",
|
|
3817
|
+
"preview",
|
|
3789
3818
|
"elements",
|
|
3790
3819
|
"keyboard",
|
|
3791
3820
|
],
|
|
@@ -3835,6 +3864,17 @@ const validateControlItems = ({ items, path, errorFactory }) => {
|
|
|
3835
3864
|
);
|
|
3836
3865
|
}
|
|
3837
3866
|
|
|
3867
|
+
{
|
|
3868
|
+
const result = validatePreviewObject({
|
|
3869
|
+
value: item.preview,
|
|
3870
|
+
path: `${itemPath}.preview`,
|
|
3871
|
+
errorFactory,
|
|
3872
|
+
});
|
|
3873
|
+
if (result?.valid === false) {
|
|
3874
|
+
return result;
|
|
3875
|
+
}
|
|
3876
|
+
}
|
|
3877
|
+
|
|
3838
3878
|
if (item.type === "control") {
|
|
3839
3879
|
{
|
|
3840
3880
|
const result = validateNestedCollection({
|
|
@@ -8166,6 +8206,7 @@ const validateLayoutCreateData = ({ data, errorFactory }) => {
|
|
|
8166
8206
|
"layoutType",
|
|
8167
8207
|
"isFragment",
|
|
8168
8208
|
"thumbnailFileId",
|
|
8209
|
+
"preview",
|
|
8169
8210
|
"elements",
|
|
8170
8211
|
],
|
|
8171
8212
|
path: "payload.data",
|
|
@@ -8200,6 +8241,17 @@ const validateLayoutCreateData = ({ data, errorFactory }) => {
|
|
|
8200
8241
|
);
|
|
8201
8242
|
}
|
|
8202
8243
|
|
|
8244
|
+
{
|
|
8245
|
+
const result = validatePreviewObject({
|
|
8246
|
+
value: data.preview,
|
|
8247
|
+
path: "payload.data.preview",
|
|
8248
|
+
errorFactory,
|
|
8249
|
+
});
|
|
8250
|
+
if (result?.valid === false) {
|
|
8251
|
+
return result;
|
|
8252
|
+
}
|
|
8253
|
+
}
|
|
8254
|
+
|
|
8203
8255
|
if (data.type === "layout") {
|
|
8204
8256
|
if (!LAYOUT_TYPE_KEYS.includes(data.layoutType)) {
|
|
8205
8257
|
return invalidFromErrorFactory(
|
|
@@ -8240,6 +8292,7 @@ const validateLayoutUpdateData = ({ data, errorFactory }) => {
|
|
|
8240
8292
|
"layoutType",
|
|
8241
8293
|
"isFragment",
|
|
8242
8294
|
"thumbnailFileId",
|
|
8295
|
+
"preview",
|
|
8243
8296
|
],
|
|
8244
8297
|
path: "payload.data",
|
|
8245
8298
|
errorFactory,
|
|
@@ -8280,6 +8333,17 @@ const validateLayoutUpdateData = ({ data, errorFactory }) => {
|
|
|
8280
8333
|
);
|
|
8281
8334
|
}
|
|
8282
8335
|
|
|
8336
|
+
{
|
|
8337
|
+
const result = validatePreviewObject({
|
|
8338
|
+
value: data.preview,
|
|
8339
|
+
path: "payload.data.preview",
|
|
8340
|
+
errorFactory,
|
|
8341
|
+
});
|
|
8342
|
+
if (result?.valid === false) {
|
|
8343
|
+
return result;
|
|
8344
|
+
}
|
|
8345
|
+
}
|
|
8346
|
+
|
|
8283
8347
|
if (
|
|
8284
8348
|
data.layoutType !== undefined &&
|
|
8285
8349
|
!LAYOUT_TYPE_KEYS.includes(data.layoutType)
|
|
@@ -8324,6 +8388,7 @@ const validateControlCreateData = ({ data, errorFactory }) => {
|
|
|
8324
8388
|
"name",
|
|
8325
8389
|
"description",
|
|
8326
8390
|
"thumbnailFileId",
|
|
8391
|
+
"preview",
|
|
8327
8392
|
"elements",
|
|
8328
8393
|
"keyboard",
|
|
8329
8394
|
],
|
|
@@ -8359,6 +8424,17 @@ const validateControlCreateData = ({ data, errorFactory }) => {
|
|
|
8359
8424
|
);
|
|
8360
8425
|
}
|
|
8361
8426
|
|
|
8427
|
+
{
|
|
8428
|
+
const result = validatePreviewObject({
|
|
8429
|
+
value: data.preview,
|
|
8430
|
+
path: "payload.data.preview",
|
|
8431
|
+
errorFactory,
|
|
8432
|
+
});
|
|
8433
|
+
if (result?.valid === false) {
|
|
8434
|
+
return result;
|
|
8435
|
+
}
|
|
8436
|
+
}
|
|
8437
|
+
|
|
8362
8438
|
if (data.type === "control") {
|
|
8363
8439
|
{
|
|
8364
8440
|
const result = validateNestedCollection({
|
|
@@ -8390,7 +8466,13 @@ const validateControlUpdateData = ({ data, errorFactory }) => {
|
|
|
8390
8466
|
{
|
|
8391
8467
|
const result = validateAllowedKeys({
|
|
8392
8468
|
value: data,
|
|
8393
|
-
allowedKeys: [
|
|
8469
|
+
allowedKeys: [
|
|
8470
|
+
"name",
|
|
8471
|
+
"description",
|
|
8472
|
+
"keyboard",
|
|
8473
|
+
"thumbnailFileId",
|
|
8474
|
+
"preview",
|
|
8475
|
+
],
|
|
8394
8476
|
path: "payload.data",
|
|
8395
8477
|
errorFactory,
|
|
8396
8478
|
});
|
|
@@ -8430,6 +8512,17 @@ const validateControlUpdateData = ({ data, errorFactory }) => {
|
|
|
8430
8512
|
);
|
|
8431
8513
|
}
|
|
8432
8514
|
|
|
8515
|
+
{
|
|
8516
|
+
const result = validatePreviewObject({
|
|
8517
|
+
value: data.preview,
|
|
8518
|
+
path: "payload.data.preview",
|
|
8519
|
+
errorFactory,
|
|
8520
|
+
});
|
|
8521
|
+
if (result?.valid === false) {
|
|
8522
|
+
return result;
|
|
8523
|
+
}
|
|
8524
|
+
}
|
|
8525
|
+
|
|
8433
8526
|
{
|
|
8434
8527
|
const result = validateKeyboardMap({
|
|
8435
8528
|
value: data.keyboard,
|
|
@@ -13740,6 +13833,11 @@ const COMMAND_DEFINITIONS = [
|
|
|
13740
13833
|
thumbnailFileId: payload.data.thumbnailFileId,
|
|
13741
13834
|
}
|
|
13742
13835
|
: {}),
|
|
13836
|
+
...(payload.data.preview !== undefined
|
|
13837
|
+
? {
|
|
13838
|
+
preview: structuredClone(payload.data.preview),
|
|
13839
|
+
}
|
|
13840
|
+
: {}),
|
|
13743
13841
|
elements: structuredClone(payload.data.elements),
|
|
13744
13842
|
}
|
|
13745
13843
|
: {}),
|
|
@@ -13805,6 +13903,11 @@ const COMMAND_DEFINITIONS = [
|
|
|
13805
13903
|
thumbnailFileId: payload.data.thumbnailFileId,
|
|
13806
13904
|
}
|
|
13807
13905
|
: {}),
|
|
13906
|
+
...(payload.data.preview !== undefined
|
|
13907
|
+
? {
|
|
13908
|
+
preview: structuredClone(payload.data.preview),
|
|
13909
|
+
}
|
|
13910
|
+
: {}),
|
|
13808
13911
|
elements: structuredClone(payload.data.elements),
|
|
13809
13912
|
...(payload.data.keyboard !== undefined
|
|
13810
13913
|
? {
|