@recursyve/nice-ui-kit.v2 14.0.0-beta.117 → 14.0.0-beta.119
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/esm2020/lib/components/export-bottom-sheet/export-bottom-sheet.component.mjs +3 -3
- package/esm2020/lib/components/public-api.mjs +2 -1
- package/esm2020/lib/components/translation-form/components/textarea/translation-form-textarea.component.mjs +37 -0
- package/esm2020/lib/components/translation-form/components/textfield/translation-form-textfield.component.mjs +25 -0
- package/esm2020/lib/components/translation-form/components/translation-form.component.mjs +164 -0
- package/esm2020/lib/components/translation-form/components/translation-form.module.mjs +71 -0
- package/esm2020/lib/components/translation-form/decorators/translation-form.decorator.mjs +4 -0
- package/esm2020/lib/components/translation-form/directives/translation-context.directive.mjs +34 -0
- package/esm2020/lib/components/translation-form/index.mjs +2 -0
- package/esm2020/lib/components/translation-form/providers/translation-form.service.mjs +46 -0
- package/esm2020/lib/components/translation-form/public-api.mjs +10 -0
- package/esm2020/lib/components/translation-form/toggle/translation-toggle.component.mjs +26 -0
- package/esm2020/lib/components/translation-form/translation.form.mjs +6 -0
- package/esm2020/lib/components/translation-form/validators/require-for-languages.validator.mjs +42 -0
- package/fesm2015/recursyve-nice-ui-kit.v2.mjs +470 -72
- package/fesm2015/recursyve-nice-ui-kit.v2.mjs.map +1 -1
- package/fesm2020/recursyve-nice-ui-kit.v2.mjs +470 -72
- package/fesm2020/recursyve-nice-ui-kit.v2.mjs.map +1 -1
- package/lib/components/public-api.d.ts +1 -0
- package/lib/components/translation-form/components/textarea/translation-form-textarea.component.d.ts +9 -0
- package/lib/components/translation-form/components/textfield/translation-form-textfield.component.d.ts +6 -0
- package/lib/components/translation-form/components/translation-form.component.d.ts +55 -0
- package/lib/components/translation-form/components/translation-form.module.d.ts +16 -0
- package/lib/components/translation-form/decorators/translation-form.decorator.d.ts +1 -0
- package/lib/components/translation-form/directives/translation-context.directive.d.ts +15 -0
- package/lib/components/translation-form/index.d.ts +1 -0
- package/lib/components/translation-form/providers/translation-form.service.d.ts +12 -0
- package/lib/components/translation-form/public-api.d.ts +9 -0
- package/lib/components/translation-form/toggle/translation-toggle.component.d.ts +14 -0
- package/lib/components/translation-form/translation.form.d.ts +5 -0
- package/lib/components/translation-form/validators/require-for-languages.validator.d.ts +14 -0
- package/package.json +2 -2
package/esm2020/lib/components/translation-form/validators/require-for-languages.validator.mjs
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { AsyncValidator, registerAsyncValidatorDecorator, } from "@recursyve/ngx-form-generator";
|
|
3
|
+
import { of } from "rxjs";
|
|
4
|
+
import { TranslationFormService } from "../providers/translation-form.service";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../providers/translation-form.service";
|
|
7
|
+
export function RequireForLanguages() {
|
|
8
|
+
return registerAsyncValidatorDecorator({
|
|
9
|
+
name: "RequireForLanguages",
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
export class RequireForLanguagesValidator extends AsyncValidator {
|
|
13
|
+
constructor(service) {
|
|
14
|
+
super();
|
|
15
|
+
this.service = service;
|
|
16
|
+
this.name = "RequireForLanguages";
|
|
17
|
+
}
|
|
18
|
+
validate(formGroup) {
|
|
19
|
+
const requiredLanguages = this.service.requiredLanguages$.getValue();
|
|
20
|
+
if (!requiredLanguages.length) {
|
|
21
|
+
return of(null);
|
|
22
|
+
}
|
|
23
|
+
const missingLanguages = [];
|
|
24
|
+
for (const requiredLanguage of requiredLanguages) {
|
|
25
|
+
const control = formGroup.get(requiredLanguage);
|
|
26
|
+
if (control?.value) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
missingLanguages.push(requiredLanguage);
|
|
30
|
+
}
|
|
31
|
+
if (missingLanguages?.length) {
|
|
32
|
+
return of({ languageRequired: { missingLanguages } });
|
|
33
|
+
}
|
|
34
|
+
return of(null);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
RequireForLanguagesValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: RequireForLanguagesValidator, deps: [{ token: i1.TranslationFormService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
RequireForLanguagesValidator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: RequireForLanguagesValidator });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: RequireForLanguagesValidator, decorators: [{
|
|
40
|
+
type: Injectable
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i1.TranslationFormService }]; } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZS1mb3ItbGFuZ3VhZ2VzLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy90cmFuc2xhdGlvbi1mb3JtL3ZhbGlkYXRvcnMvcmVxdWlyZS1mb3ItbGFuZ3VhZ2VzLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFDSCxjQUFjLEVBQ2QsK0JBQStCLEdBQ2xDLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBRS9FLE1BQU0sVUFBVSxtQkFBbUI7SUFDL0IsT0FBTywrQkFBK0IsQ0FBQztRQUNuQyxJQUFJLEVBQUUscUJBQXFCO0tBQzlCLENBQUMsQ0FBQztBQUNQLENBQUM7QUFHRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsY0FBYztJQUc1RCxZQUFvQixPQUErQjtRQUMvQyxLQUFLLEVBQUUsQ0FBQztRQURRLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBRjVDLFNBQUksR0FBRyxxQkFBcUIsQ0FBQztJQUlwQyxDQUFDO0lBRU0sUUFBUSxDQUFDLFNBQW9CO1FBQ2hDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVyRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFO1lBQzNCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25CO1FBRUQsTUFBTSxnQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFFdEMsS0FBSyxNQUFNLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFO1lBQzlDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUVoRCxJQUFJLE9BQU8sRUFBRSxLQUFLLEVBQUU7Z0JBQ2hCLFNBQVM7YUFDWjtZQUVELGdCQUFnQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUU7WUFDMUIsT0FBTyxFQUFFLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3pEO1FBRUQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7eUhBL0JRLDRCQUE0Qjs2SEFBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtcbiAgICBBc3luY1ZhbGlkYXRvcixcbiAgICByZWdpc3RlckFzeW5jVmFsaWRhdG9yRGVjb3JhdG9yLFxufSBmcm9tIFwiQHJlY3Vyc3l2ZS9uZ3gtZm9ybS1nZW5lcmF0b3JcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFRyYW5zbGF0aW9uRm9ybVNlcnZpY2UgfSBmcm9tIFwiLi4vcHJvdmlkZXJzL3RyYW5zbGF0aW9uLWZvcm0uc2VydmljZVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gUmVxdWlyZUZvckxhbmd1YWdlcygpIHtcbiAgICByZXR1cm4gcmVnaXN0ZXJBc3luY1ZhbGlkYXRvckRlY29yYXRvcih7XG4gICAgICAgIG5hbWU6IFwiUmVxdWlyZUZvckxhbmd1YWdlc1wiLFxuICAgIH0pO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVxdWlyZUZvckxhbmd1YWdlc1ZhbGlkYXRvciBleHRlbmRzIEFzeW5jVmFsaWRhdG9yIHtcbiAgICBwdWJsaWMgbmFtZSA9IFwiUmVxdWlyZUZvckxhbmd1YWdlc1wiO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBUcmFuc2xhdGlvbkZvcm1TZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHZhbGlkYXRlKGZvcm1Hcm91cDogRm9ybUdyb3VwKTogT2JzZXJ2YWJsZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4ge1xuICAgICAgICBjb25zdCByZXF1aXJlZExhbmd1YWdlcyA9IHRoaXMuc2VydmljZS5yZXF1aXJlZExhbmd1YWdlcyQuZ2V0VmFsdWUoKTtcblxuICAgICAgICBpZiAoIXJlcXVpcmVkTGFuZ3VhZ2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWlzc2luZ0xhbmd1YWdlczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IHJlcXVpcmVkTGFuZ3VhZ2Ugb2YgcmVxdWlyZWRMYW5ndWFnZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KHJlcXVpcmVkTGFuZ3VhZ2UpO1xuXG4gICAgICAgICAgICBpZiAoY29udHJvbD8udmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWlzc2luZ0xhbmd1YWdlcy5wdXNoKHJlcXVpcmVkTGFuZ3VhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1pc3NpbmdMYW5ndWFnZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHsgbGFuZ3VhZ2VSZXF1aXJlZDogeyBtaXNzaW5nTGFuZ3VhZ2VzIH0gfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxufVxuIl19
|