@sumaris-net/ngx-components 0.25.12 → 0.25.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sumaris-net.ngx-components.umd.js +13531 -13550
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/doc/changelog.md +5 -0
- package/esm2015/public_api.js +3 -3
- package/esm2015/src/app/core/core.module.js +1 -4
- package/esm2015/src/app/core/table/table.class.js +18 -24
- package/esm2015/src/app/shared/pipes/form.pipes.js +19 -0
- package/esm2015/src/app/shared/pipes/pipes.module.js +6 -3
- package/esm2015/src/app/shared/validator/form-error-adapter.class.js +75 -0
- package/esm2015/src/app/shared/validator/validators.js +2 -21
- package/fesm2015/sumaris-net.ngx-components.js +11843 -11856
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +2 -2
- package/src/app/core/table/table.class.d.ts +4 -6
- package/src/app/{core/form/form-error-translate.pipe.d.ts → shared/pipes/form.pipes.d.ts} +1 -1
- package/src/app/shared/validator/form-error-adapter.class.d.ts +22 -0
- package/src/app/shared/validator/validators.d.ts +1 -3
- package/sumaris-net.ngx-components.metadata.json +1 -1
- package/esm2015/src/app/core/form/form-error-translate.pipe.js +0 -19
- package/esm2015/src/app/core/form/form-error.adapter.js +0 -64
- package/src/app/core/form/form-error.adapter.d.ts +0 -28
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { FormErrorAdapter } from './form-error.adapter';
|
|
3
|
-
export class FormErrorTranslatePipe {
|
|
4
|
-
constructor(adapter) {
|
|
5
|
-
this.adapter = adapter;
|
|
6
|
-
}
|
|
7
|
-
transform(form, opts) {
|
|
8
|
-
return this.adapter.formatError(form, opts);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
FormErrorTranslatePipe.decorators = [
|
|
12
|
-
{ type: Pipe, args: [{
|
|
13
|
-
name: 'translateFormError',
|
|
14
|
-
},] }
|
|
15
|
-
];
|
|
16
|
-
FormErrorTranslatePipe.ctorParameters = () => [
|
|
17
|
-
{ type: FormErrorAdapter }
|
|
18
|
-
];
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci10cmFuc2xhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL2Zvcm0tZXJyb3ItdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFDLGdCQUFnQixFQUEwQixNQUFNLHNCQUFzQixDQUFDO0FBSy9FLE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsWUFDVSxPQUF5QjtRQUF6QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUVuQyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQWUsRUFBRSxJQUE4QjtRQUN2RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7WUFaRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLG9CQUFvQjthQUMzQjs7O1lBSk8sZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Zvcm1FcnJvckFkYXB0ZXIsIEZvcm1FcnJvckFkYXB0ZXJPcHRpb25zfSBmcm9tICcuL2Zvcm0tZXJyb3IuYWRhcHRlcic7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbGF0ZUZvcm1FcnJvcicsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FcnJvclRyYW5zbGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFkYXB0ZXI6IEZvcm1FcnJvckFkYXB0ZXJcbiAgKSB7XG4gIH1cblxuICB0cmFuc2Zvcm0oZm9ybTogRm9ybUdyb3VwLCBvcHRzPzogRm9ybUVycm9yQWRhcHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuZm9ybWF0RXJyb3IoZm9ybSwgb3B0cyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { AppFormUtils } from './form.utils';
|
|
2
|
-
import { changeCaseToUnderscore, isEmptyArray, isNil } from '../../shared/functions';
|
|
3
|
-
import { SharedValidators } from '../../shared/validator/validators';
|
|
4
|
-
import { Injectable } from '@angular/core';
|
|
5
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@ngx-translate/core";
|
|
8
|
-
export class IFormI18nService {
|
|
9
|
-
}
|
|
10
|
-
export class FormErrorAdapter {
|
|
11
|
-
constructor(translate) {
|
|
12
|
-
this.translate = translate;
|
|
13
|
-
}
|
|
14
|
-
formatError(form, opts) {
|
|
15
|
-
if (!form || !form.invalid)
|
|
16
|
-
return '';
|
|
17
|
-
const separator = opts && opts.separator || ', ';
|
|
18
|
-
const recursive = !opts || opts.recursive !== false;
|
|
19
|
-
const errors = AppFormUtils.getFormErrors(form, { recursive });
|
|
20
|
-
const i18nErrors = errors && Object.keys(errors).reduce((res, fieldName) => {
|
|
21
|
-
const control = form.get(fieldName);
|
|
22
|
-
// Should be a control map of errors
|
|
23
|
-
if (control) {
|
|
24
|
-
// Try to convert from a map, for one column control
|
|
25
|
-
const i18nFieldNameKey = this.getI18nKey(fieldName, opts);
|
|
26
|
-
const i18nFieldName = this.translate.instant(i18nFieldNameKey);
|
|
27
|
-
// OK, we have a field name: use it
|
|
28
|
-
const columnErrors = Object.keys(control.errors).map(errorKey => this.getI18nError(errorKey, control.errors[errorKey]));
|
|
29
|
-
if (isEmptyArray(columnErrors))
|
|
30
|
-
return res;
|
|
31
|
-
// Add separator
|
|
32
|
-
if (res.length)
|
|
33
|
-
res += separator;
|
|
34
|
-
return res + i18nFieldName + ": " + columnErrors.join(separator);
|
|
35
|
-
}
|
|
36
|
-
// Or try as global form error
|
|
37
|
-
const formError = this.getI18nError(fieldName, errors[fieldName]);
|
|
38
|
-
if (isNil(formError))
|
|
39
|
-
return res;
|
|
40
|
-
return res + (res.length ? separator : '') + formError;
|
|
41
|
-
}, "");
|
|
42
|
-
return i18nErrors;
|
|
43
|
-
}
|
|
44
|
-
getI18nKey(fieldName, opts) {
|
|
45
|
-
if (opts === null || opts === void 0 ? void 0 : opts.i18nService) {
|
|
46
|
-
return opts === null || opts === void 0 ? void 0 : opts.i18nService.getI18nFieldName(fieldName);
|
|
47
|
-
}
|
|
48
|
-
return (opts && opts.i18nPrefix || '') + changeCaseToUnderscore(fieldName).toUpperCase();
|
|
49
|
-
}
|
|
50
|
-
getI18nError(errorKey, errorContent, opts) {
|
|
51
|
-
if ((opts === null || opts === void 0 ? void 0 : opts.i18nService) && (opts === null || opts === void 0 ? void 0 : opts.i18nService.getI18nError)) {
|
|
52
|
-
return opts === null || opts === void 0 ? void 0 : opts.i18nService.getI18nError(errorKey, errorContent);
|
|
53
|
-
}
|
|
54
|
-
return SharedValidators.translateError((a, b) => this.translate.instant(a, b), errorKey, errorContent);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
FormErrorAdapter.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormErrorAdapter_Factory() { return new FormErrorAdapter(i0.ɵɵinject(i1.TranslateService)); }, token: FormErrorAdapter, providedIn: "root" });
|
|
58
|
-
FormErrorAdapter.decorators = [
|
|
59
|
-
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
60
|
-
];
|
|
61
|
-
FormErrorAdapter.ctorParameters = () => [
|
|
62
|
-
{ type: TranslateService }
|
|
63
|
-
];
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vZm9ybS1lcnJvci5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFDLHNCQUFzQixFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7QUFHckQsTUFBTSxPQUFPLGdCQUFnQjtDQWE1QjtBQVVELE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFDVSxTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUVyQyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWUsRUFBRSxJQUE4QjtRQUN6RCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUV0QyxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDakQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUE7UUFDbkQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsRUFBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDO1FBQzdELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRTtZQUV6RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLG9DQUFvQztZQUNwQyxJQUFJLE9BQU8sRUFBRTtnQkFDWCxvREFBb0Q7Z0JBQ3BELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzFELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBRS9ELG1DQUFtQztnQkFDbkMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hILElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQztvQkFBRSxPQUFPLEdBQUcsQ0FBQztnQkFDM0MsZ0JBQWdCO2dCQUNoQixJQUFJLEdBQUcsQ0FBQyxNQUFNO29CQUFFLEdBQUcsSUFBSSxTQUFTLENBQUM7Z0JBQ2pDLE9BQU8sR0FBRyxHQUFHLGFBQWEsR0FBRyxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNsRTtZQUVELDhCQUE4QjtZQUM5QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNsRSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUM7Z0JBQUUsT0FBTyxHQUFHLENBQUM7WUFDakMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUN6RCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDUCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRVMsVUFBVSxDQUFDLFNBQWlCLEVBQUUsSUFBOEI7UUFDcEUsSUFBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVyxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUU7U0FDdEQ7UUFDRCxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLEdBQUcsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVTLFlBQVksQ0FBQyxRQUFnQixFQUFFLFlBQWtCLEVBQUUsSUFBOEI7UUFDekYsSUFBSSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxXQUFXLE1BQUksSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUEsRUFBRTtZQUN2RCxPQUFPLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxXQUFXLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUU7U0FDL0Q7UUFDRCxPQUFPLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDekcsQ0FBQzs7OztZQW5ERixVQUFVLFNBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOzs7WUF6QnhCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXBwRm9ybVV0aWxzfSBmcm9tICcuL2Zvcm0udXRpbHMnO1xuaW1wb3J0IHtjaGFuZ2VDYXNlVG9VbmRlcnNjb3JlLCBpc0VtcHR5QXJyYXksIGlzTmlsfSBmcm9tICcuLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7U2hhcmVkVmFsaWRhdG9yc30gZnJvbSAnLi4vLi4vc2hhcmVkL3ZhbGlkYXRvci92YWxpZGF0b3JzJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGNsYXNzIElGb3JtSTE4blNlcnZpY2Uge1xuICAvKipcbiAgICogRnJvbSBhIGZpZWxkTmFtZSBjb21wbGV0ZSBuYW1lIChlLmcuICdzdGFydERhdGUnLCAndGF4b25Hcm91cCcsICdtZWFzdXJlbWVudFZhbHVlcy4xJyksIHNob3VsZCByZXR1cm4gYW4gaTE4biBrZXkgdG8gYmUgdXNlZCB0cmFuc2xhdGlvblxuICAgKiBAcGFyYW0gZmllbGROYW1lIHRoZSBmaWVsZCBuYW1lIHRvIGNvbnZlcnRcbiAgICovXG4gIGdldEkxOG5GaWVsZE5hbWU6IChmaWVsZE5hbWUpID0+IHN0cmluZztcblxuICAvKipcbiAgICogRnJvbSBhIGVycm9yIGtleSAoZS5nLiAncmVxdWlyZWQnKSwgc2hvdWxkIHJldHVybiBhbiBpMThuIGtleSB0byBiZSB1c2VkIHRyYW5zbGF0aW9uXG4gICAqIEBwYXJhbSBlcnJvcktleSB0aGUgZXJyb3Iga2V5XG4gICAqIEBwYXJhbSBlcnJvckNvbnRlbnQgdGhlIGVycm9yIGNvbnRlbnRcbiAgICovXG4gIGdldEkxOG5FcnJvcj86IChlLCBjKSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUVycm9yQWRhcHRlck9wdGlvbnMge1xuICBpMThuUHJlZml4Pzogc3RyaW5nO1xuICBpMThuU2VydmljZT86IElGb3JtSTE4blNlcnZpY2U7XG4gIHNlcGFyYXRvcj86IHN0cmluZztcbiAgcmVjdXJzaXZlPzogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgRm9ybUVycm9yQWRhcHRlciB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBmb3JtYXRFcnJvcihmb3JtOiBGb3JtR3JvdXAsIG9wdHM/OiBGb3JtRXJyb3JBZGFwdGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKCFmb3JtIHx8ICFmb3JtLmludmFsaWQpIHJldHVybiAnJztcblxuICAgIGNvbnN0IHNlcGFyYXRvciA9IG9wdHMgJiYgb3B0cy5zZXBhcmF0b3IgfHwgJywgJztcbiAgICBjb25zdCByZWN1cnNpdmUgPSAhb3B0cyB8fCBvcHRzLnJlY3Vyc2l2ZSAhPT0gZmFsc2VcbiAgICBjb25zdCBlcnJvcnMgPSBBcHBGb3JtVXRpbHMuZ2V0Rm9ybUVycm9ycyhmb3JtLCB7cmVjdXJzaXZlfSk7XG4gICAgY29uc3QgaTE4bkVycm9ycyA9IGVycm9ycyAmJiBPYmplY3Qua2V5cyhlcnJvcnMpLnJlZHVjZSgocmVzLCBmaWVsZE5hbWUpID0+IHtcblxuICAgICAgY29uc3QgY29udHJvbCA9IGZvcm0uZ2V0KGZpZWxkTmFtZSk7XG4gICAgICAvLyBTaG91bGQgYmUgYSBjb250cm9sIG1hcCBvZiBlcnJvcnNcbiAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgIC8vIFRyeSB0byBjb252ZXJ0IGZyb20gYSBtYXAsIGZvciBvbmUgY29sdW1uIGNvbnRyb2xcbiAgICAgICAgY29uc3QgaTE4bkZpZWxkTmFtZUtleSA9IHRoaXMuZ2V0STE4bktleShmaWVsZE5hbWUsIG9wdHMpO1xuICAgICAgICBjb25zdCBpMThuRmllbGROYW1lID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChpMThuRmllbGROYW1lS2V5KTtcblxuICAgICAgICAvLyBPSywgd2UgaGF2ZSBhIGZpZWxkIG5hbWU6IHVzZSBpdFxuICAgICAgICBjb25zdCBjb2x1bW5FcnJvcnMgPSBPYmplY3Qua2V5cyhjb250cm9sLmVycm9ycykubWFwKGVycm9yS2V5ID0+IHRoaXMuZ2V0STE4bkVycm9yKGVycm9yS2V5LCBjb250cm9sLmVycm9yc1tlcnJvcktleV0pKTtcbiAgICAgICAgaWYgKGlzRW1wdHlBcnJheShjb2x1bW5FcnJvcnMpKSByZXR1cm4gcmVzO1xuICAgICAgICAvLyBBZGQgc2VwYXJhdG9yXG4gICAgICAgIGlmIChyZXMubGVuZ3RoKSByZXMgKz0gc2VwYXJhdG9yO1xuICAgICAgICByZXR1cm4gcmVzICsgaTE4bkZpZWxkTmFtZSArIFwiOiBcIiArIGNvbHVtbkVycm9ycy5qb2luKHNlcGFyYXRvcik7XG4gICAgICB9XG5cbiAgICAgIC8vIE9yIHRyeSBhcyBnbG9iYWwgZm9ybSBlcnJvclxuICAgICAgY29uc3QgZm9ybUVycm9yID0gdGhpcy5nZXRJMThuRXJyb3IoZmllbGROYW1lLCBlcnJvcnNbZmllbGROYW1lXSk7XG4gICAgICBpZiAoaXNOaWwoZm9ybUVycm9yKSkgcmV0dXJuIHJlcztcbiAgICAgIHJldHVybiByZXMgKyAocmVzLmxlbmd0aCA/IHNlcGFyYXRvciA6ICcnKSArIGZvcm1FcnJvcjtcbiAgICB9LCBcIlwiKTtcbiAgICByZXR1cm4gaTE4bkVycm9ycztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJMThuS2V5KGZpZWxkTmFtZTogc3RyaW5nLCBvcHRzPzogRm9ybUVycm9yQWRhcHRlck9wdGlvbnMpIHtcbiAgICBpZiAob3B0cz8uaTE4blNlcnZpY2UpIHtcbiAgICAgIHJldHVybiBvcHRzPy5pMThuU2VydmljZS5nZXRJMThuRmllbGROYW1lKGZpZWxkTmFtZSk7XG4gICAgfVxuICAgIHJldHVybiAob3B0cyAmJiBvcHRzLmkxOG5QcmVmaXggfHwgJycpICsgY2hhbmdlQ2FzZVRvVW5kZXJzY29yZShmaWVsZE5hbWUpLnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0STE4bkVycm9yKGVycm9yS2V5OiBzdHJpbmcsIGVycm9yQ29udGVudD86IGFueSwgb3B0cz86IEZvcm1FcnJvckFkYXB0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICBpZiAob3B0cz8uaTE4blNlcnZpY2UgJiYgb3B0cz8uaTE4blNlcnZpY2UuZ2V0STE4bkVycm9yKSB7XG4gICAgICByZXR1cm4gb3B0cz8uaTE4blNlcnZpY2UuZ2V0STE4bkVycm9yKGVycm9yS2V5LCBlcnJvckNvbnRlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gU2hhcmVkVmFsaWRhdG9ycy50cmFuc2xhdGVFcnJvcigoYSwgYikgPT4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChhLCBiKSwgZXJyb3JLZXksIGVycm9yQ29udGVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
3
|
-
export declare class IFormI18nService {
|
|
4
|
-
/**
|
|
5
|
-
* From a fieldName complete name (e.g. 'startDate', 'taxonGroup', 'measurementValues.1'), should return an i18n key to be used translation
|
|
6
|
-
* @param fieldName the field name to convert
|
|
7
|
-
*/
|
|
8
|
-
getI18nFieldName: (fieldName: any) => string;
|
|
9
|
-
/**
|
|
10
|
-
* From a error key (e.g. 'required'), should return an i18n key to be used translation
|
|
11
|
-
* @param errorKey the error key
|
|
12
|
-
* @param errorContent the error content
|
|
13
|
-
*/
|
|
14
|
-
getI18nError?: (e: any, c: any) => string;
|
|
15
|
-
}
|
|
16
|
-
export interface FormErrorAdapterOptions {
|
|
17
|
-
i18nPrefix?: string;
|
|
18
|
-
i18nService?: IFormI18nService;
|
|
19
|
-
separator?: string;
|
|
20
|
-
recursive?: boolean;
|
|
21
|
-
}
|
|
22
|
-
export declare class FormErrorAdapter {
|
|
23
|
-
private translate;
|
|
24
|
-
constructor(translate: TranslateService);
|
|
25
|
-
formatError(form: FormGroup, opts?: FormErrorAdapterOptions): string;
|
|
26
|
-
protected getI18nKey(fieldName: string, opts?: FormErrorAdapterOptions): string;
|
|
27
|
-
protected getI18nError(errorKey: string, errorContent?: any, opts?: FormErrorAdapterOptions): string;
|
|
28
|
-
}
|