UNPKG

@skireal/form-builder

Version:
34 lines 4.57 kB
import { __decorate } 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"; let ValidationService = class ValidationService { constructor(localeService) { this.localeService = localeService; } getMissingFieldsMessage(missingFields, fieldType) { const localizedMessage = this.localeService.getCurrentLocale()['Please fill in all required fields'] || 'Please fill in all required fields'; const readableNames = missingFields.map((fieldId) => this.getFieldNameById(fieldId, fieldType)); return `${localizedMessage}: ${readableNames.join(', ')}`; } getFieldNameById(fieldId, fieldType) { var _a; const allFields = [...commonFields, ...(fieldsByType[fieldType] || [])]; const found = allFields.find((f) => f.id === fieldId); return ((_a = found) === null || _a === void 0 ? void 0 : _a.name) || fieldId; } }; ValidationService.ctorParameters = () => [ { 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); export { ValidationService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNraXJlYWwvZm9ybS1idWlsZGVyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3ZhbGlkYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWlCLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUtqRCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQUM1QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFcEQsdUJBQXVCLENBQUMsYUFBdUIsRUFBRSxTQUF3QjtRQUN2RSxNQUFNLGdCQUFnQixHQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUMsb0NBQW9DLENBQUM7WUFDM0Usb0NBQW9DLENBQUM7UUFFdkMsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRWhHLE9BQU8sR0FBRyxnQkFBZ0IsS0FBSyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQWUsRUFBRSxTQUF3Qjs7UUFDeEQsTUFBTSxTQUFTLEdBQVksQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFakYsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztRQUN0RCxPQUFPLE9BQUEsS0FBSywwQ0FBRSxJQUFJLEtBQUksT0FBTyxDQUFDO0lBQ2hDLENBQUM7Q0FDRixDQUFBOztZQWxCb0MsYUFBYTs7O0FBRHJDLGlCQUFpQjtJQUg3QixVQUFVLENBQUM7UUFDVixVQUFVLEVBQUUsTUFBTTtLQUNuQixDQUFDO0dBQ1csaUJBQWlCLENBbUI3QjtTQW5CWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRUeXBlLCBmaWVsZHNCeVR5cGUsIGNvbW1vbkZpZWxkcyB9IGZyb20gJy4uL2NvbnN0YW50cy91aS1jb25zdGFudHMnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS1jb25zdHJ1Y3Rvci5tb2RlbCc7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlKSB7fVxuXG4gIGdldE1pc3NpbmdGaWVsZHNNZXNzYWdlKG1pc3NpbmdGaWVsZHM6IHN0cmluZ1tdLCBmaWVsZFR5cGU6IEZvcm1GaWVsZFR5cGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxvY2FsaXplZE1lc3NhZ2UgPVxuICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlLmdldEN1cnJlbnRMb2NhbGUoKVsnUGxlYXNlIGZpbGwgaW4gYWxsIHJlcXVpcmVkIGZpZWxkcyddIHx8XG4gICAgICAnUGxlYXNlIGZpbGwgaW4gYWxsIHJlcXVpcmVkIGZpZWxkcyc7XG5cbiAgICBjb25zdCByZWFkYWJsZU5hbWVzID0gbWlzc2luZ0ZpZWxkcy5tYXAoKGZpZWxkSWQpID0+IHRoaXMuZ2V0RmllbGROYW1lQnlJZChmaWVsZElkLCBmaWVsZFR5cGUpKTtcblxuICAgIHJldHVybiBgJHtsb2NhbGl6ZWRNZXNzYWdlfTogJHtyZWFkYWJsZU5hbWVzLmpvaW4oJywgJyl9YDtcbiAgfVxuXG4gIGdldEZpZWxkTmFtZUJ5SWQoZmllbGRJZDogc3RyaW5nLCBmaWVsZFR5cGU6IEZvcm1GaWVsZFR5cGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsbEZpZWxkczogRmllbGRbXSA9IFsuLi5jb21tb25GaWVsZHMsIC4uLihmaWVsZHNCeVR5cGVbZmllbGRUeXBlXSB8fCBbXSldO1xuXG4gICAgY29uc3QgZm91bmQgPSBhbGxGaWVsZHMuZmluZCgoZikgPT4gZi5pZCA9PT0gZmllbGRJZCk7XG4gICAgcmV0dXJuIGZvdW5kPy5uYW1lIHx8IGZpZWxkSWQ7XG4gIH1cbn1cbiJdfQ==