ngx-schema-forms
Version:
New features: - Ajv schema validator. - Angular forms compatible: Property tree is created using FormGroup, FormArray and FormControl classes. - Array now properly loads initial data from model. - WidgetTyep: WidgetRegistry now supports WidgetType, now wo
39 lines (38 loc) • 3.06 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
export class FormPropertyErrors {
/**
* @param {?} errors
*/
constructor(errors) {
this.errors = errors;
}
/**
* @return {?}
*/
getMessages() {
/** @type {?} */
const errorsPaths = Object.keys(this.errors);
if (!errorsPaths.length) {
return [];
}
return errorsPaths
.reduce((messages, path) => {
/** @type {?} */
const message = this.errors[path]["message"];
if (!message) {
messages.push('Missing validation error "message" for property ' + path);
return messages;
}
messages.push(message);
return messages;
}, []);
}
}
if (false) {
/** @type {?} */
FormPropertyErrors.prototype.errors;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1wcm9wZXJ0eS1lcnJvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtc2NoZW1hLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL21vZGVsL2Zvcm0tcHJvcGVydHktZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNOzs7O0lBSUosWUFBWSxNQUE0QztRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztLQUN0Qjs7OztJQUVELFdBQVc7O1FBQ1QsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFN0MsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN4QixNQUFNLENBQUMsRUFBRSxDQUFDO1NBQ1g7UUFFRCxNQUFNLENBQUMsV0FBVzthQUNmLE1BQU0sQ0FBQyxDQUFDLFFBQWtCLEVBQUUsSUFBWSxFQUFFLEVBQUU7O1lBQzNDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVM7WUFDMUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNiLFFBQVEsQ0FBQyxJQUFJLENBQ1gsa0RBQWtELEdBQUcsSUFBSSxDQUMxRCxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxRQUFRLENBQUM7YUFDakI7WUFFRCxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZCLE1BQU0sQ0FBQyxRQUFRLENBQUM7U0FDakIsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUNWO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgY2xhc3MgRm9ybVByb3BlcnR5RXJyb3JzICB7XG5cbiAgcmVhZG9ubHkgZXJyb3JzOiB7IFtwYXRoOiBzdHJpbmddOiBWYWxpZGF0aW9uRXJyb3JzIH07XG5cbiAgY29uc3RydWN0b3IoZXJyb3JzOiB7IFtwYXRoOiBzdHJpbmddOiBWYWxpZGF0aW9uRXJyb3JzIH0pIHtcbiAgICB0aGlzLmVycm9ycyA9IGVycm9ycztcbiAgfVxuXG4gIGdldE1lc3NhZ2VzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlcnJvcnNQYXRocyA9IE9iamVjdC5rZXlzKHRoaXMuZXJyb3JzKTtcblxuICAgIGlmICghZXJyb3JzUGF0aHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIGVycm9yc1BhdGhzXG4gICAgICAucmVkdWNlKChtZXNzYWdlczogc3RyaW5nW10sIHBhdGg6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5lcnJvcnNbcGF0aF0ubWVzc2FnZTtcbiAgICAgICAgaWYgKCFtZXNzYWdlKSB7XG4gICAgICAgICAgbWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgICdNaXNzaW5nIHZhbGlkYXRpb24gZXJyb3IgXCJtZXNzYWdlXCIgZm9yIHByb3BlcnR5ICcgKyBwYXRoXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gbWVzc2FnZXM7XG4gICAgICAgIH1cblxuICAgICAgICBtZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xuICAgICAgICByZXR1cm4gbWVzc2FnZXM7XG4gICAgICB9LCBbXSk7XG4gIH1cblxufVxuIl19