@seniorsistemas/angular-components 18.1.0-feature-sds-276-eef80ef6 → 18.1.0-feature-sds-276-5af1a901
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/dynamic-form/src/optional-fields/editor/public-api.d.ts +2 -1
- package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +2 -2
- package/esm2022/dynamic-form/src/optional-fields/editor/public-api.mjs +15 -3
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs +16 -4
- package/fesm2022/seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { EnvironmentProviders } from '@angular/core';
|
|
2
|
+
export declare function provideEditorField(): EnvironmentProviders;
|
|
@@ -16,7 +16,7 @@ export class ControlErrorsComponent {
|
|
|
16
16
|
errorMessagesList = [];
|
|
17
17
|
onDestroy$ = new Subject();
|
|
18
18
|
ngOnChanges(changes) {
|
|
19
|
-
if (changes['control'] && changes['control'].firstChange) {
|
|
19
|
+
if (changes['control'] && changes['control'].firstChange && this.control) {
|
|
20
20
|
this.control.valueChanges?.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.setErrorMessagesList());
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
49
49
|
}], form: [{
|
|
50
50
|
type: Input
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1lcnJvcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvbnRyb2wtZXJyb3JzL3NyYy9saWIvY29udHJvbC1lcnJvcnMvY29udHJvbC1lcnJvcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvbnRyb2wtZXJyb3JzL3NyYy9saWIvY29udHJvbC1lcnJvcnMvY29udHJvbC1lcnJvcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQVkxQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ3hCLE1BQU0sQ0FBVSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sQ0FBVSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7SUFDeEMsTUFBTSxDQUFVLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFFN0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQyxVQUFVLENBQUM7SUFFcEQsTUFBTSxDQUFDLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUdNLEVBQUUsR0FBRyxvQkFBb0Isc0JBQXNCLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztJQUc5RCxPQUFPLENBQTZCO0lBR3BDLGFBQWEsR0FBUSxFQUFFLENBQUM7SUFHeEIsSUFBSSxDQUFNO0lBRWpCLGlCQUFpQixHQUF1QixFQUFFLENBQUM7SUFFMUIsVUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFbEQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDN0csQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLENBQUMsbUJBQW1CLENBQUMsRUFBRTtZQUN0SSxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssQ0FBQztTQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7d0dBL0NRLHNCQUFzQjs0RkFBdEIsc0JBQXNCLHFLQ2RuQyxnTEFLQTs7NEZEU2Esc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLGtCQUFrQjs4QkFnQnJCLEVBQUU7c0JBRFIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixhQUFhO3NCQURuQixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxudHlwZSBFcnJvck1lc3NhZ2VUeXBlID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLWNvbnRyb2wtZXJyb3JzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udHJvbC1lcnJvcnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbnRyb2wtZXJyb3JzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRyb2xFcnJvcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBuZXh0SWRTZWVkID0gMDtcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBSQU5ET01fSURfRU5EX0lOREVYID0gOTtcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBCQVNFXzM2ID0gMzY7XG5cbiAgICBwcml2YXRlIHN0YXRpYyBfbmV4dElkID0gQ29udHJvbEVycm9yc0NvbXBvbmVudC5uZXh0SWRTZWVkO1xuXG4gICAgcHVibGljIHN0YXRpYyBnZXROZXh0SWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25leHRJZCsrO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYHMtY29udHJvbC1lcnJvcnMtJHtDb250cm9sRXJyb3JzQ29tcG9uZW50LmdldE5leHRJZCgpfWA7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBjb250cm9sITogQWJzdHJhY3RDb250cm9sIHwgTmdNb2RlbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVycm9yTWVzc2FnZXM6IGFueSA9IHt9O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybTogYW55O1xuXG4gICAgZXJyb3JNZXNzYWdlc0xpc3Q6IEVycm9yTWVzc2FnZVR5cGVbXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2NvbnRyb2wnXSAmJiBjaGFuZ2VzWydjb250cm9sJ10uZmlyc3RDaGFuZ2UgJiYgdGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzPy5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZXRFcnJvck1lc3NhZ2VzTGlzdCgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldEVycm9yTWVzc2FnZXNMaXN0KCkge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbD8uZGlydHkpIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlc0xpc3QgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlc0xpc3QgPSBPYmplY3Qua2V5cyh0aGlzLmNvbnRyb2wuZXJyb3JzIHx8IHt9KS5tYXAoKGVycm9yKSA9PiAoe1xuICAgICAgICAgICAgaWQ6IGAke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZyhDb250cm9sRXJyb3JzQ29tcG9uZW50LkJBU0VfMzYpLnN1YnN0cmluZygyLCBDb250cm9sRXJyb3JzQ29tcG9uZW50LlJBTkRPTV9JRF9FTkRfSU5ERVgpfWAsXG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLmVycm9yTWVzc2FnZXM/LltlcnJvcl0sXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuXG4iLCJAZm9yIChlcnJvck1lc3NhZ2Ugb2YgZXJyb3JNZXNzYWdlc0xpc3Q7IHRyYWNrIGVycm9yTWVzc2FnZS5pZCkge1xuICAgIEBpZiAoZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+e3sgZXJyb3JNZXNzYWdlLm1lc3NhZ2UgfX08L2Rpdj5cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
+
import { APP_INITIALIZER, makeEnvironmentProviders } from '@angular/core';
|
|
1
2
|
import { FormDynamicRegistry } from '@seniorsistemas/angular-components/dynamic-form';
|
|
2
3
|
import { EditorFieldComponent } from './editor-field/editor-field.component';
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
export function provideEditorField() {
|
|
5
|
+
return makeEnvironmentProviders([
|
|
6
|
+
{
|
|
7
|
+
provide: APP_INITIALIZER,
|
|
8
|
+
useFactory: () => {
|
|
9
|
+
return () => {
|
|
10
|
+
FormDynamicRegistry.registerField(EditorFieldComponent, 'editor');
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
multi: true,
|
|
14
|
+
},
|
|
15
|
+
]);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0vc3JjL29wdGlvbmFsLWZpZWxkcy9lZGl0b3IvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUF3Qix3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU3RSxNQUFNLFVBQVUsa0JBQWtCO0lBQzlCLE9BQU8sd0JBQXdCLENBQUM7UUFDNUI7WUFDSSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsR0FBRyxFQUFFO2dCQUNiLE9BQU8sR0FBRyxFQUFFO29CQUNSLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDdEUsQ0FBQyxDQUFDO1lBQ04sQ0FBQztZQUNELEtBQUssRUFBRSxJQUFJO1NBQ2Q7S0FDSixDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtRHluYW1pY1JlZ2lzdHJ5IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0nO1xuaW1wb3J0IHsgRWRpdG9yRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2VkaXRvci1maWVsZC9lZGl0b3ItZmllbGQuY29tcG9uZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVFZGl0b3JGaWVsZCgpOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBGb3JtRHluYW1pY1JlZ2lzdHJ5LnJlZ2lzdGVyRmllbGQoRWRpdG9yRmllbGRDb21wb25lbnQsICdlZGl0b3InKTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0pO1xufVxuXG4iXX0=
|
|
@@ -19,7 +19,7 @@ class ControlErrorsComponent {
|
|
|
19
19
|
errorMessagesList = [];
|
|
20
20
|
onDestroy$ = new Subject();
|
|
21
21
|
ngOnChanges(changes) {
|
|
22
|
-
if (changes['control'] && changes['control'].firstChange) {
|
|
22
|
+
if (changes['control'] && changes['control'].firstChange && this.control) {
|
|
23
23
|
this.control.valueChanges?.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.setErrorMessagesList());
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-control-errors.mjs","sources":["../../projects/angular-components/control-errors/src/lib/control-errors/control-errors.component.ts","../../projects/angular-components/control-errors/src/lib/control-errors/control-errors.component.html","../../projects/angular-components/control-errors/src/lib/control-errors/control-errors.module.ts","../../projects/angular-components/control-errors/src/seniorsistemas-angular-components-control-errors.ts"],"sourcesContent":["import { AbstractControl, NgModel } from '@angular/forms';\nimport { Component, Input, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\ntype ErrorMessageType = {\n id: string;\n message: string;\n};\n\n@Component({\n selector: 's-control-errors',\n templateUrl: './control-errors.component.html',\n styleUrls: ['./control-errors.component.scss'],\n})\nexport class ControlErrorsComponent implements OnDestroy, OnChanges {\n public static readonly nextIdSeed = 0;\n private static readonly RANDOM_ID_END_INDEX = 9;\n private static readonly BASE_36 = 36;\n\n private static _nextId = ControlErrorsComponent.nextIdSeed;\n\n public static getNextId(): number {\n return this._nextId++;\n }\n\n @Input()\n public id = `s-control-errors-${ControlErrorsComponent.getNextId()}`;\n\n @Input({ required: true })\n public control!: AbstractControl | NgModel;\n\n @Input()\n public errorMessages: any = {};\n\n @Input()\n public form: any;\n\n errorMessagesList: ErrorMessageType[] = [];\n\n private readonly onDestroy$ = new Subject<void>();\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['control'] && changes['control'].firstChange) {\n this.control.valueChanges?.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.setErrorMessagesList());\n }\n }\n\n setErrorMessagesList() {\n if (!this.control?.dirty) {\n this.errorMessagesList = [];\n }\n\n this.errorMessagesList = Object.keys(this.control.errors || {}).map((error) => ({\n id: `${Date.now()}-${Math.random().toString(ControlErrorsComponent.BASE_36).substring(2, ControlErrorsComponent.RANDOM_ID_END_INDEX)}`,\n message: this.errorMessages?.[error],\n }));\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n}\n","@for (errorMessage of errorMessagesList; track errorMessage.id) {\n @if (errorMessage) {\n <div class=\"error-message\">{{ errorMessage.message }}</div>\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { ControlErrorsComponent } from \"./control-errors.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n declarations: [ControlErrorsComponent],\n exports: [ControlErrorsComponent],\n})\nexport class ControlErrorsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAca,sBAAsB,CAAA;AACxB,IAAA,OAAgB,UAAU,GAAG,CAAC,CAAC;AAC9B,IAAA,OAAgB,mBAAmB,GAAG,CAAC,CAAC;AACxC,IAAA,OAAgB,OAAO,GAAG,EAAE,CAAC;AAE7B,IAAA,OAAO,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC;AAEpD,IAAA,OAAO,SAAS,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;KACzB;AAGM,IAAA,EAAE,GAAG,CAAoB,iBAAA,EAAA,sBAAsB,CAAC,SAAS,EAAE,EAAE,CAAC;AAG9D,IAAA,OAAO,CAA6B;IAGpC,aAAa,GAAQ,EAAE,CAAC;AAGxB,IAAA,IAAI,CAAM;IAEjB,iBAAiB,GAAuB,EAAE,CAAC;AAE1B,IAAA,UAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;AAElD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components-control-errors.mjs","sources":["../../projects/angular-components/control-errors/src/lib/control-errors/control-errors.component.ts","../../projects/angular-components/control-errors/src/lib/control-errors/control-errors.component.html","../../projects/angular-components/control-errors/src/lib/control-errors/control-errors.module.ts","../../projects/angular-components/control-errors/src/seniorsistemas-angular-components-control-errors.ts"],"sourcesContent":["import { AbstractControl, NgModel } from '@angular/forms';\nimport { Component, Input, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\ntype ErrorMessageType = {\n id: string;\n message: string;\n};\n\n@Component({\n selector: 's-control-errors',\n templateUrl: './control-errors.component.html',\n styleUrls: ['./control-errors.component.scss'],\n})\nexport class ControlErrorsComponent implements OnDestroy, OnChanges {\n public static readonly nextIdSeed = 0;\n private static readonly RANDOM_ID_END_INDEX = 9;\n private static readonly BASE_36 = 36;\n\n private static _nextId = ControlErrorsComponent.nextIdSeed;\n\n public static getNextId(): number {\n return this._nextId++;\n }\n\n @Input()\n public id = `s-control-errors-${ControlErrorsComponent.getNextId()}`;\n\n @Input({ required: true })\n public control!: AbstractControl | NgModel;\n\n @Input()\n public errorMessages: any = {};\n\n @Input()\n public form: any;\n\n errorMessagesList: ErrorMessageType[] = [];\n\n private readonly onDestroy$ = new Subject<void>();\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['control'] && changes['control'].firstChange && this.control) {\n this.control.valueChanges?.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.setErrorMessagesList());\n }\n }\n\n setErrorMessagesList() {\n if (!this.control?.dirty) {\n this.errorMessagesList = [];\n }\n\n this.errorMessagesList = Object.keys(this.control.errors || {}).map((error) => ({\n id: `${Date.now()}-${Math.random().toString(ControlErrorsComponent.BASE_36).substring(2, ControlErrorsComponent.RANDOM_ID_END_INDEX)}`,\n message: this.errorMessages?.[error],\n }));\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n}\n\n","@for (errorMessage of errorMessagesList; track errorMessage.id) {\n @if (errorMessage) {\n <div class=\"error-message\">{{ errorMessage.message }}</div>\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { ControlErrorsComponent } from \"./control-errors.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n declarations: [ControlErrorsComponent],\n exports: [ControlErrorsComponent],\n})\nexport class ControlErrorsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FieldLabelComponent, FormDynamicRegistry } from '@seniorsistemas/angular-components/dynamic-form';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { input, Component } from '@angular/core';
|
|
2
|
+
import { input, Component, makeEnvironmentProviders, APP_INITIALIZER } from '@angular/core';
|
|
3
|
+
import { FieldLabelComponent, FormDynamicRegistry } from '@seniorsistemas/angular-components/dynamic-form';
|
|
4
4
|
import * as i2 from '@angular/forms';
|
|
5
5
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
6
|
import * as i1 from 'primeng/editor';
|
|
@@ -17,11 +17,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
17
17
|
args: [{ standalone: true, imports: [EditorModule, ReactiveFormsModule, FieldLabelComponent], template: "@let _field = field();\n<s-field-label [field]=\"_field\"></s-field-label>\n\n<p-editor\n [formControl]=\"formControl()\"\n [formats]=\"_field.formats\"\n [readonly]=\"_field.readonly ? _field.readonly : false\"\n [modules]=\"_field.modules\"\n [style]=\"_field.style\"\n>\n</p-editor>\n\n" }]
|
|
18
18
|
}] });
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
function provideEditorField() {
|
|
21
|
+
return makeEnvironmentProviders([
|
|
22
|
+
{
|
|
23
|
+
provide: APP_INITIALIZER,
|
|
24
|
+
useFactory: () => {
|
|
25
|
+
return () => {
|
|
26
|
+
FormDynamicRegistry.registerField(EditorFieldComponent, 'editor');
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
multi: true,
|
|
30
|
+
},
|
|
31
|
+
]);
|
|
32
|
+
}
|
|
21
33
|
|
|
22
34
|
/**
|
|
23
35
|
* Generated bundle index. Do not edit.
|
|
24
36
|
*/
|
|
25
37
|
|
|
26
|
-
export {
|
|
38
|
+
export { provideEditorField };
|
|
27
39
|
//# sourceMappingURL=seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs.map
|
package/fesm2022/seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs","sources":["../../projects/angular-components/dynamic-form/src/optional-fields/editor/editor-field/editor-field.component.ts","../../projects/angular-components/dynamic-form/src/optional-fields/editor/editor-field/editor-field.component.html","../../projects/angular-components/dynamic-form/src/optional-fields/editor/public-api.ts","../../projects/angular-components/dynamic-form/src/optional-fields/editor/seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { BaseFieldComponentConfig, FieldLabelComponent } from '@seniorsistemas/angular-components/dynamic-form';\nimport { EditorModule } from 'primeng/editor';\nimport { EditorFieldConfig } from '../editor-field';\n@Component({\n standalone: true,\n imports: [EditorModule, ReactiveFormsModule, FieldLabelComponent],\n templateUrl: './editor-field.component.html',\n})\nexport class EditorFieldComponent implements BaseFieldComponentConfig {\n field = input.required<EditorFieldConfig>();\n formControl = input.required<FormControl>();\n}\n\n","@let _field = field();\n<s-field-label [field]=\"_field\"></s-field-label>\n\n<p-editor\n [formControl]=\"formControl()\"\n [formats]=\"_field.formats\"\n [readonly]=\"_field.readonly ? _field.readonly : false\"\n [modules]=\"_field.modules\"\n [style]=\"_field.style\"\n>\n</p-editor>\n\n","import { FormDynamicRegistry } from '@seniorsistemas/angular-components/dynamic-form';\
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs","sources":["../../projects/angular-components/dynamic-form/src/optional-fields/editor/editor-field/editor-field.component.ts","../../projects/angular-components/dynamic-form/src/optional-fields/editor/editor-field/editor-field.component.html","../../projects/angular-components/dynamic-form/src/optional-fields/editor/public-api.ts","../../projects/angular-components/dynamic-form/src/optional-fields/editor/seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { BaseFieldComponentConfig, FieldLabelComponent } from '@seniorsistemas/angular-components/dynamic-form';\nimport { EditorModule } from 'primeng/editor';\nimport { EditorFieldConfig } from '../editor-field';\n@Component({\n standalone: true,\n imports: [EditorModule, ReactiveFormsModule, FieldLabelComponent],\n templateUrl: './editor-field.component.html',\n})\nexport class EditorFieldComponent implements BaseFieldComponentConfig {\n field = input.required<EditorFieldConfig>();\n formControl = input.required<FormControl>();\n}\n\n","@let _field = field();\n<s-field-label [field]=\"_field\"></s-field-label>\n\n<p-editor\n [formControl]=\"formControl()\"\n [formats]=\"_field.formats\"\n [readonly]=\"_field.readonly ? _field.readonly : false\"\n [modules]=\"_field.modules\"\n [style]=\"_field.style\"\n>\n</p-editor>\n\n","import { APP_INITIALIZER, EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { FormDynamicRegistry } from '@seniorsistemas/angular-components/dynamic-form';\nimport { EditorFieldComponent } from './editor-field/editor-field.component';\n\nexport function provideEditorField(): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: APP_INITIALIZER,\n useFactory: () => {\n return () => {\n FormDynamicRegistry.registerField(EditorFieldComponent, 'editor');\n };\n },\n multi: true,\n },\n ]);\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAUa,oBAAoB,CAAA;AAC7B,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAqB,CAAC;AAC5C,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAe,CAAC;wGAFnC,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,oVCVjC,kTAYA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLc,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,cAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,0TAAE,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGvD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,WACP,CAAC,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,kTAAA,EAAA,CAAA;;;SEHrD,kBAAkB,GAAA;AAC9B,IAAA,OAAO,wBAAwB,CAAC;AAC5B,QAAA;AACI,YAAA,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,MAAK;AACb,gBAAA,OAAO,MAAK;AACR,oBAAA,mBAAmB,CAAC,aAAa,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;AACtE,iBAAC,CAAC;aACL;AACD,YAAA,KAAK,EAAE,IAAI;AACd,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;AChBA;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seniorsistemas/angular-components",
|
|
3
|
-
"version": "18.1.0-feature-sds-276-
|
|
3
|
+
"version": "18.1.0-feature-sds-276-5af1a901",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/cdk": "^18.2.14",
|
|
6
6
|
"@angular/common": "^18.2.0",
|
|
@@ -286,18 +286,18 @@
|
|
|
286
286
|
"esm": "./esm2022/localized-number-input/seniorsistemas-angular-components-localized-number-input.mjs",
|
|
287
287
|
"default": "./fesm2022/seniorsistemas-angular-components-localized-number-input.mjs"
|
|
288
288
|
},
|
|
289
|
-
"./mask": {
|
|
290
|
-
"types": "./mask/index.d.ts",
|
|
291
|
-
"esm2022": "./esm2022/mask/seniorsistemas-angular-components-mask.mjs",
|
|
292
|
-
"esm": "./esm2022/mask/seniorsistemas-angular-components-mask.mjs",
|
|
293
|
-
"default": "./fesm2022/seniorsistemas-angular-components-mask.mjs"
|
|
294
|
-
},
|
|
295
289
|
"./mouse-events": {
|
|
296
290
|
"types": "./mouse-events/index.d.ts",
|
|
297
291
|
"esm2022": "./esm2022/mouse-events/seniorsistemas-angular-components-mouse-events.mjs",
|
|
298
292
|
"esm": "./esm2022/mouse-events/seniorsistemas-angular-components-mouse-events.mjs",
|
|
299
293
|
"default": "./fesm2022/seniorsistemas-angular-components-mouse-events.mjs"
|
|
300
294
|
},
|
|
295
|
+
"./mask": {
|
|
296
|
+
"types": "./mask/index.d.ts",
|
|
297
|
+
"esm2022": "./esm2022/mask/seniorsistemas-angular-components-mask.mjs",
|
|
298
|
+
"esm": "./esm2022/mask/seniorsistemas-angular-components-mask.mjs",
|
|
299
|
+
"default": "./fesm2022/seniorsistemas-angular-components-mask.mjs"
|
|
300
|
+
},
|
|
301
301
|
"./navigation-button": {
|
|
302
302
|
"types": "./navigation-button/index.d.ts",
|
|
303
303
|
"esm2022": "./esm2022/navigation-button/seniorsistemas-angular-components-navigation-button.mjs",
|