@messaia/cdk 18.2.3-rc04 → 18.2.3-rc06
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/esm2022/lib/base/base.module.mjs +3 -2
- package/esm2022/lib/base/components/generic-embedded-list.component.mjs +189 -0
- package/fesm2022/messaia-cdk.mjs +1536 -1356
- package/fesm2022/messaia-cdk.mjs.map +1 -1
- package/lib/base/base.module.d.ts +2 -1
- package/lib/base/components/generic-embedded-list.component.d.ts +100 -0
- package/lib/common/styles/utilities/_general.scss +1 -4
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
|
13
13
|
import { VdTableModule } from '../table/table.module';
|
|
14
14
|
import { BaseComponent } from './components/base.component';
|
|
15
15
|
import { VdDynamicTableConfigDialogComponent } from './components/dynamic-table-config-dialog/dynamic-table-config-dialog.comnponent';
|
|
16
|
+
import { GenericEmbeddedListComponent } from './components/generic-embedded-list.component';
|
|
16
17
|
import { GenericFormBaseComponent } from './components/generic-form-base.component';
|
|
17
18
|
import { GenericFormComponent } from './components/generic-form.component';
|
|
18
19
|
import { GenericListComponent } from './components/generic-list.component';
|
|
@@ -31,7 +32,7 @@ import { FileService } from './services/file.service';
|
|
|
31
32
|
import { LoadingScreenService } from './services/loading-screen.service';
|
|
32
33
|
import { PrintService } from './services/print.service';
|
|
33
34
|
import * as i0 from "@angular/core";
|
|
34
|
-
export { AuthHelper, AuthUser, BaseComponent, BaseInterceptor, CachingInterceptor, Common, FileService, GenericFormBaseComponent, GenericFormComponent, GenericListComponent, GenericReactiveFormComponent, GlobalRoles, LoadingScreenInterceptor, LoadingScreenService, MessageType, PrintService, TaskDialogData, VdDynamicTableConfigDialogComponent, VdTaskDialogComponent };
|
|
35
|
+
export { AuthHelper, AuthUser, BaseComponent, BaseInterceptor, CachingInterceptor, Common, FileService, GenericEmbeddedListComponent, GenericFormBaseComponent, GenericFormComponent, GenericListComponent, GenericReactiveFormComponent, GlobalRoles, LoadingScreenInterceptor, LoadingScreenService, MessageType, PrintService, TaskDialogData, VdDynamicTableConfigDialogComponent, VdTaskDialogComponent };
|
|
35
36
|
const DECLARATIONS = [
|
|
36
37
|
VdDynamicTableConfigDialogComponent,
|
|
37
38
|
VdTaskDialogComponent
|
|
@@ -110,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
110
111
|
]
|
|
111
112
|
}]
|
|
112
113
|
}] });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9iYXNlL2Jhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxpRkFBaUYsQ0FBQztBQUN0SSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FB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aUJBQWlCO1lBQ2pCLGtCQUFrQjs7MkZBY1AsWUFBWTtrQkF2QnhCLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFO3dCQUNSLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsa0JBQWtCO3FCQUNsQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1YsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUN0RSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDekUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7cUJBQy9FO29CQUNELFlBQVksRUFBRTt3QkFDYixZQUFZO3FCQUNaO29CQUNELE9BQU8sRUFBRTt3QkFDUixZQUFZO3FCQUNaO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IFZkVGFibGVNb2R1bGUgfSBmcm9tICcuLi90YWJsZS90YWJsZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmREeW5hbWljVGFibGVDb25maWdEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS1jb25maWctZGlhbG9nL2R5bmFtaWMtdGFibGUtY29uZmlnLWRpYWxvZy5jb21ucG9uZW50JztcclxuaW1wb3J0IHsgR2VuZXJpY0VtYmVkZGVkTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmljLWVtYmVkZGVkLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyaWMtZm9ybS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdlbmVyaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyaWMtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHZW5lcmljTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmljLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2VuZXJpY1JlYWN0aXZlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmljLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmRUYXNrRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rhc2stZGlhbG9nL3Rhc2stZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gJy4vY29uc3RhbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IEdsb2JhbFJvbGVzIH0gZnJvbSAnLi9jb25zdGFudHMvZ2xvYmFsLXJvbGVzJztcclxuaW1wb3J0IHsgTWVzc2FnZVR5cGUgfSBmcm9tICcuL2VudW1zL21lc3NhZ2UtdHlwZSc7XHJcbmltcG9ydCB7IEF1dGhIZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMvYXV0aC1oZWxwZXInO1xyXG5pbXBvcnQgeyBCYXNlSW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyY2VwdG9ycy9iYXNlLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgQ2FjaGluZ0ludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvY2FjaGluZy1pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IExvYWRpbmdTY3JlZW5JbnRlcmNlcHRvciB9IGZyb20gJy4vaW50ZXJjZXB0b3JzL2xvYWRpbmcuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBJQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy9pYmFzZS1jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcmZhY2VzL2lnZW5lcmljLWZvcm0tYmFzZSc7XHJcbmltcG9ydCB7IElHZW5lcmljTGlzdENvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy9pZ2VuZXJpYy1saXN0LWNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElHZW5lcmljUmVhY3RpdmVGb3JtQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy9pZ2VuZXJpYy1yZWFjdGl2ZS1mb3JtLWJhc2UnO1xyXG5pbXBvcnQgeyBBdXRoVXNlciB9IGZyb20gJy4vbW9kZWxzL2F1dGgtdXNlcic7XHJcbmltcG9ydCB7IFRhc2tEaWFsb2dEYXRhIH0gZnJvbSAnLi9tb2RlbHMvdGFzay1kaWFsb2ctZGF0YSc7XHJcbmltcG9ydCB7IEZpbGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9maWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2FkaW5nU2NyZWVuU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbG9hZGluZy1zY3JlZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcHJpbnQuc2VydmljZSc7XHJcblxyXG5leHBvcnQge1xyXG5cdEF1dGhIZWxwZXIsXHJcblx0QXV0aFVzZXIsXHJcblx0QmFzZUNvbXBvbmVudCxcclxuXHRCYXNlSW50ZXJjZXB0b3IsXHJcblx0Q2FjaGluZ0ludGVyY2VwdG9yLFxyXG5cdENvbW1vbixcclxuXHRGaWxlU2VydmljZSwgR2VuZXJpY0VtYmVkZGVkTGlzdENvbXBvbmVudCwgR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50LFxyXG5cdEdlbmVyaWNGb3JtQ29tcG9uZW50LFxyXG5cdEdlbmVyaWNMaXN0Q29tcG9uZW50LCBHZW5lcmljUmVhY3RpdmVGb3JtQ29tcG9uZW50LFxyXG5cdEdsb2JhbFJvbGVzLFxyXG5cdElCYXNlQ29tcG9uZW50LFxyXG5cdElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQsXHJcblx0SUdlbmVyaWNMaXN0Q29tcG9uZW50LFxyXG5cdElHZW5lcmljUmVhY3RpdmVGb3JtQmFzZUNvbXBvbmVudCxcclxuXHRMb2FkaW5nU2NyZWVuSW50ZXJjZXB0b3IsXHJcblx0TG9hZGluZ1NjcmVlblNlcnZpY2UsXHJcblx0TWVzc2FnZVR5cGUsXHJcblx0UHJpbnRTZXJ2aWNlLFxyXG5cdFRhc2tEaWFsb2dEYXRhLFxyXG5cdFZkRHluYW1pY1RhYmxlQ29uZmlnRGlhbG9nQ29tcG9uZW50LFxyXG5cdFZkVGFza0RpYWxvZ0NvbXBvbmVudFxyXG59O1xyXG5cclxuY29uc3QgREVDTEFSQVRJT05TID0gW1xyXG5cdFZkRHluYW1pY1RhYmxlQ29uZmlnRGlhbG9nQ29tcG9uZW50LFxyXG5cdFZkVGFza0RpYWxvZ0NvbXBvbmVudFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRleHBvcnRzOiBbXHJcblx0XHRNYXRCdXR0b25Nb2R1bGUsXHJcblx0XHRNYXRJY29uTW9kdWxlLFxyXG5cdFx0TWF0RGl2aWRlck1vZHVsZSxcclxuXHRcdE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG5cdFx0RHJhZ0Ryb3BNb2R1bGVcclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbE1vZHVsZSB7IH1cclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0aW1wb3J0czogW1xyXG5cdFx0Q29tbW9uTW9kdWxlLFxyXG5cdFx0Rm9ybXNNb2R1bGUsXHJcblx0XHRSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG5cdFx0TWF0RGlhbG9nTW9kdWxlLFxyXG5cdFx0VmRUYWJsZU1vZHVsZSxcclxuXHRcdE1hdGVyaWFsTW9kdWxlLFxyXG5cdFx0TWF0Q2hlY2tib3hNb2R1bGUsXHJcblx0XHRNYXRGb3JtRmllbGRNb2R1bGVcclxuXHRdLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0eyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IEJhc2VJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcclxuXHRcdHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBDYWNoaW5nSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXHJcblx0XHR7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogTG9hZGluZ1NjcmVlbkludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxyXG5cdF0sXHJcblx0ZGVjbGFyYXRpb25zOiBbXHJcblx0XHRERUNMQVJBVElPTlNcclxuXHRdLFxyXG5cdGV4cG9ydHM6IFtcclxuXHRcdERFQ0xBUkFUSU9OU1xyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFZkQmFzZU1vZHVsZSB7IH0iXX0=
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Directive, Input, Type } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { ActivatedRoute } from '@angular/router';
|
|
4
|
+
import { RxFormBuilder } from '../../form-validators/services/rx-form-builder';
|
|
5
|
+
import { TableStaticDataSource } from '../../table/table.module';
|
|
6
|
+
import { GenericListComponent } from './generic-list.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../form-validators/services/rx-form-builder";
|
|
9
|
+
import * as i2 from "@angular/router";
|
|
10
|
+
/**
|
|
11
|
+
* @class GenericEmbeddedListComponent
|
|
12
|
+
*
|
|
13
|
+
* A base class for managing a list of embedded items within a form.
|
|
14
|
+
* It provides common functionalities for adding, removing, and managing items.
|
|
15
|
+
*/
|
|
16
|
+
export class GenericEmbeddedListComponent extends GenericListComponent {
|
|
17
|
+
entity;
|
|
18
|
+
service;
|
|
19
|
+
formBuilder;
|
|
20
|
+
route;
|
|
21
|
+
changeDetectorRef;
|
|
22
|
+
/**
|
|
23
|
+
* The reactive form associated with this component.
|
|
24
|
+
*/
|
|
25
|
+
form;
|
|
26
|
+
/**
|
|
27
|
+
* The parent entity that this component is associated with.
|
|
28
|
+
*/
|
|
29
|
+
parent;
|
|
30
|
+
/**
|
|
31
|
+
* A prefix for hashing purposes, default is an empty string.
|
|
32
|
+
*/
|
|
33
|
+
hashPrefix = '';
|
|
34
|
+
/**
|
|
35
|
+
* Determines whether the list supports pagination.
|
|
36
|
+
* If true, pagination controls will be available for navigating through the data.
|
|
37
|
+
*/
|
|
38
|
+
paginable = false;
|
|
39
|
+
/**
|
|
40
|
+
* @property Initializes the items array as an optional array of any type
|
|
41
|
+
* @type {TEntity[]}
|
|
42
|
+
*/
|
|
43
|
+
items = [];
|
|
44
|
+
/**
|
|
45
|
+
* The name of the property representing the list of items.
|
|
46
|
+
*/
|
|
47
|
+
itemsPropertyName = 'items';
|
|
48
|
+
/**
|
|
49
|
+
* Menu options for managing a list of items, including delete and more options.
|
|
50
|
+
*/
|
|
51
|
+
itemListMenu = [
|
|
52
|
+
{
|
|
53
|
+
/* Option to remove the selected item from the list */
|
|
54
|
+
icon: 'delete_forever',
|
|
55
|
+
event: (_, __, i) => this.removeItem(i),
|
|
56
|
+
hide: (item) => (item?.id ?? 0) > 0
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
/* Action to show additional options for the item */
|
|
60
|
+
icon: 'more_vert',
|
|
61
|
+
hide: (item) => (item?.id ?? 0) <= 0,
|
|
62
|
+
items: this.rowMenuItems
|
|
63
|
+
}
|
|
64
|
+
];
|
|
65
|
+
/**
|
|
66
|
+
* Constructor for initializing the component.
|
|
67
|
+
*
|
|
68
|
+
* @param entity The type of entity being managed.
|
|
69
|
+
* @param service The service for managing entity operations.
|
|
70
|
+
* @param formBuilder The builder for creating reactive forms.
|
|
71
|
+
* @param route The activated route for navigation.
|
|
72
|
+
* @param changeDetectorRef The change detector for managing view updates.
|
|
73
|
+
*/
|
|
74
|
+
constructor(entity, service, formBuilder, route, changeDetectorRef) {
|
|
75
|
+
super(service, route, changeDetectorRef, null);
|
|
76
|
+
this.entity = entity;
|
|
77
|
+
this.service = service;
|
|
78
|
+
this.formBuilder = formBuilder;
|
|
79
|
+
this.route = route;
|
|
80
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Lifecycle hook called after the constructor.
|
|
84
|
+
* Initializes input properties and sets up data fetching.
|
|
85
|
+
*/
|
|
86
|
+
ngOnInit() {
|
|
87
|
+
super.ngOnInit();
|
|
88
|
+
if (this.parent?.id) {
|
|
89
|
+
/* Sets the paginator for the dataSource */
|
|
90
|
+
this.dataSource.paginator = this.paginator;
|
|
91
|
+
/*
|
|
92
|
+
If a parent entity exists (i.e., it has an ID), connect to the data source
|
|
93
|
+
with the specified page size and any additional fetch data.
|
|
94
|
+
*/
|
|
95
|
+
this.connect(Object.assign({ pageSize: 10 }, this.getFetchData(), { id: null }));
|
|
96
|
+
}
|
|
97
|
+
else if (this.dataSource.items.length <= 0) {
|
|
98
|
+
/*
|
|
99
|
+
If there is no parent entity and the data source items are empty,
|
|
100
|
+
populate the data source with initial items from the form's value.
|
|
101
|
+
*/
|
|
102
|
+
this.dataSource.items?.push(...this.form?.value[this.itemsPropertyName]);
|
|
103
|
+
}
|
|
104
|
+
if (!this.parent?.id && this.paginable) {
|
|
105
|
+
/* Initializes the dataSource with the entities */
|
|
106
|
+
this.dataSource = new TableStaticDataSource(...this.form?.value[this.itemsPropertyName]);
|
|
107
|
+
/* Sets the paginator for the dataSource */
|
|
108
|
+
this.dataSource.paginator = this.paginator;
|
|
109
|
+
}
|
|
110
|
+
/* Subscribes to the dataSource connection and assigns the result to the items array */
|
|
111
|
+
this.dataSource?.connect().subscribe((x) => this.items = x);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Adds a new item to the current list.
|
|
115
|
+
*
|
|
116
|
+
* @param init Optional initial values for the new entity.
|
|
117
|
+
*/
|
|
118
|
+
addItem(init) {
|
|
119
|
+
/* Create a new entity instance with optional initial values */
|
|
120
|
+
var entity = this.newInstance(init || {});
|
|
121
|
+
/* Add the new item to the data source to show it in the expansion panel */
|
|
122
|
+
this.dataSource.items?.push(entity);
|
|
123
|
+
/* Update the data source with the modified items array */
|
|
124
|
+
this.dataSource.data = this.dataSource.items;
|
|
125
|
+
/* Add the entity to the form array in 'add mode' */
|
|
126
|
+
if (!this.parent?.id) {
|
|
127
|
+
this.form?.controls[this.itemsPropertyName]?.push(this.formBuilder.formGroup(entity));
|
|
128
|
+
/* Ensure the form is valid after adding the item */
|
|
129
|
+
this.form?.updateValueAndValidity();
|
|
130
|
+
}
|
|
131
|
+
/* Trigger change detection to update the view */
|
|
132
|
+
this.changeDetectorRef.detectChanges();
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Removes an item from the list and the form.
|
|
136
|
+
*
|
|
137
|
+
* @param index The index of the item to remove.
|
|
138
|
+
*/
|
|
139
|
+
removeItem(index) {
|
|
140
|
+
/* Remove item from the form array */
|
|
141
|
+
this.form?.controls[this.itemsPropertyName]?.removeAt(index);
|
|
142
|
+
/* Remove item from the data source */
|
|
143
|
+
this.dataSource.items?.splice(index, 1);
|
|
144
|
+
if (this.parent?.id) {
|
|
145
|
+
/* Refresh data source if associated with a parent */
|
|
146
|
+
this.dataSource.connect().subscribe();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Clears all items from the list and the form.
|
|
151
|
+
*/
|
|
152
|
+
clearItems() {
|
|
153
|
+
/* Clear the items from the data source */
|
|
154
|
+
this.dataSource.items = [];
|
|
155
|
+
/* Clear the form array */
|
|
156
|
+
this.form?.controls[this.itemsPropertyName]?.clear();
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Creates a new instance of the TEntity.
|
|
160
|
+
*
|
|
161
|
+
* @param init Optional initial values for the entity.
|
|
162
|
+
* @returns A new instance of TEntity.
|
|
163
|
+
*/
|
|
164
|
+
newInstance(init) {
|
|
165
|
+
/* Create a new entity instance */
|
|
166
|
+
return new this.entity(init);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Adds menu items to the row options for managing individual items.
|
|
170
|
+
*/
|
|
171
|
+
addRowMenuItems() {
|
|
172
|
+
this.editable = false;
|
|
173
|
+
super.addRowMenuItems();
|
|
174
|
+
}
|
|
175
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GenericEmbeddedListComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
176
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: GenericEmbeddedListComponent, inputs: { form: "form", parent: "parent", hashPrefix: "hashPrefix", paginable: "paginable" }, usesInheritance: true, ngImport: i0 });
|
|
177
|
+
}
|
|
178
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GenericEmbeddedListComponent, decorators: [{
|
|
179
|
+
type: Directive
|
|
180
|
+
}], ctorParameters: () => [{ type: i0.Type }, { type: undefined }, { type: i1.RxFormBuilder }, { type: i2.ActivatedRoute }, { type: i0.ChangeDetectorRef }], propDecorators: { form: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], parent: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], hashPrefix: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], paginable: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}] } });
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1lbWJlZGRlZC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Jhc2UvY29tcG9uZW50cy9nZW5lcmljLWVtYmVkZGVkLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUUvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUVoRTs7Ozs7R0FLRztBQUVILE1BQU0sT0FBZ0IsNEJBQXlILFNBQVEsb0JBQXVDO0lBa0VsTDtJQUNIO0lBQ0c7SUFDQTtJQUNBO0lBcEVYOztPQUVHO0lBRUksSUFBSSxDQUFhO0lBRXhCOztPQUVHO0lBRUksTUFBTSxDQUFXO0lBRXhCOztPQUVHO0lBRUksVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUUvQjs7O09BR0c7SUFFSSxTQUFTLEdBQVksS0FBSyxDQUFDO0lBRWxDOzs7T0FHRztJQUNJLEtBQUssR0FBZSxFQUFFLENBQUM7SUFFOUI7O09BRUc7SUFDTyxpQkFBaUIsR0FBRyxPQUFPLENBQUM7SUFFdEM7O09BRUc7SUFDSSxZQUFZLEdBQTBCO1FBQzVDO1lBQ0Msc0RBQXNEO1lBQ3RELElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFB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QWtDO1FBQ2xDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNPLGVBQWU7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7MEhBNUxvQiw0QkFBNEI7OEdBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFEakQsU0FBUzt1TEFPRixJQUFJO3NCQURWLEtBQUs7Z0JBT0MsTUFBTTtzQkFEWixLQUFLO2dCQU9DLFVBQVU7c0JBRGhCLEtBQUs7Z0JBUUMsU0FBUztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFjdGlvbkl0ZW0sIElFbnRpdHkgfSBmcm9tICcuLi8uLi9jb21tb24vY29tbW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IFJ4Rm9ybUFycmF5IH0gZnJvbSAnLi4vLi4vZm9ybS12YWxpZGF0b3JzL3NlcnZpY2VzL3J4LWZvcm0tYXJyYXknO1xyXG5pbXBvcnQgeyBSeEZvcm1CdWlsZGVyIH0gZnJvbSAnLi4vLi4vZm9ybS12YWxpZGF0b3JzL3NlcnZpY2VzL3J4LWZvcm0tYnVpbGRlcic7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaHR0cC9odHRwLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRhYmxlU3RhdGljRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL3RhYmxlL3RhYmxlLm1vZHVsZSc7XHJcbmltcG9ydCB7IEdlbmVyaWNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmljLWxpc3QuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBAY2xhc3MgR2VuZXJpY0VtYmVkZGVkTGlzdENvbXBvbmVudFxyXG4gKiBcclxuICogQSBiYXNlIGNsYXNzIGZvciBtYW5hZ2luZyBhIGxpc3Qgb2YgZW1iZWRkZWQgaXRlbXMgd2l0aGluIGEgZm9ybS5cclxuICogSXQgcHJvdmlkZXMgY29tbW9uIGZ1bmN0aW9uYWxpdGllcyBmb3IgYWRkaW5nLCByZW1vdmluZywgYW5kIG1hbmFnaW5nIGl0ZW1zLlxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHZW5lcmljRW1iZWRkZWRMaXN0Q29tcG9uZW50PFRFbnRpdHkgZXh0ZW5kcyBJRW50aXR5LCBUUGFyZW50IGV4dGVuZHMgSUVudGl0eSwgVFNlcnZpY2UgZXh0ZW5kcyBHZW5lcmljU2VydmljZTxURW50aXR5Pj4gZXh0ZW5kcyBHZW5lcmljTGlzdENvbXBvbmVudDxURW50aXR5LCBUU2VydmljZT4ge1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgcmVhY3RpdmUgZm9ybSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjb21wb25lbnQuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZm9ybT86IEZvcm1Hcm91cDtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIHBhcmVudCBlbnRpdHkgdGhhdCB0aGlzIGNvbXBvbmVudCBpcyBhc3NvY2lhdGVkIHdpdGguXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgcGFyZW50PzogVFBhcmVudDtcclxuXHJcblx0LyoqXHJcblx0ICogQSBwcmVmaXggZm9yIGhhc2hpbmcgcHVycG9zZXMsIGRlZmF1bHQgaXMgYW4gZW1wdHkgc3RyaW5nLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGhhc2hQcmVmaXg6IHN0cmluZyA9ICcnO1xyXG5cclxuXHQvKipcclxuXHQgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGxpc3Qgc3VwcG9ydHMgcGFnaW5hdGlvbi5cclxuXHQgKiBJZiB0cnVlLCBwYWdpbmF0aW9uIGNvbnRyb2xzIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBuYXZpZ2F0aW5nIHRocm91Z2ggdGhlIGRhdGEuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgcGFnaW5hYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBwcm9wZXJ0eSBJbml0aWFsaXplcyB0aGUgaXRlbXMgYXJyYXkgYXMgYW4gb3B0aW9uYWwgYXJyYXkgb2YgYW55IHR5cGVcclxuXHQgKiBAdHlwZSB7VEVudGl0eVtdfVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBpdGVtcz86IFRFbnRpdHlbXSA9IFtdO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgcmVwcmVzZW50aW5nIHRoZSBsaXN0IG9mIGl0ZW1zLlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBpdGVtc1Byb3BlcnR5TmFtZSA9ICdpdGVtcyc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIE1lbnUgb3B0aW9ucyBmb3IgbWFuYWdpbmcgYSBsaXN0IG9mIGl0ZW1zLCBpbmNsdWRpbmcgZGVsZXRlIGFuZCBtb3JlIG9wdGlvbnMuXHJcblx0ICovXHJcblx0cHVibGljIGl0ZW1MaXN0TWVudTogQWN0aW9uSXRlbTxURW50aXR5PltdID0gW1xyXG5cdFx0e1xyXG5cdFx0XHQvKiBPcHRpb24gdG8gcmVtb3ZlIHRoZSBzZWxlY3RlZCBpdGVtIGZyb20gdGhlIGxpc3QgKi9cclxuXHRcdFx0aWNvbjogJ2RlbGV0ZV9mb3JldmVyJyxcclxuXHRcdFx0ZXZlbnQ6IChfLCBfXywgaSkgPT4gdGhpcy5yZW1vdmVJdGVtKGkhKSxcclxuXHRcdFx0aGlkZTogKGl0ZW0pID0+IChpdGVtPy5pZCA/PyAwKSA+IDBcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdC8qIEFjdGlvbiB0byBzaG93IGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIGl0ZW0gKi9cclxuXHRcdFx0aWNvbjogJ21vcmVfdmVydCcsXHJcblx0XHRcdGhpZGU6IChpdGVtKSA9PiAoaXRlbT8uaWQgPz8gMCkgPD0gMCxcclxuXHRcdFx0aXRlbXM6IHRoaXMucm93TWVudUl0ZW1zXHJcblx0XHR9XHJcblx0XTtcclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3IgZm9yIGluaXRpYWxpemluZyB0aGUgY29tcG9uZW50LlxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBlbnRpdHkgVGhlIHR5cGUgb2YgZW50aXR5IGJlaW5nIG1hbmFnZWQuXHJcblx0ICogQHBhcmFtIHNlcnZpY2UgVGhlIHNlcnZpY2UgZm9yIG1hbmFnaW5nIGVudGl0eSBvcGVyYXRpb25zLlxyXG5cdCAqIEBwYXJhbSBmb3JtQnVpbGRlciBUaGUgYnVpbGRlciBmb3IgY3JlYXRpbmcgcmVhY3RpdmUgZm9ybXMuXHJcblx0ICogQHBhcmFtIHJvdXRlIFRoZSBhY3RpdmF0ZWQgcm91dGUgZm9yIG5hdmlnYXRpb24uXHJcblx0ICogQHBhcmFtIGNoYW5nZURldGVjdG9yUmVmIFRoZSBjaGFuZ2UgZGV0ZWN0b3IgZm9yIG1hbmFnaW5nIHZpZXcgdXBkYXRlcy5cclxuXHQgKi9cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByb3RlY3RlZCBlbnRpdHk6IFR5cGU8VEVudGl0eT4sXHJcblx0XHRwdWJsaWMgc2VydmljZTogVFNlcnZpY2UsXHJcblx0XHRwcm90ZWN0ZWQgZm9ybUJ1aWxkZXI6IFJ4Rm9ybUJ1aWxkZXIsXHJcblx0XHRwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG5cdFx0cHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG5cdCkge1xyXG5cdFx0c3VwZXIoc2VydmljZSwgcm91dGUsIGNoYW5nZURldGVjdG9yUmVmLCA8YW55Pm51bGwpXHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBMaWZlY3ljbGUgaG9vayBjYWxsZWQgYWZ0ZXIgdGhlIGNvbnN0cnVjdG9yLlxyXG5cdCAqIEluaXRpYWxpemVzIGlucHV0IHByb3BlcnRpZXMgYW5kIHNldHMgdXAgZGF0YSBmZXRjaGluZy5cclxuXHQgKi9cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHN1cGVyLm5nT25Jbml0KCk7XHJcblx0XHRpZiAodGhpcy5wYXJlbnQ/LmlkKSB7XHJcblx0XHRcdC8qIFNldHMgdGhlIHBhZ2luYXRvciBmb3IgdGhlIGRhdGFTb3VyY2UgKi9cclxuXHRcdFx0dGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yITtcclxuXHJcblx0XHRcdC8qIFxyXG5cdFx0XHRJZiBhIHBhcmVudCBlbnRpdHkgZXhpc3RzIChpLmUuLCBpdCBoYXMgYW4gSUQpLCBjb25uZWN0IHRvIHRoZSBkYXRhIHNvdXJjZSBcclxuXHRcdFx0d2l0aCB0aGUgc3BlY2lmaWVkIHBhZ2Ugc2l6ZSBhbmQgYW55IGFkZGl0aW9uYWwgZmV0Y2ggZGF0YS5cclxuXHRcdFx0Ki9cclxuXHRcdFx0dGhpcy5jb25uZWN0KE9iamVjdC5hc3NpZ24oeyBwYWdlU2l6ZTogMTAgfSwgdGhpcy5nZXRGZXRjaERhdGEoKSwgeyBpZDogbnVsbCB9KSk7XHJcblx0XHR9IGVsc2UgaWYgKHRoaXMuZGF0YVNvdXJjZS5pdGVtcy5sZW5ndGggPD0gMCkge1xyXG5cdFx0XHQvKiBcclxuXHRcdFx0SWYgdGhlcmUgaXMgbm8gcGFyZW50IGVudGl0eSBhbmQgdGhlIGRhdGEgc291cmNlIGl0ZW1zIGFyZSBlbXB0eSxcclxuXHRcdFx0cG9wdWxhdGUgdGhlIGRhdGEgc291cmNlIHdpdGggaW5pdGlhbCBpdGVtcyBmcm9tIHRoZSBmb3JtJ3MgdmFsdWUuXHJcblx0XHRcdCovXHJcblx0XHRcdHRoaXMuZGF0YVNvdXJjZS5pdGVtcz8ucHVzaCguLi50aGlzLmZvcm0/LnZhbHVlW3RoaXMuaXRlbXNQcm9wZXJ0eU5hbWVdKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoIXRoaXMucGFyZW50Py5pZCAmJiB0aGlzLnBhZ2luYWJsZSkge1xyXG5cdFx0XHQvKiBJbml0aWFsaXplcyB0aGUgZGF0YVNvdXJjZSB3aXRoIHRoZSBlbnRpdGllcyAqL1xyXG5cdFx0XHR0aGlzLmRhdGFTb3VyY2UgPSBuZXcgVGFibGVTdGF0aWNEYXRhU291cmNlKC4uLnRoaXMuZm9ybT8udmFsdWVbdGhpcy5pdGVtc1Byb3BlcnR5TmFtZV0pO1xyXG5cclxuXHRcdFx0LyogU2V0cyB0aGUgcGFnaW5hdG9yIGZvciB0aGUgZGF0YVNvdXJjZSAqL1xyXG5cdFx0XHR0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3IhO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8qIFN1YnNjcmliZXMgdG8gdGhlIGRhdGFTb3VyY2UgY29ubmVjdGlvbiBhbmQgYXNzaWducyB0aGUgcmVzdWx0IHRvIHRoZSBpdGVtcyBhcnJheSAqL1xyXG5cdFx0dGhpcy5kYXRhU291cmNlPy5jb25uZWN0KCkuc3Vic2NyaWJlKCh4OiBURW50aXR5W10pID0+IHRoaXMuaXRlbXMgPSB4KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEFkZHMgYSBuZXcgaXRlbSB0byB0aGUgY3VycmVudCBsaXN0LlxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBpbml0IE9wdGlvbmFsIGluaXRpYWwgdmFsdWVzIGZvciB0aGUgbmV3IGVudGl0eS5cclxuXHQgKi9cclxuXHRwdWJsaWMgYWRkSXRlbShpbml0PzogUGFydGlhbDxURW50aXR5Pik6IHZvaWQge1xyXG5cdFx0LyogQ3JlYXRlIGEgbmV3IGVudGl0eSBpbnN0YW5jZSB3aXRoIG9wdGlvbmFsIGluaXRpYWwgdmFsdWVzICovXHJcblx0XHR2YXIgZW50aXR5ID0gPFRFbnRpdHk+dGhpcy5uZXdJbnN0YW5jZShpbml0IHx8IHt9KTtcclxuXHJcblx0XHQvKiBBZGQgdGhlIG5ldyBpdGVtIHRvIHRoZSBkYXRhIHNvdXJjZSB0byBzaG93IGl0IGluIHRoZSBleHBhbnNpb24gcGFuZWwgKi9cclxuXHRcdHRoaXMuZGF0YVNvdXJjZS5pdGVtcz8ucHVzaChlbnRpdHkpO1xyXG5cclxuXHRcdC8qIFVwZGF0ZSB0aGUgZGF0YSBzb3VyY2Ugd2l0aCB0aGUgbW9kaWZpZWQgaXRlbXMgYXJyYXkgKi9cclxuXHRcdHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5kYXRhU291cmNlLml0ZW1zO1xyXG5cclxuXHRcdC8qIEFkZCB0aGUgZW50aXR5IHRvIHRoZSBmb3JtIGFycmF5IGluICdhZGQgbW9kZScgKi9cclxuXHRcdGlmICghdGhpcy5wYXJlbnQ/LmlkKSB7XHJcblx0XHRcdCh0aGlzLmZvcm0/LmNvbnRyb2xzW3RoaXMuaXRlbXNQcm9wZXJ0eU5hbWVdIGFzIFJ4Rm9ybUFycmF5KT8ucHVzaCh0aGlzLmZvcm1CdWlsZGVyLmZvcm1Hcm91cDxURW50aXR5PihlbnRpdHkpKTtcclxuXHJcblx0XHRcdC8qIEVuc3VyZSB0aGUgZm9ybSBpcyB2YWxpZCBhZnRlciBhZGRpbmcgdGhlIGl0ZW0gKi9cclxuXHRcdFx0dGhpcy5mb3JtPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblx0XHR9XHJcblxyXG5cdFx0LyogVHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIHRvIHVwZGF0ZSB0aGUgdmlldyAqL1xyXG5cdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBSZW1vdmVzIGFuIGl0ZW0gZnJvbSB0aGUgbGlzdCBhbmQgdGhlIGZvcm0uXHJcblx0ICogXHJcblx0ICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgaXRlbSB0byByZW1vdmUuXHJcblx0ICovXHJcblx0cHVibGljIHJlbW92ZUl0ZW0oaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG5cdFx0LyogUmVtb3ZlIGl0ZW0gZnJvbSB0aGUgZm9ybSBhcnJheSAqL1xyXG5cdFx0KHRoaXMuZm9ybT8uY29udHJvbHNbdGhpcy5pdGVtc1Byb3BlcnR5TmFtZV0gYXMgUnhGb3JtQXJyYXkpPy5yZW1vdmVBdChpbmRleCk7XHJcblxyXG5cdFx0LyogUmVtb3ZlIGl0ZW0gZnJvbSB0aGUgZGF0YSBzb3VyY2UgKi9cclxuXHRcdHRoaXMuZGF0YVNvdXJjZS5pdGVtcz8uc3BsaWNlKGluZGV4LCAxKTtcclxuXHRcdGlmICh0aGlzLnBhcmVudD8uaWQpIHtcclxuXHRcdFx0LyogUmVmcmVzaCBkYXRhIHNvdXJjZSBpZiBhc3NvY2lhdGVkIHdpdGggYSBwYXJlbnQgKi9cclxuXHRcdFx0dGhpcy5kYXRhU291cmNlLmNvbm5lY3QoKS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENsZWFycyBhbGwgaXRlbXMgZnJvbSB0aGUgbGlzdCBhbmQgdGhlIGZvcm0uXHJcblx0ICovXHJcblx0cHVibGljIGNsZWFySXRlbXMoKTogdm9pZCB7XHJcblx0XHQvKiBDbGVhciB0aGUgaXRlbXMgZnJvbSB0aGUgZGF0YSBzb3VyY2UgKi9cclxuXHRcdHRoaXMuZGF0YVNvdXJjZS5pdGVtcyA9IFtdO1xyXG5cclxuXHRcdC8qIENsZWFyIHRoZSBmb3JtIGFycmF5ICovXHJcblx0XHQodGhpcy5mb3JtPy5jb250cm9sc1t0aGlzLml0ZW1zUHJvcGVydHlOYW1lXSBhcyBSeEZvcm1BcnJheSk/LmNsZWFyKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBBYnN0cmFjdCBtZXRob2QgdG8gZmV0Y2ggZGF0YSBmb3IgdGhlIGxpc3QuXHJcblx0ICogTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBkZXJpdmVkIGNsYXNzZXMuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGFic3RyYWN0IGdldEZldGNoRGF0YSgpOiBhbnk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIFRFbnRpdHkuXHJcblx0ICogXHJcblx0ICogQHBhcmFtIGluaXQgT3B0aW9uYWwgaW5pdGlhbCB2YWx1ZXMgZm9yIHRoZSBlbnRpdHkuXHJcblx0ICogQHJldHVybnMgQSBuZXcgaW5zdGFuY2Ugb2YgVEVudGl0eS5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgbmV3SW5zdGFuY2UoaW5pdDogUGFydGlhbDxURW50aXR5Pik6IFRFbnRpdHkge1xyXG5cdFx0LyogQ3JlYXRlIGEgbmV3IGVudGl0eSBpbnN0YW5jZSAqL1xyXG5cdFx0cmV0dXJuIG5ldyB0aGlzLmVudGl0eShpbml0KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEFkZHMgbWVudSBpdGVtcyB0byB0aGUgcm93IG9wdGlvbnMgZm9yIG1hbmFnaW5nIGluZGl2aWR1YWwgaXRlbXMuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGFkZFJvd01lbnVJdGVtcygpOiB2b2lkIHtcclxuXHRcdHRoaXMuZWRpdGFibGUgPSBmYWxzZTtcclxuXHRcdHN1cGVyLmFkZFJvd01lbnVJdGVtcygpO1xyXG5cdH1cclxufSJdfQ==
|