@pepperi-addons/ngx-composite-lib 0.4.2-beta.7 → 0.4.2-beta.70
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 +3 -2
- package/core/common/services/dimx.service.d.ts +4 -0
- package/esm2020/color-settings/color-settings.component.mjs +6 -3
- package/esm2020/core/common/directives/reset-configuration-field.directive.mjs +5 -4
- package/esm2020/core/common/services/dimx.service.mjs +1 -1
- package/esm2020/file-status-panel/file-status-panel.module.mjs +23 -3
- package/esm2020/flow-picker-button/flow-picker-button.component.mjs +94 -0
- package/esm2020/flow-picker-button/flow-picker-button.module.mjs +36 -0
- package/esm2020/flow-picker-button/flow-picker-button.service.mjs +21 -0
- package/esm2020/flow-picker-button/pepperi-addons-ngx-composite-lib-flow-picker-button.mjs +5 -0
- package/esm2020/flow-picker-button/public-api.mjs +6 -0
- package/esm2020/generic-list/generic-list.component.mjs +64 -7
- package/esm2020/generic-list/generic-list.service.mjs +6 -2
- package/esm2020/group-buttons-settings/group-buttons-settings.component.mjs +17 -4
- package/esm2020/group-buttons-settings/group-buttons-settings.model.mjs +1 -1
- package/esm2020/icon-picker/icon-picker.component.mjs +79 -0
- package/esm2020/icon-picker/icon-picker.module.mjs +44 -0
- package/esm2020/icon-picker/icon-picker.service.mjs +17 -0
- package/esm2020/icon-picker/pepperi-addons-ngx-composite-lib-icon-picker.mjs +5 -0
- package/esm2020/icon-picker/public-api.mjs +6 -0
- package/esm2020/layout-builder/hide-in/hide-in.component.mjs +54 -0
- package/esm2020/layout-builder/hide-in/hide-in.module.mjs +81 -0
- package/esm2020/layout-builder/layout/layout.component.mjs +204 -0
- package/esm2020/layout-builder/layout/layout.module.mjs +58 -0
- package/esm2020/layout-builder/layout-builder-internal.service.mjs +655 -0
- package/esm2020/layout-builder/layout-builder.component.mjs +205 -0
- package/esm2020/layout-builder/layout-builder.model.mjs +6 -0
- package/esm2020/layout-builder/layout-builder.module.mjs +136 -0
- package/esm2020/layout-builder/layout-builder.service.mjs +33 -0
- package/esm2020/layout-builder/layout-editor/layout-editor.component.mjs +156 -0
- package/esm2020/layout-builder/layout-editor/layout-editor.module.mjs +109 -0
- package/esm2020/layout-builder/pepperi-addons-ngx-composite-lib-layout-builder.mjs +5 -0
- package/esm2020/layout-builder/public-api.mjs +10 -0
- package/esm2020/layout-builder/section/section.component.mjs +298 -0
- package/esm2020/layout-builder/section/section.module.mjs +45 -0
- package/esm2020/layout-builder/section-block/section-block.component.mjs +109 -0
- package/esm2020/layout-builder/section-block/section-block.module.mjs +48 -0
- package/esm2020/layout-builder/section-editor/section-editor.component.mjs +191 -0
- package/esm2020/layout-builder/section-editor/section-editor.module.mjs +40 -0
- package/esm2020/manage-parameters/manage-parameter/manage-parameter.component.mjs +82 -0
- package/esm2020/manage-parameters/manage-parameters.component.mjs +153 -0
- package/esm2020/manage-parameters/manage-parameters.model.mjs +24 -0
- package/esm2020/manage-parameters/manage-parameters.module.mjs +45 -0
- package/esm2020/manage-parameters/manage-parameters.service.mjs +142 -0
- package/esm2020/manage-parameters/pepperi-addons-ngx-composite-lib-manage-parameters.mjs +5 -0
- package/esm2020/manage-parameters/public-api.mjs +8 -0
- package/esm2020/rich-text/pepperi-addons-ngx-composite-lib-rich-text.mjs +5 -0
- package/esm2020/rich-text/public-api.mjs +6 -0
- package/esm2020/rich-text/rich-text.component.mjs +154 -0
- package/esm2020/rich-text/rich-text.module.mjs +52 -0
- package/esm2020/rich-text/rich-text.service.mjs +21 -0
- package/esm2020/shadow-settings/shadow-settings.component.mjs +7 -4
- package/esm2020/show-if-badge/pepperi-addons-ngx-composite-lib-show-if-badge.mjs +5 -0
- package/esm2020/show-if-badge/public-api.mjs +6 -0
- package/esm2020/show-if-badge/show-if-badge.component.mjs +44 -0
- package/esm2020/show-if-badge/show-if-badge.module.mjs +50 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.mjs +5 -2
- package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +22 -3
- package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-flow-picker-button.mjs +161 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-flow-picker-button.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.mjs +70 -7
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +16 -3
- package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-icon-picker.mjs +146 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-icon-picker.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-layout-builder.mjs +2307 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-layout-builder.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-manage-parameters.mjs +441 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-manage-parameters.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-rich-text.mjs +234 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-rich-text.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +6 -3
- package/fesm2015/pepperi-addons-ngx-composite-lib-shadow-settings.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-show-if-badge.mjs +100 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-show-if-badge.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib.mjs +4 -3
- package/fesm2015/pepperi-addons-ngx-composite-lib.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-color-settings.mjs +5 -2
- package/fesm2020/pepperi-addons-ngx-composite-lib-color-settings.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +22 -3
- package/fesm2020/pepperi-addons-ngx-composite-lib-file-status-panel.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-flow-picker-button.mjs +155 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-flow-picker-button.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-generic-list.mjs +68 -7
- package/fesm2020/pepperi-addons-ngx-composite-lib-generic-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +16 -3
- package/fesm2020/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-icon-picker.mjs +145 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-icon-picker.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-layout-builder.mjs +2286 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-layout-builder.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-manage-parameters.mjs +438 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-manage-parameters.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-rich-text.mjs +230 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-rich-text.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +6 -3
- package/fesm2020/pepperi-addons-ngx-composite-lib-shadow-settings.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-show-if-badge.mjs +100 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib-show-if-badge.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-composite-lib.mjs +4 -3
- package/fesm2020/pepperi-addons-ngx-composite-lib.mjs.map +1 -1
- package/flow-picker-button/flow-picker-button.component.d.ts +27 -0
- package/flow-picker-button/flow-picker-button.module.d.ts +11 -0
- package/flow-picker-button/flow-picker-button.service.d.ts +9 -0
- package/flow-picker-button/index.d.ts +5 -0
- package/flow-picker-button/public-api.d.ts +2 -0
- package/generic-list/generic-list.component.d.ts +17 -5
- package/generic-list/generic-list.service.d.ts +2 -1
- package/group-buttons-settings/group-buttons-settings.component.d.ts +5 -2
- package/group-buttons-settings/group-buttons-settings.model.d.ts +1 -1
- package/icon-picker/icon-picker.component.d.ts +24 -0
- package/icon-picker/icon-picker.module.d.ts +13 -0
- package/icon-picker/icon-picker.service.d.ts +8 -0
- package/icon-picker/index.d.ts +5 -0
- package/icon-picker/public-api.d.ts +2 -0
- package/layout-builder/hide-in/hide-in.component.d.ts +25 -0
- package/layout-builder/hide-in/hide-in.component.theme.scss +9 -0
- package/layout-builder/hide-in/hide-in.module.d.ts +20 -0
- package/layout-builder/index.d.ts +5 -0
- package/layout-builder/layout/layout.component.d.ts +51 -0
- package/layout-builder/layout/layout.module.d.ts +17 -0
- package/layout-builder/layout-builder-internal.service.d.ts +107 -0
- package/layout-builder/layout-builder.component.d.ts +51 -0
- package/layout-builder/layout-builder.component.theme.scss +56 -0
- package/layout-builder/layout-builder.model.d.ts +51 -0
- package/layout-builder/layout-builder.module.d.ts +32 -0
- package/layout-builder/layout-builder.service.d.ts +14 -0
- package/layout-builder/layout-editor/layout-editor.component.d.ts +49 -0
- package/layout-builder/layout-editor/layout-editor.module.d.ts +28 -0
- package/layout-builder/public-api.d.ts +6 -0
- package/layout-builder/section/section.component.d.ts +76 -0
- package/layout-builder/section/section.component.theme.scss +115 -0
- package/layout-builder/section/section.module.d.ts +14 -0
- package/layout-builder/section-block/section-block.component.d.ts +39 -0
- package/layout-builder/section-block/section-block.component.theme.scss +13 -0
- package/layout-builder/section-block/section-block.module.d.ts +13 -0
- package/layout-builder/section-editor/section-editor.component.d.ts +53 -0
- package/layout-builder/section-editor/section-editor.module.d.ts +13 -0
- package/manage-parameters/index.d.ts +5 -0
- package/manage-parameters/manage-parameter/manage-parameter.component.d.ts +28 -0
- package/manage-parameters/manage-parameters.component.d.ts +33 -0
- package/manage-parameters/manage-parameters.model.d.ts +21 -0
- package/manage-parameters/manage-parameters.module.d.ts +14 -0
- package/manage-parameters/manage-parameters.service.d.ts +16 -0
- package/manage-parameters/public-api.d.ts +3 -0
- package/package.json +50 -2
- package/rich-text/index.d.ts +5 -0
- package/rich-text/public-api.d.ts +2 -0
- package/rich-text/rich-text.component.d.ts +43 -0
- package/rich-text/rich-text.module.d.ts +16 -0
- package/rich-text/rich-text.service.d.ts +9 -0
- package/shadow-settings/shadow-settings.component.d.ts +2 -1
- package/show-if-badge/index.d.ts +5 -0
- package/show-if-badge/public-api.d.ts +2 -0
- package/show-if-badge/show-if-badge.component.d.ts +20 -0
- package/show-if-badge/show-if-badge.module.d.ts +16 -0
- package/src/assets/i18n/en.ngx-composite-lib.json +77 -4
- package/src/assets/images/brand-leaf-full@1x.png +0 -0
- package/src/assets/images/brand-leaf-full@2x.png +0 -0
- package/src/assets/images/brand-leaf-round.png +0 -0
- package/src/assets/images/brand-leaf-round@2x.png +0 -0
- package/src/assets/images/brand-leaf-skiny@1x.png +0 -0
- package/src/assets/images/brand-leaf-skiny@2x.png +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SectionBlockComponent } from './section-block.component';
|
|
4
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
5
|
+
import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
|
|
6
|
+
import { PepRemoteLoaderModule } from '@pepperi-addons/ngx-lib/remote-loader';
|
|
7
|
+
// import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
8
|
+
// import { PepHideInModule } from '../hide-in/hide-in.module';
|
|
9
|
+
import { PepDraggableItemsModule } from '@pepperi-addons/ngx-lib/draggable-items';
|
|
10
|
+
import { PepSkeletonLoaderModule } from '@pepperi-addons/ngx-lib/skeleton-loader';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export class SectionBlockModule {
|
|
13
|
+
}
|
|
14
|
+
SectionBlockModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionBlockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
+
SectionBlockModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: SectionBlockModule, declarations: [SectionBlockComponent], imports: [CommonModule,
|
|
16
|
+
DragDropModule,
|
|
17
|
+
PepButtonModule,
|
|
18
|
+
PepSkeletonLoaderModule,
|
|
19
|
+
PepRemoteLoaderModule,
|
|
20
|
+
// PepHideInModule,
|
|
21
|
+
PepDraggableItemsModule], exports: [SectionBlockComponent] });
|
|
22
|
+
SectionBlockModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionBlockModule, imports: [CommonModule,
|
|
23
|
+
DragDropModule,
|
|
24
|
+
PepButtonModule,
|
|
25
|
+
PepSkeletonLoaderModule,
|
|
26
|
+
PepRemoteLoaderModule,
|
|
27
|
+
// PepHideInModule,
|
|
28
|
+
PepDraggableItemsModule] });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionBlockModule, decorators: [{
|
|
30
|
+
type: NgModule,
|
|
31
|
+
args: [{
|
|
32
|
+
declarations: [
|
|
33
|
+
SectionBlockComponent,
|
|
34
|
+
],
|
|
35
|
+
imports: [
|
|
36
|
+
CommonModule,
|
|
37
|
+
DragDropModule,
|
|
38
|
+
PepButtonModule,
|
|
39
|
+
PepSkeletonLoaderModule,
|
|
40
|
+
PepRemoteLoaderModule,
|
|
41
|
+
// PepHideInModule,
|
|
42
|
+
PepDraggableItemsModule,
|
|
43
|
+
// TranslateModule.forChild()
|
|
44
|
+
],
|
|
45
|
+
exports: [SectionBlockComponent]
|
|
46
|
+
}]
|
|
47
|
+
}] });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1ibG9jay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9sYXlvdXQtYnVpbGRlci9zZWN0aW9uLWJsb2NrL3NlY3Rpb24tYmxvY2subW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsMEVBQTBFO0FBQzFFLCtEQUErRDtBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFrQmxGLE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFkdkIscUJBQXFCLGFBR3JCLFlBQVk7UUFDWixjQUFjO1FBQ2QsZUFBZTtRQUNmLHVCQUF1QjtRQUN2QixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLHVCQUF1QixhQUdqQixxQkFBcUI7Z0hBRXRCLGtCQUFrQixZQVh2QixZQUFZO1FBQ1osY0FBYztRQUNkLGVBQWU7UUFDZix1QkFBdUI7UUFDdkIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQix1QkFBdUI7MkZBS2xCLGtCQUFrQjtrQkFoQjlCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLHFCQUFxQjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3dCQUNmLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3FCQUNoQztvQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNlY3Rpb25CbG9ja0NvbXBvbmVudCB9IGZyb20gJy4vc2VjdGlvbi1ibG9jay5jb21wb25lbnQnXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgUGVwQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IFBlcFJlbW90ZUxvYWRlck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3JlbW90ZS1sb2FkZXInO1xuLy8gaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbi8vIGltcG9ydCB7IFBlcEhpZGVJbk1vZHVsZSB9IGZyb20gJy4uL2hpZGUtaW4vaGlkZS1pbi5tb2R1bGUnO1xuaW1wb3J0IHsgUGVwRHJhZ2dhYmxlSXRlbXNNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kcmFnZ2FibGUtaXRlbXMnO1xuaW1wb3J0IHsgUGVwU2tlbGV0b25Mb2FkZXJNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9za2VsZXRvbi1sb2FkZXInO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBTZWN0aW9uQmxvY2tDb21wb25lbnQsXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgICAgIFBlcEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgUGVwU2tlbGV0b25Mb2FkZXJNb2R1bGUsXG4gICAgICAgIFBlcFJlbW90ZUxvYWRlck1vZHVsZSxcbiAgICAgICAgLy8gUGVwSGlkZUluTW9kdWxlLFxuICAgICAgICBQZXBEcmFnZ2FibGVJdGVtc01vZHVsZSxcbiAgICAgICAgLy8gVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKClcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtTZWN0aW9uQmxvY2tDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFNlY3Rpb25CbG9ja01vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { PepDialogActionButton, PepDialogData } from '@pepperi-addons/ngx-lib/dialog';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngx-translate/core";
|
|
6
|
+
import * as i2 from "@pepperi-addons/ngx-lib/dialog";
|
|
7
|
+
import * as i3 from "@pepperi-addons/ngx-lib/textbox";
|
|
8
|
+
import * as i4 from "@pepperi-addons/ngx-lib/select";
|
|
9
|
+
import * as i5 from "@pepperi-addons/ngx-lib/checkbox";
|
|
10
|
+
export class SectionEditorComponent {
|
|
11
|
+
constructor(translate, dialog) {
|
|
12
|
+
this.translate = translate;
|
|
13
|
+
this.dialog = dialog;
|
|
14
|
+
this.MIN_HEIGHT = 40;
|
|
15
|
+
this.sectionName = '';
|
|
16
|
+
this.isAutoHeight = true;
|
|
17
|
+
this.height = this.MIN_HEIGHT;
|
|
18
|
+
this.hostObjectChange = new EventEmitter();
|
|
19
|
+
this.collapseOnTablet = false;
|
|
20
|
+
this.fillHeight = false;
|
|
21
|
+
this.subSections = false;
|
|
22
|
+
this.partsNumber = "2";
|
|
23
|
+
this.partsNumberOptions = Array();
|
|
24
|
+
this.splitOptions = Array();
|
|
25
|
+
this.allSplitOptions = Array();
|
|
26
|
+
this.initData();
|
|
27
|
+
}
|
|
28
|
+
set hostObject(value) {
|
|
29
|
+
this._hostObject = value;
|
|
30
|
+
this.sectionName = value.sectionName;
|
|
31
|
+
this.split = value.split;
|
|
32
|
+
this.isAutoHeight = !value.height || value.height === 0;
|
|
33
|
+
this.height = this.isAutoHeight ? this.MIN_HEIGHT : value.height;
|
|
34
|
+
this.collapseOnTablet = value.collapseOnTablet ?? false;
|
|
35
|
+
this.fillHeight = value.fillHeight ?? false;
|
|
36
|
+
}
|
|
37
|
+
get hostObject() {
|
|
38
|
+
return this._hostObject;
|
|
39
|
+
}
|
|
40
|
+
set split(value) {
|
|
41
|
+
this._split = value;
|
|
42
|
+
this.subSections = (this._split && this._split.length > 0) ? true : false;
|
|
43
|
+
// Check how many parts we have.
|
|
44
|
+
const arr = value?.split(' ');
|
|
45
|
+
if (arr && arr.length > 1 && arr.length <= 4) {
|
|
46
|
+
this.partsNumber = arr.length.toString();
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this.partsNumber = "2";
|
|
50
|
+
}
|
|
51
|
+
this.loadSplitOptions();
|
|
52
|
+
}
|
|
53
|
+
get split() {
|
|
54
|
+
return this._split;
|
|
55
|
+
}
|
|
56
|
+
initData() {
|
|
57
|
+
this.partsNumberOptions = [
|
|
58
|
+
{ 'key': '2', 'value': '2 Parts' },
|
|
59
|
+
{ 'key': '3', 'value': '3 Parts' },
|
|
60
|
+
{ 'key': '4', 'value': '4 Parts' }
|
|
61
|
+
];
|
|
62
|
+
this.allSplitOptions = [
|
|
63
|
+
{ 'key': '2', 'value': [
|
|
64
|
+
{ 'key': '1/4 3/4', 'value': '1/4-3/4' },
|
|
65
|
+
{ 'key': '1/3 2/3', 'value': '1/3-2/3' },
|
|
66
|
+
{ 'key': '1/2 1/2', 'value': '1/2-1/2' },
|
|
67
|
+
{ 'key': '2/3 1/3', 'value': '2/3-1/3' },
|
|
68
|
+
{ 'key': '3/4 1/4', 'value': '3/4-1/4' },
|
|
69
|
+
] },
|
|
70
|
+
{ 'key': '3', 'value': [
|
|
71
|
+
{ 'key': '1/3 1/3 1/3', 'value': '1/3-1/3-1/3' },
|
|
72
|
+
{ 'key': '1/2 1/4 1/4', 'value': '1/2-1/4-1/4' },
|
|
73
|
+
{ 'key': '1/4 1/2 1/4', 'value': '1/4-1/2-1/4' },
|
|
74
|
+
{ 'key': '1/4 1/4 1/2', 'value': '1/4-1/4-1/2' },
|
|
75
|
+
] },
|
|
76
|
+
{ 'key': '4', 'value': [
|
|
77
|
+
{ 'key': '1/4 1/4 1/4 1/4', 'value': '1/4-1/4-1/4-1/4' },
|
|
78
|
+
] }
|
|
79
|
+
];
|
|
80
|
+
}
|
|
81
|
+
loadSplitOptions() {
|
|
82
|
+
const splitOptions = this.allSplitOptions.find((option) => option.key === this.partsNumber);
|
|
83
|
+
if (splitOptions) {
|
|
84
|
+
this.splitOptions = splitOptions.value;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.splitOptions = this.allSplitOptions[0].value;
|
|
88
|
+
}
|
|
89
|
+
if (!this._split) {
|
|
90
|
+
this._split = this.splitOptions[0].key;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
updateHostObject() {
|
|
94
|
+
this._hostObject.sectionName = this.sectionName;
|
|
95
|
+
this._hostObject.split = this.subSections ? this.split : undefined;
|
|
96
|
+
this._hostObject.height = this.isAutoHeight ? 0 : this.height;
|
|
97
|
+
this._hostObject.collapseOnTablet = this.collapseOnTablet;
|
|
98
|
+
this._hostObject.fillHeight = this.fillHeight;
|
|
99
|
+
this.hostObjectChange.emit(this.hostObject);
|
|
100
|
+
}
|
|
101
|
+
ngOnInit() {
|
|
102
|
+
this.loadSplitOptions();
|
|
103
|
+
}
|
|
104
|
+
isAutoHeightChange(isChecked) {
|
|
105
|
+
this.isAutoHeight = isChecked;
|
|
106
|
+
this.updateHostObject();
|
|
107
|
+
}
|
|
108
|
+
onHeightChange(height) {
|
|
109
|
+
if (height >= this.MIN_HEIGHT) {
|
|
110
|
+
this.height = coerceNumberProperty(height, this.height);
|
|
111
|
+
this.updateHostObject();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
onSectionNameChange(value) {
|
|
115
|
+
this.sectionName = value;
|
|
116
|
+
this.updateHostObject();
|
|
117
|
+
}
|
|
118
|
+
onCollapseOnTabletChange(value) {
|
|
119
|
+
this.collapseOnTablet = value;
|
|
120
|
+
this.updateHostObject();
|
|
121
|
+
}
|
|
122
|
+
onFillHeightChange(value) {
|
|
123
|
+
this.fillHeight = value;
|
|
124
|
+
this.updateHostObject();
|
|
125
|
+
}
|
|
126
|
+
onSubSectionsChange(value) {
|
|
127
|
+
const oldValue = this.subSections;
|
|
128
|
+
// Check if cancel the sub sections ( change from any -> 1 section ), if true need to show confirm message
|
|
129
|
+
if (value === false) {
|
|
130
|
+
this.subSections = value;
|
|
131
|
+
this.showDeleteSectionMsg(() => {
|
|
132
|
+
this.updateHostObject();
|
|
133
|
+
}, () => {
|
|
134
|
+
this.subSections = oldValue;
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
this.subSections = value;
|
|
139
|
+
this.updateHostObject();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
onPartsNumberChange(key) {
|
|
143
|
+
const oldKey = this.partsNumber;
|
|
144
|
+
// Check if decrease on sub sections number, if true need to show confirm message
|
|
145
|
+
if (key && parseInt(key) < parseInt(this.partsNumber)) {
|
|
146
|
+
this.partsNumber = key;
|
|
147
|
+
this.showDeleteSectionMsg(() => {
|
|
148
|
+
this.loadSplitOptions();
|
|
149
|
+
this._split = this.splitOptions[0].key;
|
|
150
|
+
this.updateHostObject();
|
|
151
|
+
}, () => {
|
|
152
|
+
this.partsNumber = oldKey;
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
this.partsNumber = key;
|
|
157
|
+
this.loadSplitOptions();
|
|
158
|
+
this._split = this.splitOptions[0].key;
|
|
159
|
+
this.updateHostObject();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
showDeleteSectionMsg(continueCB, cancelCB) {
|
|
163
|
+
const actionButtons = [
|
|
164
|
+
new PepDialogActionButton(this.translate.instant('ACTIONS.CANCEL'), '', () => {
|
|
165
|
+
cancelCB();
|
|
166
|
+
}),
|
|
167
|
+
new PepDialogActionButton(this.translate.instant('ACTIONS.CONTINUE'), 'strong caution', () => {
|
|
168
|
+
continueCB();
|
|
169
|
+
})
|
|
170
|
+
];
|
|
171
|
+
const content = this.translate.instant('LAYOUT_BUILDER.DELETE_SECTION_MSG');
|
|
172
|
+
const title = this.translate.instant('LAYOUT_BUILDER.DELETE_SECTION_TITLE');
|
|
173
|
+
const dataMsg = new PepDialogData({ title, actionsType: 'custom', content, actionButtons });
|
|
174
|
+
this.dialog.openDefaultDialog(dataMsg);
|
|
175
|
+
}
|
|
176
|
+
onSplitChange(key) {
|
|
177
|
+
this._split = key;
|
|
178
|
+
this.updateHostObject();
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
SectionEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionEditorComponent, deps: [{ token: i1.TranslateService }, { token: i2.PepDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
182
|
+
SectionEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: SectionEditorComponent, selector: "section-editor", inputs: { hostObject: "hostObject" }, outputs: { hostObjectChange: "hostObjectChange" }, ngImport: i0, template: "<div class=\"section-editor-container layout-builder-editor-container\">\n <div>\n <pep-textbox [value]=\"sectionName\" [label]=\"'LAYOUT_BUILDER.SECTION_NAME_TITLE' | translate\" (valueChange)=\"onSectionNameChange($event)\"></pep-textbox>\n </div>\n\n <!-- \n <div>\n <pep-checkbox class=\"checkbox-as-title\" [value]=\"isAutoHeight\" [label]=\"'LAYOUT_BUILDER.AUTO_HEIGHT_TITLE' | translate\" [renderTitle]=\"false\" (valueChange)=\"isAutoHeightChange($event)\"></pep-checkbox>\n <pep-textbox [label]=\"'LAYOUT_BUILDER.HEIGHT_TITLE' | translate\" type=\"int\" [minValue]=\"MIN_HEIGHT\" [disabled]=\"isAutoHeight\" [value]=\"height\" (valueChange)=\"onHeightChange($event)\"></pep-textbox> \n </div>\n -->\n <div class=\"editor-separator\"></div>\n <div>\n <pep-checkbox class=\"checkbox-as-title\" [value]=\"subSections\" [label]=\"'LAYOUT_BUILDER.SUB_SECTION_TITLE' | translate\" [renderTitle]=\"false\" (valueChange)=\"onSubSectionsChange($event)\"></pep-checkbox>\n <div class=\"split-area\">\n <pep-select [label]=\"'LAYOUT_BUILDER.SECTIONS_TITLE' | translate\" [value]=\"partsNumber\" [options]=\"partsNumberOptions\" \n (valueChange)=\"onPartsNumberChange($event)\" [emptyOption]=\"false\" [disabled]=\"!subSections\"></pep-select>\n <pep-select [label]=\"'LAYOUT_BUILDER.SPLIT_TITLE' | translate\" [value]=\"split || ''\" [options]=\"splitOptions\"\n (valueChange)=\"onSplitChange($event)\" [emptyOption]=\"false\" [disabled]=\"!subSections\"></pep-select>\n </div>\n </div>\n <div class=\"editor-separator\"></div>\n <div>\n <pep-checkbox class=\"checkbox-as-title\" [value]=\"collapseOnTablet\" [label]=\"'LAYOUT_BUILDER.COLLAPSE_ON_TABLET_TITLE' | translate\" [renderTitle]=\"false\" (valueChange)=\"onCollapseOnTabletChange($event)\"></pep-checkbox>\n <span class=\"header-title body-xs\">{{('LAYOUT_BUILDER.COLLAPSE_ON_TABLET_DESCRIPTION' | translate)}}</span>\n </div>\n <div class=\"editor-separator\"></div>\n <div>\n <pep-checkbox class=\"checkbox-as-title\" [value]=\"fillHeight\" [label]=\"'LAYOUT_BUILDER.FILL_HEIGHT_SECTION_TITLE' | translate\" [renderTitle]=\"false\" (valueChange)=\"onFillHeightChange($event)\"></pep-checkbox>\n <span class=\"header-title body-xs\">{{('LAYOUT_BUILDER.FILL_HEIGHT_SECTION_DESCRIPTION' | translate)}}</span>\n </div>\n</div>\n", styles: [".section-editor-container .split-area{display:grid;grid-template-columns:1fr 1fr;gap:var(--pep-spacing-lg, 1rem)}\n"], dependencies: [{ kind: "component", type: i3.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey", "regex", "regexError", "isInFocus"], outputs: ["valueChange", "keyup"] }, { kind: "component", type: i4.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "placeholder", "placeholderWhenDisabled", "options", "visible", "emptyOption", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "renderTitle", "typeaheadDebounceInterval", "addValueToOptionsIfNotExist"], outputs: ["valueChange"] }, { kind: "component", type: i5.PepCheckboxComponent, selector: "pep-checkbox", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "additionalValue", "form", "isActive", "showTitle", "renderTitle", "layoutType", "visible"], outputs: ["valueChange"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionEditorComponent, decorators: [{
|
|
184
|
+
type: Component,
|
|
185
|
+
args: [{ selector: 'section-editor', template: "<div class=\"section-editor-container layout-builder-editor-container\">\n <div>\n <pep-textbox [value]=\"sectionName\" [label]=\"'LAYOUT_BUILDER.SECTION_NAME_TITLE' | translate\" (valueChange)=\"onSectionNameChange($event)\"></pep-textbox>\n </div>\n\n <!-- \n <div>\n <pep-checkbox class=\"checkbox-as-title\" [value]=\"isAutoHeight\" [label]=\"'LAYOUT_BUILDER.AUTO_HEIGHT_TITLE' | translate\" [renderTitle]=\"false\" (valueChange)=\"isAutoHeightChange($event)\"></pep-checkbox>\n <pep-textbox [label]=\"'LAYOUT_BUILDER.HEIGHT_TITLE' | translate\" type=\"int\" [minValue]=\"MIN_HEIGHT\" [disabled]=\"isAutoHeight\" [value]=\"height\" (valueChange)=\"onHeightChange($event)\"></pep-textbox> \n </div>\n -->\n <div class=\"editor-separator\"></div>\n <div>\n <pep-checkbox class=\"checkbox-as-title\" [value]=\"subSections\" [label]=\"'LAYOUT_BUILDER.SUB_SECTION_TITLE' | translate\" [renderTitle]=\"false\" (valueChange)=\"onSubSectionsChange($event)\"></pep-checkbox>\n <div class=\"split-area\">\n <pep-select [label]=\"'LAYOUT_BUILDER.SECTIONS_TITLE' | translate\" [value]=\"partsNumber\" [options]=\"partsNumberOptions\" \n (valueChange)=\"onPartsNumberChange($event)\" [emptyOption]=\"false\" [disabled]=\"!subSections\"></pep-select>\n <pep-select [label]=\"'LAYOUT_BUILDER.SPLIT_TITLE' | translate\" [value]=\"split || ''\" [options]=\"splitOptions\"\n (valueChange)=\"onSplitChange($event)\" [emptyOption]=\"false\" [disabled]=\"!subSections\"></pep-select>\n </div>\n </div>\n <div class=\"editor-separator\"></div>\n <div>\n <pep-checkbox class=\"checkbox-as-title\" [value]=\"collapseOnTablet\" [label]=\"'LAYOUT_BUILDER.COLLAPSE_ON_TABLET_TITLE' | translate\" [renderTitle]=\"false\" (valueChange)=\"onCollapseOnTabletChange($event)\"></pep-checkbox>\n <span class=\"header-title body-xs\">{{('LAYOUT_BUILDER.COLLAPSE_ON_TABLET_DESCRIPTION' | translate)}}</span>\n </div>\n <div class=\"editor-separator\"></div>\n <div>\n <pep-checkbox class=\"checkbox-as-title\" [value]=\"fillHeight\" [label]=\"'LAYOUT_BUILDER.FILL_HEIGHT_SECTION_TITLE' | translate\" [renderTitle]=\"false\" (valueChange)=\"onFillHeightChange($event)\"></pep-checkbox>\n <span class=\"header-title body-xs\">{{('LAYOUT_BUILDER.FILL_HEIGHT_SECTION_DESCRIPTION' | translate)}}</span>\n </div>\n</div>\n", styles: [".section-editor-container .split-area{display:grid;grid-template-columns:1fr 1fr;gap:var(--pep-spacing-lg, 1rem)}\n"] }]
|
|
186
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.PepDialogService }]; }, propDecorators: { hostObject: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], hostObjectChange: [{
|
|
189
|
+
type: Output
|
|
190
|
+
}] } });
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvc2VjdGlvbi1lZGl0b3Ivc2VjdGlvbi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvc2VjdGlvbi1lZGl0b3Ivc2VjdGlvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFvQixNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7O0FBaUJ4RyxNQUFNLE9BQU8sc0JBQXNCO0lBc0QvQixZQUFvQixTQUEyQixFQUFVLE1BQXdCO1FBQTdELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFyRHhFLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFrQnpCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBc0J6QixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUM3QixXQUFNLEdBQVcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUV2QixxQkFBZ0IsR0FBdUMsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFFMUcscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFDMUIsdUJBQWtCLEdBQUcsS0FBSyxFQUFjLENBQUM7UUFDekMsaUJBQVksR0FBRyxLQUFLLEVBQWdCLENBQUM7UUFDckMsb0JBQWUsR0FBRyxLQUFLLEVBQW1CLENBQUM7UUFHdkMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFwREQsSUFDSSxVQUFVLENBQUMsS0FBMkI7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDakUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLLENBQUM7UUFDeEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQztJQUNoRCxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFLRCxJQUFJLEtBQUssQ0FBQyxLQUE0QjtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFMUUsZ0NBQWdDO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzVDO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztTQUMxQjtRQUVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQW1CTyxRQUFRO1FBQ1osSUFBSSxDQUFDLGtCQUFrQixHQUFHO1lBQ3RCLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1lBQ2xDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1lBQ2xDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1NBQ3JDLENBQUM7UUFFRixJQUFJLENBQUMsZUFBZSxHQUFHO1lBQ25CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUU7b0JBQ25CLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO29CQUN4QyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtvQkFDeEMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUU7b0JBQ3hDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO29CQUN4QyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtpQkFDM0MsRUFBQztZQUNGLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUU7b0JBQ25CLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO29CQUNoRCxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtvQkFDaEQsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUU7b0JBQ2hELEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO2lCQUNuRCxFQUFDO1lBQ0YsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRTtvQkFDbkIsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFO2lCQUMzRCxFQUFDO1NBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVGLElBQUksWUFBWSxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1NBQzFDO2FBQU07WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1NBQzFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNuRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUU5QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxTQUFrQjtRQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWM7UUFDekIsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFjO1FBQzlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDbEMsMEdBQTBHO1FBQzFHLElBQUksS0FBSyxLQUFLLEtBQUssRUFBRTtZQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxFQUFFO2dCQUMzQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM1QixDQUFDLEVBQUUsR0FBRyxFQUFFO2dCQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLEdBQVc7UUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNoQyxpRkFBaUY7UUFDakYsSUFBSSxHQUFHLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7WUFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVCLENBQUMsRUFBRSxHQUFHLEVBQUU7Z0JBQ0osSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUE7U0FDTDthQUFNO1lBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxVQUFzQixFQUFFLFFBQW9CO1FBQzdELE1BQU0sYUFBYSxHQUFHO1lBQ2xCLElBQUkscUJBQXFCLENBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQ3hDLEVBQUUsRUFDRixHQUFHLEVBQUU7Z0JBQ0QsUUFBUSxFQUFFLENBQUM7WUFDZixDQUFDLENBQ0o7WUFDRCxJQUFJLHFCQUFxQixDQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUMxQyxnQkFBZ0IsRUFDaEIsR0FBRyxFQUFFO2dCQUNELFVBQVUsRUFBRSxDQUFDO1lBQ2pCLENBQUMsQ0FDSjtTQUNKLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDNUUsTUFBTSxPQUFPLEdBQUcsSUFBSSxhQUFhLENBQUMsRUFBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQztRQUUxRixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFHRCxhQUFhLENBQUMsR0FBVztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQWdCLENBQUM7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQzs7bUhBNU1RLHNCQUFzQjt1R0FBdEIsc0JBQXNCLCtJQ3RCbkMscTVFQWdDQTsyRkRWYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0ksZ0JBQWdCO3NJQVN0QixVQUFVO3NCQURiLEtBQUs7Z0JBd0NJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IElQZXBPcHRpb24gfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBTcGxpdFR5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvcGFwaS1zZGsnO1xuaW1wb3J0IHsgUGVwRGlhbG9nQWN0aW9uQnV0dG9uLCBQZXBEaWFsb2dEYXRhLCBQZXBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcbmltcG9ydCB7IElMYXlvdXRTZWN0aW9uRWRpdG9yIH0gZnJvbSAnLi4vbGF5b3V0LWJ1aWxkZXIubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTcGxpdE9wdGlvbiB7XG4gICAga2V5OiBTcGxpdFR5cGU7IFxuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElBbGxTcGxpdE9wdGlvbiB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdmFsdWU6IEFycmF5PElTcGxpdE9wdGlvbj47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2VjdGlvbi1lZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWN0aW9uLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VjdGlvbi1lZGl0b3IuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWN0aW9uRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICByZWFkb25seSBNSU5fSEVJR0hUID0gNDA7XG4gICAgXG4gICAgcHJpdmF0ZSBfaG9zdE9iamVjdCE6IElMYXlvdXRTZWN0aW9uRWRpdG9yO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGhvc3RPYmplY3QodmFsdWU6IElMYXlvdXRTZWN0aW9uRWRpdG9yKSB7XG4gICAgICAgIHRoaXMuX2hvc3RPYmplY3QgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLnNlY3Rpb25OYW1lID0gdmFsdWUuc2VjdGlvbk5hbWU7XG4gICAgICAgIHRoaXMuc3BsaXQgPSB2YWx1ZS5zcGxpdDtcbiAgICAgICAgdGhpcy5pc0F1dG9IZWlnaHQgPSAhdmFsdWUuaGVpZ2h0IHx8IHZhbHVlLmhlaWdodCA9PT0gMDtcbiAgICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLmlzQXV0b0hlaWdodCA/IHRoaXMuTUlOX0hFSUdIVCA6IHZhbHVlLmhlaWdodDtcbiAgICAgICAgdGhpcy5jb2xsYXBzZU9uVGFibGV0ID0gdmFsdWUuY29sbGFwc2VPblRhYmxldCA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5maWxsSGVpZ2h0ID0gdmFsdWUuZmlsbEhlaWdodCA/PyBmYWxzZTtcbiAgICB9XG4gICAgZ2V0IGhvc3RPYmplY3QoKTogSUxheW91dFNlY3Rpb25FZGl0b3Ige1xuICAgICAgICByZXR1cm4gdGhpcy5faG9zdE9iamVjdDtcbiAgICB9XG5cbiAgICBzZWN0aW9uTmFtZTogc3RyaW5nID0gJyc7XG4gICAgXG4gICAgcHJpdmF0ZSBfc3BsaXQ6IFNwbGl0VHlwZSB8IHVuZGVmaW5lZDtcbiAgICBzZXQgc3BsaXQodmFsdWU6IFNwbGl0VHlwZSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9zcGxpdCA9IHZhbHVlO1xuICAgICAgICBcbiAgICAgICAgdGhpcy5zdWJTZWN0aW9ucyA9ICh0aGlzLl9zcGxpdCAmJiB0aGlzLl9zcGxpdC5sZW5ndGggPiAwKSA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICAvLyBDaGVjayBob3cgbWFueSBwYXJ0cyB3ZSBoYXZlLlxuICAgICAgICBjb25zdCBhcnIgPSB2YWx1ZT8uc3BsaXQoJyAnKTtcbiAgICAgICAgaWYgKGFyciAmJiBhcnIubGVuZ3RoID4gMSAmJiBhcnIubGVuZ3RoIDw9IDQpIHtcbiAgICAgICAgICAgIHRoaXMucGFydHNOdW1iZXIgPSBhcnIubGVuZ3RoLnRvU3RyaW5nKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBhcnRzTnVtYmVyID0gXCIyXCI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHRoaXMubG9hZFNwbGl0T3B0aW9ucygpO1xuICAgIH1cbiAgICBnZXQgc3BsaXQoKTogU3BsaXRUeXBlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NwbGl0O1xuICAgIH1cbiAgICBcbiAgICBpc0F1dG9IZWlnaHQ6IGJvb2xlYW4gPSB0cnVlO1xuICAgIGhlaWdodDogbnVtYmVyID0gdGhpcy5NSU5fSEVJR0hUO1xuXG4gICAgQE91dHB1dCgpIGhvc3RPYmplY3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJTGF5b3V0U2VjdGlvbkVkaXRvcj4gPSBuZXcgRXZlbnRFbWl0dGVyPElMYXlvdXRTZWN0aW9uRWRpdG9yPigpO1xuICAgIFxuICAgIGNvbGxhcHNlT25UYWJsZXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBmaWxsSGVpZ2h0OiBib29sZWFuID0gZmFsc2U7XG4gICAgc3ViU2VjdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwYXJ0c051bWJlcjogc3RyaW5nID0gXCIyXCI7XG4gICAgcGFydHNOdW1iZXJPcHRpb25zID0gQXJyYXk8SVBlcE9wdGlvbj4oKTtcbiAgICBzcGxpdE9wdGlvbnMgPSBBcnJheTxJU3BsaXRPcHRpb24+KCk7XG4gICAgYWxsU3BsaXRPcHRpb25zID0gQXJyYXk8SUFsbFNwbGl0T3B0aW9uPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgZGlhbG9nOiBQZXBEaWFsb2dTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuaW5pdERhdGEoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXREYXRhKCkge1xuICAgICAgICB0aGlzLnBhcnRzTnVtYmVyT3B0aW9ucyA9IFtcbiAgICAgICAgICAgIHsgJ2tleSc6ICcyJywgJ3ZhbHVlJzogJzIgUGFydHMnIH0sIFxuICAgICAgICAgICAgeyAna2V5JzogJzMnLCAndmFsdWUnOiAnMyBQYXJ0cycgfSxcbiAgICAgICAgICAgIHsgJ2tleSc6ICc0JywgJ3ZhbHVlJzogJzQgUGFydHMnIH1cbiAgICAgICAgXTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuYWxsU3BsaXRPcHRpb25zID0gW1xuICAgICAgICAgICAgeyAna2V5JzogJzInLCAndmFsdWUnOiBbXG4gICAgICAgICAgICAgICAgeyAna2V5JzogJzEvNCAzLzQnLCAndmFsdWUnOiAnMS80LTMvNCcgfSxcbiAgICAgICAgICAgICAgICB7ICdrZXknOiAnMS8zIDIvMycsICd2YWx1ZSc6ICcxLzMtMi8zJyB9LFxuICAgICAgICAgICAgICAgIHsgJ2tleSc6ICcxLzIgMS8yJywgJ3ZhbHVlJzogJzEvMi0xLzInIH0sXG4gICAgICAgICAgICAgICAgeyAna2V5JzogJzIvMyAxLzMnLCAndmFsdWUnOiAnMi8zLTEvMycgfSxcbiAgICAgICAgICAgICAgICB7ICdrZXknOiAnMy80IDEvNCcsICd2YWx1ZSc6ICczLzQtMS80JyB9LFxuICAgICAgICAgICAgXX0sIFxuICAgICAgICAgICAgeyAna2V5JzogJzMnLCAndmFsdWUnOiBbXG4gICAgICAgICAgICAgICAgeyAna2V5JzogJzEvMyAxLzMgMS8zJywgJ3ZhbHVlJzogJzEvMy0xLzMtMS8zJyB9LFxuICAgICAgICAgICAgICAgIHsgJ2tleSc6ICcxLzIgMS80IDEvNCcsICd2YWx1ZSc6ICcxLzItMS80LTEvNCcgfSxcbiAgICAgICAgICAgICAgICB7ICdrZXknOiAnMS80IDEvMiAxLzQnLCAndmFsdWUnOiAnMS80LTEvMi0xLzQnIH0sXG4gICAgICAgICAgICAgICAgeyAna2V5JzogJzEvNCAxLzQgMS8yJywgJ3ZhbHVlJzogJzEvNC0xLzQtMS8yJyB9LFxuICAgICAgICAgICAgXX0sXG4gICAgICAgICAgICB7ICdrZXknOiAnNCcsICd2YWx1ZSc6IFtcbiAgICAgICAgICAgICAgICB7ICdrZXknOiAnMS80IDEvNCAxLzQgMS80JywgJ3ZhbHVlJzogJzEvNC0xLzQtMS80LTEvNCcgfSxcbiAgICAgICAgICAgIF19XG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkU3BsaXRPcHRpb25zKCkge1xuICAgICAgICBjb25zdCBzcGxpdE9wdGlvbnMgPSB0aGlzLmFsbFNwbGl0T3B0aW9ucy5maW5kKChvcHRpb24pID0+IG9wdGlvbi5rZXkgPT09IHRoaXMucGFydHNOdW1iZXIpO1xuICAgICAgICBpZiAoc3BsaXRPcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLnNwbGl0T3B0aW9ucyA9IHNwbGl0T3B0aW9ucy52YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3BsaXRPcHRpb25zID0gdGhpcy5hbGxTcGxpdE9wdGlvbnNbMF0udmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuX3NwbGl0KSB7XG4gICAgICAgICAgICB0aGlzLl9zcGxpdCA9IHRoaXMuc3BsaXRPcHRpb25zWzBdLmtleTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSG9zdE9iamVjdCgpIHtcbiAgICAgICAgdGhpcy5faG9zdE9iamVjdC5zZWN0aW9uTmFtZSA9IHRoaXMuc2VjdGlvbk5hbWU7XG4gICAgICAgIHRoaXMuX2hvc3RPYmplY3Quc3BsaXQgPSB0aGlzLnN1YlNlY3Rpb25zID8gdGhpcy5zcGxpdCA6IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5faG9zdE9iamVjdC5oZWlnaHQgPSB0aGlzLmlzQXV0b0hlaWdodCA/IDAgOiB0aGlzLmhlaWdodDtcbiAgICAgICAgdGhpcy5faG9zdE9iamVjdC5jb2xsYXBzZU9uVGFibGV0ID0gdGhpcy5jb2xsYXBzZU9uVGFibGV0O1xuICAgICAgICB0aGlzLl9ob3N0T2JqZWN0LmZpbGxIZWlnaHQgPSB0aGlzLmZpbGxIZWlnaHQ7XG5cbiAgICAgICAgdGhpcy5ob3N0T2JqZWN0Q2hhbmdlLmVtaXQodGhpcy5ob3N0T2JqZWN0KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkU3BsaXRPcHRpb25zKCk7XG4gICAgfVxuICAgIFxuICAgIGlzQXV0b0hlaWdodENoYW5nZShpc0NoZWNrZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0F1dG9IZWlnaHQgPSBpc0NoZWNrZWQ7XG4gICAgICAgIHRoaXMudXBkYXRlSG9zdE9iamVjdCgpO1xuICAgIH1cblxuICAgIG9uSGVpZ2h0Q2hhbmdlKGhlaWdodDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChoZWlnaHQgPj0gdGhpcy5NSU5fSEVJR0hUKSB7XG4gICAgICAgICAgICB0aGlzLmhlaWdodCA9IGNvZXJjZU51bWJlclByb3BlcnR5KGhlaWdodCwgdGhpcy5oZWlnaHQpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVIb3N0T2JqZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgb25TZWN0aW9uTmFtZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2VjdGlvbk5hbWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVIb3N0T2JqZWN0KCk7XG4gICAgfVxuXG4gICAgb25Db2xsYXBzZU9uVGFibGV0Q2hhbmdlKHZhbHVlOiBib29sZWFuKXtcbiAgICAgICAgdGhpcy5jb2xsYXBzZU9uVGFibGV0ID0gdmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlSG9zdE9iamVjdCgpO1xuICAgIH1cblxuICAgIG9uRmlsbEhlaWdodENoYW5nZSh2YWx1ZTogYm9vbGVhbil7XG4gICAgICAgIHRoaXMuZmlsbEhlaWdodCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZUhvc3RPYmplY3QoKTtcbiAgICB9XG5cbiAgICBvblN1YlNlY3Rpb25zQ2hhbmdlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5zdWJTZWN0aW9ucztcbiAgICAgICAgLy8gQ2hlY2sgaWYgY2FuY2VsIHRoZSBzdWIgc2VjdGlvbnMgKCBjaGFuZ2UgZnJvbSBhbnkgLT4gMSBzZWN0aW9uICksIGlmIHRydWUgbmVlZCB0byBzaG93IGNvbmZpcm0gbWVzc2FnZVxuICAgICAgICBpZiAodmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLnN1YlNlY3Rpb25zID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnNob3dEZWxldGVTZWN0aW9uTXNnKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUhvc3RPYmplY3QoKTtcbiAgICAgICAgICAgIH0sICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YlNlY3Rpb25zID0gb2xkVmFsdWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3ViU2VjdGlvbnMgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSG9zdE9iamVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuICBcbiAgICBvblBhcnRzTnVtYmVyQ2hhbmdlKGtleTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IG9sZEtleSA9IHRoaXMucGFydHNOdW1iZXI7XG4gICAgICAgIC8vIENoZWNrIGlmIGRlY3JlYXNlIG9uIHN1YiBzZWN0aW9ucyBudW1iZXIsIGlmIHRydWUgbmVlZCB0byBzaG93IGNvbmZpcm0gbWVzc2FnZVxuICAgICAgICBpZiAoa2V5ICYmIHBhcnNlSW50KGtleSkgPCBwYXJzZUludCh0aGlzLnBhcnRzTnVtYmVyKSkge1xuICAgICAgICAgICAgdGhpcy5wYXJ0c051bWJlciA9IGtleTtcbiAgICAgICAgICAgIHRoaXMuc2hvd0RlbGV0ZVNlY3Rpb25Nc2coKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZFNwbGl0T3B0aW9ucygpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NwbGl0ID0gdGhpcy5zcGxpdE9wdGlvbnNbMF0ua2V5O1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSG9zdE9iamVjdCgpO1xuICAgICAgICAgICAgfSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucGFydHNOdW1iZXIgPSBvbGRLZXk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wYXJ0c051bWJlciA9IGtleTtcbiAgICAgICAgICAgIHRoaXMubG9hZFNwbGl0T3B0aW9ucygpO1xuICAgICAgICAgICAgdGhpcy5fc3BsaXQgPSB0aGlzLnNwbGl0T3B0aW9uc1swXS5rZXk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUhvc3RPYmplY3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dEZWxldGVTZWN0aW9uTXNnKGNvbnRpbnVlQ0I6ICgpID0+IHZvaWQsIGNhbmNlbENCOiAoKSA9PiB2b2lkKXtcbiAgICAgICAgY29uc3QgYWN0aW9uQnV0dG9ucyA9IFtcbiAgICAgICAgICAgIG5ldyBQZXBEaWFsb2dBY3Rpb25CdXR0b24oXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQUNUSU9OUy5DQU5DRUwnKSxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbENCKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG5ldyBQZXBEaWFsb2dBY3Rpb25CdXR0b24oXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQUNUSU9OUy5DT05USU5VRScpLFxuICAgICAgICAgICAgICAgICdzdHJvbmcgY2F1dGlvbicsXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZUNCKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICBdO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0xBWU9VVF9CVUlMREVSLkRFTEVURV9TRUNUSU9OX01TRycpO1xuICAgICAgICBjb25zdCB0aXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0xBWU9VVF9CVUlMREVSLkRFTEVURV9TRUNUSU9OX1RJVExFJyk7XG4gICAgICAgIGNvbnN0IGRhdGFNc2cgPSBuZXcgUGVwRGlhbG9nRGF0YSh7dGl0bGUsIGFjdGlvbnNUeXBlOiAnY3VzdG9tJywgY29udGVudCwgYWN0aW9uQnV0dG9uc30pO1xuXG4gICAgICAgIHRoaXMuZGlhbG9nLm9wZW5EZWZhdWx0RGlhbG9nKGRhdGFNc2cpO1xuICAgIH1cblxuXG4gICAgb25TcGxpdENoYW5nZShrZXk6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zcGxpdCA9IGtleSBhcyBTcGxpdFR5cGU7XG4gICAgICAgIHRoaXMudXBkYXRlSG9zdE9iamVjdCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZWN0aW9uLWVkaXRvci1jb250YWluZXIgbGF5b3V0LWJ1aWxkZXItZWRpdG9yLWNvbnRhaW5lclwiPlxuICAgIDxkaXY+XG4gICAgICAgIDxwZXAtdGV4dGJveCBbdmFsdWVdPVwic2VjdGlvbk5hbWVcIiBbbGFiZWxdPVwiJ0xBWU9VVF9CVUlMREVSLlNFQ1RJT05fTkFNRV9USVRMRScgfCB0cmFuc2xhdGVcIiAodmFsdWVDaGFuZ2UpPVwib25TZWN0aW9uTmFtZUNoYW5nZSgkZXZlbnQpXCI+PC9wZXAtdGV4dGJveD5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gXG4gICAgPGRpdj5cbiAgICAgICAgPHBlcC1jaGVja2JveCBjbGFzcz1cImNoZWNrYm94LWFzLXRpdGxlXCIgW3ZhbHVlXT1cImlzQXV0b0hlaWdodFwiIFtsYWJlbF09XCInTEFZT1VUX0JVSUxERVIuQVVUT19IRUlHSFRfVElUTEUnIHwgdHJhbnNsYXRlXCIgW3JlbmRlclRpdGxlXT1cImZhbHNlXCIgKHZhbHVlQ2hhbmdlKT1cImlzQXV0b0hlaWdodENoYW5nZSgkZXZlbnQpXCI+PC9wZXAtY2hlY2tib3g+XG4gICAgICAgIDxwZXAtdGV4dGJveCBbbGFiZWxdPVwiJ0xBWU9VVF9CVUlMREVSLkhFSUdIVF9USVRMRScgfCB0cmFuc2xhdGVcIiB0eXBlPVwiaW50XCIgW21pblZhbHVlXT1cIk1JTl9IRUlHSFRcIiBbZGlzYWJsZWRdPVwiaXNBdXRvSGVpZ2h0XCIgW3ZhbHVlXT1cImhlaWdodFwiICh2YWx1ZUNoYW5nZSk9XCJvbkhlaWdodENoYW5nZSgkZXZlbnQpXCI+PC9wZXAtdGV4dGJveD4gXG4gICAgPC9kaXY+XG4gICAgLS0+XG4gICAgPGRpdiBjbGFzcz1cImVkaXRvci1zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgICA8cGVwLWNoZWNrYm94IGNsYXNzPVwiY2hlY2tib3gtYXMtdGl0bGVcIiBbdmFsdWVdPVwic3ViU2VjdGlvbnNcIiBbbGFiZWxdPVwiJ0xBWU9VVF9CVUlMREVSLlNVQl9TRUNUSU9OX1RJVExFJyB8IHRyYW5zbGF0ZVwiIFtyZW5kZXJUaXRsZV09XCJmYWxzZVwiICh2YWx1ZUNoYW5nZSk9XCJvblN1YlNlY3Rpb25zQ2hhbmdlKCRldmVudClcIj48L3BlcC1jaGVja2JveD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNwbGl0LWFyZWFcIj5cbiAgICAgICAgICAgIDxwZXAtc2VsZWN0IFtsYWJlbF09XCInTEFZT1VUX0JVSUxERVIuU0VDVElPTlNfVElUTEUnIHwgdHJhbnNsYXRlXCIgW3ZhbHVlXT1cInBhcnRzTnVtYmVyXCIgW29wdGlvbnNdPVwicGFydHNOdW1iZXJPcHRpb25zXCIgXG4gICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uUGFydHNOdW1iZXJDaGFuZ2UoJGV2ZW50KVwiIFtlbXB0eU9wdGlvbl09XCJmYWxzZVwiIFtkaXNhYmxlZF09XCIhc3ViU2VjdGlvbnNcIj48L3BlcC1zZWxlY3Q+XG4gICAgICAgICAgICA8cGVwLXNlbGVjdCBbbGFiZWxdPVwiJ0xBWU9VVF9CVUlMREVSLlNQTElUX1RJVExFJyB8IHRyYW5zbGF0ZVwiIFt2YWx1ZV09XCJzcGxpdCB8fCAnJ1wiIFtvcHRpb25zXT1cInNwbGl0T3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uU3BsaXRDaGFuZ2UoJGV2ZW50KVwiIFtlbXB0eU9wdGlvbl09XCJmYWxzZVwiIFtkaXNhYmxlZF09XCIhc3ViU2VjdGlvbnNcIj48L3BlcC1zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJlZGl0b3Itc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPGRpdj5cbiAgICAgICAgPHBlcC1jaGVja2JveCBjbGFzcz1cImNoZWNrYm94LWFzLXRpdGxlXCIgW3ZhbHVlXT1cImNvbGxhcHNlT25UYWJsZXRcIiBbbGFiZWxdPVwiJ0xBWU9VVF9CVUlMREVSLkNPTExBUFNFX09OX1RBQkxFVF9USVRMRScgfCB0cmFuc2xhdGVcIiBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIiAodmFsdWVDaGFuZ2UpPVwib25Db2xsYXBzZU9uVGFibGV0Q2hhbmdlKCRldmVudClcIj48L3BlcC1jaGVja2JveD5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkZXItdGl0bGUgYm9keS14c1wiPnt7KCdMQVlPVVRfQlVJTERFUi5DT0xMQVBTRV9PTl9UQUJMRVRfREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlKX19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJlZGl0b3Itc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPGRpdj5cbiAgICAgICAgPHBlcC1jaGVja2JveCBjbGFzcz1cImNoZWNrYm94LWFzLXRpdGxlXCIgW3ZhbHVlXT1cImZpbGxIZWlnaHRcIiBbbGFiZWxdPVwiJ0xBWU9VVF9CVUlMREVSLkZJTExfSEVJR0hUX1NFQ1RJT05fVElUTEUnIHwgdHJhbnNsYXRlXCIgW3JlbmRlclRpdGxlXT1cImZhbHNlXCIgKHZhbHVlQ2hhbmdlKT1cIm9uRmlsbEhlaWdodENoYW5nZSgkZXZlbnQpXCI+PC9wZXAtY2hlY2tib3g+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyLXRpdGxlIGJvZHkteHNcIj57eygnTEFZT1VUX0JVSUxERVIuRklMTF9IRUlHSFRfU0VDVElPTl9ERVNDUklQVElPTicgfCB0cmFuc2xhdGUpfX08L3NwYW4+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SectionEditorComponent } from './section-editor.component';
|
|
4
|
+
import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
|
|
5
|
+
import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';
|
|
6
|
+
import { PepCheckboxModule } from '@pepperi-addons/ngx-lib/checkbox';
|
|
7
|
+
import { PepSelectModule } from '@pepperi-addons/ngx-lib/select';
|
|
8
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@ngx-translate/core";
|
|
11
|
+
export class SectionEditorModule {
|
|
12
|
+
}
|
|
13
|
+
SectionEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
SectionEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: SectionEditorModule, declarations: [SectionEditorComponent], imports: [CommonModule,
|
|
15
|
+
PepButtonModule,
|
|
16
|
+
PepTextboxModule,
|
|
17
|
+
PepSelectModule,
|
|
18
|
+
PepCheckboxModule, i1.TranslateModule], exports: [SectionEditorComponent] });
|
|
19
|
+
SectionEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionEditorModule, imports: [CommonModule,
|
|
20
|
+
PepButtonModule,
|
|
21
|
+
PepTextboxModule,
|
|
22
|
+
PepSelectModule,
|
|
23
|
+
PepCheckboxModule,
|
|
24
|
+
TranslateModule.forChild()] });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SectionEditorModule, decorators: [{
|
|
26
|
+
type: NgModule,
|
|
27
|
+
args: [{
|
|
28
|
+
declarations: [SectionEditorComponent],
|
|
29
|
+
imports: [
|
|
30
|
+
CommonModule,
|
|
31
|
+
PepButtonModule,
|
|
32
|
+
PepTextboxModule,
|
|
33
|
+
PepSelectModule,
|
|
34
|
+
PepCheckboxModule,
|
|
35
|
+
TranslateModule.forChild()
|
|
36
|
+
],
|
|
37
|
+
exports: [SectionEditorComponent]
|
|
38
|
+
}]
|
|
39
|
+
}] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvc2VjdGlvbi1lZGl0b3Ivc2VjdGlvbi1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFjdEQsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLGlCQVhiLHNCQUFzQixhQUVqQyxZQUFZO1FBQ1osZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsaUJBQWlCLGlDQUdYLHNCQUFzQjtpSEFFdkIsbUJBQW1CLFlBVHhCLFlBQVk7UUFDWixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZUFBZSxDQUFDLFFBQVEsRUFBRTsyRkFJckIsbUJBQW1CO2tCQVovQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGVBQWUsQ0FBQyxRQUFRLEVBQUU7cUJBQzdCO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2VjdGlvbkVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vc2VjdGlvbi1lZGl0b3IuY29tcG9uZW50J1xuaW1wb3J0IHsgUGVwQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IFBlcFRleHRib3hNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi90ZXh0Ym94JztcbmltcG9ydCB7IFBlcENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvY2hlY2tib3gnO1xuaW1wb3J0IHsgUGVwU2VsZWN0TW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc2VsZWN0JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1NlY3Rpb25FZGl0b3JDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBQZXBCdXR0b25Nb2R1bGUsXG4gICAgICAgIFBlcFRleHRib3hNb2R1bGUsXG4gICAgICAgIFBlcFNlbGVjdE1vZHVsZSxcbiAgICAgICAgUGVwQ2hlY2tib3hNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpXG4gICAgXSxcbiAgICBleHBvcnRzOiBbU2VjdGlvbkVkaXRvckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgU2VjdGlvbkVkaXRvck1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
import * as i2 from "../manage-parameters.service";
|
|
6
|
+
import * as i3 from "@ngx-translate/core";
|
|
7
|
+
import * as i4 from "@pepperi-addons/ngx-lib/dialog";
|
|
8
|
+
import * as i5 from "@pepperi-addons/ngx-lib/button";
|
|
9
|
+
import * as i6 from "@pepperi-addons/ngx-composite-lib/generic-form";
|
|
10
|
+
export class ManageParameterComponent {
|
|
11
|
+
constructor(dialogRef, manageParametersService, translate, incoming) {
|
|
12
|
+
this.dialogRef = dialogRef;
|
|
13
|
+
this.manageParametersService = manageParametersService;
|
|
14
|
+
this.translate = translate;
|
|
15
|
+
this.incoming = incoming;
|
|
16
|
+
this.parameter = undefined;
|
|
17
|
+
this.showType = false;
|
|
18
|
+
this.showAccessibility = false;
|
|
19
|
+
this.isValid = true;
|
|
20
|
+
}
|
|
21
|
+
loadDataView(paramType) {
|
|
22
|
+
this.dataView = this.manageParametersService.getParameterFormDataView(this.incoming.Mode, paramType || 'String', this.showType, this.showAccessibility);
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.parameter = this.getParameter(this.incoming.Parameter);
|
|
26
|
+
this.showType = this.incoming.ShowType ?? false;
|
|
27
|
+
this.showAccessibility = this.incoming.ShowAccessibility ?? false;
|
|
28
|
+
this.loadDataView(this.parameter?.Type);
|
|
29
|
+
}
|
|
30
|
+
saveParameter() {
|
|
31
|
+
// before updating the parameter, remove redundant properties
|
|
32
|
+
if (this.parameter && this.showAccessibility) {
|
|
33
|
+
delete this.parameter['Accessibility'];
|
|
34
|
+
delete this.parameter['Accessibility_Description'];
|
|
35
|
+
}
|
|
36
|
+
this.close(this.parameter);
|
|
37
|
+
}
|
|
38
|
+
close(parameter = undefined) {
|
|
39
|
+
this.dialogRef.close(parameter || null);
|
|
40
|
+
}
|
|
41
|
+
getParameter(parameter) {
|
|
42
|
+
const ret = JSON.parse(JSON.stringify(parameter));
|
|
43
|
+
Object.keys(parameter || {}).forEach(prop => {
|
|
44
|
+
if (typeof (parameter[prop]) != 'boolean') {
|
|
45
|
+
// if the value is null/undefined, don't copy it
|
|
46
|
+
if (parameter[prop]) {
|
|
47
|
+
ret[prop] = parameter[prop].toString();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else if (prop === 'Internal' && this.showAccessibility) {
|
|
51
|
+
ret['Accessibility'] = parameter[prop] ? 'Internal' : 'External';
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
ret[prop] = parameter[prop];
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
if (this.showAccessibility) {
|
|
58
|
+
ret['Accessibility_Description'] = this.translate.instant('MANAGE_PARAMETERS.INTERNAL_DESCRIPTION');
|
|
59
|
+
}
|
|
60
|
+
return ret;
|
|
61
|
+
}
|
|
62
|
+
onValueChanged(event) {
|
|
63
|
+
if (event.ApiName === 'Type' && this.showType) {
|
|
64
|
+
this.loadDataView(event.Value);
|
|
65
|
+
}
|
|
66
|
+
else if (event.ApiName === 'Accessibility' && this.showAccessibility) {
|
|
67
|
+
if (this.parameter) {
|
|
68
|
+
this.parameter['Internal'] = event.Value === 'Internal';
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
ManageParameterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ManageParameterComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.ManageParametersService }, { token: i3.TranslateService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
ManageParameterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: ManageParameterComponent, selector: "manage-parameter", ngImport: i0, template: "<pep-dialog [title]=\"(incoming.Mode === 'edit' ? 'MANAGE_PARAMETERS.EDIT_FORM_TITLE' : 'MANAGE_PARAMETERS.ADD_FORM_TITLE') | translate\">\n <ng-container pep-dialog-content>\n <pep-generic-form #addForm [dataSource]=\"parameter\" [dataView]=\"dataView\" (formValidationChange)=\"isValid = $event\" (valueChange)=\"onValueChanged($event)\">\n\n </pep-generic-form>\n </ng-container>\n <ng-container pep-dialog-actions>\n <div class=\"pep-spacing-element-negative\" style=\"display: flex;\"> \n <pep-button \n class=\"pep-spacing-element\"\n [sizeType]=\"'md'\" \n [value]=\"'Cancel' | translate\" \n [styleType]=\"'weak'\" \n (buttonClick)=\"close()\"\n ></pep-button>\n <pep-button \n class=\"pep-spacing-element\"\n [sizeType]=\"'md'\" \n [value]=\"(incoming.Mode === 'edit' ? 'Update' : 'Save') | translate\"\n [styleType]=\"'strong'\" \n (buttonClick)=\"saveParameter()\"\n [disabled]=\"!isValid\"\n ></pep-button>\n </div>\n </ng-container>\n</pep-dialog>", styles: [""], dependencies: [{ kind: "component", type: i4.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "component", type: i5.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i6.GenericFormComponent, selector: "pep-generic-form", inputs: ["dataSource", "dataView", "isLocked", "inline", "showTopBar", "addPadding"], outputs: ["valueChange", "fieldClick", "formValidationChange"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ManageParameterComponent, decorators: [{
|
|
76
|
+
type: Component,
|
|
77
|
+
args: [{ selector: 'manage-parameter', template: "<pep-dialog [title]=\"(incoming.Mode === 'edit' ? 'MANAGE_PARAMETERS.EDIT_FORM_TITLE' : 'MANAGE_PARAMETERS.ADD_FORM_TITLE') | translate\">\n <ng-container pep-dialog-content>\n <pep-generic-form #addForm [dataSource]=\"parameter\" [dataView]=\"dataView\" (formValidationChange)=\"isValid = $event\" (valueChange)=\"onValueChanged($event)\">\n\n </pep-generic-form>\n </ng-container>\n <ng-container pep-dialog-actions>\n <div class=\"pep-spacing-element-negative\" style=\"display: flex;\"> \n <pep-button \n class=\"pep-spacing-element\"\n [sizeType]=\"'md'\" \n [value]=\"'Cancel' | translate\" \n [styleType]=\"'weak'\" \n (buttonClick)=\"close()\"\n ></pep-button>\n <pep-button \n class=\"pep-spacing-element\"\n [sizeType]=\"'md'\" \n [value]=\"(incoming.Mode === 'edit' ? 'Update' : 'Save') | translate\"\n [styleType]=\"'strong'\" \n (buttonClick)=\"saveParameter()\"\n [disabled]=\"!isValid\"\n ></pep-button>\n </div>\n </ng-container>\n</pep-dialog>" }]
|
|
78
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i2.ManageParametersService }, { type: i3.TranslateService }, { type: undefined, decorators: [{
|
|
79
|
+
type: Inject,
|
|
80
|
+
args: [MAT_DIALOG_DATA]
|
|
81
|
+
}] }]; } });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLXBhcmFtZXRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9tYW5hZ2UtcGFyYW1ldGVycy9tYW5hZ2UtcGFyYW1ldGVyL21hbmFnZS1wYXJhbWV0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbWFuYWdlLXBhcmFtZXRlcnMvbWFuYWdlLXBhcmFtZXRlci9tYW5hZ2UtcGFyYW1ldGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQWN6RSxNQUFNLE9BQU8sd0JBQXdCO0lBZWpDLFlBQXNCLFNBQWlELEVBQzNELHVCQUFnRCxFQUNoRCxTQUEyQixFQUNILFFBQTRCO1FBSDFDLGNBQVMsR0FBVCxTQUFTLENBQXdDO1FBQzNELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDSCxhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQVRoRSxjQUFTLEdBQTZCLFNBQVMsQ0FBQztRQUNoRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUxQixZQUFPLEdBQUcsSUFBSSxDQUFDO0lBT2YsQ0FBQztJQUVPLFlBQVksQ0FBQyxTQUEwQjtRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLElBQUksUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixD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YTsyRkRWQSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksa0JBQWtCOzswQkFzQnZCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBHZW5lcmljRm9ybUNvbXBvbmVudCwgSVBlcEdlbmVyaWNGb3JtRGF0YVZpZXcsIElQZXBHZW5lcmljRm9ybVZhbHVlQ2hhbmdlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1jb21wb3NpdGUtbGliL2dlbmVyaWMtZm9ybSc7XG5pbXBvcnQgeyBJUGFyYW1lbWV0ZXIsIElQYXJhbWV0ZXJGb3JtRGF0YSB9IGZyb20gJy4uL21hbmFnZS1wYXJhbWV0ZXJzLm1vZGVsJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWFuYWdlUGFyYW1ldGVyc1NlcnZpY2UgfSBmcm9tICcuLi9tYW5hZ2UtcGFyYW1ldGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IFNjaGVtZUZpZWxkVHlwZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9wYXBpLXNkayc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWFuYWdlLXBhcmFtZXRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21hbmFnZS1wYXJhbWV0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21hbmFnZS1wYXJhbWV0ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNYW5hZ2VQYXJhbWV0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgLy8gQFZpZXdDaGlsZCgnZmxvd3NMaXN0Jywge3JlYWQ6IEdlbmVyaWNGb3JtQ29tcG9uZW50fSkgc2V0IGdlbmVyaWNGb3JtU2V0dGVyKGluRm9ybTogR2VuZXJpY0Zvcm1Db21wb25lbnQpIHtcbiAgICAvLyAgICAgaWYgKGluRm9ybSkge1xuICAgIC8vICAgICAgICAgdGhpcy5mb3JtID0gaW5Gb3JtO1xuICAgIC8vICAgICB9XG4gICAgLy8gfTtcbiAgICBcbiAgICBmb3JtITogR2VuZXJpY0Zvcm1Db21wb25lbnQ7XG4gICAgcGFyYW1ldGVyOiBJUGFyYW1lbWV0ZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgc2hvd1R5cGUgPSBmYWxzZTtcbiAgICBzaG93QWNjZXNzaWJpbGl0eSA9IGZhbHNlO1xuICAgIGRhdGFWaWV3ITogSVBlcEdlbmVyaWNGb3JtRGF0YVZpZXc7XG4gICAgaXNWYWxpZCA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvciAoIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TWFuYWdlUGFyYW1ldGVyQ29tcG9uZW50PixcbiAgICAgICAgcHJpdmF0ZSBtYW5hZ2VQYXJhbWV0ZXJzU2VydmljZTogTWFuYWdlUGFyYW1ldGVyc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGluY29taW5nOiBJUGFyYW1ldGVyRm9ybURhdGEpIHtcblxuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZERhdGFWaWV3KHBhcmFtVHlwZTogU2NoZW1lRmllbGRUeXBlKSB7XG4gICAgICAgIHRoaXMuZGF0YVZpZXcgPSB0aGlzLm1hbmFnZVBhcmFtZXRlcnNTZXJ2aWNlLmdldFBhcmFtZXRlckZvcm1EYXRhVmlldyh0aGlzLmluY29taW5nLk1vZGUsIHBhcmFtVHlwZSB8fCAnU3RyaW5nJywgdGhpcy5zaG93VHlwZSwgdGhpcy5zaG93QWNjZXNzaWJpbGl0eSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFyYW1ldGVyID0gdGhpcy5nZXRQYXJhbWV0ZXIodGhpcy5pbmNvbWluZy5QYXJhbWV0ZXIpO1xuICAgICAgICB0aGlzLnNob3dUeXBlID0gdGhpcy5pbmNvbWluZy5TaG93VHlwZSA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5zaG93QWNjZXNzaWJpbGl0eSA9IHRoaXMuaW5jb21pbmcuU2hvd0FjY2Vzc2liaWxpdHkgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMubG9hZERhdGFWaWV3KHRoaXMucGFyYW1ldGVyPy5UeXBlKTtcbiAgICB9XG5cbiAgICBzYXZlUGFyYW1ldGVyKCkge1xuICAgICAgICAvLyBiZWZvcmUgdXBkYXRpbmcgdGhlIHBhcmFtZXRlciwgcmVtb3ZlIHJlZHVuZGFudCBwcm9wZXJ0aWVzXG4gICAgICAgIGlmICh0aGlzLnBhcmFtZXRlciAmJiB0aGlzLnNob3dBY2Nlc3NpYmlsaXR5KSB7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5wYXJhbWV0ZXJbJ0FjY2Vzc2liaWxpdHknXTtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnBhcmFtZXRlclsnQWNjZXNzaWJpbGl0eV9EZXNjcmlwdGlvbiddO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbG9zZSh0aGlzLnBhcmFtZXRlcik7XG4gICAgfVxuXG4gICAgY2xvc2UocGFyYW1ldGVyOiBJUGFyYW1lbWV0ZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocGFyYW1ldGVyIHx8IG51bGwpO1xuICAgIH1cblxuICAgIGdldFBhcmFtZXRlcihwYXJhbWV0ZXI6IElQYXJhbWVtZXRlcik6IElQYXJhbWVtZXRlciB7XG4gICAgICAgIGNvbnN0IHJldDogSVBhcmFtZW1ldGVyID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXIpKTtcbiAgICAgICAgT2JqZWN0LmtleXMocGFyYW1ldGVyIHx8IHt9KS5mb3JFYWNoKHByb3AgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZihwYXJhbWV0ZXJbcHJvcF0pICE9ICdib29sZWFuJykge1xuICAgICAgICAgICAgICAgIC8vIGlmIHRoZSB2YWx1ZSBpcyBudWxsL3VuZGVmaW5lZCwgZG9uJ3QgY29weSBpdFxuICAgICAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJbcHJvcF0pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0W3Byb3BdID0gcGFyYW1ldGVyW3Byb3BdLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wID09PSAnSW50ZXJuYWwnICYmIHRoaXMuc2hvd0FjY2Vzc2liaWxpdHkpIHtcbiAgICAgICAgICAgICAgICByZXRbJ0FjY2Vzc2liaWxpdHknXSA9IHBhcmFtZXRlcltwcm9wXSA/ICdJbnRlcm5hbCcgOiAnRXh0ZXJuYWwnXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldFtwcm9wXSA9IHBhcmFtZXRlcltwcm9wXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICBpZiAodGhpcy5zaG93QWNjZXNzaWJpbGl0eSkge1xuICAgICAgICAgICAgcmV0WydBY2Nlc3NpYmlsaXR5X0Rlc2NyaXB0aW9uJ10gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdNQU5BR0VfUEFSQU1FVEVSUy5JTlRFUk5BTF9ERVNDUklQVElPTicpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlZChldmVudDogSVBlcEdlbmVyaWNGb3JtVmFsdWVDaGFuZ2UpIHtcbiAgICAgICAgaWYgKGV2ZW50LkFwaU5hbWUgPT09ICdUeXBlJyAmJiB0aGlzLnNob3dUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWREYXRhVmlldyhldmVudC5WYWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuQXBpTmFtZSA9PT0gJ0FjY2Vzc2liaWxpdHknICYmIHRoaXMuc2hvd0FjY2Vzc2liaWxpdHkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhcmFtZXRlcikge1xuICAgICAgICAgICAgICAgIHRoaXMucGFyYW1ldGVyWydJbnRlcm5hbCddID0gZXZlbnQuVmFsdWUgPT09ICdJbnRlcm5hbCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCI8cGVwLWRpYWxvZyBbdGl0bGVdPVwiKGluY29taW5nLk1vZGUgPT09ICdlZGl0JyA/ICdNQU5BR0VfUEFSQU1FVEVSUy5FRElUX0ZPUk1fVElUTEUnIDogJ01BTkFHRV9QQVJBTUVURVJTLkFERF9GT1JNX1RJVExFJykgfCB0cmFuc2xhdGVcIj5cbiAgICA8bmctY29udGFpbmVyIHBlcC1kaWFsb2ctY29udGVudD5cbiAgICAgICAgPHBlcC1nZW5lcmljLWZvcm0gI2FkZEZvcm0gW2RhdGFTb3VyY2VdPVwicGFyYW1ldGVyXCIgW2RhdGFWaWV3XT1cImRhdGFWaWV3XCIgKGZvcm1WYWxpZGF0aW9uQ2hhbmdlKT1cImlzVmFsaWQgPSAkZXZlbnRcIiAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZWQoJGV2ZW50KVwiPlxuXG4gICAgICAgIDwvcGVwLWdlbmVyaWMtZm9ybT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIHBlcC1kaWFsb2ctYWN0aW9ucz5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnQtbmVnYXRpdmVcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+ICAgICAgICAgXG4gICAgICAgICAgICA8cGVwLWJ1dHRvbiBcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnRcIlxuICAgICAgICAgICAgICAgIFtzaXplVHlwZV09XCInbWQnXCIgXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIidDYW5jZWwnIHwgdHJhbnNsYXRlXCIgXG4gICAgICAgICAgICAgICAgW3N0eWxlVHlwZV09XCInd2VhaydcIiBcbiAgICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgID48L3BlcC1idXR0b24+XG4gICAgICAgICAgICA8cGVwLWJ1dHRvbiBcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnRcIlxuICAgICAgICAgICAgICAgIFtzaXplVHlwZV09XCInbWQnXCIgXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIihpbmNvbWluZy5Nb2RlID09PSAnZWRpdCcgPyAnVXBkYXRlJyA6ICdTYXZlJykgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtzdHlsZVR5cGVdPVwiJ3N0cm9uZydcIiBcbiAgICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwic2F2ZVBhcmFtZXRlcigpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzVmFsaWRcIlxuICAgICAgICAgICAgPjwvcGVwLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L3BlcC1kaWFsb2c+Il19
|