UNPKG

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
/** * @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