@pepperi-addons/ngx-composite-lib 0.4.1-beta.12 → 0.4.1-beta.13
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/color-settings/color-settings.component.d.ts +25 -25
- package/color-settings/color-settings.model.d.ts +6 -6
- package/color-settings/color-settings.module.d.ts +12 -12
- package/color-settings/index.d.ts +5 -5
- package/color-settings/public-api.d.ts +3 -3
- package/core/common/directives/index.d.ts +1 -1
- package/core/common/directives/public-api.d.ts +1 -1
- package/core/common/directives/reset-configuration-field.directive.d.ts +39 -39
- package/core/common/index.d.ts +1 -1
- package/core/common/public-api.d.ts +2 -2
- package/core/common/services/dimx.service.d.ts +46 -46
- package/core/common/services/index.d.ts +1 -1
- package/core/common/services/public-api.d.ts +2 -2
- package/core/common/services/utilities.service.d.ts +6 -6
- package/core/index.d.ts +1 -1
- package/core/public-api.d.ts +1 -1
- package/data-view-builder/data-view-builder.component.d.ts +35 -35
- package/data-view-builder/data-view-builder.model.d.ts +1 -1
- package/data-view-builder/data-view-builder.module.d.ts +23 -23
- package/data-view-builder/data-view-builder.service.d.ts +14 -14
- package/data-view-builder/index.d.ts +5 -5
- package/data-view-builder/menu-data-view/menu-data-view.component.d.ts +36 -36
- package/data-view-builder/public-api.d.ts +3 -3
- package/esm2020/color-settings/color-settings.component.mjs +86 -86
- package/esm2020/color-settings/color-settings.model.mjs +8 -8
- package/esm2020/color-settings/color-settings.module.mjs +37 -37
- package/esm2020/color-settings/pepperi-addons-ngx-composite-lib-color-settings.mjs +4 -4
- package/esm2020/color-settings/public-api.mjs +6 -6
- package/esm2020/core/common/directives/index.mjs +4 -4
- package/esm2020/core/common/directives/public-api.mjs +4 -4
- package/esm2020/core/common/directives/reset-configuration-field.directive.mjs +135 -135
- package/esm2020/core/common/index.mjs +4 -4
- package/esm2020/core/common/public-api.mjs +5 -5
- package/esm2020/core/common/services/dimx.service.mjs +63 -63
- package/esm2020/core/common/services/index.mjs +4 -4
- package/esm2020/core/common/services/public-api.mjs +5 -5
- package/esm2020/core/common/services/utilities.service.mjs +18 -18
- package/esm2020/core/index.mjs +4 -4
- package/esm2020/core/public-api.mjs +4 -4
- package/esm2020/data-view-builder/data-view-builder.component.mjs +116 -116
- package/esm2020/data-view-builder/data-view-builder.model.mjs +1 -1
- package/esm2020/data-view-builder/data-view-builder.module.mjs +79 -79
- package/esm2020/data-view-builder/data-view-builder.service.mjs +38 -38
- package/esm2020/data-view-builder/menu-data-view/menu-data-view.component.mjs +116 -116
- package/esm2020/data-view-builder/pepperi-addons-ngx-composite-lib-data-view-builder.mjs +4 -4
- package/esm2020/data-view-builder/public-api.mjs +6 -6
- package/esm2020/file-status-panel/file-status-panel.component.mjs +34 -34
- package/esm2020/file-status-panel/file-status-panel.model.mjs +8 -8
- package/esm2020/file-status-panel/file-status-panel.module.mjs +53 -53
- package/esm2020/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +4 -4
- package/esm2020/file-status-panel/public-api.mjs +6 -6
- package/esm2020/generic-form/generic-form.component.mjs +189 -189
- package/esm2020/generic-form/generic-form.model.mjs +1 -1
- package/esm2020/generic-form/generic-form.module.mjs +67 -67
- package/esm2020/generic-form/generic-form.service.mjs +58 -59
- package/esm2020/generic-form/pepperi-addons-ngx-composite-lib-generic-form.mjs +4 -4
- package/esm2020/generic-form/public-api.mjs +7 -7
- package/esm2020/generic-list/generic-list.component.mjs +458 -458
- package/esm2020/generic-list/generic-list.model.mjs +1 -1
- package/esm2020/generic-list/generic-list.module.mjs +106 -106
- package/esm2020/generic-list/generic-list.service.mjs +136 -136
- package/esm2020/generic-list/pepperi-addons-ngx-composite-lib-generic-list.mjs +4 -4
- package/esm2020/generic-list/public-api.mjs +7 -7
- package/esm2020/group-buttons-settings/group-buttons-settings.component.mjs +129 -129
- package/esm2020/group-buttons-settings/group-buttons-settings.model.mjs +1 -1
- package/esm2020/group-buttons-settings/group-buttons-settings.module.mjs +47 -47
- package/esm2020/group-buttons-settings/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +4 -4
- package/esm2020/group-buttons-settings/public-api.mjs +6 -6
- package/esm2020/ngx-composite-lib.module.mjs +53 -53
- package/esm2020/pepperi-addons-ngx-composite-lib.mjs +4 -4
- package/esm2020/public-api.mjs +5 -5
- package/esm2020/shadow-settings/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +4 -4
- package/esm2020/shadow-settings/public-api.mjs +6 -6
- package/esm2020/shadow-settings/shadow-settings.component.mjs +68 -68
- package/esm2020/shadow-settings/shadow-settings.model.mjs +7 -7
- package/esm2020/shadow-settings/shadow-settings.module.mjs +41 -41
- package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.mjs +116 -116
- package/fesm2015/pepperi-addons-ngx-composite-lib-data-view-builder.mjs +309 -309
- package/fesm2015/pepperi-addons-ngx-composite-lib-data-view-builder.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +80 -80
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-form.mjs +285 -286
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-form.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.mjs +674 -674
- package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +164 -164
- package/fesm2015/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +101 -101
- package/fesm2015/pepperi-addons-ngx-composite-lib.mjs +271 -271
- package/fesm2020/pepperi-addons-ngx-composite-lib-color-settings.mjs +116 -116
- package/fesm2020/pepperi-addons-ngx-composite-lib-data-view-builder.mjs +307 -307
- package/fesm2020/pepperi-addons-ngx-composite-lib-data-view-builder.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +78 -78
- package/fesm2020/pepperi-addons-ngx-composite-lib-generic-form.mjs +287 -288
- package/fesm2020/pepperi-addons-ngx-composite-lib-generic-form.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-generic-list.mjs +656 -656
- package/fesm2020/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +163 -163
- package/fesm2020/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +101 -101
- package/fesm2020/pepperi-addons-ngx-composite-lib.mjs +264 -264
- package/file-status-panel/file-status-panel.component.d.ts +14 -14
- package/file-status-panel/file-status-panel.model.d.ts +7 -7
- package/file-status-panel/file-status-panel.module.d.ts +17 -17
- package/file-status-panel/index.d.ts +5 -5
- package/file-status-panel/public-api.d.ts +3 -3
- package/generic-form/generic-form.component.d.ts +43 -43
- package/generic-form/generic-form.model.d.ts +42 -42
- package/generic-form/generic-form.module.d.ts +13 -13
- package/generic-form/generic-form.service.d.ts +15 -15
- package/generic-form/index.d.ts +5 -5
- package/generic-form/public-api.d.ts +4 -4
- package/generic-list/generic-list.component.d.ts +109 -109
- package/generic-list/generic-list.model.d.ts +66 -66
- package/generic-list/generic-list.module.d.ts +25 -25
- package/generic-list/generic-list.service.d.ts +44 -44
- package/generic-list/index.d.ts +5 -5
- package/generic-list/public-api.d.ts +4 -4
- package/group-buttons-settings/group-buttons-settings.component.d.ts +33 -33
- package/group-buttons-settings/group-buttons-settings.model.d.ts +1 -1
- package/group-buttons-settings/group-buttons-settings.module.d.ts +15 -15
- package/group-buttons-settings/index.d.ts +5 -5
- package/group-buttons-settings/public-api.d.ts +3 -3
- package/index.d.ts +5 -5
- package/ngx-composite-lib.module.d.ts +13 -13
- package/package.json +1 -1
- package/public-api.d.ts +2 -2
- package/shadow-settings/index.d.ts +5 -5
- package/shadow-settings/public-api.d.ts +3 -3
- package/shadow-settings/shadow-settings.component.d.ts +23 -23
- package/shadow-settings/shadow-settings.model.d.ts +8 -8
- package/shadow-settings/shadow-settings.module.d.ts +13 -13
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FileStatusPanelComponent } from './file-status-panel.component';
|
|
4
|
-
import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';
|
|
5
|
-
import { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';
|
|
6
|
-
import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';
|
|
7
|
-
import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
|
|
8
|
-
import { PepIconModule, pepIconArrowRightAlt } from '@pepperi-addons/ngx-lib/icon';
|
|
9
|
-
import { PepSnackBarModule } from '@pepperi-addons/ngx-lib/snack-bar';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@pepperi-addons/ngx-lib/icon";
|
|
12
|
-
const pepIcons = [
|
|
13
|
-
pepIconArrowRightAlt,
|
|
14
|
-
];
|
|
15
|
-
export class PepFileStatusPanelModule {
|
|
16
|
-
constructor(pepIconRegistry) {
|
|
17
|
-
this.pepIconRegistry = pepIconRegistry;
|
|
18
|
-
this.pepIconRegistry.registerIcons(pepIcons);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
PepFileStatusPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
22
|
-
PepFileStatusPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, declarations: [FileStatusPanelComponent], imports: [CommonModule,
|
|
23
|
-
PepTopBarModule,
|
|
24
|
-
PepTextboxModule,
|
|
25
|
-
PepButtonModule,
|
|
26
|
-
PepIconModule,
|
|
27
|
-
PepDialogModule,
|
|
28
|
-
PepSnackBarModule], exports: [FileStatusPanelComponent] });
|
|
29
|
-
PepFileStatusPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, imports: [CommonModule,
|
|
30
|
-
PepTopBarModule,
|
|
31
|
-
PepTextboxModule,
|
|
32
|
-
PepButtonModule,
|
|
33
|
-
PepIconModule,
|
|
34
|
-
PepDialogModule,
|
|
35
|
-
PepSnackBarModule] });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, decorators: [{
|
|
37
|
-
type: NgModule,
|
|
38
|
-
args: [{
|
|
39
|
-
declarations: [
|
|
40
|
-
FileStatusPanelComponent
|
|
41
|
-
],
|
|
42
|
-
imports: [
|
|
43
|
-
CommonModule,
|
|
44
|
-
PepTopBarModule,
|
|
45
|
-
PepTextboxModule,
|
|
46
|
-
PepButtonModule,
|
|
47
|
-
PepIconModule,
|
|
48
|
-
PepDialogModule,
|
|
49
|
-
PepSnackBarModule
|
|
50
|
-
],
|
|
51
|
-
exports: [FileStatusPanelComponent]
|
|
52
|
-
}]
|
|
53
|
-
}], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FileStatusPanelComponent } from './file-status-panel.component';
|
|
4
|
+
import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';
|
|
5
|
+
import { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';
|
|
6
|
+
import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';
|
|
7
|
+
import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
|
|
8
|
+
import { PepIconModule, pepIconArrowRightAlt } from '@pepperi-addons/ngx-lib/icon';
|
|
9
|
+
import { PepSnackBarModule } from '@pepperi-addons/ngx-lib/snack-bar';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@pepperi-addons/ngx-lib/icon";
|
|
12
|
+
const pepIcons = [
|
|
13
|
+
pepIconArrowRightAlt,
|
|
14
|
+
];
|
|
15
|
+
export class PepFileStatusPanelModule {
|
|
16
|
+
constructor(pepIconRegistry) {
|
|
17
|
+
this.pepIconRegistry = pepIconRegistry;
|
|
18
|
+
this.pepIconRegistry.registerIcons(pepIcons);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
PepFileStatusPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
22
|
+
PepFileStatusPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, declarations: [FileStatusPanelComponent], imports: [CommonModule,
|
|
23
|
+
PepTopBarModule,
|
|
24
|
+
PepTextboxModule,
|
|
25
|
+
PepButtonModule,
|
|
26
|
+
PepIconModule,
|
|
27
|
+
PepDialogModule,
|
|
28
|
+
PepSnackBarModule], exports: [FileStatusPanelComponent] });
|
|
29
|
+
PepFileStatusPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, imports: [CommonModule,
|
|
30
|
+
PepTopBarModule,
|
|
31
|
+
PepTextboxModule,
|
|
32
|
+
PepButtonModule,
|
|
33
|
+
PepIconModule,
|
|
34
|
+
PepDialogModule,
|
|
35
|
+
PepSnackBarModule] });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, decorators: [{
|
|
37
|
+
type: NgModule,
|
|
38
|
+
args: [{
|
|
39
|
+
declarations: [
|
|
40
|
+
FileStatusPanelComponent
|
|
41
|
+
],
|
|
42
|
+
imports: [
|
|
43
|
+
CommonModule,
|
|
44
|
+
PepTopBarModule,
|
|
45
|
+
PepTextboxModule,
|
|
46
|
+
PepButtonModule,
|
|
47
|
+
PepIconModule,
|
|
48
|
+
PepDialogModule,
|
|
49
|
+
PepSnackBarModule
|
|
50
|
+
],
|
|
51
|
+
exports: [FileStatusPanelComponent]
|
|
52
|
+
}]
|
|
53
|
+
}], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
|
|
54
54
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdGF0dXMtcGFuZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwvZmlsZS1zdGF0dXMtcGFuZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQW1CLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUV0RSxNQUFNLFFBQVEsR0FBRztJQUNiLG9CQUFvQjtDQUN2QixDQUFBO0FBa0JELE1BQU0sT0FBTyx3QkFBd0I7SUFDakMsWUFDWSxlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFFeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7cUhBTFEsd0JBQXdCO3NIQUF4Qix3QkFBd0IsaUJBZDdCLHdCQUF3QixhQUd4QixZQUFZO1FBQ1osZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsYUFBYTtRQUNiLGVBQWU7UUFDZixpQkFBaUIsYUFFWCx3QkFBd0I7c0hBR3pCLHdCQUF3QixZQVg3QixZQUFZO1FBQ1osZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsYUFBYTtRQUNiLGVBQWU7UUFDZixpQkFBaUI7MkZBS1osd0JBQXdCO2tCQWhCcEMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1Ysd0JBQXdCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZpbGVTdGF0dXNQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcFRleHRib3hNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi90ZXh0Ym94JztcbmltcG9ydCB7IFBlcFRvcEJhck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3RvcC1iYXInO1xuaW1wb3J0IHsgUGVwRGlhbG9nTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcbmltcG9ydCB7IFBlcEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2J1dHRvbic7XG5pbXBvcnQgeyBQZXBJY29uTW9kdWxlLCBQZXBJY29uUmVnaXN0cnksIHBlcEljb25BcnJvd1JpZ2h0QWx0IH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaWNvbic7XG5pbXBvcnQgeyBQZXBTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NuYWNrLWJhcic7XG5cbmNvbnN0IHBlcEljb25zID0gW1xuICAgIHBlcEljb25BcnJvd1JpZ2h0QWx0LFxuXVxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBGaWxlU3RhdHVzUGFuZWxDb21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBQZXBUb3BCYXJNb2R1bGUsXG4gICAgICAgIFBlcFRleHRib3hNb2R1bGUsXG4gICAgICAgIFBlcEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgUGVwSWNvbk1vZHVsZSxcbiAgICAgICAgUGVwRGlhbG9nTW9kdWxlLFxuICAgICAgICBQZXBTbmFja0Jhck1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW0ZpbGVTdGF0dXNQYW5lbENvbXBvbmVudF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBQZXBGaWxlU3RhdHVzUGFuZWxNb2R1bGUgeyBcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBwZXBJY29uUmVnaXN0cnk6IFBlcEljb25SZWdpc3RyeSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5wZXBJY29uUmVnaXN0cnkucmVnaXN0ZXJJY29ucyhwZXBJY29ucyk7XG4gICAgfVxufSJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVwcGVyaS1hZGRvbnMtbmd4LWNvbXBvc2l0ZS1saWItZmlsZS1zdGF0dXMtcGFuZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9maWxlLXN0YXR1cy1wYW5lbC9wZXBwZXJpLWFkZG9ucy1uZ3gtY29tcG9zaXRlLWxpYi1maWxlLXN0YXR1cy1wYW5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of ngx-composite-lib/file-status-panel
|
|
3
|
-
*/
|
|
4
|
-
export * from './file-status-panel.module';
|
|
5
|
-
export * from './file-status-panel.component';
|
|
6
|
-
export * from './file-status-panel.model';
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of ngx-composite-lib/file-status-panel
|
|
3
|
+
*/
|
|
4
|
+
export * from './file-status-panel.module';
|
|
5
|
+
export * from './file-status-panel.component';
|
|
6
|
+
export * from './file-status-panel.model';
|
|
7
7
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2ZpbGUtc3RhdHVzLXBhbmVsL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWxcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9maWxlLXN0YXR1cy1wYW5lbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlLXN0YXR1cy1wYW5lbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlLXN0YXR1cy1wYW5lbC5tb2RlbCc7XG4iXX0=
|
|
@@ -1,190 +1,190 @@
|
|
|
1
|
-
import { Component, Input, Output, ViewChild, ViewContainerRef, EventEmitter, } from '@angular/core';
|
|
2
|
-
import { UIControl, ObjectsDataRow, PepGuid } from '@pepperi-addons/ngx-lib';
|
|
3
|
-
import { DataViewConverter } from '@pepperi-addons/data-views';
|
|
4
|
-
import { PepGenericFormService } from './generic-form.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@pepperi-addons/ngx-lib";
|
|
7
|
-
import * as i2 from "./generic-form.service";
|
|
8
|
-
import * as i3 from "@angular/common";
|
|
9
|
-
import * as i4 from "@pepperi-addons/ngx-lib/page-layout";
|
|
10
|
-
import * as i5 from "@pepperi-addons/ngx-lib/top-bar";
|
|
11
|
-
export class GenericFormComponent {
|
|
12
|
-
constructor(layoutService, _genericFormService) {
|
|
13
|
-
this.layoutService = layoutService;
|
|
14
|
-
this._genericFormService = _genericFormService;
|
|
15
|
-
this.isLocked = false;
|
|
16
|
-
this.inline = false;
|
|
17
|
-
this.showTopBar = false;
|
|
18
|
-
this.addPadding = false;
|
|
19
|
-
this.valueChange = new EventEmitter();
|
|
20
|
-
this.fieldClick = new EventEmitter();
|
|
21
|
-
this.formValidationChange = new EventEmitter();
|
|
22
|
-
this.layoutService.onResize$.pipe().subscribe((size) => {
|
|
23
|
-
//
|
|
24
|
-
});
|
|
25
|
-
this._formData = new ObjectsDataRow();
|
|
26
|
-
this._uiControl = new UIControl();
|
|
27
|
-
}
|
|
28
|
-
set pepListContainer(val) {
|
|
29
|
-
this._pepFormContainer = val;
|
|
30
|
-
}
|
|
31
|
-
set dataSource(val) {
|
|
32
|
-
this._data = val;
|
|
33
|
-
}
|
|
34
|
-
set dataView(val) {
|
|
35
|
-
this.initForm(val);
|
|
36
|
-
}
|
|
37
|
-
ngOnInit() {
|
|
38
|
-
//
|
|
39
|
-
}
|
|
40
|
-
initForm(dataView) {
|
|
41
|
-
setTimeout(async () => {
|
|
42
|
-
if (this._pepFormContainer) {
|
|
43
|
-
if (this._pepFormContainer.length) {
|
|
44
|
-
this._pepFormContainer.remove();
|
|
45
|
-
this._formData = new ObjectsDataRow();
|
|
46
|
-
this._uiControl = new UIControl();
|
|
47
|
-
}
|
|
48
|
-
const { PepFormComponent } = await import('@pepperi-addons/ngx-lib/form');
|
|
49
|
-
const componentRef = this._pepFormContainer.createComponent(PepFormComponent);
|
|
50
|
-
this._pepForm = componentRef.instance;
|
|
51
|
-
this._formData.IsEditable = !this.isLocked;
|
|
52
|
-
this._formData.UID = dataView.UID || PepGuid.newGuid();
|
|
53
|
-
const uiControlData = DataViewConverter.toUIControlData(dataView);
|
|
54
|
-
if (uiControlData) {
|
|
55
|
-
if (uiControlData?.ControlFields) {
|
|
56
|
-
this._uiControl.ControlFields = uiControlData.ControlFields.map((field) => this._genericFormService.convertToUiControlField(field));
|
|
57
|
-
}
|
|
58
|
-
this._uiControl.Columns = uiControlData.Columns;
|
|
59
|
-
if (this._uiControl.ControlFields?.length) {
|
|
60
|
-
this._formData.Fields = [];
|
|
61
|
-
this._uiControl.ControlFields.forEach((item) => {
|
|
62
|
-
let value = '';
|
|
63
|
-
if (this._genericFormService.hasProperty(this._data, item.ApiName)) {
|
|
64
|
-
value = this._data[item.ApiName];
|
|
65
|
-
}
|
|
66
|
-
let dataViewField;
|
|
67
|
-
if (dataView.Fields) {
|
|
68
|
-
dataViewField = dataView.Fields.find(field => field.FieldID === item.ApiName);
|
|
69
|
-
}
|
|
70
|
-
const controlFieldData = {
|
|
71
|
-
...item,
|
|
72
|
-
...{
|
|
73
|
-
controlFieldValue: value
|
|
74
|
-
},
|
|
75
|
-
...{
|
|
76
|
-
OptionalValues: dataViewField?.OptionalValues?.length ? dataViewField.OptionalValues : [],
|
|
77
|
-
AdditionalProps: dataViewField?.AdditionalProps || null
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
this._formData.Fields.push(this._genericFormService.createFormField(controlFieldData));
|
|
81
|
-
});
|
|
82
|
-
componentRef.instance.layoutType = 'form';
|
|
83
|
-
componentRef.instance.layout = this._uiControl;
|
|
84
|
-
componentRef.instance.data = this._formData;
|
|
85
|
-
componentRef.instance.isInternal = false;
|
|
86
|
-
componentRef.instance.lockFields = this.isLocked;
|
|
87
|
-
componentRef.instance.valueChange.subscribe(($event) => {
|
|
88
|
-
this.onValueChanged($event);
|
|
89
|
-
});
|
|
90
|
-
componentRef.instance.fieldClick.subscribe(($event) => {
|
|
91
|
-
this.onfieldClicked($event);
|
|
92
|
-
});
|
|
93
|
-
componentRef.instance.formValidationChange.subscribe(($event) => {
|
|
94
|
-
this.onFormValidationChanged($event);
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}, 0);
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* updates form field's value
|
|
103
|
-
* @param field object containing the data of the required update
|
|
104
|
-
*/
|
|
105
|
-
updateFieldValue(fieldChanged) {
|
|
106
|
-
this._data[fieldChanged.ApiName] = fieldChanged.Value;
|
|
107
|
-
}
|
|
108
|
-
getData() {
|
|
109
|
-
return {
|
|
110
|
-
UID: this._formData.UID,
|
|
111
|
-
Values: this._data
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* updates form field(s) params
|
|
116
|
-
* @param fields
|
|
117
|
-
*/
|
|
118
|
-
updateFields(fields) {
|
|
119
|
-
// update data view with current data
|
|
120
|
-
for (const [key, value] of Object.entries(this._data)) {
|
|
121
|
-
const index = this._formData.Fields.findIndex((item) => item.ApiName === key);
|
|
122
|
-
if (index >= 0) {
|
|
123
|
-
const item = this._formData.Fields[index];
|
|
124
|
-
item.Value = value;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
fields.forEach((field) => {
|
|
128
|
-
const index = this._formData.Fields.findIndex((item) => item.ApiName === field.FieldId);
|
|
129
|
-
if (index >= 0) {
|
|
130
|
-
for (const [key, value] of Object.entries(field.Params)) {
|
|
131
|
-
if (this._genericFormService.hasProperty(this._formData.Fields[index], key)) {
|
|
132
|
-
const item = this._formData.Fields[index];
|
|
133
|
-
item[key] = value;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
this._pepForm.ReloadForm();
|
|
139
|
-
this._pepForm.data = this._formData;
|
|
140
|
-
}
|
|
141
|
-
onValueChanged(event) {
|
|
142
|
-
const field = {
|
|
143
|
-
UID: event.id,
|
|
144
|
-
ApiName: event.key,
|
|
145
|
-
Value: event.value
|
|
146
|
-
};
|
|
147
|
-
this.updateFieldValue(field);
|
|
148
|
-
this.valueChange.emit(field);
|
|
149
|
-
}
|
|
150
|
-
onfieldClicked(event) {
|
|
151
|
-
const field = {
|
|
152
|
-
UID: event.id,
|
|
153
|
-
ApiName: event.key,
|
|
154
|
-
Value: event.value
|
|
155
|
-
};
|
|
156
|
-
this.updateFieldValue(field);
|
|
157
|
-
this.fieldClick.emit(field);
|
|
158
|
-
}
|
|
159
|
-
onFormValidationChanged(event) {
|
|
160
|
-
this.formValidationChange.emit(event);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
GenericFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GenericFormComponent, deps: [{ token: i1.PepLayoutService }, { token: i2.PepGenericFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
164
|
-
GenericFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: GenericFormComponent, selector: "pep-generic-form", inputs: { dataSource: "dataSource", dataView: "dataView", isLocked: "isLocked", inline: "inline", showTopBar: "showTopBar", addPadding: "addPadding" }, outputs: { valueChange: "valueChange", fieldClick: "fieldClick", formValidationChange: "formValidationChange" }, providers: [PepGenericFormService], viewQueries: [{ propertyName: "pepListContainer", first: true, predicate: ["pepFormContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <div class=\"form-view\">\n <ng-container #pepFormContainer></ng-container>\n </div>\n</ng-template>\n", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { kind: "component", type: i5.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }] });
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GenericFormComponent, decorators: [{
|
|
166
|
-
type: Component,
|
|
167
|
-
args: [{ selector: 'pep-generic-form', providers: [PepGenericFormService], template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <div class=\"form-view\">\n <ng-container #pepFormContainer></ng-container>\n </div>\n</ng-template>\n", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}\n"] }]
|
|
168
|
-
}], ctorParameters: function () { return [{ type: i1.PepLayoutService }, { type: i2.PepGenericFormService }]; }, propDecorators: { pepListContainer: [{
|
|
169
|
-
type: ViewChild,
|
|
170
|
-
args: ['pepFormContainer', { read: ViewContainerRef }]
|
|
171
|
-
}], dataSource: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], dataView: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], isLocked: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], inline: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], showTopBar: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], addPadding: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], valueChange: [{
|
|
184
|
-
type: Output
|
|
185
|
-
}], fieldClick: [{
|
|
186
|
-
type: Output
|
|
187
|
-
}], formValidationChange: [{
|
|
188
|
-
type: Output
|
|
189
|
-
}] } });
|
|
1
|
+
import { Component, Input, Output, ViewChild, ViewContainerRef, EventEmitter, } from '@angular/core';
|
|
2
|
+
import { UIControl, ObjectsDataRow, PepGuid } from '@pepperi-addons/ngx-lib';
|
|
3
|
+
import { DataViewConverter } from '@pepperi-addons/data-views';
|
|
4
|
+
import { PepGenericFormService } from './generic-form.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@pepperi-addons/ngx-lib";
|
|
7
|
+
import * as i2 from "./generic-form.service";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@pepperi-addons/ngx-lib/page-layout";
|
|
10
|
+
import * as i5 from "@pepperi-addons/ngx-lib/top-bar";
|
|
11
|
+
export class GenericFormComponent {
|
|
12
|
+
constructor(layoutService, _genericFormService) {
|
|
13
|
+
this.layoutService = layoutService;
|
|
14
|
+
this._genericFormService = _genericFormService;
|
|
15
|
+
this.isLocked = false;
|
|
16
|
+
this.inline = false;
|
|
17
|
+
this.showTopBar = false;
|
|
18
|
+
this.addPadding = false;
|
|
19
|
+
this.valueChange = new EventEmitter();
|
|
20
|
+
this.fieldClick = new EventEmitter();
|
|
21
|
+
this.formValidationChange = new EventEmitter();
|
|
22
|
+
this.layoutService.onResize$.pipe().subscribe((size) => {
|
|
23
|
+
//
|
|
24
|
+
});
|
|
25
|
+
this._formData = new ObjectsDataRow();
|
|
26
|
+
this._uiControl = new UIControl();
|
|
27
|
+
}
|
|
28
|
+
set pepListContainer(val) {
|
|
29
|
+
this._pepFormContainer = val;
|
|
30
|
+
}
|
|
31
|
+
set dataSource(val) {
|
|
32
|
+
this._data = val;
|
|
33
|
+
}
|
|
34
|
+
set dataView(val) {
|
|
35
|
+
this.initForm(val);
|
|
36
|
+
}
|
|
37
|
+
ngOnInit() {
|
|
38
|
+
//
|
|
39
|
+
}
|
|
40
|
+
initForm(dataView) {
|
|
41
|
+
setTimeout(async () => {
|
|
42
|
+
if (this._pepFormContainer) {
|
|
43
|
+
if (this._pepFormContainer.length) {
|
|
44
|
+
this._pepFormContainer.remove();
|
|
45
|
+
this._formData = new ObjectsDataRow();
|
|
46
|
+
this._uiControl = new UIControl();
|
|
47
|
+
}
|
|
48
|
+
const { PepFormComponent } = await import('@pepperi-addons/ngx-lib/form');
|
|
49
|
+
const componentRef = this._pepFormContainer.createComponent(PepFormComponent);
|
|
50
|
+
this._pepForm = componentRef.instance;
|
|
51
|
+
this._formData.IsEditable = !this.isLocked;
|
|
52
|
+
this._formData.UID = dataView.UID || PepGuid.newGuid();
|
|
53
|
+
const uiControlData = DataViewConverter.toUIControlData(dataView);
|
|
54
|
+
if (uiControlData) {
|
|
55
|
+
if (uiControlData?.ControlFields) {
|
|
56
|
+
this._uiControl.ControlFields = uiControlData.ControlFields.map((field) => this._genericFormService.convertToUiControlField(field));
|
|
57
|
+
}
|
|
58
|
+
this._uiControl.Columns = uiControlData.Columns;
|
|
59
|
+
if (this._uiControl.ControlFields?.length) {
|
|
60
|
+
this._formData.Fields = [];
|
|
61
|
+
this._uiControl.ControlFields.forEach((item) => {
|
|
62
|
+
let value = '';
|
|
63
|
+
if (this._genericFormService.hasProperty(this._data, item.ApiName)) {
|
|
64
|
+
value = this._data[item.ApiName];
|
|
65
|
+
}
|
|
66
|
+
let dataViewField;
|
|
67
|
+
if (dataView.Fields) {
|
|
68
|
+
dataViewField = dataView.Fields.find(field => field.FieldID === item.ApiName);
|
|
69
|
+
}
|
|
70
|
+
const controlFieldData = {
|
|
71
|
+
...item,
|
|
72
|
+
...{
|
|
73
|
+
controlFieldValue: value
|
|
74
|
+
},
|
|
75
|
+
...{
|
|
76
|
+
OptionalValues: dataViewField?.OptionalValues?.length ? dataViewField.OptionalValues : [],
|
|
77
|
+
AdditionalProps: dataViewField?.AdditionalProps || null
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
this._formData.Fields.push(this._genericFormService.createFormField(controlFieldData));
|
|
81
|
+
});
|
|
82
|
+
componentRef.instance.layoutType = 'form';
|
|
83
|
+
componentRef.instance.layout = this._uiControl;
|
|
84
|
+
componentRef.instance.data = this._formData;
|
|
85
|
+
componentRef.instance.isInternal = false;
|
|
86
|
+
componentRef.instance.lockFields = this.isLocked;
|
|
87
|
+
componentRef.instance.valueChange.subscribe(($event) => {
|
|
88
|
+
this.onValueChanged($event);
|
|
89
|
+
});
|
|
90
|
+
componentRef.instance.fieldClick.subscribe(($event) => {
|
|
91
|
+
this.onfieldClicked($event);
|
|
92
|
+
});
|
|
93
|
+
componentRef.instance.formValidationChange.subscribe(($event) => {
|
|
94
|
+
this.onFormValidationChanged($event);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}, 0);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* updates form field's value
|
|
103
|
+
* @param field object containing the data of the required update
|
|
104
|
+
*/
|
|
105
|
+
updateFieldValue(fieldChanged) {
|
|
106
|
+
this._data[fieldChanged.ApiName] = fieldChanged.Value;
|
|
107
|
+
}
|
|
108
|
+
getData() {
|
|
109
|
+
return {
|
|
110
|
+
UID: this._formData.UID,
|
|
111
|
+
Values: this._data
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* updates form field(s) params
|
|
116
|
+
* @param fields
|
|
117
|
+
*/
|
|
118
|
+
updateFields(fields) {
|
|
119
|
+
// update data view with current data
|
|
120
|
+
for (const [key, value] of Object.entries(this._data)) {
|
|
121
|
+
const index = this._formData.Fields.findIndex((item) => item.ApiName === key);
|
|
122
|
+
if (index >= 0) {
|
|
123
|
+
const item = this._formData.Fields[index];
|
|
124
|
+
item.Value = value;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
fields.forEach((field) => {
|
|
128
|
+
const index = this._formData.Fields.findIndex((item) => item.ApiName === field.FieldId);
|
|
129
|
+
if (index >= 0) {
|
|
130
|
+
for (const [key, value] of Object.entries(field.Params)) {
|
|
131
|
+
if (this._genericFormService.hasProperty(this._formData.Fields[index], key)) {
|
|
132
|
+
const item = this._formData.Fields[index];
|
|
133
|
+
item[key] = value;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
this._pepForm.ReloadForm();
|
|
139
|
+
this._pepForm.data = this._formData;
|
|
140
|
+
}
|
|
141
|
+
onValueChanged(event) {
|
|
142
|
+
const field = {
|
|
143
|
+
UID: event.id,
|
|
144
|
+
ApiName: event.key,
|
|
145
|
+
Value: event.value
|
|
146
|
+
};
|
|
147
|
+
this.updateFieldValue(field);
|
|
148
|
+
this.valueChange.emit(field);
|
|
149
|
+
}
|
|
150
|
+
onfieldClicked(event) {
|
|
151
|
+
const field = {
|
|
152
|
+
UID: event.id,
|
|
153
|
+
ApiName: event.key,
|
|
154
|
+
Value: event.value
|
|
155
|
+
};
|
|
156
|
+
this.updateFieldValue(field);
|
|
157
|
+
this.fieldClick.emit(field);
|
|
158
|
+
}
|
|
159
|
+
onFormValidationChanged(event) {
|
|
160
|
+
this.formValidationChange.emit(event);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
GenericFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GenericFormComponent, deps: [{ token: i1.PepLayoutService }, { token: i2.PepGenericFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
164
|
+
GenericFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: GenericFormComponent, selector: "pep-generic-form", inputs: { dataSource: "dataSource", dataView: "dataView", isLocked: "isLocked", inline: "inline", showTopBar: "showTopBar", addPadding: "addPadding" }, outputs: { valueChange: "valueChange", fieldClick: "fieldClick", formValidationChange: "formValidationChange" }, providers: [PepGenericFormService], viewQueries: [{ propertyName: "pepListContainer", first: true, predicate: ["pepFormContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <div class=\"form-view\">\n <ng-container #pepFormContainer></ng-container>\n </div>\n</ng-template>\n", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { kind: "component", type: i5.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }] });
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GenericFormComponent, decorators: [{
|
|
166
|
+
type: Component,
|
|
167
|
+
args: [{ selector: 'pep-generic-form', providers: [PepGenericFormService], template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <div class=\"form-view\">\n <ng-container #pepFormContainer></ng-container>\n </div>\n</ng-template>\n", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}\n"] }]
|
|
168
|
+
}], ctorParameters: function () { return [{ type: i1.PepLayoutService }, { type: i2.PepGenericFormService }]; }, propDecorators: { pepListContainer: [{
|
|
169
|
+
type: ViewChild,
|
|
170
|
+
args: ['pepFormContainer', { read: ViewContainerRef }]
|
|
171
|
+
}], dataSource: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], dataView: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], isLocked: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], inline: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], showTopBar: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], addPadding: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], valueChange: [{
|
|
184
|
+
type: Output
|
|
185
|
+
}], fieldClick: [{
|
|
186
|
+
type: Output
|
|
187
|
+
}], formValidationChange: [{
|
|
188
|
+
type: Output
|
|
189
|
+
}] } });
|
|
190
190
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2dlbmVyaWMtZm9ybS9nZW5lcmljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZ2VuZXJpYy1mb3JtL2dlbmVyaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNoQixZQUFZLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFRdkIsT0FBTyxFQUNILFNBQVMsRUFDVCxjQUFjLEVBRWQsT0FBTyxFQUVWLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7QUFTL0QsTUFBTSxPQUFPLG9CQUFvQjtJQTJDN0IsWUFDWSxhQUErQixFQUNoQyxtQkFBMEM7UUFEekMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQ2hDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBdUI7UUF4QnJELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdmLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFHbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUduQixnQkFBVyxHQUE2QyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUd2RyxlQUFVLEdBQTZDLElBQUksWUFBWSxFQUE4QixDQUFDO1FBR3RHLHlCQUFvQixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBUXRFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLFNB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LENBQUMsS0FBVTtRQUNyQixNQUFNLEtBQUssR0FBK0I7WUFDdEMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ2IsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2xCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztTQUNyQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUFVO1FBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7aUhBaE1RLG9CQUFvQjtxR0FBcEIsb0JBQW9CLG9UQUZsQixDQUFDLHFCQUFxQixDQUFDLDJIQUlLLGdCQUFnQiw2QkNwQzNELGc3Q0F1Q0E7MkZETGEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGtCQUFrQixhQUdqQixDQUFDLHFCQUFxQixDQUFDOzJJQUs5QixnQkFBZ0I7c0JBRG5CLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBT3JELFVBQVU7c0JBRGIsS0FBSztnQkFRRixRQUFRO3NCQURYLEtBQUs7Z0JBTU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxVQUFVO3NCQURULE1BQU07Z0JBSVAsb0JBQW9CO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBFdmVudEVtaXR0ZXIsICAgXG4gICAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vL2ltcG9ydCB7IFBlcEZvcm1Db21wb25lbnQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9mb3JtJztcbmltcG9ydCB7XG4gICAgSVBlcEdlbmVyaWNGb3JtRGF0YVZpZXcsXG4gICAgSVBlcEdlbmVyaWNGb3JtVmFsdWVDaGFuZ2UsXG4gICAgSVBlcEdlbmVyaWNGb3JtRmllbGRVcGRhdGUsXG4gICAgSVBlcEdlbmVyaWNGb3JtRGF0YVxufSBmcm9tICcuL2dlbmVyaWMtZm9ybS5tb2RlbCc7XG5pbXBvcnQge1xuICAgIFVJQ29udHJvbCxcbiAgICBPYmplY3RzRGF0YVJvdyxcbiAgICBPYmplY3RzRGF0YVJvd0NlbGwsXG4gICAgUGVwR3VpZCxcbiAgICBQZXBMYXlvdXRTZXJ2aWNlXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IERhdGFWaWV3Q29udmVydGVyIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL2RhdGEtdmlld3MnO1xuaW1wb3J0IHsgUGVwR2VuZXJpY0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi9nZW5lcmljLWZvcm0uc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtZ2VuZXJpYy1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ2VuZXJpYy1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9nZW5lcmljLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtQZXBHZW5lcmljRm9ybVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyaWNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIF9wZXBGb3JtQ29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkO1xuICAgIEBWaWV3Q2hpbGQoJ3BlcEZvcm1Db250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcbiAgICBzZXQgcGVwTGlzdENvbnRhaW5lcih2YWw6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgdGhpcy5fcGVwRm9ybUNvbnRhaW5lciA9IHZhbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kYXRhOiBhbnk7XG4gICAgQElucHV0KClcbiAgICBzZXQgZGF0YVNvdXJjZSh2YWw6IGFueSkge1xuICAgICAgICB0aGlzLl9kYXRhID0gdmFsO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Zvcm1EYXRhOiBPYmplY3RzRGF0YVJvdztcbiAgICBwcml2YXRlIF91aUNvbnRyb2w6IFVJQ29udHJvbDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBkYXRhVmlldyh2YWw6IElQZXBHZW5lcmljRm9ybURhdGFWaWV3KSB7XG4gICAgICAgIHRoaXMuaW5pdEZvcm0odmFsKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGlzTG9ja2VkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGlubGluZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93VG9wQmFyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGFkZFBhZGRpbmcgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcEdlbmVyaWNGb3JtVmFsdWVDaGFuZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwR2VuZXJpY0Zvcm1WYWx1ZUNoYW5nZT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGZpZWxkQ2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwR2VuZXJpY0Zvcm1WYWx1ZUNoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBHZW5lcmljRm9ybVZhbHVlQ2hhbmdlPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybVZhbGlkYXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHByaXZhdGUgX3BlcEZvcm06IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKCAgICAgICAgXG4gICAgICAgIHByaXZhdGUgbGF5b3V0U2VydmljZTogUGVwTGF5b3V0U2VydmljZSxcbiAgICAgICAgcHVibGljIF9nZW5lcmljRm9ybVNlcnZpY2U6IFBlcEdlbmVyaWNGb3JtU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uub25SZXNpemUkLnBpcGUoKS5zdWJzY3JpYmUoKHNpemUpID0+IHtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9mb3JtRGF0YSA9IG5ldyBPYmplY3RzRGF0YVJvdygpO1xuICAgICAgICB0aGlzLl91aUNvbnRyb2wgPSBuZXcgVUlDb250cm9sKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vICAgICAgICBcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRGb3JtKGRhdGFWaWV3OiBJUGVwR2VuZXJpY0Zvcm1EYXRhVmlldykge1xuICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9wZXBGb3JtQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3BlcEZvcm1Db250YWluZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3BlcEZvcm1Db250YWluZXIucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1EYXRhID0gbmV3IE9iamVjdHNEYXRhUm93KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VpQ29udHJvbCA9IG5ldyBVSUNvbnRyb2woKTtcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgY29uc3QgeyBQZXBGb3JtQ29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnQoJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2Zvcm0nKTsgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLl9wZXBGb3JtQ29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChQZXBGb3JtQ29tcG9uZW50KTsgICAgXG5cbiAgICAgICAgICAgICAgICB0aGlzLl9wZXBGb3JtID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fZm9ybURhdGEuSXNFZGl0YWJsZSA9ICF0aGlzLmlzTG9ja2VkO1xuICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1EYXRhLlVJRCA9IGRhdGFWaWV3LlVJRCB8fCBQZXBHdWlkLm5ld0d1aWQoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1aUNvbnRyb2xEYXRhID0gRGF0YVZpZXdDb252ZXJ0ZXIudG9VSUNvbnRyb2xEYXRhKGRhdGFWaWV3KTtcbiAgICAgICAgICAgICAgICBpZiAodWlDb250cm9sRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodWlDb250cm9sRGF0YT8uQ29udHJvbEZpZWxkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdWlDb250cm9sLkNvbnRyb2xGaWVsZHMgPSB1aUNvbnRyb2xEYXRhLkNvbnRyb2xGaWVsZHMubWFwKChmaWVsZDogYW55KSA9PiB0aGlzLl9nZW5lcmljRm9ybVNlcnZpY2UuY29udmVydFRvVWlDb250cm9sRmllbGQoZmllbGQpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl91aUNvbnRyb2wuQ29sdW1ucyA9IHVpQ29udHJvbERhdGEuQ29sdW1ucztcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fdWlDb250cm9sLkNvbnRyb2xGaWVsZHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZm9ybURhdGEuRmllbGRzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl91aUNvbnRyb2wuQ29udHJvbEZpZWxkcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2dlbmVyaWNGb3JtU2VydmljZS5oYXNQcm9wZXJ0eSh0aGlzLl9kYXRhLCBpdGVtLkFwaU5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5fZGF0YVtpdGVtLkFwaU5hbWVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGF0YVZpZXdGaWVsZDogYW55O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhVmlldy5GaWVsZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVZpZXdGaWVsZCA9IGRhdGFWaWV3LkZpZWxkcy5maW5kKGZpZWxkID0+IGZpZWxkLkZpZWxkSUQgPT09IGl0ZW0uQXBpTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xGaWVsZERhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xGaWVsZFZhbHVlOiB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi57XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcHRpb25hbFZhbHVlczogZGF0YVZpZXdGaWVsZD8uT3B0aW9uYWxWYWx1ZXM/Lmxlbmd0aCA/IGRhdGFWaWV3RmllbGQuT3B0aW9uYWxWYWx1ZXMgOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZGl0aW9uYWxQcm9wczogZGF0YVZpZXdGaWVsZD8uQWRkaXRpb25hbFByb3BzIHx8IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9mb3JtRGF0YS5GaWVsZHMucHVzaCh0aGlzLl9nZW5lcmljRm9ybVNlcnZpY2UuY3JlYXRlRm9ybUZpZWxkKGNvbnRyb2xGaWVsZERhdGEpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubGF5b3V0VHlwZSA9ICdmb3JtJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5sYXlvdXQgPSB0aGlzLl91aUNvbnRyb2w7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZGF0YSA9IHRoaXMuX2Zvcm1EYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmlzSW50ZXJuYWwgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5sb2NrRmllbGRzID0gdGhpcy5pc0xvY2tlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS52YWx1ZUNoYW5nZS5zdWJzY3JpYmUoKCRldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQoJGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmZpZWxkQ2xpY2suc3Vic2NyaWJlKCgkZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uZmllbGRDbGlja2VkKCRldmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5mb3JtVmFsaWRhdGlvbkNoYW5nZS5zdWJzY3JpYmUoKCRldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25Gb3JtVmFsaWRhdGlvbkNoYW5nZWQoJGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdXBkYXRlcyBmb3JtIGZpZWxkJ3MgdmFsdWVcbiAgICAgKiBAcGFyYW0gZmllbGQgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGRhdGEgb2YgdGhlIHJlcXVpcmVkIHVwZGF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgdXBkYXRlRmllbGRWYWx1ZShmaWVsZENoYW5nZWQ6IElQZXBHZW5lcmljRm9ybVZhbHVlQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMuX2RhdGFbZmllbGRDaGFuZ2VkLkFwaU5hbWVdID0gZmllbGRDaGFuZ2VkLlZhbHVlO1xuICAgIH1cblxuICAgIGdldERhdGEoKTogSVBlcEdlbmVyaWNGb3JtRGF0YSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBVSUQ6IHRoaXMuX2Zvcm1EYXRhLlVJRCxcbiAgICAgICAgICAgIFZhbHVlczogdGhpcy5fZGF0YVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICogdXBkYXRlcyBmb3JtIGZpZWxkKHMpIHBhcmFtc1xuICAgICogQHBhcmFtIGZpZWxkc1xuICAgICovXG4gICAgdXBkYXRlRmllbGRzKGZpZWxkczogSVBlcEdlbmVyaWNGb3JtRmllbGRVcGRhdGVbXSkge1xuICAgICAgICAvLyB1cGRhdGUgZGF0YSB2aWV3IHdpdGggY3VycmVudCBkYXRhXG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuX2RhdGEpKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuX2Zvcm1EYXRhLkZpZWxkcy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uQXBpTmFtZSA9PT0ga2V5KTtcbiAgICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuX2Zvcm1EYXRhLkZpZWxkc1tpbmRleF0gYXMgeyBbazogc3RyaW5nXTogYW55IH07XG4gICAgICAgICAgICAgICAgaXRlbS5WYWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuX2Zvcm1EYXRhLkZpZWxkcy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uQXBpTmFtZSA9PT0gZmllbGQuRmllbGRJZCk7XG4gICAgICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGZpZWxkLlBhcmFtcykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2dlbmVyaWNGb3JtU2VydmljZS5oYXNQcm9wZXJ0eSh0aGlzLl9mb3JtRGF0YS5GaWVsZHNbaW5kZXhdLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5fZm9ybURhdGEuRmllbGRzW2luZGV4XSBhcyB7IFtrOiBzdHJpbmddOiBhbnkgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1ba2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fcGVwRm9ybS5SZWxvYWRGb3JtKClcbiAgICAgICAgdGhpcy5fcGVwRm9ybS5kYXRhID0gdGhpcy5fZm9ybURhdGE7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgICAgICBjb25zdCBmaWVsZDogSVBlcEdlbmVyaWNGb3JtVmFsdWVDaGFuZ2UgPSB7XG4gICAgICAgICAgICBVSUQ6IGV2ZW50LmlkLFxuICAgICAgICAgICAgQXBpTmFtZTogZXZlbnQua2V5LFxuICAgICAgICAgICAgVmFsdWU6IGV2ZW50LnZhbHVlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudXBkYXRlRmllbGRWYWx1ZShmaWVsZCk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChmaWVsZCk7XG4gICAgfVxuXG4gICAgb25maWVsZENsaWNrZWQoZXZlbnQ6IGFueSkge1xuICAgICAgICBjb25zdCBmaWVsZDogSVBlcEdlbmVyaWNGb3JtVmFsdWVDaGFuZ2UgPSB7XG4gICAgICAgICAgICBVSUQ6IGV2ZW50LmlkLFxuICAgICAgICAgICAgQXBpTmFtZTogZXZlbnQua2V5LFxuICAgICAgICAgICAgVmFsdWU6IGV2ZW50LnZhbHVlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudXBkYXRlRmllbGRWYWx1ZShmaWVsZCk7XG4gICAgICAgIHRoaXMuZmllbGRDbGljay5lbWl0KGZpZWxkKTtcbiAgICB9XG5cbiAgICBvbkZvcm1WYWxpZGF0aW9uQ2hhbmdlZChldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMuZm9ybVZhbGlkYXRpb25DaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxuXG5cbn1cbiIsIjxkaXYgKm5nSWY9XCJpbmxpbmVcIiBjbGFzcz1cImlubGluZS1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7ICdhZGQtcGFkZGluZyc6IGFkZFBhZGRpbmcgfVwiPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93VG9wQmFyXCIgY2xhc3M9XCJpbmxpbmUtdG9wLWJhci1jb250YWluZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRvcEJhclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvcm1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxwZXAtcGFnZS1sYXlvdXQgKm5nSWY9XCIhaW5saW5lXCIgW2FkZFBhZGRpbmddPVwiYWRkUGFkZGluZ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93VG9wQmFyXCIgcGVwLXRvcC1hcmVhPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9wQmFyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IHBlcC1tYWluLWFyZWEgY2xhc3M9XCJtYWluLWFyZWEtY29udGFpbmVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb3JtVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvcGVwLXBhZ2UtbGF5b3V0PlxuXG48bmctdGVtcGxhdGUgI3RvcEJhclRlbXBsYXRlPlxuICAgIDxwZXAtdG9wLWJhciBbaW5saW5lXT1cImlubGluZVwiPiBcbiAgICAgICAgPGRpdiBoZWFkZXItc3RhcnQtY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsZWZ0LWJ1dHRvbnNdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBoZWFkZXItZW5kLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcmlnaHQtYnV0dG9uc11cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gPGRpdiBmb290ZXItc3RhcnQtY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltib3R0b20tbGVmdC1idXR0b25zXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZm9vdGVyLWVuZC1jb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvdHRvbS1yaWdodC1idXR0b25zXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+IC0tPlxuICAgIDwvcGVwLXRvcC1iYXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Zvcm1UZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS12aWV3XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgI3BlcEZvcm1Db250YWluZXI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1mb3JtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZ2VuZXJpYy1mb3JtL2dlbmVyaWMtZm9ybS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybURhdGFWaWV3LCBCYXNlRm9ybURhdGFWaWV3RmllbGQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvcGFwaS1zZGsvZGlzdC9lbnRpdGllcy9kYXRhLXZpZXcnO1xuaW1wb3J0IHsgS2V5VmFsdWVQYWlyIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInOyBcblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW5kaW5nIHRoZSBmb3JtIGRhdGEgdmlld1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElQZXBHZW5lcmljRm9ybURhdGFWaWV3IGV4dGVuZHMgRm9ybURhdGFWaWV3IHtcbiAgICBVSUQ/OiBzdHJpbmc7XG4gICAgRmllbGRzOiBJUGVwR2VuZXJpY0Zvcm1EYXRhVmlld0ZpZWxkW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcEdlbmVyaWNGb3JtRGF0YVZpZXdGaWVsZCBleHRlbmRzIEJhc2VGb3JtRGF0YVZpZXdGaWVsZCB7XG4gICAgT3B0aW9uYWxWYWx1ZXM6IEFycmF5PEtleVZhbHVlUGFpcjxzdHJpbmc+PjtcbiAgICBBZGRpdGlvbmFsUHJvcHM6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBmb3JtIGRhdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGVwR2VuZXJpY0Zvcm1EYXRhIHtcbiAgICBVSUQ6IHN0cmluZztcbiAgICBWYWx1ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcEdlbmVyaWNGb3JtVmFsdWVDaGFuZ2Uge1xuICAgIFVJRDogc3RyaW5nO1xuICAgIEFwaU5hbWU6IHN0cmluZztcbiAgICBWYWx1ZTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQZXBHZW5lcmljRm9ybUZpZWxkVXBkYXRlIHtcbiAgICBGaWVsZElkOiBzdHJpbmc7XG4gICAgUGFyYW1zOiBJUGVwR2VuZXJpY0Zvcm1EYXRhUGFyYW1zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQZXBHZW5lcmljRm9ybURhdGFQYXJhbXMgeyAgIFxuICAgIFZhbHVlPzogYW55OyAgIFxuICAgIFZpc2libGU/OiBib29sZWFuOyAgICAgXG4gICAgRW5hYmxlZD86IGJvb2xlYW47ICAgICAgXG4gICAgQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgIFRleHRDb2xvcj86IHN0cmluZztcbiAgICBIaWdobGlnaHRlZD86IGJvb2xlYW47ICAgXG4gICAgT3B0aW9uYWxWYWx1ZXM/OiBBcnJheTxLZXlWYWx1ZVBhaXI8c3RyaW5nPj47ICAgXG59XG5cbiJdfQ==
|