@aemforms/af-core 0.22.97 → 0.22.99
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/esm/afb-runtime.js +27 -24
- package/esm/types/src/BaseNode.d.ts +1 -0
- package/esm/types/src/Field.d.ts +0 -1
- package/lib/BaseNode.d.ts +1 -0
- package/lib/BaseNode.js +3 -0
- package/lib/Container.js +6 -7
- package/lib/Field.d.ts +0 -1
- package/lib/Field.js +9 -8
- package/lib/utils/JsonUtils.js +12 -10
- package/package.json +2 -2
package/esm/afb-runtime.js
CHANGED
|
@@ -78,19 +78,21 @@ const isButton = function (item) {
|
|
|
78
78
|
return item?.fieldType === 'button';
|
|
79
79
|
};
|
|
80
80
|
function deepClone(obj, idGenerator) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
result = [];
|
|
84
|
-
result = obj.map(x => deepClone(x, idGenerator));
|
|
81
|
+
if (obj === null || typeof obj !== 'object') {
|
|
82
|
+
return obj;
|
|
85
83
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
84
|
+
let result;
|
|
85
|
+
if (Array.isArray(obj)) {
|
|
86
|
+
result = new Array(obj.length);
|
|
87
|
+
for (let i = 0; i < obj.length; i++) {
|
|
88
|
+
result[i] = deepClone(obj[i], idGenerator);
|
|
89
|
+
}
|
|
91
90
|
}
|
|
92
91
|
else {
|
|
93
|
-
result =
|
|
92
|
+
result = {};
|
|
93
|
+
for (const key of Object.keys(obj)) {
|
|
94
|
+
result[key] = deepClone(obj[key], idGenerator);
|
|
95
|
+
}
|
|
94
96
|
}
|
|
95
97
|
if (idGenerator && result && result.id) {
|
|
96
98
|
result.id = idGenerator();
|
|
@@ -1225,6 +1227,9 @@ class BaseNode {
|
|
|
1225
1227
|
get name() {
|
|
1226
1228
|
return this._jsonModel.name;
|
|
1227
1229
|
}
|
|
1230
|
+
get screenReaderText() {
|
|
1231
|
+
return this._jsonModel.screenReaderText;
|
|
1232
|
+
}
|
|
1228
1233
|
get description() {
|
|
1229
1234
|
return this._jsonModel.description;
|
|
1230
1235
|
}
|
|
@@ -1946,7 +1951,7 @@ class Container extends Scriptable {
|
|
|
1946
1951
|
_canHaveRepeatingChildren(mode = 'create') {
|
|
1947
1952
|
const items = this._jsonModel.items;
|
|
1948
1953
|
return this._jsonModel.type == 'array' && this.getDataNode() != null &&
|
|
1949
|
-
(items.length === 1 || (items[0].repeatable == true && mode === 'restore'));
|
|
1954
|
+
(items.length === 1 || (items.length > 0 && items[0].repeatable == true && mode === 'restore'));
|
|
1950
1955
|
}
|
|
1951
1956
|
_initialize(mode) {
|
|
1952
1957
|
super._initialize(mode);
|
|
@@ -2141,12 +2146,11 @@ class Container extends Scriptable {
|
|
|
2141
2146
|
}
|
|
2142
2147
|
}
|
|
2143
2148
|
get enabled() {
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
else {
|
|
2148
|
-
return this._jsonModel.enabled;
|
|
2149
|
+
const parentEnabled = this.parent?.enabled;
|
|
2150
|
+
if (parentEnabled !== undefined) {
|
|
2151
|
+
return parentEnabled ? this._jsonModel.enabled : false;
|
|
2149
2152
|
}
|
|
2153
|
+
return this._jsonModel.enabled;
|
|
2150
2154
|
}
|
|
2151
2155
|
set enabled(e) {
|
|
2152
2156
|
this._setProperty('enabled', e, true, this.notifyChildren);
|
|
@@ -3605,12 +3609,11 @@ class Field extends Scriptable {
|
|
|
3605
3609
|
this._setProperty('readOnly', e);
|
|
3606
3610
|
}
|
|
3607
3611
|
get enabled() {
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
else {
|
|
3612
|
-
return this._jsonModel.enabled;
|
|
3612
|
+
const parentEnabled = this.parent?.enabled;
|
|
3613
|
+
if (parentEnabled !== undefined) {
|
|
3614
|
+
return parentEnabled ? this._jsonModel.enabled : false;
|
|
3613
3615
|
}
|
|
3616
|
+
return this._jsonModel.enabled;
|
|
3614
3617
|
}
|
|
3615
3618
|
set enabled(e) {
|
|
3616
3619
|
this._setProperty('enabled', e);
|
|
@@ -3861,9 +3864,6 @@ class Field extends Scriptable {
|
|
|
3861
3864
|
this._setProperty('errorMessage', e);
|
|
3862
3865
|
this._setProperty('validationMessage', e);
|
|
3863
3866
|
}
|
|
3864
|
-
get screenReaderText() {
|
|
3865
|
-
return this._jsonModel.screenReaderText;
|
|
3866
|
-
}
|
|
3867
3867
|
_getConstraintObject() {
|
|
3868
3868
|
return Constraints;
|
|
3869
3869
|
}
|
|
@@ -4089,6 +4089,9 @@ class Field extends Scriptable {
|
|
|
4089
4089
|
if (this.visible === false) {
|
|
4090
4090
|
return [];
|
|
4091
4091
|
}
|
|
4092
|
+
if (this.valid === false && this.errorMessage && this?.validity?.customConstraint) {
|
|
4093
|
+
return [new ValidationError(this.id, [this._jsonModel.errorMessage])];
|
|
4094
|
+
}
|
|
4092
4095
|
const changes = this.evaluateConstraints();
|
|
4093
4096
|
this.#triggerValidationEvent();
|
|
4094
4097
|
if (changes.validity) {
|
|
@@ -40,6 +40,7 @@ export declare abstract class BaseNode<T extends BaseJson> implements BaseModel
|
|
|
40
40
|
get fieldType(): string;
|
|
41
41
|
get ':type'(): string;
|
|
42
42
|
get name(): string | undefined;
|
|
43
|
+
get screenReaderText(): string | undefined;
|
|
43
44
|
get description(): string | undefined;
|
|
44
45
|
set description(d: string | undefined);
|
|
45
46
|
get dataRef(): string | null | undefined;
|
package/esm/types/src/Field.d.ts
CHANGED
|
@@ -65,7 +65,6 @@ declare class Field extends Scriptable<FieldJson> implements FieldModel {
|
|
|
65
65
|
getErrorMessage(constraint: keyof (ConstraintsMessages)): string;
|
|
66
66
|
get errorMessage(): string | undefined;
|
|
67
67
|
set errorMessage(e: string | undefined);
|
|
68
|
-
get screenReaderText(): string | undefined;
|
|
69
68
|
_getConstraintObject(): {
|
|
70
69
|
enum: (constraint: any, inputVal: any) => {
|
|
71
70
|
valid: boolean;
|
package/lib/BaseNode.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ export declare abstract class BaseNode<T extends BaseJson> implements BaseModel
|
|
|
40
40
|
get fieldType(): string;
|
|
41
41
|
get ':type'(): string;
|
|
42
42
|
get name(): string | undefined;
|
|
43
|
+
get screenReaderText(): string | undefined;
|
|
43
44
|
get description(): string | undefined;
|
|
44
45
|
set description(d: string | undefined);
|
|
45
46
|
get dataRef(): string | null | undefined;
|
package/lib/BaseNode.js
CHANGED
package/lib/Container.js
CHANGED
|
@@ -199,7 +199,7 @@ class Container extends Scriptable_1.default {
|
|
|
199
199
|
_canHaveRepeatingChildren(mode = 'create') {
|
|
200
200
|
const items = this._jsonModel.items;
|
|
201
201
|
return this._jsonModel.type == 'array' && this.getDataNode() != null &&
|
|
202
|
-
(items.length === 1 || (items[0].repeatable == true && mode === 'restore'));
|
|
202
|
+
(items.length === 1 || (items.length > 0 && items[0].repeatable == true && mode === 'restore'));
|
|
203
203
|
}
|
|
204
204
|
_initialize(mode) {
|
|
205
205
|
super._initialize(mode);
|
|
@@ -395,13 +395,12 @@ class Container extends Scriptable_1.default {
|
|
|
395
395
|
}
|
|
396
396
|
}
|
|
397
397
|
get enabled() {
|
|
398
|
-
var _a
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
else {
|
|
403
|
-
return this._jsonModel.enabled;
|
|
398
|
+
var _a;
|
|
399
|
+
const parentEnabled = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.enabled;
|
|
400
|
+
if (parentEnabled !== undefined) {
|
|
401
|
+
return parentEnabled ? this._jsonModel.enabled : false;
|
|
404
402
|
}
|
|
403
|
+
return this._jsonModel.enabled;
|
|
405
404
|
}
|
|
406
405
|
set enabled(e) {
|
|
407
406
|
this._setProperty('enabled', e, true, this.notifyChildren);
|
package/lib/Field.d.ts
CHANGED
|
@@ -65,7 +65,6 @@ declare class Field extends Scriptable<FieldJson> implements FieldModel {
|
|
|
65
65
|
getErrorMessage(constraint: keyof (ConstraintsMessages)): string;
|
|
66
66
|
get errorMessage(): string | undefined;
|
|
67
67
|
set errorMessage(e: string | undefined);
|
|
68
|
-
get screenReaderText(): string | undefined;
|
|
69
68
|
_getConstraintObject(): {
|
|
70
69
|
enum: (constraint: any, inputVal: any) => {
|
|
71
70
|
valid: boolean;
|
package/lib/Field.js
CHANGED
|
@@ -210,12 +210,12 @@ class Field extends Scriptable_1.default {
|
|
|
210
210
|
this._setProperty('readOnly', e);
|
|
211
211
|
}
|
|
212
212
|
get enabled() {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
return this._jsonModel.enabled;
|
|
213
|
+
var _a;
|
|
214
|
+
const parentEnabled = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.enabled;
|
|
215
|
+
if (parentEnabled !== undefined) {
|
|
216
|
+
return parentEnabled ? this._jsonModel.enabled : false;
|
|
218
217
|
}
|
|
218
|
+
return this._jsonModel.enabled;
|
|
219
219
|
}
|
|
220
220
|
set enabled(e) {
|
|
221
221
|
this._setProperty('enabled', e);
|
|
@@ -463,9 +463,6 @@ class Field extends Scriptable_1.default {
|
|
|
463
463
|
this._setProperty('errorMessage', e);
|
|
464
464
|
this._setProperty('validationMessage', e);
|
|
465
465
|
}
|
|
466
|
-
get screenReaderText() {
|
|
467
|
-
return this._jsonModel.screenReaderText;
|
|
468
|
-
}
|
|
469
466
|
_getConstraintObject() {
|
|
470
467
|
return ValidationUtils_1.Constraints;
|
|
471
468
|
}
|
|
@@ -674,9 +671,13 @@ class Field extends Scriptable_1.default {
|
|
|
674
671
|
}
|
|
675
672
|
}
|
|
676
673
|
validate() {
|
|
674
|
+
var _a;
|
|
677
675
|
if (this.visible === false) {
|
|
678
676
|
return [];
|
|
679
677
|
}
|
|
678
|
+
if (this.valid === false && this.errorMessage && ((_a = this === null || this === void 0 ? void 0 : this.validity) === null || _a === void 0 ? void 0 : _a.customConstraint)) {
|
|
679
|
+
return [new types_1.ValidationError(this.id, [this._jsonModel.errorMessage])];
|
|
680
|
+
}
|
|
680
681
|
const changes = this.evaluateConstraints();
|
|
681
682
|
__classPrivateFieldGet(this, _Field_instances, "m", _Field_triggerValidationEvent).call(this);
|
|
682
683
|
if (changes.validity) {
|
package/lib/utils/JsonUtils.js
CHANGED
|
@@ -56,19 +56,21 @@ const isButton = function (item) {
|
|
|
56
56
|
};
|
|
57
57
|
exports.isButton = isButton;
|
|
58
58
|
function deepClone(obj, idGenerator) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
result = [];
|
|
62
|
-
result = obj.map(x => deepClone(x, idGenerator));
|
|
59
|
+
if (obj === null || typeof obj !== 'object') {
|
|
60
|
+
return obj;
|
|
63
61
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
62
|
+
let result;
|
|
63
|
+
if (Array.isArray(obj)) {
|
|
64
|
+
result = new Array(obj.length);
|
|
65
|
+
for (let i = 0; i < obj.length; i++) {
|
|
66
|
+
result[i] = deepClone(obj[i], idGenerator);
|
|
67
|
+
}
|
|
69
68
|
}
|
|
70
69
|
else {
|
|
71
|
-
result =
|
|
70
|
+
result = {};
|
|
71
|
+
for (const key of Object.keys(obj)) {
|
|
72
|
+
result[key] = deepClone(obj[key], idGenerator);
|
|
73
|
+
}
|
|
72
74
|
}
|
|
73
75
|
if (idGenerator && result && result.id) {
|
|
74
76
|
result.id = idGenerator();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aemforms/af-core",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.99",
|
|
4
4
|
"description": "Core Module for Forms Runtime",
|
|
5
5
|
"author": "Adobe Systems",
|
|
6
6
|
"license": "Adobe Proprietary",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@adobe/json-formula": "0.1.50",
|
|
40
|
-
"@aemforms/af-formatters": "^0.22.
|
|
40
|
+
"@aemforms/af-formatters": "^0.22.99"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@babel/preset-env": "^7.20.2",
|