@skireal/form-builder
Version:
Form builder for Angular apps
36 lines • 4.83 kB
JavaScript
import { __decorate, __read, __spread } from "tslib";
import { Injectable } from '@angular/core';
import { fieldsByType, commonFields } from '../constants/ui-constants';
import { LocaleService } from './locale.service';
import * as i0 from "@angular/core";
import * as i1 from "./locale.service";
var ValidationService = /** @class */ (function () {
function ValidationService(localeService) {
this.localeService = localeService;
}
ValidationService.prototype.getMissingFieldsMessage = function (missingFields, fieldType) {
var _this = this;
var localizedMessage = this.localeService.getCurrentLocale()['Please fill in all required fields'] ||
'Please fill in all required fields';
var readableNames = missingFields.map(function (fieldId) { return _this.getFieldNameById(fieldId, fieldType); });
return localizedMessage + ": " + readableNames.join(', ');
};
ValidationService.prototype.getFieldNameById = function (fieldId, fieldType) {
var _a;
var allFields = __spread(commonFields, (fieldsByType[fieldType] || []));
var found = allFields.find(function (f) { return f.id === fieldId; });
return ((_a = found) === null || _a === void 0 ? void 0 : _a.name) || fieldId;
};
ValidationService.ctorParameters = function () { return [
{ type: LocaleService }
]; };
ValidationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ValidationService_Factory() { return new ValidationService(i0.ɵɵinject(i1.LocaleService)); }, token: ValidationService, providedIn: "root" });
ValidationService = __decorate([
Injectable({
providedIn: 'root'
})
], ValidationService);
return ValidationService;
}());
export { ValidationService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNraXJlYWwvZm9ybS1idWlsZGVyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3ZhbGlkYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWlCLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUtqRDtJQUNFLDJCQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFcEQsbURBQXVCLEdBQXZCLFVBQXdCLGFBQXVCLEVBQUUsU0FBd0I7UUFBekUsaUJBUUM7UUFQQyxJQUFNLGdCQUFnQixHQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUMsb0NBQW9DLENBQUM7WUFDM0Usb0NBQW9DLENBQUM7UUFFdkMsSUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFDLE9BQU8sSUFBSyxPQUFBLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLEVBQXpDLENBQXlDLENBQUMsQ0FBQztRQUVoRyxPQUFVLGdCQUFnQixVQUFLLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFHLENBQUM7SUFDNUQsQ0FBQztJQUVELDRDQUFnQixHQUFoQixVQUFpQixPQUFlLEVBQUUsU0FBd0I7O1FBQ3hELElBQU0sU0FBUyxZQUFnQixZQUFZLEVBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVqRixJQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLEVBQWhCLENBQWdCLENBQUMsQ0FBQztRQUN0RCxPQUFPLE9BQUEsS0FBSywwQ0FBRSxJQUFJLEtBQUksT0FBTyxDQUFDO0lBQ2hDLENBQUM7O2dCQWpCa0MsYUFBYTs7O0lBRHJDLGlCQUFpQjtRQUg3QixVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDO09BQ1csaUJBQWlCLENBbUI3Qjs0QkEzQkQ7Q0EyQkMsQUFuQkQsSUFtQkM7U0FuQlksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUZpZWxkVHlwZSwgZmllbGRzQnlUeXBlLCBjb21tb25GaWVsZHMgfSBmcm9tICcuLi9jb25zdGFudHMvdWktY29uc3RhbnRzJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0tY29uc3RydWN0b3IubW9kZWwnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJy4vbG9jYWxlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSkge31cblxuICBnZXRNaXNzaW5nRmllbGRzTWVzc2FnZShtaXNzaW5nRmllbGRzOiBzdHJpbmdbXSwgZmllbGRUeXBlOiBGb3JtRmllbGRUeXBlKTogc3RyaW5nIHtcbiAgICBjb25zdCBsb2NhbGl6ZWRNZXNzYWdlID1cbiAgICAgIHRoaXMubG9jYWxlU2VydmljZS5nZXRDdXJyZW50TG9jYWxlKClbJ1BsZWFzZSBmaWxsIGluIGFsbCByZXF1aXJlZCBmaWVsZHMnXSB8fFxuICAgICAgJ1BsZWFzZSBmaWxsIGluIGFsbCByZXF1aXJlZCBmaWVsZHMnO1xuXG4gICAgY29uc3QgcmVhZGFibGVOYW1lcyA9IG1pc3NpbmdGaWVsZHMubWFwKChmaWVsZElkKSA9PiB0aGlzLmdldEZpZWxkTmFtZUJ5SWQoZmllbGRJZCwgZmllbGRUeXBlKSk7XG5cbiAgICByZXR1cm4gYCR7bG9jYWxpemVkTWVzc2FnZX06ICR7cmVhZGFibGVOYW1lcy5qb2luKCcsICcpfWA7XG4gIH1cblxuICBnZXRGaWVsZE5hbWVCeUlkKGZpZWxkSWQ6IHN0cmluZywgZmllbGRUeXBlOiBGb3JtRmllbGRUeXBlKTogc3RyaW5nIHtcbiAgICBjb25zdCBhbGxGaWVsZHM6IEZpZWxkW10gPSBbLi4uY29tbW9uRmllbGRzLCAuLi4oZmllbGRzQnlUeXBlW2ZpZWxkVHlwZV0gfHwgW10pXTtcblxuICAgIGNvbnN0IGZvdW5kID0gYWxsRmllbGRzLmZpbmQoKGYpID0+IGYuaWQgPT09IGZpZWxkSWQpO1xuICAgIHJldHVybiBmb3VuZD8ubmFtZSB8fCBmaWVsZElkO1xuICB9XG59XG4iXX0=