@sumaris-net/ngx-components 0.25.11 → 0.25.15
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 +13303 -13329
- 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/form/form.utils.js +1 -1
- package/esm2015/src/app/core/table/table.class.js +24 -48
- 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 +11869 -11893
- 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 +6 -4
- package/src/app/{core/form/form-error-translate.pipe.d.ts → shared/pipes/form.pipes.d.ts} +2 -2
- 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 -56
- package/src/app/core/form/form-error.adapter.d.ts +0 -16
|
@@ -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,56 +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 FormErrorAdapter {
|
|
9
|
-
constructor(translate) {
|
|
10
|
-
this.translate = translate;
|
|
11
|
-
}
|
|
12
|
-
formatError(form, opts) {
|
|
13
|
-
if (!form || !form.invalid)
|
|
14
|
-
return '';
|
|
15
|
-
const separator = opts && opts.separator || ', ';
|
|
16
|
-
const recursive = !opts || opts.recursive !== false;
|
|
17
|
-
const errors = AppFormUtils.getFormErrors(form, { recursive });
|
|
18
|
-
const i18nErrors = errors && Object.keys(errors).reduce((res, key) => {
|
|
19
|
-
const control = form.get(key);
|
|
20
|
-
// Should be a control map of errors
|
|
21
|
-
if (control) {
|
|
22
|
-
// Try to convert from a map, for one column control
|
|
23
|
-
const i18nFieldNameKey = this.getI18nFieldName(key, opts);
|
|
24
|
-
const i18nFieldName = this.translate.instant(i18nFieldNameKey);
|
|
25
|
-
// OK, we have a field name: use it
|
|
26
|
-
const columnErrors = Object.keys(control.errors).map(errorKey => this.getI18nError(errorKey, control.errors[errorKey]));
|
|
27
|
-
if (isEmptyArray(columnErrors))
|
|
28
|
-
return res;
|
|
29
|
-
// Add separator
|
|
30
|
-
if (res.length)
|
|
31
|
-
res += separator;
|
|
32
|
-
return res + i18nFieldName + ": " + columnErrors.join(separator);
|
|
33
|
-
}
|
|
34
|
-
// Or try as global form error
|
|
35
|
-
const formError = this.getI18nError(key, errors[key]);
|
|
36
|
-
if (isNil(formError))
|
|
37
|
-
return res;
|
|
38
|
-
return res + (res.length ? separator : '') + formError;
|
|
39
|
-
}, "");
|
|
40
|
-
return i18nErrors;
|
|
41
|
-
}
|
|
42
|
-
getI18nFieldName(fieldName, opts) {
|
|
43
|
-
return (opts && opts.i18nPrefix || '') + changeCaseToUnderscore(fieldName).toUpperCase();
|
|
44
|
-
}
|
|
45
|
-
getI18nError(errorKey, errorContent) {
|
|
46
|
-
return SharedValidators.translateError((a, b) => this.translate.instant(a, b), errorKey, errorContent);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
FormErrorAdapter.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormErrorAdapter_Factory() { return new FormErrorAdapter(i0.ɵɵinject(i1.TranslateService)); }, token: FormErrorAdapter, providedIn: "root" });
|
|
50
|
-
FormErrorAdapter.decorators = [
|
|
51
|
-
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
52
|
-
];
|
|
53
|
-
FormErrorAdapter.ctorParameters = () => [
|
|
54
|
-
{ type: TranslateService }
|
|
55
|
-
];
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vZm9ybS1lcnJvci5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFDLHNCQUFzQixFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFzQixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBVXJELE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFDVSxTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUVyQyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWUsRUFBRSxJQUE4QjtRQUN6RCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUV0QyxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDakQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUE7UUFDbkQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsRUFBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDO1FBQzdELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUVuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLG9DQUFvQztZQUNwQyxJQUFJLE9BQU8sRUFBRTtnQkFDWCxvREFBb0Q7Z0JBQ3BELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDMUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFFL0QsbUNBQW1DO2dCQUNuQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDeEgsSUFBSSxZQUFZLENBQUMsWUFBWSxDQUFDO29CQUFFLE9BQU8sR0FBRyxDQUFDO2dCQUMzQyxnQkFBZ0I7Z0JBQ2hCLElBQUksR0FBRyxDQUFDLE1BQU07b0JBQUUsR0FBRyxJQUFJLFNBQVMsQ0FBQztnQkFDakMsT0FBTyxHQUFHLEdBQUcsYUFBYSxHQUFHLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2xFO1lBRUQsOEJBQThCO1lBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3RELElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQztnQkFBRSxPQUFPLEdBQUcsQ0FBQztZQUNqQyxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ3pELENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNQLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxTQUFpQixFQUFFLElBQTRCO1FBQ3hFLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsR0FBRyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRVMsWUFBWSxDQUFDLFFBQWdCLEVBQUUsWUFBa0I7UUFDekQsT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3pHLENBQUM7Ozs7WUE3Q0YsVUFBVSxTQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7O1lBVHhCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXBwRm9ybVV0aWxzfSBmcm9tICcuL2Zvcm0udXRpbHMnO1xuaW1wb3J0IHtjaGFuZ2VDYXNlVG9VbmRlcnNjb3JlLCBpc0VtcHR5QXJyYXksIGlzTmlsfSBmcm9tICcuLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7U2hhcmVkVmFsaWRhdG9yc30gZnJvbSAnLi4vLi4vc2hhcmVkL3ZhbGlkYXRvci92YWxpZGF0b3JzJztcbmltcG9ydCB7SW5qZWN0YWJsZSwgUGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRXJyb3JBZGFwdGVyT3B0aW9ucyB7XG4gIGkxOG5QcmVmaXg/OiBzdHJpbmc7XG4gIHNlcGFyYXRvcj86IHN0cmluZztcbiAgcmVjdXJzaXZlPzogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgRm9ybUVycm9yQWRhcHRlciB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBmb3JtYXRFcnJvcihmb3JtOiBGb3JtR3JvdXAsIG9wdHM/OiBGb3JtRXJyb3JBZGFwdGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKCFmb3JtIHx8ICFmb3JtLmludmFsaWQpIHJldHVybiAnJztcblxuICAgIGNvbnN0IHNlcGFyYXRvciA9IG9wdHMgJiYgb3B0cy5zZXBhcmF0b3IgfHwgJywgJztcbiAgICBjb25zdCByZWN1cnNpdmUgPSAhb3B0cyB8fCBvcHRzLnJlY3Vyc2l2ZSAhPT0gZmFsc2VcbiAgICBjb25zdCBlcnJvcnMgPSBBcHBGb3JtVXRpbHMuZ2V0Rm9ybUVycm9ycyhmb3JtLCB7cmVjdXJzaXZlfSk7XG4gICAgY29uc3QgaTE4bkVycm9ycyA9IGVycm9ycyAmJiBPYmplY3Qua2V5cyhlcnJvcnMpLnJlZHVjZSgocmVzLCBrZXkpID0+IHtcblxuICAgICAgY29uc3QgY29udHJvbCA9IGZvcm0uZ2V0KGtleSk7XG4gICAgICAvLyBTaG91bGQgYmUgYSBjb250cm9sIG1hcCBvZiBlcnJvcnNcbiAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgIC8vIFRyeSB0byBjb252ZXJ0IGZyb20gYSBtYXAsIGZvciBvbmUgY29sdW1uIGNvbnRyb2xcbiAgICAgICAgY29uc3QgaTE4bkZpZWxkTmFtZUtleSA9IHRoaXMuZ2V0STE4bkZpZWxkTmFtZShrZXksIG9wdHMpO1xuICAgICAgICBjb25zdCBpMThuRmllbGROYW1lID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChpMThuRmllbGROYW1lS2V5KTtcblxuICAgICAgICAvLyBPSywgd2UgaGF2ZSBhIGZpZWxkIG5hbWU6IHVzZSBpdFxuICAgICAgICBjb25zdCBjb2x1bW5FcnJvcnMgPSBPYmplY3Qua2V5cyhjb250cm9sLmVycm9ycykubWFwKGVycm9yS2V5ID0+IHRoaXMuZ2V0STE4bkVycm9yKGVycm9yS2V5LCBjb250cm9sLmVycm9yc1tlcnJvcktleV0pKTtcbiAgICAgICAgaWYgKGlzRW1wdHlBcnJheShjb2x1bW5FcnJvcnMpKSByZXR1cm4gcmVzO1xuICAgICAgICAvLyBBZGQgc2VwYXJhdG9yXG4gICAgICAgIGlmIChyZXMubGVuZ3RoKSByZXMgKz0gc2VwYXJhdG9yO1xuICAgICAgICByZXR1cm4gcmVzICsgaTE4bkZpZWxkTmFtZSArIFwiOiBcIiArIGNvbHVtbkVycm9ycy5qb2luKHNlcGFyYXRvcik7XG4gICAgICB9XG5cbiAgICAgIC8vIE9yIHRyeSBhcyBnbG9iYWwgZm9ybSBlcnJvclxuICAgICAgY29uc3QgZm9ybUVycm9yID0gdGhpcy5nZXRJMThuRXJyb3Ioa2V5LCBlcnJvcnNba2V5XSk7XG4gICAgICBpZiAoaXNOaWwoZm9ybUVycm9yKSkgcmV0dXJuIHJlcztcbiAgICAgIHJldHVybiByZXMgKyAocmVzLmxlbmd0aCA/IHNlcGFyYXRvciA6ICcnKSArIGZvcm1FcnJvcjtcbiAgICB9LCBcIlwiKTtcbiAgICByZXR1cm4gaTE4bkVycm9ycztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJMThuRmllbGROYW1lKGZpZWxkTmFtZTogc3RyaW5nLCBvcHRzPzoge2kxOG5QcmVmaXg/OiBzdHJpbmd9KSB7XG4gICAgcmV0dXJuIChvcHRzICYmIG9wdHMuaTE4blByZWZpeCB8fCAnJykgKyBjaGFuZ2VDYXNlVG9VbmRlcnNjb3JlKGZpZWxkTmFtZSkudG9VcHBlckNhc2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJMThuRXJyb3IoZXJyb3JLZXk6IHN0cmluZywgZXJyb3JDb250ZW50PzogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gU2hhcmVkVmFsaWRhdG9ycy50cmFuc2xhdGVFcnJvcigoYSwgYikgPT4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChhLCBiKSwgZXJyb3JLZXksIGVycm9yQ29udGVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
3
|
-
export interface FormErrorAdapterOptions {
|
|
4
|
-
i18nPrefix?: string;
|
|
5
|
-
separator?: string;
|
|
6
|
-
recursive?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare class FormErrorAdapter {
|
|
9
|
-
private translate;
|
|
10
|
-
constructor(translate: TranslateService);
|
|
11
|
-
formatError(form: FormGroup, opts?: FormErrorAdapterOptions): string;
|
|
12
|
-
protected getI18nFieldName(fieldName: string, opts?: {
|
|
13
|
-
i18nPrefix?: string;
|
|
14
|
-
}): string;
|
|
15
|
-
protected getI18nError(errorKey: string, errorContent?: any): string;
|
|
16
|
-
}
|