@indigina/kendo 1.1.25 → 1.1.26

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.
@@ -1,4 +1,4 @@
1
- import { ViewChild, Component, Input } from '@angular/core';
1
+ import { ViewChild, Component, Input, } from '@angular/core';
2
2
  import { UntypedFormControl } from '@angular/forms';
3
3
  import { FormGroupWithErrors } from '../../angular/forms/extensions/FormGroupWithErrors';
4
4
  import { finalize } from 'rxjs/operators';
@@ -16,30 +16,39 @@ export class EntityEditFormComponent {
16
16
  this.formGroup = new BehaviorSubject(null);
17
17
  this.saveInProgress = false;
18
18
  }
19
+ ngOnChanges() {
20
+ if (this.entityId) {
21
+ this.loadEntity(this.entityId);
22
+ }
23
+ }
19
24
  ngOnDestroy() {
20
25
  this.routeService.unsubscribe();
21
26
  }
22
27
  ngOnInit() {
23
- this.routeService = this.route.params.subscribe((params) => {
24
- this.formGroup.next(null);
25
- const formGroup = new FormGroupWithErrors({});
26
- if (params.id) {
27
- this.adapter
28
- .getService()
29
- .get(params.id, this.adapter.getUrlParams())
30
- .subscribe((model) => {
31
- formGroup.addControl('id', new UntypedFormControl(model.id));
32
- for (const key of Object.keys(model)) {
33
- formGroup.addControl(key, new UntypedFormControl(model[key]));
34
- }
35
- this.adapter.setForm(formGroup);
36
- this.formGroup.next(formGroup);
37
- });
38
- }
39
- else {
40
- this.adapter.setForm(formGroup);
41
- this.formGroup.next(formGroup);
28
+ if (!this.entityId) {
29
+ this.routeService = this.route.params.subscribe((params) => {
30
+ this.loadEntity(params.id);
31
+ });
32
+ }
33
+ }
34
+ loadEntity(id) {
35
+ this.formGroup.next(null);
36
+ const formGroup = new FormGroupWithErrors({});
37
+ if (!id) {
38
+ this.adapter.setForm(formGroup);
39
+ this.formGroup.next(formGroup);
40
+ return;
41
+ }
42
+ this.adapter
43
+ .getService()
44
+ .get(id, this.adapter.getUrlParams())
45
+ .subscribe((model) => {
46
+ formGroup.addControl('id', new UntypedFormControl(model.id));
47
+ for (const key of Object.keys(model)) {
48
+ formGroup.addControl(key, new UntypedFormControl(model[key]));
42
49
  }
50
+ this.adapter.setForm(formGroup);
51
+ this.formGroup.next(formGroup);
43
52
  });
44
53
  }
45
54
  save() {
@@ -57,7 +66,7 @@ export class EntityEditFormComponent {
57
66
  }
58
67
  }
59
68
  EntityEditFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: EntityEditFormComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
60
- EntityEditFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: EntityEditFormComponent, selector: "entity-edit-form", inputs: { title: "title", adapter: "adapter" }, viewQueries: [{ propertyName: "generalErrors", first: true, predicate: ["general_errors"], descendants: true }], ngImport: i0, template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup | async\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup | async\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup | async\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"\n formGroup.value.valid && formGroup.value.dirty && !saveInProgress\n \"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.GeneralErrorsComponent, selector: "app-general-errors", inputs: ["form"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: ["valid"], outputs: ["save"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
69
+ EntityEditFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: EntityEditFormComponent, selector: "entity-edit-form", inputs: { title: "title", entityId: "entityId", adapter: "adapter" }, viewQueries: [{ propertyName: "generalErrors", first: true, predicate: ["general_errors"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup | async\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup | async\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup | async\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"\n formGroup.value.valid && formGroup.value.dirty && !saveInProgress\n \"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.GeneralErrorsComponent, selector: "app-general-errors", inputs: ["form"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: ["valid"], outputs: ["save"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
61
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: EntityEditFormComponent, decorators: [{
62
71
  type: Component,
63
72
  args: [{ selector: 'entity-edit-form', template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup | async\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup | async\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup | async\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"\n formGroup.value.valid && formGroup.value.dirty && !saveInProgress\n \"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n" }]
@@ -66,7 +75,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImpor
66
75
  args: ['general_errors']
67
76
  }], title: [{
68
77
  type: Input
78
+ }], entityId: [{
79
+ type: Input
69
80
  }], adapter: [{
70
81
  type: Input
71
82
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFHekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQU9yRCxNQUFNLE9BQU8sdUJBQXVCO0lBYWxDLFlBQW9CLEtBQXFCO1FBQXJCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBWmxDLGNBQVMsR0FDZCxJQUFJLGVBQWUsQ0FBc0IsSUFBSSxDQUFDLENBQUM7UUFZL0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQzdDLENBQUMsTUFBdUIsRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLE1BQU0sU0FBUyxHQUFHLElBQUksbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUMsSUFBSSxNQUFNLENBQUMsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxPQUFPO3FCQUNULFVBQVUsRUFBRTtxQkFDWixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO3FCQUMzQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDbkIsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDN0QsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUNwQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQy9EO29CQUVELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDakMsQ0FBQyxDQUFDLENBQUM7YUFDTjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDaEM7UUFDSCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU87YUFDVCxVQUFVLEVBQUU7YUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDbkQsU0FBUyxDQUNSLENBQUMsTUFBdUIsRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLENBQUMsRUFDRCxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FDcEMsS0FBSyxDQUFDLEtBQUssRUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FDckIsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQzs7b0hBakVVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHlOQ2hCcEMsdXpCQThCQTsyRkRkYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usa0JBQWtCO3FHQVE1QixhQUFhO3NCQURaLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUczQixLQUFLO3NCQURKLEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0LCBWaWV3Q2hpbGQsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJRm9ybUFkYXB0ZXIgfSBmcm9tICcuL0lGb3JtQWRhcHRlcic7XG5pbXBvcnQgeyBGb3JtR3JvdXBXaXRoRXJyb3JzIH0gZnJvbSAnLi4vLi4vYW5ndWxhci9mb3Jtcy9leHRlbnNpb25zL0Zvcm1Hcm91cFdpdGhFcnJvcnMnO1xuaW1wb3J0IHsgR2VuZXJhbEVycm9yc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvZm9ybXMvd2lkZ2V0cy9nZW5lcmFsLWVycm9ycy9nZW5lcmFsLWVycm9ycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWRlbnRpZmllZE1vZGVsIH0gZnJvbSAnLi4vLi4vYW5ndWxhci9tb2RlbHMvSWRlbnRpZmllZE1vZGVsJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW50aXR5LWVkaXQtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktZWRpdC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eUVkaXRGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgZm9ybUdyb3VwOiBCZWhhdmlvclN1YmplY3Q8Rm9ybUdyb3VwV2l0aEVycm9ycz4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybUdyb3VwV2l0aEVycm9ycz4obnVsbCk7XG4gIEBWaWV3Q2hpbGQoJ2dlbmVyYWxfZXJyb3JzJylcbiAgZ2VuZXJhbEVycm9yczogR2VuZXJhbEVycm9yc0NvbXBvbmVudDtcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgYWRhcHRlcjogSUZvcm1BZGFwdGVyPElkZW50aWZpZWRNb2RlbD47XG4gIHJvdXRlU2VydmljZTogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBzYXZlSW5Qcm9ncmVzczogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIHRoaXMuc2F2ZUluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVTZXJ2aWNlLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJvdXRlU2VydmljZSA9IHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShcbiAgICAgIChwYXJhbXM6IElkZW50aWZpZWRNb2RlbCkgPT4ge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5uZXh0KG51bGwpO1xuICAgICAgICBjb25zdCBmb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwV2l0aEVycm9ycyh7fSk7XG4gICAgICAgIGlmIChwYXJhbXMuaWQpIHtcbiAgICAgICAgICB0aGlzLmFkYXB0ZXJcbiAgICAgICAgICAgIC5nZXRTZXJ2aWNlKClcbiAgICAgICAgICAgIC5nZXQocGFyYW1zLmlkLCB0aGlzLmFkYXB0ZXIuZ2V0VXJsUGFyYW1zKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChtb2RlbCkgPT4ge1xuICAgICAgICAgICAgICBmb3JtR3JvdXAuYWRkQ29udHJvbCgnaWQnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKG1vZGVsLmlkKSk7XG4gICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG1vZGVsKSkge1xuICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5hZGRDb250cm9sKGtleSwgbmV3IFVudHlwZWRGb3JtQ29udHJvbChtb2RlbFtrZXldKSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0aGlzLmFkYXB0ZXIuc2V0Rm9ybShmb3JtR3JvdXApO1xuICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5uZXh0KGZvcm1Hcm91cCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFkYXB0ZXIuc2V0Rm9ybShmb3JtR3JvdXApO1xuICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLm5leHQoZm9ybUdyb3VwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBzYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZUluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIHRoaXMuYWRhcHRlclxuICAgICAgLmdldFNlcnZpY2UoKVxuICAgICAgLnNhdmUodGhpcy5hZGFwdGVyLmdldFZhbHVlKCksIHRoaXMuYWRhcHRlci5nZXRVcmxQYXJhbXMoKSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLnNhdmVJblByb2dyZXNzID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChyZXN1bHQ6IElkZW50aWZpZWRNb2RlbCkgPT4ge1xuICAgICAgICAgIHRoaXMuYWRhcHRlci5vblNhdmVkKHJlc3VsdCk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZS5hcHBseVNlcnZlckVycm9ycyhcbiAgICAgICAgICAgIGVycm9yLmVycm9yLFxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAudmFsdWVcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuZ2VuZXJhbEVycm9ycy5zZXRFcnJvcnModGhpcy5mb3JtR3JvdXAudmFsdWUuZ2VuZXJhbEVycm9ycyk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2wtbWQtOFwiPlxuICA8aGVhZGVyIGNsYXNzPVwiaGVhZGVyLXBhZ2UtYmdcIj5cbiAgICA8aDQ+e3sgdGl0bGUgfCB0cmFuc2xhdGUgfX08L2g0PlxuICA8L2hlYWRlcj5cbiAgPGRpdiBjbGFzcz1cInBhbmVsIGVkaXRvci1hcmVhIGhlcm8tdW5pdFwiPlxuICAgIDxmb3JtXG4gICAgICBjbGFzcz1cImZvcm0taG9yaXpvbnRhbFwiXG4gICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cCB8IGFzeW5jXCJcbiAgICAgIG5vdmFsaWRhdGVcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAqbmdJZj1cImZvcm1Hcm91cCB8IGFzeW5jXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPlxuICAgICAgICA8YXBwLWdlbmVyYWwtZXJyb3JzXG4gICAgICAgICAgI2dlbmVyYWxfZXJyb3JzXG4gICAgICAgICAgW2Zvcm1dPVwiZm9ybUdyb3VwIHwgYXN5bmNcIlxuICAgICAgICA+PC9hcHAtZ2VuZXJhbC1lcnJvcnM+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDxlbnRpdHktZWRpdC1idXR0b25zLWJhclxuICAgICAgICAoc2F2ZSk9XCJzYXZlKClcIlxuICAgICAgICBbdmFsaWRdPVwiXG4gICAgICAgICAgZm9ybUdyb3VwLnZhbHVlLnZhbGlkICYmIGZvcm1Hcm91cC52YWx1ZS5kaXJ0eSAmJiAhc2F2ZUluUHJvZ3Jlc3NcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgIDwvZW50aXR5LWVkaXQtYnV0dG9ucy1iYXI+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFHekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQU9yRCxNQUFNLE9BQU8sdUJBQXVCO0lBZWxDLFlBQW9CLEtBQXFCO1FBQXJCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBZGxDLGNBQVMsR0FDZCxJQUFJLGVBQWUsQ0FBc0IsSUFBSSxDQUFDLENBQUM7UUFjL0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFFB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biAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25DaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUZvcm1BZGFwdGVyIH0gZnJvbSAnLi9JRm9ybUFkYXB0ZXInO1xuaW1wb3J0IHsgRm9ybUdyb3VwV2l0aEVycm9ycyB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvZm9ybXMvZXh0ZW5zaW9ucy9Gb3JtR3JvdXBXaXRoRXJyb3JzJztcbmltcG9ydCB7IEdlbmVyYWxFcnJvcnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hbmd1bGFyL2Zvcm1zL3dpZGdldHMvZ2VuZXJhbC1lcnJvcnMvZ2VuZXJhbC1lcnJvcnMuY29tcG9uZW50JztcbmltcG9ydCB7IElkZW50aWZpZWRNb2RlbCB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL0lkZW50aWZpZWRNb2RlbCc7XG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VudGl0eS1lZGl0LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS1lZGl0LWZvcm0uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFbnRpdHlFZGl0Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBwdWJsaWMgZm9ybUdyb3VwOiBCZWhhdmlvclN1YmplY3Q8Rm9ybUdyb3VwV2l0aEVycm9ycz4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybUdyb3VwV2l0aEVycm9ycz4obnVsbCk7XG4gIEBWaWV3Q2hpbGQoJ2dlbmVyYWxfZXJyb3JzJylcbiAgZ2VuZXJhbEVycm9yczogR2VuZXJhbEVycm9yc0NvbXBvbmVudDtcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgZW50aXR5SWQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGFkYXB0ZXI6IElGb3JtQWRhcHRlcjxJZGVudGlmaWVkTW9kZWw+O1xuICByb3V0ZVNlcnZpY2U6IFN1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgc2F2ZUluUHJvZ3Jlc3M6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICB0aGlzLnNhdmVJblByb2dyZXNzID0gZmFsc2U7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbnRpdHlJZCkge1xuICAgICAgdGhpcy5sb2FkRW50aXR5KHRoaXMuZW50aXR5SWQpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVTZXJ2aWNlLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZW50aXR5SWQpIHtcbiAgICAgIHRoaXMucm91dGVTZXJ2aWNlID0gdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKFxuICAgICAgICAocGFyYW1zOiBJZGVudGlmaWVkTW9kZWwpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRFbnRpdHkocGFyYW1zLmlkKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBsb2FkRW50aXR5KGlkPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAubmV4dChudWxsKTtcbiAgICBjb25zdCBmb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwV2l0aEVycm9ycyh7fSk7XG4gICAgaWYgKCFpZCkge1xuICAgICAgdGhpcy5hZGFwdGVyLnNldEZvcm0oZm9ybUdyb3VwKTtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLm5leHQoZm9ybUdyb3VwKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWRhcHRlclxuICAgICAgLmdldFNlcnZpY2UoKVxuICAgICAgLmdldChpZCwgdGhpcy5hZGFwdGVyLmdldFVybFBhcmFtcygpKVxuICAgICAgLnN1YnNjcmliZSgobW9kZWwpID0+IHtcbiAgICAgICAgZm9ybUdyb3VwLmFkZENvbnRyb2woJ2lkJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbChtb2RlbC5pZCkpO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhtb2RlbCkpIHtcbiAgICAgICAgICBmb3JtR3JvdXAuYWRkQ29udHJvbChrZXksIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobW9kZWxba2V5XSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hZGFwdGVyLnNldEZvcm0oZm9ybUdyb3VwKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAubmV4dChmb3JtR3JvdXApO1xuICAgICAgfSk7XG4gIH1cblxuICBzYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZUluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIHRoaXMuYWRhcHRlclxuICAgICAgLmdldFNlcnZpY2UoKVxuICAgICAgLnNhdmUodGhpcy5hZGFwdGVyLmdldFZhbHVlKCksIHRoaXMuYWRhcHRlci5nZXRVcmxQYXJhbXMoKSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLnNhdmVJblByb2dyZXNzID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChyZXN1bHQ6IElkZW50aWZpZWRNb2RlbCkgPT4ge1xuICAgICAgICAgIHRoaXMuYWRhcHRlci5vblNhdmVkKHJlc3VsdCk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZS5hcHBseVNlcnZlckVycm9ycyhcbiAgICAgICAgICAgIGVycm9yLmVycm9yLFxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAudmFsdWVcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuZ2VuZXJhbEVycm9ycy5zZXRFcnJvcnModGhpcy5mb3JtR3JvdXAudmFsdWUuZ2VuZXJhbEVycm9ycyk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2wtbWQtOFwiPlxuICA8aGVhZGVyIGNsYXNzPVwiaGVhZGVyLXBhZ2UtYmdcIj5cbiAgICA8aDQ+e3sgdGl0bGUgfCB0cmFuc2xhdGUgfX08L2g0PlxuICA8L2hlYWRlcj5cbiAgPGRpdiBjbGFzcz1cInBhbmVsIGVkaXRvci1hcmVhIGhlcm8tdW5pdFwiPlxuICAgIDxmb3JtXG4gICAgICBjbGFzcz1cImZvcm0taG9yaXpvbnRhbFwiXG4gICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cCB8IGFzeW5jXCJcbiAgICAgIG5vdmFsaWRhdGVcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAqbmdJZj1cImZvcm1Hcm91cCB8IGFzeW5jXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPlxuICAgICAgICA8YXBwLWdlbmVyYWwtZXJyb3JzXG4gICAgICAgICAgI2dlbmVyYWxfZXJyb3JzXG4gICAgICAgICAgW2Zvcm1dPVwiZm9ybUdyb3VwIHwgYXN5bmNcIlxuICAgICAgICA+PC9hcHAtZ2VuZXJhbC1lcnJvcnM+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDxlbnRpdHktZWRpdC1idXR0b25zLWJhclxuICAgICAgICAoc2F2ZSk9XCJzYXZlKClcIlxuICAgICAgICBbdmFsaWRdPVwiXG4gICAgICAgICAgZm9ybUdyb3VwLnZhbHVlLnZhbGlkICYmIGZvcm1Hcm91cC52YWx1ZS5kaXJ0eSAmJiAhc2F2ZUluUHJvZ3Jlc3NcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgIDwvZW50aXR5LWVkaXQtYnV0dG9ucy1iYXI+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -2314,30 +2314,39 @@ class EntityEditFormComponent {
2314
2314
  this.formGroup = new BehaviorSubject(null);
2315
2315
  this.saveInProgress = false;
2316
2316
  }
2317
+ ngOnChanges() {
2318
+ if (this.entityId) {
2319
+ this.loadEntity(this.entityId);
2320
+ }
2321
+ }
2317
2322
  ngOnDestroy() {
2318
2323
  this.routeService.unsubscribe();
2319
2324
  }
2320
2325
  ngOnInit() {
2321
- this.routeService = this.route.params.subscribe((params) => {
2322
- this.formGroup.next(null);
2323
- const formGroup = new FormGroupWithErrors({});
2324
- if (params.id) {
2325
- this.adapter
2326
- .getService()
2327
- .get(params.id, this.adapter.getUrlParams())
2328
- .subscribe((model) => {
2329
- formGroup.addControl('id', new UntypedFormControl(model.id));
2330
- for (const key of Object.keys(model)) {
2331
- formGroup.addControl(key, new UntypedFormControl(model[key]));
2332
- }
2333
- this.adapter.setForm(formGroup);
2334
- this.formGroup.next(formGroup);
2335
- });
2336
- }
2337
- else {
2338
- this.adapter.setForm(formGroup);
2339
- this.formGroup.next(formGroup);
2326
+ if (!this.entityId) {
2327
+ this.routeService = this.route.params.subscribe((params) => {
2328
+ this.loadEntity(params.id);
2329
+ });
2330
+ }
2331
+ }
2332
+ loadEntity(id) {
2333
+ this.formGroup.next(null);
2334
+ const formGroup = new FormGroupWithErrors({});
2335
+ if (!id) {
2336
+ this.adapter.setForm(formGroup);
2337
+ this.formGroup.next(formGroup);
2338
+ return;
2339
+ }
2340
+ this.adapter
2341
+ .getService()
2342
+ .get(id, this.adapter.getUrlParams())
2343
+ .subscribe((model) => {
2344
+ formGroup.addControl('id', new UntypedFormControl(model.id));
2345
+ for (const key of Object.keys(model)) {
2346
+ formGroup.addControl(key, new UntypedFormControl(model[key]));
2340
2347
  }
2348
+ this.adapter.setForm(formGroup);
2349
+ this.formGroup.next(formGroup);
2341
2350
  });
2342
2351
  }
2343
2352
  save() {
@@ -2355,7 +2364,7 @@ class EntityEditFormComponent {
2355
2364
  }
2356
2365
  }
2357
2366
  EntityEditFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: EntityEditFormComponent, deps: [{ token: i1$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
2358
- EntityEditFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: EntityEditFormComponent, selector: "entity-edit-form", inputs: { title: "title", adapter: "adapter" }, viewQueries: [{ propertyName: "generalErrors", first: true, predicate: ["general_errors"], descendants: true }], ngImport: i0, template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup | async\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup | async\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup | async\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"\n formGroup.value.valid && formGroup.value.dirty && !saveInProgress\n \"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GeneralErrorsComponent, selector: "app-general-errors", inputs: ["form"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: ["valid"], outputs: ["save"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
2367
+ EntityEditFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: EntityEditFormComponent, selector: "entity-edit-form", inputs: { title: "title", entityId: "entityId", adapter: "adapter" }, viewQueries: [{ propertyName: "generalErrors", first: true, predicate: ["general_errors"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup | async\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup | async\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup | async\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"\n formGroup.value.valid && formGroup.value.dirty && !saveInProgress\n \"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GeneralErrorsComponent, selector: "app-general-errors", inputs: ["form"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: ["valid"], outputs: ["save"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
2359
2368
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: EntityEditFormComponent, decorators: [{
2360
2369
  type: Component,
2361
2370
  args: [{ selector: 'entity-edit-form', template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup | async\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup | async\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup | async\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"\n formGroup.value.valid && formGroup.value.dirty && !saveInProgress\n \"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n" }]
@@ -2364,6 +2373,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImpor
2364
2373
  args: ['general_errors']
2365
2374
  }], title: [{
2366
2375
  type: Input
2376
+ }], entityId: [{
2377
+ type: Input
2367
2378
  }], adapter: [{
2368
2379
  type: Input
2369
2380
  }] } });