Skip to content

Commit babf24f

Browse files
committed
Automatically convert errorMessages to validationMessages, for backwards compatibility.
1 parent eb34aa0 commit babf24f

File tree

1 file changed

+38
-32
lines changed

1 file changed

+38
-32
lines changed

src/lib/src/shared/layout.functions.ts

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -66,39 +66,45 @@ export function buildLayout(jsf, widgetLibrary) {
6666
newNode.options.title = fixTitle(newNode.name);
6767
}
6868
}
69-
// Convert Angular Schema Form (AngularJS) 'validationMessage' to
70-
// Angular JSON Schema Form 'validationMessages'
71-
// TV4 codes from https://github.com/geraintluff/tv4/blob/master/source/api.js
72-
if (!hasOwn(newNode.options, 'validationMessages') && hasOwn(newNode.options, 'validationMessage')) {
73-
if (typeof newNode.options.validationMessage === 'string') {
74-
newNode.options.validationMessages = newNode.options.validationMessage;
75-
} else {
76-
newNode.options.validationMessages = {};
77-
Object.keys(newNode.options.validationMessage).forEach(key => {
78-
const code = key + '';
79-
const newKey =
80-
code === '0' ? 'type' :
81-
code === '1' ? 'enum' :
82-
code === '100' ? 'multipleOf' :
83-
code === '101' ? 'minimum' :
84-
code === '102' ? 'exclusiveMinimum' :
85-
code === '103' ? 'maximum' :
86-
code === '104' ? 'exclusiveMaximum' :
87-
code === '200' ? 'minLength' :
88-
code === '201' ? 'maxLength' :
89-
code === '202' ? 'pattern' :
90-
code === '300' ? 'minProperties' :
91-
code === '301' ? 'maxProperties' :
92-
code === '302' ? 'required' :
93-
code === '304' ? 'dependencies' :
94-
code === '400' ? 'minItems' :
95-
code === '401' ? 'maxItems' :
96-
code === '402' ? 'uniqueItems' :
97-
code === '500' ? 'format' : code + '';
98-
newNode.options.validationMessages[newKey] = newNode.options.validationMessage[key];
99-
});
69+
if (!hasOwn(newNode.options, 'validationMessages')) {
70+
if (hasOwn(newNode.options, 'errorMessages')) {
71+
newNode.options.validationMessages = newNode.options.errorMessages;
72+
delete newNode.options.errorMessages;
73+
74+
// Convert Angular Schema Form (AngularJS) 'validationMessage' to
75+
// Angular JSON Schema Form 'validationMessages'
76+
// TV4 codes from https://github.com/geraintluff/tv4/blob/master/source/api.js
77+
} else if (hasOwn(newNode.options, 'validationMessage')) {
78+
if (typeof newNode.options.validationMessage === 'string') {
79+
newNode.options.validationMessages = newNode.options.validationMessage;
80+
} else {
81+
newNode.options.validationMessages = {};
82+
Object.keys(newNode.options.validationMessage).forEach(key => {
83+
const code = key + '';
84+
const newKey =
85+
code === '0' ? 'type' :
86+
code === '1' ? 'enum' :
87+
code === '100' ? 'multipleOf' :
88+
code === '101' ? 'minimum' :
89+
code === '102' ? 'exclusiveMinimum' :
90+
code === '103' ? 'maximum' :
91+
code === '104' ? 'exclusiveMaximum' :
92+
code === '200' ? 'minLength' :
93+
code === '201' ? 'maxLength' :
94+
code === '202' ? 'pattern' :
95+
code === '300' ? 'minProperties' :
96+
code === '301' ? 'maxProperties' :
97+
code === '302' ? 'required' :
98+
code === '304' ? 'dependencies' :
99+
code === '400' ? 'minItems' :
100+
code === '401' ? 'maxItems' :
101+
code === '402' ? 'uniqueItems' :
102+
code === '500' ? 'format' : code + '';
103+
newNode.options.validationMessages[newKey] = newNode.options.validationMessage[key];
104+
});
105+
}
106+
delete newNode.options.validationMessage;
100107
}
101-
delete newNode.options.validationMessage;
102108
}
103109
} else if (JsonPointer.isJsonPointer(layoutItem)) {
104110
newNode.dataPointer = layoutItem;

0 commit comments

Comments
 (0)