@progress-chef/platform-shared-components 0.0.110 → 0.0.112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/atoms/alert/alert.component.mjs +2 -2
- package/esm2022/lib/atoms/alert/alert.module.mjs +10 -6
- package/esm2022/lib/atoms/angular-popup/angular-popup.component.mjs +1 -1
- package/esm2022/lib/atoms/angular-popup/angular-popup.module.mjs +4 -8
- package/esm2022/lib/atoms/atoms.module.mjs +117 -117
- package/esm2022/lib/atoms/avatar/avatar.component.mjs +3 -3
- package/esm2022/lib/atoms/avatar/avatar.module.mjs +20 -8
- package/esm2022/lib/atoms/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/lib/atoms/breadcrumb/breadcrumb.module.mjs +8 -4
- package/esm2022/lib/atoms/button/button.component.mjs +8 -5
- package/esm2022/lib/atoms/button/button.module.mjs +24 -9
- package/esm2022/lib/atoms/button-group/button-group.component.mjs +2 -2
- package/esm2022/lib/atoms/button-group/button-group.module.mjs +24 -9
- package/esm2022/lib/atoms/checkbox/checkbox.component.mjs +2 -2
- package/esm2022/lib/atoms/checkbox/checkbox.module.mjs +9 -5
- package/esm2022/lib/atoms/chip/chip.component.mjs +1 -1
- package/esm2022/lib/atoms/chip/chip.module.mjs +8 -12
- package/esm2022/lib/atoms/chip-list/chip-list.component.mjs +4 -4
- package/esm2022/lib/atoms/chip-list/chip-list.module.mjs +5 -5
- package/esm2022/lib/atoms/clipboard/clipboard.component.mjs +13 -5
- package/esm2022/lib/atoms/clipboard/clipboard.module.mjs +12 -8
- package/esm2022/lib/atoms/container/container.component.mjs +1 -1
- package/esm2022/lib/atoms/container/container.module.mjs +5 -3
- package/esm2022/lib/atoms/date-range/date-range.component.mjs +1 -1
- package/esm2022/lib/atoms/date-range/date-range.module.mjs +4 -4
- package/esm2022/lib/atoms/datepicker/datepicker.component.mjs +1 -1
- package/esm2022/lib/atoms/datepicker/datepicker.module.mjs +5 -5
- package/esm2022/lib/atoms/drag-and-drop/drag-and-drop.component.mjs +1 -1
- package/esm2022/lib/atoms/drag-and-drop/drag-and-drop.module.mjs +2 -2
- package/esm2022/lib/atoms/dropdown/dropdown.component.mjs +42 -23
- package/esm2022/lib/atoms/dropdown/dropdown.module.mjs +4 -4
- package/esm2022/lib/atoms/dropdown-button/dropdown-button.component.mjs +46 -0
- package/esm2022/lib/atoms/dropdown-button/dropdown-button.module.mjs +36 -0
- package/esm2022/lib/atoms/{dropdowntree → dropdown-tree}/dropdowntree.component.mjs +3 -3
- package/esm2022/lib/atoms/dropdown-tree/dropdowntree.module.mjs +43 -0
- package/esm2022/lib/atoms/expansion-panel/expansion-panel.component.mjs +2 -2
- package/esm2022/lib/atoms/expansion-panel/expansion-panel.module.mjs +10 -10
- package/esm2022/lib/atoms/icon/icon.component.mjs +1 -1
- package/esm2022/lib/atoms/icon/icon.module.mjs +7 -3
- package/esm2022/lib/atoms/{label → labels}/label.component.mjs +2 -2
- package/esm2022/lib/atoms/labels/label.module.mjs +32 -0
- package/esm2022/lib/atoms/{list-view → list-views}/list-view.component.mjs +1 -1
- package/esm2022/lib/atoms/list-views/list-view.module.mjs +60 -0
- package/esm2022/lib/atoms/loader/loader.component.mjs +1 -1
- package/esm2022/lib/atoms/loader/loader.module.mjs +2 -2
- package/esm2022/lib/atoms/loading-spinner/loading-spinner.component.mjs +1 -1
- package/esm2022/lib/atoms/loading-spinner/loading-spinner.module.mjs +11 -5
- package/esm2022/lib/atoms/multi-select-dropdown/multi-select-dropdown.component.mjs +4 -4
- package/esm2022/lib/atoms/multi-select-dropdown/multi-select-dropdown.module.mjs +5 -5
- package/esm2022/lib/atoms/notification/notification.component.mjs +2 -2
- package/esm2022/lib/atoms/notification/notification.module.mjs +9 -5
- package/esm2022/lib/atoms/numeric-textbox/numeric-textbox.component.mjs +1 -1
- package/esm2022/lib/atoms/numeric-textbox/numeric-textbox.module.mjs +3 -3
- package/esm2022/lib/atoms/progress-bar/progress-bar.component.mjs +1 -1
- package/esm2022/lib/atoms/progress-bar/progress-bar.module.mjs +2 -2
- package/esm2022/lib/atoms/radio-button/radio-button.component.mjs +2 -2
- package/esm2022/lib/atoms/radio-button/radio-button.module.mjs +4 -4
- package/esm2022/lib/atoms/search-box/search-box.component.mjs +7 -7
- package/esm2022/lib/atoms/search-box/search-box.module.mjs +16 -12
- package/esm2022/lib/atoms/slider/slider.component.mjs +2 -2
- package/esm2022/lib/atoms/slider/slider.module.mjs +3 -3
- package/esm2022/lib/atoms/stepper/stepper.component.mjs +1 -1
- package/esm2022/lib/atoms/stepper/stepper.module.mjs +2 -2
- package/esm2022/lib/atoms/switch/switch.module.mjs +11 -15
- package/esm2022/lib/atoms/text-area/text-area.component.mjs +3 -3
- package/esm2022/lib/atoms/text-area/text-area.module.mjs +9 -5
- package/esm2022/lib/atoms/textbox/textbox.component.mjs +4 -4
- package/esm2022/lib/atoms/textbox/textbox.module.mjs +27 -9
- package/esm2022/lib/atoms/time-picker/time-picker.component.mjs +83 -0
- package/esm2022/lib/atoms/time-picker/time-picker.module.mjs +35 -0
- package/esm2022/lib/atoms/timescheduler/timescheduler.component.mjs +24 -6
- package/esm2022/lib/atoms/timescheduler/timescheduler.module.mjs +13 -9
- package/esm2022/lib/atoms/toast-notification/toast-notification.module.mjs +20 -7
- package/esm2022/lib/atoms/toast-notification/toast-notification.service.mjs +105 -31
- package/esm2022/lib/atoms/tooltip/tooltip.component.mjs +1 -1
- package/esm2022/lib/atoms/tooltip/tooltip.module.mjs +8 -4
- package/esm2022/lib/atoms/typography/typography.component.mjs +1 -4
- package/esm2022/lib/atoms/typography/typography.module.mjs +2 -2
- package/esm2022/lib/atoms/uploader/uploader.component.mjs +2 -2
- package/esm2022/lib/atoms/uploader/uploader.module.mjs +12 -8
- package/esm2022/lib/molecules/card/card-actions/card-actions.component.mjs +1 -1
- package/esm2022/lib/molecules/card/card-body/card-body.component.mjs +1 -1
- package/esm2022/lib/molecules/card/card-footer/card-footer.component.mjs +1 -1
- package/esm2022/lib/molecules/card/card-header/card-header.component.mjs +2 -2
- package/esm2022/lib/molecules/card/card.component.mjs +1 -1
- package/esm2022/lib/molecules/card/card.module.mjs +16 -8
- package/esm2022/lib/molecules/dialog/confirmation-dialog/confirmation-dialog.component.mjs +3 -3
- package/esm2022/lib/molecules/dialog/dialog-titlebar/dialog-titlebar.component.mjs +2 -2
- package/esm2022/lib/molecules/dialog/dialog.component.mjs +1 -1
- package/esm2022/lib/molecules/dialog/dialog.module.mjs +16 -8
- package/esm2022/lib/molecules/grid-form/grid-form.component.mjs +110 -0
- package/esm2022/lib/molecules/grid-form/grid-form.module.mjs +59 -0
- package/esm2022/lib/molecules/grid-layout/grid-layout-item/grid-layout-item.component.mjs +1 -1
- package/esm2022/lib/molecules/grid-layout/grid-layout.component.mjs +1 -1
- package/esm2022/lib/molecules/grid-layout/grid-layout.module.mjs +2 -2
- package/esm2022/lib/molecules/grid-pagination/grid-pagination-spacer/grid-pagination-spacer.component.mjs +1 -1
- package/esm2022/lib/molecules/grid-pagination/grid-pagination.component.mjs +42 -14
- package/esm2022/lib/molecules/grid-pagination/grid-pagination.module.mjs +25 -17
- package/esm2022/lib/molecules/molecules.module.mjs +23 -24
- package/esm2022/lib/molecules/tabstrip/tabstrip-tab/tabstrip-tab.component.mjs +1 -1
- package/esm2022/lib/molecules/tabstrip/tabstrip.module.mjs +3 -3
- package/esm2022/lib/shared.component.mjs +4 -7
- package/esm2022/lib/shared.module.mjs +1 -1
- package/esm2022/public-api.mjs +29 -31
- package/fesm2022/progress-chef-platform-shared-components.mjs +3375 -3300
- package/fesm2022/progress-chef-platform-shared-components.mjs.map +1 -1
- package/lib/atoms/alert/alert.module.d.ts +1 -1
- package/lib/atoms/angular-popup/angular-popup.module.d.ts +2 -3
- package/lib/atoms/atoms.module.d.ts +43 -43
- package/lib/atoms/avatar/avatar.component.d.ts +1 -1
- package/lib/atoms/avatar/avatar.module.d.ts +1 -1
- package/lib/atoms/button/button.component.d.ts +3 -2
- package/lib/atoms/button/button.module.d.ts +2 -2
- package/lib/atoms/button-group/button-group.module.d.ts +2 -2
- package/lib/atoms/checkbox/checkbox.component.d.ts +1 -1
- package/lib/atoms/checkbox/checkbox.module.d.ts +1 -1
- package/lib/atoms/chip/chip.module.d.ts +4 -5
- package/lib/atoms/chip-list/chip-list.module.d.ts +3 -3
- package/lib/atoms/clipboard/clipboard.component.d.ts +3 -1
- package/lib/atoms/clipboard/clipboard.module.d.ts +4 -4
- package/lib/atoms/dropdown/dropdown.component.d.ts +15 -7
- package/lib/atoms/dropdown/dropdown.module.d.ts +2 -2
- package/lib/atoms/dropdown-button/dropdown-button.component.d.ts +17 -0
- package/lib/atoms/dropdown-button/dropdown-button.module.d.ts +11 -0
- package/lib/atoms/{dropdowntree → dropdown-tree}/dropdowntree.module.d.ts +6 -6
- package/lib/atoms/expansion-panel/expansion-panel.module.d.ts +3 -4
- package/lib/atoms/{label → labels}/label.component.d.ts +1 -1
- package/lib/atoms/{label → labels}/label.module.d.ts +1 -1
- package/lib/atoms/{list-view → list-views}/list-view.module.d.ts +4 -5
- package/lib/atoms/multi-select-dropdown/multi-select-dropdown.component.d.ts +4 -4
- package/lib/atoms/multi-select-dropdown/multi-select-dropdown.module.d.ts +2 -2
- package/lib/atoms/notification/notification.component.d.ts +1 -1
- package/lib/atoms/radio-button/radio-button.component.d.ts +1 -1
- package/lib/atoms/radio-button/radio-button.module.d.ts +1 -1
- package/lib/atoms/search-box/search-box.module.d.ts +5 -5
- package/lib/atoms/slider/slider.module.d.ts +1 -1
- package/lib/atoms/switch/switch.module.d.ts +10 -12
- package/lib/atoms/text-area/text-area.module.d.ts +1 -1
- package/lib/atoms/textbox/textbox.component.d.ts +1 -1
- package/lib/atoms/textbox/textbox.module.d.ts +2 -2
- package/lib/atoms/time-picker/{timepicker.component.d.ts → time-picker.component.d.ts} +2 -2
- package/lib/atoms/time-picker/{timePicker.module.d.ts → time-picker.module.d.ts} +5 -5
- package/lib/atoms/timescheduler/timescheduler.component.d.ts +8 -2
- package/lib/atoms/timescheduler/timescheduler.module.d.ts +4 -4
- package/lib/atoms/toast-notification/toast-notification.service.d.ts +19 -4
- package/lib/atoms/typography/typography.component.d.ts +1 -1
- package/lib/atoms/uploader/uploader.component.d.ts +2 -2
- package/lib/atoms/uploader/uploader.module.d.ts +3 -2
- package/lib/molecules/card/card-header/card-header.component.d.ts +1 -1
- package/lib/molecules/card/card.module.d.ts +1 -1
- package/lib/molecules/dialog/dialog-titlebar/dialog-titlebar.component.d.ts +1 -1
- package/lib/molecules/dialog/dialog.module.d.ts +2 -2
- package/lib/molecules/grid-form/grid-form.module.d.ts +16 -0
- package/lib/molecules/grid-pagination/grid-pagination.component.d.ts +13 -4
- package/lib/molecules/grid-pagination/grid-pagination.module.d.ts +6 -5
- package/lib/molecules/molecules.module.d.ts +6 -6
- package/lib/shared.component.d.ts +1 -3
- package/package.json +22 -24
- package/public-api.d.ts +28 -29
- package/assets/IconFont.css +0 -101
- package/assets/IconFont.scss +0 -101
- package/assets/IconFont.ttf +0 -0
- package/assets/IconFont.woff +0 -0
- package/assets/IconFont.woff2 +0 -0
- package/esm2022/lib/atoms/dropdowntree/dropdowntree.module.mjs +0 -43
- package/esm2022/lib/atoms/label/label.module.mjs +0 -20
- package/esm2022/lib/atoms/list-view/list-view.module.mjs +0 -60
- package/esm2022/lib/atoms/time-picker/timePicker.module.mjs +0 -35
- package/esm2022/lib/atoms/time-picker/timepicker.component.mjs +0 -83
- package/esm2022/lib/molecules/grid/grid-form/grid-form.component.mjs +0 -110
- package/esm2022/lib/molecules/grid/grid-spacer/grid-spacer.component.mjs +0 -12
- package/esm2022/lib/molecules/grid/grid.component.mjs +0 -278
- package/esm2022/lib/molecules/grid/grid.module.mjs +0 -61
- package/esm2022/lib/shared.service.mjs +0 -13
- package/esm2022/lib/style-tokens/style-tokens.module.mjs +0 -18
- package/lib/molecules/grid/grid-spacer/grid-spacer.component.d.ts +0 -5
- package/lib/molecules/grid/grid.component.d.ts +0 -71
- package/lib/molecules/grid/grid.module.d.ts +0 -19
- package/lib/shared.service.d.ts +0 -5
- package/lib/style-tokens/style-tokens.module.d.ts +0 -7
- /package/lib/atoms/{dropdowntree → dropdown-tree}/dropdowntree.component.d.ts +0 -0
- /package/lib/atoms/{list-view → list-views}/list-view.component.d.ts +0 -0
- /package/lib/molecules/{grid/grid-form → grid-form}/grid-form.component.d.ts +0 -0
|
@@ -1,22 +1,40 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
2
|
import { TextboxComponent } from './textbox.component';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { InputsModule } from '@progress/kendo-angular-inputs';
|
|
5
5
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
|
-
import { IconModule } from '
|
|
7
|
-
import { TypographyModule } from '
|
|
6
|
+
import { IconModule } from '@progress-chef/icon';
|
|
7
|
+
import { TypographyModule } from '@progress-chef/typography';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class TextboxModule {
|
|
10
10
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TextboxModule, declarations: [TextboxComponent], imports: [CommonModule,
|
|
12
|
-
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TextboxModule, declarations: [TextboxComponent], imports: [CommonModule,
|
|
12
|
+
InputsModule,
|
|
13
|
+
ReactiveFormsModule,
|
|
14
|
+
IconModule,
|
|
15
|
+
TypographyModule], exports: [TextboxComponent] }); }
|
|
16
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextboxModule, imports: [CommonModule,
|
|
17
|
+
InputsModule,
|
|
18
|
+
ReactiveFormsModule,
|
|
19
|
+
IconModule,
|
|
20
|
+
TypographyModule] }); }
|
|
13
21
|
}
|
|
14
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextboxModule, decorators: [{
|
|
15
23
|
type: NgModule,
|
|
16
24
|
args: [{
|
|
17
|
-
declarations: [
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
declarations: [
|
|
26
|
+
TextboxComponent
|
|
27
|
+
],
|
|
28
|
+
imports: [
|
|
29
|
+
CommonModule,
|
|
30
|
+
InputsModule,
|
|
31
|
+
ReactiveFormsModule,
|
|
32
|
+
IconModule,
|
|
33
|
+
TypographyModule
|
|
34
|
+
],
|
|
35
|
+
exports: [
|
|
36
|
+
TextboxComponent
|
|
37
|
+
]
|
|
20
38
|
}]
|
|
21
39
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9hdG9tcy90ZXh0Ym94L3RleHRib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBa0I3RCxNQUFNLE9BQU8sYUFBYTsrR0FBYixhQUFhO2dIQUFiLGFBQWEsaUJBYnRCLGdCQUFnQixhQUdoQixZQUFZO1lBQ1osWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixVQUFVO1lBQ1YsZ0JBQWdCLGFBR2hCLGdCQUFnQjtnSEFHUCxhQUFhLFlBVnRCLFlBQVk7WUFDWixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFVBQVU7WUFDVixnQkFBZ0I7OzRGQU1QLGFBQWE7a0JBZnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFVBQVU7d0JBQ1YsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi90ZXh0Ym94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5wdXRzTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItaW5wdXRzJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzLWNoZWYvaWNvbic7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5TW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzLWNoZWYvdHlwb2dyYXBoeSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVGV4dGJveENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElucHV0c01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgVHlwb2dyYXBoeU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGV4dGJveENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRleHRib3hNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@progress-chef/platform-themes-service";
|
|
5
|
+
import * as i2 from "@progress/kendo-angular-dateinputs";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
export class TimePickerComponent {
|
|
8
|
+
constructor(themesService) {
|
|
9
|
+
this.themesService = themesService;
|
|
10
|
+
this.isDisabled = false;
|
|
11
|
+
this.readonly = false;
|
|
12
|
+
this.format = 'hh:mm a'; // It can HH:mm:ss(24hrs) or hh:mm a(12hr)
|
|
13
|
+
this.allowCaretMode = true;
|
|
14
|
+
this.fillMode = "solid";
|
|
15
|
+
this.rounded = "medium";
|
|
16
|
+
this.size = "medium";
|
|
17
|
+
this.adaptiveMode = "none";
|
|
18
|
+
this.control = new FormControl();
|
|
19
|
+
this.modelChange = new EventEmitter();
|
|
20
|
+
this.onOpenEvent = new EventEmitter();
|
|
21
|
+
this.onCloseEvent = new EventEmitter();
|
|
22
|
+
}
|
|
23
|
+
ngOnChanges(changes) {
|
|
24
|
+
if (changes['isDisabled']) {
|
|
25
|
+
if (changes['isDisabled']?.currentValue) {
|
|
26
|
+
this.control.disable();
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.control.enable();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
onValueChange(ev) {
|
|
34
|
+
this.modelChange.emit(ev);
|
|
35
|
+
}
|
|
36
|
+
onOpen(event) {
|
|
37
|
+
this.onOpenEvent.emit(event);
|
|
38
|
+
}
|
|
39
|
+
onClose(event) {
|
|
40
|
+
this.onCloseEvent.emit(event);
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerComponent, deps: [{ token: i1.ThemesService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TimePickerComponent, selector: "lib-time-picker", inputs: { isDisabled: "isDisabled", readonly: "readonly", incompleteDateValidation: "incompleteDateValidation", value: "value", format: "format", steps: "steps", allowCaretMode: "allowCaretMode", placeholder: "placeholder", fillMode: "fillMode", rounded: "rounded", size: "size", adaptiveMode: "adaptiveMode", control: "control", id: "id" }, outputs: { modelChange: "modelChange", onOpenEvent: "onOpenEvent", onCloseEvent: "onCloseEvent" }, usesOnChanges: true, ngImport: i0, template: "<kendo-timepicker [placeholder]=\"placeholder\" [value]=\"value\" [disabled]=\"isDisabled\" [readonly]=\"readonly\"\n [format]=\"format\" [steps]=\"steps\" [allowCaretMode]=\"allowCaretMode\"\n [incompleteDateValidation]=\"incompleteDateValidation\" [(ngModel)]=\"value\" [size]=\"size\" [rounded]=\"rounded\"\n [fillMode]=\"fillMode\" (open)=\"onOpen($event)\" (valueChange)=\"onValueChange($event)\" [formControl]=\"control\"\n (close)=\"onClose($event)\"></kendo-timepicker>\n", styles: [""], dependencies: [{ kind: "component", type: i2.TimePickerComponent, selector: "kendo-timepicker", inputs: ["focusableId", "disabled", "readonly", "readOnlyInput", "format", "formatPlaceholder", "placeholder", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "cancelButton", "nowButton", "steps", "popupSettings", "tabindex", "tabIndex", "title", "subtitle", "rangeValidation", "adaptiveMode", "value", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-timepicker"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ selector: 'lib-time-picker', template: "<kendo-timepicker [placeholder]=\"placeholder\" [value]=\"value\" [disabled]=\"isDisabled\" [readonly]=\"readonly\"\n [format]=\"format\" [steps]=\"steps\" [allowCaretMode]=\"allowCaretMode\"\n [incompleteDateValidation]=\"incompleteDateValidation\" [(ngModel)]=\"value\" [size]=\"size\" [rounded]=\"rounded\"\n [fillMode]=\"fillMode\" (open)=\"onOpen($event)\" (valueChange)=\"onValueChange($event)\" [formControl]=\"control\"\n (close)=\"onClose($event)\"></kendo-timepicker>\n" }]
|
|
48
|
+
}], ctorParameters: function () { return [{ type: i1.ThemesService }]; }, propDecorators: { isDisabled: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], readonly: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], incompleteDateValidation: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], value: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], format: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], steps: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], allowCaretMode: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], placeholder: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], fillMode: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], rounded: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], size: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], adaptiveMode: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], control: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], id: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], modelChange: [{
|
|
77
|
+
type: Output
|
|
78
|
+
}], onOpenEvent: [{
|
|
79
|
+
type: Output
|
|
80
|
+
}], onCloseEvent: [{
|
|
81
|
+
type: Output
|
|
82
|
+
}] } });
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvdGltZS1waWNrZXIvdGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvdGltZS1waWNrZXIvdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVE3QyxNQUFNLE9BQU8sbUJBQW1CO0lBb0I5QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQW5CdkMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLFdBQU0sR0FBVyxTQUFTLENBQUMsQ0FBQywwQ0FBMEM7UUFFdEUsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFFL0IsYUFBUSxHQUEwQyxPQUFPLENBQUM7UUFDMUQsWUFBTyxHQUFtRCxRQUFRLENBQUM7UUFDbkUsU0FBSSxHQUEwQyxRQUFRLENBQUM7UUFDdkQsaUJBQVksR0FBb0IsTUFBTSxDQUFDO1FBQ3ZDLFlBQU8sR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUd4QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVHLENBQUM7SUFHckQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3pCLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLFlBQVksRUFBRTtnQkFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUN4QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3ZCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQU87UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFVO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUIsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQy9CLENBQUM7K0dBM0NVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHFnQkNUaEMscWVBS0E7OzRGRElhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7b0dBS2xCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoZW1lc1NlcnZpY2UgfSBmcm9tICdAcHJvZ3Jlc3MtY2hlZi9wbGF0Zm9ybS10aGVtZXMtc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10aW1lLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaW5jb21wbGV0ZURhdGVWYWxpZGF0aW9uITogYm9vbGVhbjtcbiAgQElucHV0KCkgdmFsdWUhOiBEYXRlO1xuICBASW5wdXQoKSBmb3JtYXQ6IHN0cmluZyA9ICdoaDptbSBhJzsgLy8gSXQgY2FuIEhIOm1tOnNzKDI0aHJzKSBvciBoaDptbSBhKDEyaHIpXG4gIEBJbnB1dCgpIHN0ZXBzOiBhbnk7XG4gIEBJbnB1dCgpIGFsbG93Q2FyZXRNb2RlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZpbGxNb2RlOiBcImZsYXRcIiB8IFwic29saWRcIiB8IFwib3V0bGluZVwiIHwgXCJub25lXCIgPSBcInNvbGlkXCI7XG4gIEBJbnB1dCgpIHJvdW5kZWQ6IFwic21hbGxcIiB8IFwibWVkaXVtXCIgfCBcImxhcmdlXCIgfCBcImZ1bGxcIiB8IFwibm9uZVwiID0gXCJtZWRpdW1cIjtcbiAgQElucHV0KCkgc2l6ZTogXCJzbWFsbFwiIHwgXCJtZWRpdW1cIiB8IFwibGFyZ2VcIiB8IFwibm9uZVwiID0gXCJtZWRpdW1cIjtcbiAgQElucHV0KCkgYWRhcHRpdmVNb2RlOiBcIm5vbmVcIiB8IFwiYXV0b1wiID0gXCJub25lXCI7XG4gIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIEBJbnB1dCgpIGlkOiBhbnk7XG5cbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbk9wZW5FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25DbG9zZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0aGVtZXNTZXJ2aWNlOiBUaGVtZXNTZXJ2aWNlKSB7IH1cblxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snaXNEaXNhYmxlZCddKSB7XG4gICAgICBpZiAoY2hhbmdlc1snaXNEaXNhYmxlZCddPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgdGhpcy5jb250cm9sLmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGV2OiBhbnkpIHtcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoZXYpO1xuICB9XG5cbiAgb25PcGVuKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uT3BlbkV2ZW50LmVtaXQoZXZlbnQpXG4gIH1cblxuICBvbkNsb3NlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2xvc2VFdmVudC5lbWl0KGV2ZW50KVxuICB9XG5cbn1cbiIsIjxrZW5kby10aW1lcGlja2VyIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFt2YWx1ZV09XCJ2YWx1ZVwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgW2Zvcm1hdF09XCJmb3JtYXRcIiBbc3RlcHNdPVwic3RlcHNcIiBbYWxsb3dDYXJldE1vZGVdPVwiYWxsb3dDYXJldE1vZGVcIlxuICBbaW5jb21wbGV0ZURhdGVWYWxpZGF0aW9uXT1cImluY29tcGxldGVEYXRlVmFsaWRhdGlvblwiIFsobmdNb2RlbCldPVwidmFsdWVcIiBbc2l6ZV09XCJzaXplXCIgW3JvdW5kZWRdPVwicm91bmRlZFwiXG4gIFtmaWxsTW9kZV09XCJmaWxsTW9kZVwiIChvcGVuKT1cIm9uT3BlbigkZXZlbnQpXCIgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgKGNsb3NlKT1cIm9uQ2xvc2UoJGV2ZW50KVwiPjwva2VuZG8tdGltZXBpY2tlcj5cbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { TimePickerComponent } from './time-picker.component';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
4
|
+
import { ButtonsModule } from "@progress/kendo-angular-buttons";
|
|
5
|
+
import { DateInputsModule } from "@progress/kendo-angular-dateinputs";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class TimePickerModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TimePickerModule, declarations: [TimePickerComponent], imports: [DateInputsModule,
|
|
10
|
+
ButtonsModule,
|
|
11
|
+
FormsModule,
|
|
12
|
+
ReactiveFormsModule], exports: [TimePickerComponent] }); }
|
|
13
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerModule, imports: [DateInputsModule,
|
|
14
|
+
ButtonsModule,
|
|
15
|
+
FormsModule,
|
|
16
|
+
ReactiveFormsModule] }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerModule, decorators: [{
|
|
19
|
+
type: NgModule,
|
|
20
|
+
args: [{
|
|
21
|
+
declarations: [
|
|
22
|
+
TimePickerComponent
|
|
23
|
+
],
|
|
24
|
+
imports: [
|
|
25
|
+
DateInputsModule,
|
|
26
|
+
ButtonsModule,
|
|
27
|
+
FormsModule,
|
|
28
|
+
ReactiveFormsModule,
|
|
29
|
+
],
|
|
30
|
+
exports: [
|
|
31
|
+
TimePickerComponent
|
|
32
|
+
]
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvdGltZS1waWNrZXIvdGltZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFpQnRFLE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLGlCQVp6QixtQkFBbUIsYUFHbkIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixXQUFXO1lBQ1gsbUJBQW1CLGFBR25CLG1CQUFtQjtnSEFHVixnQkFBZ0IsWUFUekIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixXQUFXO1lBQ1gsbUJBQW1COzs0RkFNVixnQkFBZ0I7a0JBZDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vdGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBCdXR0b25zTW9kdWxlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWJ1dHRvbnNcIjtcbmltcG9ydCB7IERhdGVJbnB1dHNNb2R1bGUgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZGF0ZWlucHV0c1wiO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRpbWVQaWNrZXJDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIERhdGVJbnB1dHNNb2R1bGUsXG4gICAgQnV0dG9uc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGltZVBpY2tlckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVQaWNrZXJNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -8,7 +8,6 @@ export class TimeschedulerComponent {
|
|
|
8
8
|
constructor(themesService) {
|
|
9
9
|
this.themesService = themesService;
|
|
10
10
|
this.model = new Date();
|
|
11
|
-
this.modelChange = new EventEmitter();
|
|
12
11
|
this.size = 'medium';
|
|
13
12
|
this.rounded = 'medium';
|
|
14
13
|
this.fillMode = 'solid';
|
|
@@ -17,6 +16,12 @@ export class TimeschedulerComponent {
|
|
|
17
16
|
this.readonly = false;
|
|
18
17
|
this.placeholder = '';
|
|
19
18
|
this.control = new FormControl();
|
|
19
|
+
this.min = new Date(); // Minimum possible date
|
|
20
|
+
this.max = new Date(864000000000000); // Maximum possible date
|
|
21
|
+
this.disabledDates = [new Date(0)];
|
|
22
|
+
this.popupSettings = {};
|
|
23
|
+
this.modelChange = new EventEmitter();
|
|
24
|
+
this.onOpenEvent = new EventEmitter();
|
|
20
25
|
}
|
|
21
26
|
ngOnChanges(changes) {
|
|
22
27
|
if (changes['isDisabled']) {
|
|
@@ -31,16 +36,17 @@ export class TimeschedulerComponent {
|
|
|
31
36
|
emitModelChange(ev) {
|
|
32
37
|
this.modelChange.emit(ev);
|
|
33
38
|
}
|
|
39
|
+
onOpen(event) {
|
|
40
|
+
this.onOpenEvent.emit(event);
|
|
41
|
+
}
|
|
34
42
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimeschedulerComponent, deps: [{ token: i1.ThemesService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TimeschedulerComponent, selector: "lib-timescheduler", inputs: { model: "model", size: "size", rounded: "rounded", fillMode: "fillMode", format: "format", isDisabled: "isDisabled", readonly: "readonly", placeholder: "placeholder", control: "control" }, outputs: { modelChange: "modelChange" }, usesOnChanges: true, ngImport: i0, template: "<kendo-datetimepicker [format]=\"format\" [size]=\"size\" [rounded]=\"rounded\" [fillMode]=\"fillMode\" [readonly]=\"readonly\"\n [value]=\"model\" (valueChange)=\"emitModelChange($event)\" [placeholder]=\"placeholder\" [formControl]=\"control\">\n</kendo-datetimepicker>\n", styles: [".k-input{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:.25px!important}\n"], dependencies: [{ kind: "component", type: i2.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "subtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "adaptiveMode", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TimeschedulerComponent, selector: "lib-timescheduler", inputs: { model: "model", size: "size", rounded: "rounded", fillMode: "fillMode", format: "format", isDisabled: "isDisabled", readonly: "readonly", placeholder: "placeholder", control: "control", min: "min", max: "max", disabledDates: "disabledDates", popupSettings: "popupSettings" }, outputs: { modelChange: "modelChange", onOpenEvent: "onOpenEvent" }, usesOnChanges: true, ngImport: i0, template: "<kendo-datetimepicker [format]=\"format\" [size]=\"size\" [min]=\"min\" [max]=\"max\" [rounded]=\"rounded\" [fillMode]=\"fillMode\" [readonly]=\"readonly\"\n [value]=\"model\" (valueChange)=\"emitModelChange($event)\" [placeholder]=\"placeholder\" [formControl]=\"control\" (open)=\"onOpen($event)\"\n [disabledDates]=\"disabledDates\" [popupSettings]=\"popupSettings\">\n</kendo-datetimepicker>\n", styles: [".k-input{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:.25px!important}\n"], dependencies: [{ kind: "component", type: i2.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "subtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "adaptiveMode", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
36
44
|
}
|
|
37
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimeschedulerComponent, decorators: [{
|
|
38
46
|
type: Component,
|
|
39
|
-
args: [{ selector: 'lib-timescheduler', template: "<kendo-datetimepicker [format]=\"format\" [size]=\"size\" [rounded]=\"rounded\" [fillMode]=\"fillMode\" [readonly]=\"readonly\"\n [value]=\"model\" (valueChange)=\"emitModelChange($event)\" [placeholder]=\"placeholder\" [formControl]=\"control\">\n</kendo-datetimepicker>\n", styles: [".k-input{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:.25px!important}\n"] }]
|
|
47
|
+
args: [{ selector: 'lib-timescheduler', template: "<kendo-datetimepicker [format]=\"format\" [size]=\"size\" [min]=\"min\" [max]=\"max\" [rounded]=\"rounded\" [fillMode]=\"fillMode\" [readonly]=\"readonly\"\n [value]=\"model\" (valueChange)=\"emitModelChange($event)\" [placeholder]=\"placeholder\" [formControl]=\"control\" (open)=\"onOpen($event)\"\n [disabledDates]=\"disabledDates\" [popupSettings]=\"popupSettings\">\n</kendo-datetimepicker>\n", styles: [".k-input{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:.25px!important}\n"] }]
|
|
40
48
|
}], ctorParameters: function () { return [{ type: i1.ThemesService }]; }, propDecorators: { model: [{
|
|
41
49
|
type: Input
|
|
42
|
-
}], modelChange: [{
|
|
43
|
-
type: Output
|
|
44
50
|
}], size: [{
|
|
45
51
|
type: Input
|
|
46
52
|
}], rounded: [{
|
|
@@ -57,5 +63,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
57
63
|
type: Input
|
|
58
64
|
}], control: [{
|
|
59
65
|
type: Input
|
|
66
|
+
}], min: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], max: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], disabledDates: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], popupSettings: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], modelChange: [{
|
|
75
|
+
type: Output
|
|
76
|
+
}], onOpenEvent: [{
|
|
77
|
+
type: Output
|
|
60
78
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXNjaGVkdWxlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9hdG9tcy90aW1lc2NoZWR1bGVyL3RpbWVzY2hlZHVsZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvdGltZXNjaGVkdWxlci90aW1lc2NoZWR1bGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFRN0MsTUFBTSxPQUFPLHNCQUFzQjtJQWtCakMsWUFBb0IsYUFBMkI7UUFBM0Isa0JBQWEsR0FBYixhQUFhLENBQWM7UUFqQnRDLFVBQUssR0FBUyxJQUFJLElBQUksRUFBRSxDQUFBO1FBQ3hCLFNBQUksR0FBMEMsUUFBUSxDQUFDO1FBQ3ZELFlBQU8sR0FBbUQsUUFBUSxDQUFDO1FBQ25FLGFBQVEsR0FBMEMsT0FBTyxDQUFDO1FBQzFELFdBQU0sR0FBVyxvQkFBb0IsQ0FBQztRQUN0QyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsWUFBTyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3pDLFFBQUcsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsd0JBQXdCO1FBQ2hELFFBQUcsR0FBUyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLHdCQUF3QjtRQUMvRCxrQkFBYSxHQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUVsQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRUcsQ0FBQztJQUVwRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDeEIsSUFBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3hCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDdkI7U0FDRjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsRUFBUTtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVU7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM5QixDQUFDOytHQXBDVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixpYkNUbkMsaVpBSUE7OzRGREthLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxtQkFBbUI7b0dBS3BCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoZW1lc1NlcnZpY2UgfSBmcm9tICdAcHJvZ3Jlc3MtY2hlZi9wbGF0Zm9ybS10aGVtZXMtc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10aW1lc2NoZWR1bGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWVzY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aW1lc2NoZWR1bGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGltZXNjaGVkdWxlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIG1vZGVsOiBEYXRlID0gbmV3IERhdGUoKVxuICBASW5wdXQoKSBzaXplOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ25vbmUnID0gJ21lZGl1bSc7XG4gIEBJbnB1dCgpIHJvdW5kZWQ6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAnZnVsbCcgfCAnbm9uZScgPSAnbWVkaXVtJztcbiAgQElucHV0KCkgZmlsbE1vZGU6ICdzb2xpZCcgfCAnZmxhdCcgfCAnb3V0bGluZScgfCAnbm9uZScgPSAnc29saWQnO1xuICBASW5wdXQoKSBmb3JtYXQ6IHN0cmluZyA9ICdNTS9kZC95eXl5IGhoOm1tIGEnO1xuICBASW5wdXQoKSBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIEBJbnB1dCgpIG1pbjogRGF0ZSA9IG5ldyBEYXRlKCk7IC8vIE1pbmltdW0gcG9zc2libGUgZGF0ZVxuICBASW5wdXQoKSBtYXg6IERhdGUgPSBuZXcgRGF0ZSg4NjQwMDAwMDAwMDAwMDApOyAvLyBNYXhpbXVtIHBvc3NpYmxlIGRhdGVcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlczogRGF0ZVtdID0gW25ldyBEYXRlKDApXTtcbiAgQElucHV0KCkgcG9wdXBTZXR0aW5ncyA9IHt9O1xuXG4gIEBPdXRwdXQoKSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgQE91dHB1dCgpIG9uT3BlbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0aGVtZXNTZXJ2aWNlOlRoZW1lc1NlcnZpY2UpIHsgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpe1xuICAgIGlmKGNoYW5nZXNbJ2lzRGlzYWJsZWQnXSkge1xuICAgICAgaWYoY2hhbmdlc1snaXNEaXNhYmxlZCddPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgdGhpcy5jb250cm9sLmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBlbWl0TW9kZWxDaGFuZ2UoZXY6IERhdGUpIHtcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoZXYpO1xuICB9XG5cbiAgb25PcGVuKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uT3BlbkV2ZW50LmVtaXQoZXZlbnQpXG4gIH1cblxufVxuIiwiPGtlbmRvLWRhdGV0aW1lcGlja2VyIFtmb3JtYXRdPVwiZm9ybWF0XCIgW3NpemVdPVwic2l6ZVwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIiBbcm91bmRlZF09XCJyb3VuZGVkXCIgW2ZpbGxNb2RlXT1cImZpbGxNb2RlXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgW3ZhbHVlXT1cIm1vZGVsXCIgKHZhbHVlQ2hhbmdlKT1cImVtaXRNb2RlbENoYW5nZSgkZXZlbnQpXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiAob3Blbik9XCJvbk9wZW4oJGV2ZW50KVwiXG4gIFtkaXNhYmxlZERhdGVzXT1cImRpc2FibGVkRGF0ZXNcIiBbcG9wdXBTZXR0aW5nc109XCJwb3B1cFNldHRpbmdzXCI+XG48L2tlbmRvLWRhdGV0aW1lcGlja2VyPlxuIl19
|
|
@@ -1,31 +1,35 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
2
3
|
import { TimeschedulerComponent } from './timescheduler.component';
|
|
3
4
|
import { DateInputsModule } from '@progress/kendo-angular-dateinputs';
|
|
4
5
|
import { ButtonsModule } from '@progress/kendo-angular-buttons';
|
|
5
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
export class
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type:
|
|
7
|
+
export class TimeschedulerModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimeschedulerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TimeschedulerModule, declarations: [TimeschedulerComponent], imports: [DateInputsModule,
|
|
10
10
|
ButtonsModule,
|
|
11
11
|
FormsModule,
|
|
12
12
|
ReactiveFormsModule], exports: [TimeschedulerComponent] }); }
|
|
13
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
13
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimeschedulerModule, imports: [DateInputsModule,
|
|
14
14
|
ButtonsModule,
|
|
15
15
|
FormsModule,
|
|
16
16
|
ReactiveFormsModule] }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimeschedulerModule, decorators: [{
|
|
19
19
|
type: NgModule,
|
|
20
20
|
args: [{
|
|
21
|
+
declarations: [
|
|
22
|
+
TimeschedulerComponent
|
|
23
|
+
],
|
|
21
24
|
imports: [
|
|
22
25
|
DateInputsModule,
|
|
23
26
|
ButtonsModule,
|
|
24
27
|
FormsModule,
|
|
25
28
|
ReactiveFormsModule
|
|
26
29
|
],
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
exports: [
|
|
31
|
+
TimeschedulerComponent
|
|
32
|
+
]
|
|
29
33
|
}]
|
|
30
34
|
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXNjaGVkdWxlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9hdG9tcy90aW1lc2NoZWR1bGVyL3RpbWVzY2hlZHVsZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFpQmhFLE1BQU0sT0FBTyxtQkFBbUI7K0dBQW5CLG1CQUFtQjtnSEFBbkIsbUJBQW1CLGlCQVo1QixzQkFBc0IsYUFHdEIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixXQUFXO1lBQ1gsbUJBQW1CLGFBR25CLHNCQUFzQjtnSEFHYixtQkFBbUIsWUFUNUIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixXQUFXO1lBQ1gsbUJBQW1COzs0RkFNVixtQkFBbUI7a0JBZC9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaW1lc2NoZWR1bGVyQ29tcG9uZW50IH0gZnJvbSAnLi90aW1lc2NoZWR1bGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRzTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZGF0ZWlucHV0cyc7XG5pbXBvcnQgeyBCdXR0b25zTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItYnV0dG9ucyc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVGltZXNjaGVkdWxlckNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgRGF0ZUlucHV0c01vZHVsZSxcbiAgICBCdXR0b25zTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRpbWVzY2hlZHVsZXJDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lc2NoZWR1bGVyTW9kdWxlIHsgfVxuIl19
|
|
@@ -1,18 +1,31 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
1
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import {
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { NotificationModule, NotificationService } from '@progress/kendo-angular-notification';
|
|
4
4
|
import { IconsService } from '@progress/kendo-angular-icons';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class ToastNotificationModule {
|
|
7
7
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ToastNotificationModule, imports: [CommonModule,
|
|
9
|
-
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ToastNotificationModule, imports: [CommonModule,
|
|
9
|
+
NotificationModule] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastNotificationModule, providers: [
|
|
11
|
+
IconsService,
|
|
12
|
+
NotificationService
|
|
13
|
+
], imports: [CommonModule,
|
|
14
|
+
NotificationModule] }); }
|
|
10
15
|
}
|
|
11
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastNotificationModule, decorators: [{
|
|
12
17
|
type: NgModule,
|
|
13
18
|
args: [{
|
|
14
|
-
|
|
15
|
-
|
|
19
|
+
declarations: [],
|
|
20
|
+
imports: [
|
|
21
|
+
CommonModule,
|
|
22
|
+
NotificationModule
|
|
23
|
+
],
|
|
24
|
+
exports: [],
|
|
25
|
+
providers: [
|
|
26
|
+
IconsService,
|
|
27
|
+
NotificationService
|
|
28
|
+
]
|
|
16
29
|
}]
|
|
17
30
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Qtbm90aWZpY2F0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL2F0b21zL3RvYXN0LW5vdGlmaWNhdGlvbi90b2FzdC1ub3RpZmljYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFtQjdELE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjtnSEFBdkIsdUJBQXVCLFlBWGhDLFlBQVk7WUFDWixrQkFBa0I7Z0hBVVQsdUJBQXVCLGFBTHZCO1lBQ1QsWUFBWTtZQUNaLG1CQUFtQjtTQUNwQixZQVRDLFlBQVk7WUFDWixrQkFBa0I7OzRGQVVULHVCQUF1QjtrQkFoQm5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBRWI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsRUFFUjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsWUFBWTt3QkFDWixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25Nb2R1bGUsIE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ub3RpZmljYXRpb24nO1xuaW1wb3J0IHsgSWNvbnNTZXJ2aWNlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItaWNvbnMnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE5vdGlmaWNhdGlvbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEljb25zU2VydmljZSxcbiAgICBOb3RpZmljYXRpb25TZXJ2aWNlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVG9hc3ROb3RpZmljYXRpb25Nb2R1bGUgeyB9XG4iXX0=
|
|
@@ -2,12 +2,18 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@progress/kendo-angular-notification";
|
|
4
4
|
export class ToastNotificationService {
|
|
5
|
-
constructor(notificationService) {
|
|
5
|
+
constructor(notificationService, rendererFactory) {
|
|
6
6
|
this.notificationService = notificationService;
|
|
7
7
|
this.httpStatusHandledInHttpInterceptor = new Set([0, 202, 207, 401, 402, 403, 405, 500, 502, 503, 504]);
|
|
8
|
-
this.
|
|
8
|
+
this.errMessagesSet = new Set();
|
|
9
9
|
this.allSubscriptions = [];
|
|
10
10
|
this.errorNotifications = [];
|
|
11
|
+
this.infoNotifications = [];
|
|
12
|
+
this.toastElement = null;
|
|
13
|
+
this.notificationsContainerSelector = "kendo-notification-container > div.k-notification-group";
|
|
14
|
+
this.errNotificationClickListener = null;
|
|
15
|
+
this.documentClickListener = null;
|
|
16
|
+
this.renderer = rendererFactory.createRenderer(null, null);
|
|
11
17
|
}
|
|
12
18
|
/**
|
|
13
19
|
* @param notification
|
|
@@ -24,37 +30,22 @@ export class ToastNotificationService {
|
|
|
24
30
|
animation: { type: 'slide', duration: 400 },
|
|
25
31
|
position: { horizontal: 'center', vertical: 'top' },
|
|
26
32
|
type: { style: 'success', icon: true },
|
|
27
|
-
hideAfter:
|
|
33
|
+
hideAfter: window.hideAfter || 6000,
|
|
28
34
|
action: {}
|
|
29
35
|
};
|
|
30
36
|
const mergedNotification = { ...defaultNotification, ...notification };
|
|
31
|
-
if (this.httpStatusHandledInHttpInterceptor.has(mergedNotification?.action?.payload?.error?.status ||
|
|
37
|
+
if (this.httpStatusHandledInHttpInterceptor.has(mergedNotification?.action?.payload?.error?.status) ||
|
|
38
|
+
this.httpStatusHandledInHttpInterceptor.has(mergedNotification?.action?.payload?.response?.code)) {
|
|
32
39
|
return;
|
|
33
40
|
}
|
|
34
|
-
if (mergedNotification.type.style === 'error' && this.
|
|
41
|
+
if (mergedNotification.type.style === 'error' && this.errMessagesSet.has(mergedNotification.content)) {
|
|
35
42
|
return;
|
|
36
43
|
}
|
|
37
44
|
if (mergedNotification.type.style === 'error') {
|
|
38
|
-
this.
|
|
39
|
-
const notification = this.notificationService.show({
|
|
40
|
-
content: mergedNotification.content,
|
|
41
|
-
cssClass: mergedNotification.cssClass,
|
|
42
|
-
animation: mergedNotification.animation,
|
|
43
|
-
position: mergedNotification.position,
|
|
44
|
-
type: mergedNotification.type,
|
|
45
|
-
closable: mergedNotification.closable,
|
|
46
|
-
hideAfter: mergedNotification.hideAfter,
|
|
47
|
-
});
|
|
48
|
-
this.errorNotifications.push(notification);
|
|
49
|
-
if (notification && notification.afterHide) {
|
|
50
|
-
let notificationAfterHideSubscription = notification.afterHide.subscribe(() => {
|
|
51
|
-
this.httpErrorStatusSet.delete(mergedNotification.content);
|
|
52
|
-
notificationAfterHideSubscription.unsubscribe();
|
|
53
|
-
});
|
|
54
|
-
}
|
|
45
|
+
this.processErrorNotification(mergedNotification);
|
|
55
46
|
}
|
|
56
47
|
else {
|
|
57
|
-
this.notificationService.show({
|
|
48
|
+
const nonErrNotification = this.notificationService.show({
|
|
58
49
|
content: mergedNotification.content,
|
|
59
50
|
cssClass: mergedNotification.cssClass,
|
|
60
51
|
animation: mergedNotification.animation,
|
|
@@ -63,18 +54,101 @@ export class ToastNotificationService {
|
|
|
63
54
|
closable: mergedNotification.closable,
|
|
64
55
|
hideAfter: mergedNotification.hideAfter,
|
|
65
56
|
});
|
|
57
|
+
if (mergedNotification.type.style === 'info') {
|
|
58
|
+
this.infoNotifications.push(nonErrNotification);
|
|
59
|
+
}
|
|
66
60
|
}
|
|
67
61
|
}
|
|
68
|
-
|
|
69
|
-
this.
|
|
70
|
-
|
|
62
|
+
processErrorNotification(notification) {
|
|
63
|
+
this.errMessagesSet.add(notification.content);
|
|
64
|
+
const errNotification = this.notificationService.show({
|
|
65
|
+
content: notification.content,
|
|
66
|
+
cssClass: notification.cssClass,
|
|
67
|
+
animation: notification.animation,
|
|
68
|
+
position: notification.position,
|
|
69
|
+
type: notification.type,
|
|
70
|
+
closable: notification.closable,
|
|
71
|
+
hideAfter: notification.hideAfter,
|
|
71
72
|
});
|
|
72
|
-
this.errorNotifications
|
|
73
|
+
this.errorNotifications.push(errNotification);
|
|
74
|
+
try {
|
|
75
|
+
this.notificationsContainer = this.renderer.selectRootElement(this.notificationsContainerSelector, true);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
console.error('Error Toast Notification Container NOT found', error);
|
|
79
|
+
}
|
|
80
|
+
if (this.notificationsContainer) {
|
|
81
|
+
console.log('Toast Notification Container found');
|
|
82
|
+
if (this.registerClickListenersTimeoutId) {
|
|
83
|
+
clearTimeout(this.registerClickListenersTimeoutId);
|
|
84
|
+
}
|
|
85
|
+
// This defers the execution of click listener addition to the next event loop cycle.
|
|
86
|
+
// It ensures that the current click event (which triggered the notification) is not captured by the newly added listener.
|
|
87
|
+
this.registerClickListenersTimeoutId = setTimeout(() => this.registerClickListenersErrNotifications(), 0);
|
|
88
|
+
}
|
|
89
|
+
// On click of close icon in notification, hide all error notifications present
|
|
90
|
+
if (errNotification?.afterHide) {
|
|
91
|
+
this.allSubscriptions.push(errNotification.afterHide.subscribe(() => {
|
|
92
|
+
if (this.errMessagesSet.size && this.errorNotifications.length) {
|
|
93
|
+
this.hideErrorToastNotifications();
|
|
94
|
+
}
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
73
97
|
}
|
|
74
|
-
|
|
98
|
+
registerClickListenersErrNotifications() {
|
|
99
|
+
if (this.notificationsContainer && !this.documentClickListener) {
|
|
100
|
+
// listen for click events on the error notifications container
|
|
101
|
+
this.errNotificationClickListener = this.renderer.listen(this.notificationsContainer, 'click', (event) => event.stopPropagation());
|
|
102
|
+
// listen for click events on the document when error notifications are shown
|
|
103
|
+
this.documentClickListener = this.renderer.listen('document', 'click', (event) => this.onClickOutCloseErrors(event));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
onClickOutCloseErrors(event) {
|
|
107
|
+
if (this.notificationsContainer && !this.notificationsContainer.contains(event.target)) {
|
|
108
|
+
this.hideErrorToastNotifications();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
hideToastNotifications(filter) {
|
|
112
|
+
if (filter === 'error') {
|
|
113
|
+
this.errorNotifications.forEach((notification) => notification.hide());
|
|
114
|
+
this.errMessagesSet.clear();
|
|
115
|
+
this.errorNotifications = [];
|
|
116
|
+
this.cleanUpListenersAndSubsForErr();
|
|
117
|
+
}
|
|
118
|
+
else if (filter === 'info') {
|
|
119
|
+
this.infoNotifications.forEach((notification) => notification.hide());
|
|
120
|
+
this.infoNotifications = [];
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
hideErrorToastNotifications() {
|
|
124
|
+
this.hideToastNotifications('error');
|
|
125
|
+
}
|
|
126
|
+
hideInfoToastNotifications() {
|
|
127
|
+
this.hideToastNotifications('info');
|
|
128
|
+
}
|
|
129
|
+
// This method only handles the cleanup of error notifications
|
|
130
|
+
cleanUpListenersAndSubsForErr() {
|
|
131
|
+
if (this.notificationsContainer) {
|
|
132
|
+
if (this.errNotificationClickListener) {
|
|
133
|
+
this.errNotificationClickListener();
|
|
134
|
+
this.errNotificationClickListener = null;
|
|
135
|
+
}
|
|
136
|
+
if (this.documentClickListener) {
|
|
137
|
+
this.documentClickListener();
|
|
138
|
+
this.documentClickListener = null;
|
|
139
|
+
}
|
|
140
|
+
this.notificationsContainer = null;
|
|
141
|
+
}
|
|
142
|
+
if (this.registerClickListenersTimeoutId) {
|
|
143
|
+
clearTimeout(this.registerClickListenersTimeoutId);
|
|
144
|
+
this.registerClickListenersTimeoutId = null;
|
|
145
|
+
}
|
|
75
146
|
this.allSubscriptions.forEach((subs) => subs.unsubscribe());
|
|
76
147
|
}
|
|
77
|
-
|
|
148
|
+
ngOnDestroy() {
|
|
149
|
+
this.cleanUpListenersAndSubsForErr();
|
|
150
|
+
}
|
|
151
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastNotificationService, deps: [{ token: i1.NotificationService }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
78
152
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastNotificationService, providedIn: 'root' }); }
|
|
79
153
|
}
|
|
80
154
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastNotificationService, decorators: [{
|
|
@@ -82,5 +156,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
82
156
|
args: [{
|
|
83
157
|
providedIn: 'root',
|
|
84
158
|
}]
|
|
85
|
-
}], ctorParameters: function () { return [{ type: i1.NotificationService }]; } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Qtbm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9hdG9tcy90b2FzdC1ub3RpZmljYXRpb24vdG9hc3Qtbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBMEIsTUFBTSxlQUFlLENBQUM7OztBQWtCbkUsTUFBTSxPQUFPLHdCQUF3QjtJQU9uQyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUw1RCx1Q0FBa0MsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLHVCQUFrQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDL0IscUJBQWdCLEdBQW1CLEVBQUUsQ0FBQztRQUN0Qyx1QkFBa0IsR0FBc0IsRUFBRSxDQUFDO0lBRXFCLENBQUM7SUFFakU7Ozs7Ozs7O09BUUc7SUFFSSxxQkFBcUIsQ0FBQyxZQUErQjtRQUMxRCxNQUFNLG1CQUFtQixHQUFzQjtZQUM3QyxPQUFPLEVBQUUsRUFBRTtZQUNYLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUMzQyxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7WUFDbkQsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3RDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsTUFBTSxFQUFFLEVBQUU7U0FDWCxD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bmplY3RhYmxlLCBPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25SZWYsIE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ub3RpZmljYXRpb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9hc3ROb3RpZmljYXRpb24ge1xuICBjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgRnVuY3Rpb24sXG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB8IE9iamVjdCxcbiAgYW5pbWF0aW9uPzogYW55LFxuICBwb3NpdGlvbj86IGFueSxcbiAgdHlwZT86IGFueSxcbiAgY2xvc2FibGU/OiBib29sZWFuLFxuICBoaWRlQWZ0ZXI/OiBudW1iZXJcbiAgYWN0aW9uOiBhbnlcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0Tm90aWZpY2F0aW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgaHR0cFN0YXR1c0hhbmRsZWRJbkh0dHBJbnRlcmNlcHRvciA9IG5ldyBTZXQoWzAsIDIwMiwgMjA3LCA0MDEsIDQwMiwgNDAzLCA0MDUsIDUwMCwgNTAyLCA1MDMsIDUwNF0pO1xuICBodHRwRXJyb3JTdGF0dXNTZXQgPSBuZXcgU2V0KCk7XG4gIGFsbFN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIGVycm9yTm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uUmVmW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UpIHsgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gbm90aWZpY2F0aW9uIFxuICAgKiBkZWZhdWx0IG5vdGlmaWNhdGlvbiBjb25maWc6XG4gICAqIC0gY29udGVudDogJycsXG4gICAqIC0gYW5pbWF0aW9uOiB7IHR5cGU6ICdzbGlkZScsIGR1cmF0aW9uOiA0MDAgfSxcbiAgICogLSBwb3NpdGlvbjogeyBob3Jpem9udGFsOiAnY2VudGVyJywgdmVydGljYWw6ICd0b3AnIH0sXG4gICAqIC0gdHlwZTogeyBzdHlsZTogJ3N1Y2Nlc3MnLCBpY29uOiB0cnVlIH0sXG4gICAqIC0gaGlkZUFmdGVyOiA0MDAwLFxuICAgKi9cblxuICBwdWJsaWMgc2hvd1RvYXN0Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogVG9hc3ROb3RpZmljYXRpb24pIHtcbiAgICBjb25zdCBkZWZhdWx0Tm90aWZpY2F0aW9uOiBUb2FzdE5vdGlmaWNhdGlvbiA9IHtcbiAgICAgIGNvbnRlbnQ6ICcnLFxuICAgICAgYW5pbWF0aW9uOiB7IHR5cGU6ICdzbGlkZScsIGR1cmF0aW9uOiA0MDAgfSxcbiAgICAgIHBvc2l0aW9uOiB7IGhvcml6b250YWw6ICdjZW50ZXInLCB2ZXJ0aWNhbDogJ3RvcCcgfSxcbiAgICAgIHR5cGU6IHsgc3R5bGU6ICdzdWNjZXNzJywgaWNvbjogdHJ1ZSB9LFxuICAgICAgaGlkZUFmdGVyOiA0MDAwLFxuICAgICAgYWN0aW9uOiB7fVxuICAgIH1cbiAgICBjb25zdCBtZXJnZWROb3RpZmljYXRpb24gPSB7IC4uLmRlZmF1bHROb3RpZmljYXRpb24sIC4uLm5vdGlmaWNhdGlvbiB9O1xuICAgIGlmICh0aGlzLmh0dHBTdGF0dXNIYW5kbGVkSW5IdHRwSW50ZXJjZXB0b3IuaGFzKG1lcmdlZE5vdGlmaWNhdGlvbj8uYWN0aW9uPy5wYXlsb2FkPy5lcnJvcj8uc3RhdHVzIHx8IG1lcmdlZE5vdGlmaWNhdGlvbj8uYWN0aW9uPy5wYXlsb2FkPy5yZXNwb25zZT8uY29kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZihtZXJnZWROb3RpZmljYXRpb24udHlwZS5zdHlsZSA9PT0gJ2Vycm9yJyAmJiB0aGlzLmh0dHBFcnJvclN0YXR1c1NldC5oYXMobWVyZ2VkTm90aWZpY2F0aW9uLmNvbnRlbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYobWVyZ2VkTm90aWZpY2F0aW9uLnR5cGUuc3R5bGUgPT09ICdlcnJvcicpIHsgXG4gICAgICB0aGlzLmh0dHBFcnJvclN0YXR1c1NldC5hZGQobWVyZ2VkTm90aWZpY2F0aW9uLmNvbnRlbnQpO1xuICAgICAgY29uc3Qgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25SZWYgPSB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIGNvbnRlbnQ6IG1lcmdlZE5vdGlmaWNhdGlvbi5jb250ZW50LFxuICAgICAgICBjc3NDbGFzczogbWVyZ2VkTm90aWZpY2F0aW9uLmNzc0NsYXNzLFxuICAgICAgICBhbmltYXRpb246IG1lcmdlZE5vdGlmaWNhdGlvbi5hbmltYXRpb24sXG4gICAgICAgIHBvc2l0aW9uOiBtZXJnZWROb3RpZmljYXRpb24ucG9zaXRpb24sXG4gICAgICAgIHR5cGU6IG1lcmdlZE5vdGlmaWNhdGlvbi50eXBlLFxuICAgICAgICBjbG9zYWJsZTogbWVyZ2VkTm90aWZpY2F0aW9uLmNsb3NhYmxlLFxuICAgICAgICBoaWRlQWZ0ZXI6IG1lcmdlZE5vdGlmaWNhdGlvbi5oaWRlQWZ0ZXIsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZXJyb3JOb3RpZmljYXRpb25zLnB1c2gobm90aWZpY2F0aW9uKTtcbiAgICAgIGlmIChub3RpZmljYXRpb24gJiYgbm90aWZpY2F0aW9uLmFmdGVySGlkZSkge1xuICAgICAgICBsZXQgbm90aWZpY2F0aW9uQWZ0ZXJIaWRlU3Vic2NyaXB0aW9uID0gbm90aWZpY2F0aW9uLmFmdGVySGlkZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaHR0cEVycm9yU3RhdHVzU2V0LmRlbGV0ZShtZXJnZWROb3RpZmljYXRpb24uY29udGVudCk7XG4gICAgICAgICAgbm90aWZpY2F0aW9uQWZ0ZXJIaWRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIGNvbnRlbnQ6IG1lcmdlZE5vdGlmaWNhdGlvbi5jb250ZW50LFxuICAgICAgICBjc3NDbGFzczogbWVyZ2VkTm90aWZpY2F0aW9uLmNzc0NsYXNzLFxuICAgICAgICBhbmltYXRpb246IG1lcmdlZE5vdGlmaWNhdGlvbi5hbmltYXRpb24sXG4gICAgICAgIHBvc2l0aW9uOiBtZXJnZWROb3RpZmljYXRpb24ucG9zaXRpb24sXG4gICAgICAgIHR5cGU6IG1lcmdlZE5vdGlmaWNhdGlvbi50eXBlLFxuICAgICAgICBjbG9zYWJsZTogbWVyZ2VkTm90aWZpY2F0aW9uLmNsb3NhYmxlLFxuICAgICAgICBoaWRlQWZ0ZXI6IG1lcmdlZE5vdGlmaWNhdGlvbi5oaWRlQWZ0ZXIsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGlkZUVycm9yVG9hc3ROb3RpZmljYXRpb25zKCkge1xuICAgIHRoaXMuZXJyb3JOb3RpZmljYXRpb25zLmZvckVhY2goKG5vdGlmaWNhdGlvbikgPT4ge1xuICAgICAgbm90aWZpY2F0aW9uLmhpZGUoKTtcbiAgICB9KTtcbiAgICB0aGlzLmVycm9yTm90aWZpY2F0aW9ucyA9IFtdO1xuICB9XG4gIFxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmFsbFN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3VicykgPT4gc3Vicy51bnN1YnNjcmliZSgpKVxuICB9XG59XG4iXX0=
|
|
159
|
+
}], ctorParameters: function () { return [{ type: i1.NotificationService }, { type: i0.RendererFactory2 }]; } });
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Qtbm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9hdG9tcy90b2FzdC1ub3RpZmljYXRpb24vdG9hc3Qtbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBdUQsTUFBTSxlQUFlLENBQUM7OztBQWtCaEcsTUFBTSxPQUFPLHdCQUF3QjtJQWdCbkMsWUFDbUIsbUJBQXdDLEVBQ3pELGVBQWlDO1FBRGhCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFmM0QsdUNBQWtDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRyxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDM0IscUJBQWdCLEdBQW1CLEVBQUUsQ0FBQztRQUN0Qyx1QkFBa0IsR0FBc0IsRUFBRSxDQUFDO1FBQzNDLHNCQUFpQixHQUFzQixFQUFFLENBQUM7UUFDMUMsaUJBQVksR0FBdUIsSUFBSSxDQUFDO1FBQ3hDLG1DQUE4QixHQUFHLHlEQUF5RCxDQUFDO1FBQ25GLGlDQUE0QixHQUF3QixJQUFJLENBQUM7UUFDekQsMEJBQXFCLEdBQXdCLElBQUksQ0FBQztRQVV4RCxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUVJLHFCQUFxQixDQUFDLFlBQStCO1FBQzFELE1BQU0sbUJBQW1CLEdBQXNCO1lBQzdDLE9BQU8sRUFBRSxFQUFFO1lBQ1gsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQzNDLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUNuRCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDdEMsU0FBUyxFQUFHLE1BQWMsQ0FBQyxTQUFTLElBQUksSUFBSTtZQUM1QyxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUE7UUFDRCxNQUFNLGtCQUFrQixHQUFHLEVBQUUsR0FBRyxtQkFBbUIsRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBQ3ZFLElBQUksSUFBSSxDQUFDLGtDQUFrQyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7WUFDakcsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNsRyxPQUFPO1NBQ1I7UUFFRCxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3BHLE9BQU87U0FDUjtRQUVELElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLEVBQUU7WUFDOUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDbEQ7YUFBTTtZQUNMLE1BQU0sa0JBQWtCLEdBQW9CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO2dCQUNuQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsUUFBUTtnQkFDckMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLFNBQVM7Z0JBQ3ZDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO2dCQUNyQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsSUFBSTtnQkFDN0IsUUFBUSxFQUFFLGtCQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxTQUFTO2FBQ3hDLENBQUMsQ0FBQztZQUNILElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUNqRDtTQUNGO0lBQ0gsQ0FBQztJQUVPLHdCQUF3QixDQUFDLFlBQStCO1FBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxNQUFNLGVBQWUsR0FBb0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztZQUNyRSxPQUFPLEVBQUUsWUFBWSxDQUFDLE9BQU87WUFDN0IsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRO1lBQy9CLFNBQVMsRUFBRSxZQUFZLENBQUMsU0FBUztZQUNqQyxRQUFRLEVBQUUsWUFBWSxDQUFDLFFBQVE7WUFDL0IsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJO1lBQ3ZCLFFBQVEsRUFBRSxZQUFZLENBQUMsUUFBUTtZQUMvQixTQUFTLEVBQUUsWUFBWSxDQUFDLFNBQVM7U0FDbEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5QyxJQUFJO1lBQ0YsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzFHO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3RFO1FBRUQsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ2xELElBQUksSUFBSSxDQUFDLCtCQUErQixFQUFFO2dCQUN4QyxZQUFZLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQUM7YUFDcEQ7WUFDRCxxRkFBcUY7WUFDckYsaUlBQWlJO1lBQ2pJLElBQUksQ0FBQywrQkFBK0IsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDM0c7UUFFRCxnRkFBZ0Y7UUFDaEYsSUFBSSxlQUFlLEVBQUUsU0FBUyxFQUFFO1lBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNsRSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUU7b0JBQzlELElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO2lCQUNwQztZQUNILENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDTDtJQUNILENBQUM7SUFFTyxzQ0FBc0M7UUFDNUMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDOUQsK0RBQStEO1lBQy9ELElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBaUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7WUFDL0ksNkVBQTZFO1lBQzdFLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBaUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbEk7SUFDSCxDQUFDO0lBRU8scUJBQXFCLENBQUMsS0FBaUI7UUFDN0MsSUFBSSxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFjLENBQUMsRUFBRTtZQUM5RixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxNQUF3QjtRQUNwRCxJQUFJLE1BQU0sS0FBSyxPQUFPLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7WUFDdEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1NBQ3RDO2FBQU0sSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBQ3JFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRU0sMkJBQTJCO1FBQ2hDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sMEJBQTBCO1FBQy9CLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsOERBQThEO0lBQ3RELDZCQUE2QjtRQUNuQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUMvQixJQUFJLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtnQkFDckMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUM7YUFDMUM7WUFDRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7YUFDbkM7WUFDRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxJQUFJLENBQUMsK0JBQStCLEVBQUU7WUFDeEMsWUFBWSxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUM7U0FDN0M7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7K0dBcktVLHdCQUF3QjttSEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07OzRGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblJlZiwgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLW5vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBUb2FzdE5vdGlmaWNhdGlvbiB7XG4gIGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4gfCBGdW5jdGlvbixcbiAgY3NzQ2xhc3M/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IHwgT2JqZWN0LFxuICBhbmltYXRpb24/OiBhbnksXG4gIHBvc2l0aW9uPzogYW55LFxuICB0eXBlPzogYW55LFxuICBjbG9zYWJsZT86IGJvb2xlYW4sXG4gIGhpZGVBZnRlcj86IG51bWJlclxuICBhY3Rpb246IGFueVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3ROb3RpZmljYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBodHRwU3RhdHVzSGFuZGxlZEluSHR0cEludGVyY2VwdG9yID0gbmV3IFNldChbMCwgMjAyLCAyMDcsIDQwMSwgNDAyLCA0MDMsIDQwNSwgNTAwLCA1MDIsIDUwMywgNTA0XSk7XG4gIGVyck1lc3NhZ2VzU2V0ID0gbmV3IFNldCgpO1xuICBhbGxTdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBlcnJvck5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvblJlZltdID0gW107XG4gIGluZm9Ob3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25SZWZbXSA9IFtdO1xuICB0b2FzdEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIG5vdGlmaWNhdGlvbnNDb250YWluZXJTZWxlY3RvciA9IFwia2VuZG8tbm90aWZpY2F0aW9uLWNvbnRhaW5lciA+IGRpdi5rLW5vdGlmaWNhdGlvbi1ncm91cFwiO1xuICBwcml2YXRlIGVyck5vdGlmaWNhdGlvbkNsaWNrTGlzdGVuZXI6ICgoKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGRvY3VtZW50Q2xpY2tMaXN0ZW5lcjogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgbm90aWZpY2F0aW9uc0NvbnRhaW5lcjogYW55O1xuICByZWdpc3RlckNsaWNrTGlzdGVuZXJzVGltZW91dElkOiBhbnk7XG4gIG5vdGlmaWNhdGlvbkFmdGVySGlkZVN1YnNjcmlwdGlvbiQ6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyXG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIG5vdGlmaWNhdGlvbiBcbiAgICogZGVmYXVsdCBub3RpZmljYXRpb24gY29uZmlnOlxuICAgKiAtIGNvbnRlbnQ6ICcnLFxuICAgKiAtIGFuaW1hdGlvbjogeyB0eXBlOiAnc2xpZGUnLCBkdXJhdGlvbjogNDAwIH0sXG4gICAqIC0gcG9zaXRpb246IHsgaG9yaXpvbnRhbDogJ2NlbnRlcicsIHZlcnRpY2FsOiAndG9wJyB9LFxuICAgKiAtIHR5cGU6IHsgc3R5bGU6ICdzdWNjZXNzJywgaWNvbjogdHJ1ZSB9LFxuICAgKiAtIGhpZGVBZnRlcjogNDAwMCxcbiAgICovXG5cbiAgcHVibGljIHNob3dUb2FzdE5vdGlmaWNhdGlvbihub3RpZmljYXRpb246IFRvYXN0Tm90aWZpY2F0aW9uKSB7XG4gICAgY29uc3QgZGVmYXVsdE5vdGlmaWNhdGlvbjogVG9hc3ROb3RpZmljYXRpb24gPSB7XG4gICAgICBjb250ZW50OiAnJyxcbiAgICAgIGFuaW1hdGlvbjogeyB0eXBlOiAnc2xpZGUnLCBkdXJhdGlvbjogNDAwIH0sXG4gICAgICBwb3NpdGlvbjogeyBob3Jpem9udGFsOiAnY2VudGVyJywgdmVydGljYWw6ICd0b3AnIH0sXG4gICAgICB0eXBlOiB7IHN0eWxlOiAnc3VjY2VzcycsIGljb246IHRydWUgfSxcbiAgICAgIGhpZGVBZnRlcjogKHdpbmRvdyBhcyBhbnkpLmhpZGVBZnRlciB8fCA2MDAwLCAvLyB3aW5kb3cuaGlkZUFmdGVyIGlzIHVzZWQgdG8gZmluYWxpemUgZmluYWwgdGltZSBmb3IgaGlkZUFmdGVyLiBJdCBtdXN0IGJlIHJlbW92ZWQuXG4gICAgICBhY3Rpb246IHt9XG4gICAgfVxuICAgIGNvbnN0IG1lcmdlZE5vdGlmaWNhdGlvbiA9IHsgLi4uZGVmYXVsdE5vdGlmaWNhdGlvbiwgLi4ubm90aWZpY2F0aW9uIH07XG4gICAgaWYgKHRoaXMuaHR0cFN0YXR1c0hhbmRsZWRJbkh0dHBJbnRlcmNlcHRvci5oYXMobWVyZ2VkTm90aWZpY2F0aW9uPy5hY3Rpb24/LnBheWxvYWQ/LmVycm9yPy5zdGF0dXMpIHx8XG4gICAgICB0aGlzLmh0dHBTdGF0dXNIYW5kbGVkSW5IdHRwSW50ZXJjZXB0b3IuaGFzKG1lcmdlZE5vdGlmaWNhdGlvbj8uYWN0aW9uPy5wYXlsb2FkPy5yZXNwb25zZT8uY29kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobWVyZ2VkTm90aWZpY2F0aW9uLnR5cGUuc3R5bGUgPT09ICdlcnJvcicgJiYgdGhpcy5lcnJNZXNzYWdlc1NldC5oYXMobWVyZ2VkTm90aWZpY2F0aW9uLmNvbnRlbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG1lcmdlZE5vdGlmaWNhdGlvbi50eXBlLnN0eWxlID09PSAnZXJyb3InKSB7XG4gICAgIHRoaXMucHJvY2Vzc0Vycm9yTm90aWZpY2F0aW9uKG1lcmdlZE5vdGlmaWNhdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vbkVyck5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uUmVmID0gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnNob3coe1xuICAgICAgICBjb250ZW50OiBtZXJnZWROb3RpZmljYXRpb24uY29udGVudCxcbiAgICAgICAgY3NzQ2xhc3M6IG1lcmdlZE5vdGlmaWNhdGlvbi5jc3NDbGFzcyxcbiAgICAgICAgYW5pbWF0aW9uOiBtZXJnZWROb3RpZmljYXRpb24uYW5pbWF0aW9uLFxuICAgICAgICBwb3NpdGlvbjogbWVyZ2VkTm90aWZpY2F0aW9uLnBvc2l0aW9uLFxuICAgICAgICB0eXBlOiBtZXJnZWROb3RpZmljYXRpb24udHlwZSxcbiAgICAgICAgY2xvc2FibGU6IG1lcmdlZE5vdGlmaWNhdGlvbi5jbG9zYWJsZSxcbiAgICAgICAgaGlkZUFmdGVyOiBtZXJnZWROb3RpZmljYXRpb24uaGlkZUFmdGVyLFxuICAgICAgfSk7XG4gICAgICBpZiAobWVyZ2VkTm90aWZpY2F0aW9uLnR5cGUuc3R5bGUgPT09ICdpbmZvJykge1xuICAgICAgICB0aGlzLmluZm9Ob3RpZmljYXRpb25zLnB1c2gobm9uRXJyTm90aWZpY2F0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NFcnJvck5vdGlmaWNhdGlvbihub3RpZmljYXRpb246IFRvYXN0Tm90aWZpY2F0aW9uKSB7XG4gICAgdGhpcy5lcnJNZXNzYWdlc1NldC5hZGQobm90aWZpY2F0aW9uLmNvbnRlbnQpO1xuICAgIGNvbnN0IGVyck5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uUmVmID0gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnNob3coe1xuICAgICAgY29udGVudDogbm90aWZpY2F0aW9uLmNvbnRlbnQsXG4gICAgICBjc3NDbGFzczogbm90aWZpY2F0aW9uLmNzc0NsYXNzLFxuICAgICAgYW5pbWF0aW9uOiBub3RpZmljYXRpb24uYW5pbWF0aW9uLFxuICAgICAgcG9zaXRpb246IG5vdGlmaWNhdGlvbi5wb3NpdGlvbixcbiAgICAgIHR5cGU6IG5vdGlmaWNhdGlvbi50eXBlLFxuICAgICAgY2xvc2FibGU6IG5vdGlmaWNhdGlvbi5jbG9zYWJsZSxcbiAgICAgIGhpZGVBZnRlcjogbm90aWZpY2F0aW9uLmhpZGVBZnRlcixcbiAgICB9KTtcbiAgICB0aGlzLmVycm9yTm90aWZpY2F0aW9ucy5wdXNoKGVyck5vdGlmaWNhdGlvbik7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uc0NvbnRhaW5lciA9IHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQodGhpcy5ub3RpZmljYXRpb25zQ29udGFpbmVyU2VsZWN0b3IsIHRydWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBUb2FzdCBOb3RpZmljYXRpb24gQ29udGFpbmVyIE5PVCBmb3VuZCcsIGVycm9yKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ub3RpZmljYXRpb25zQ29udGFpbmVyKSB7XG4gICAgICBjb25zb2xlLmxvZygnVG9hc3QgTm90aWZpY2F0aW9uIENvbnRhaW5lciBmb3VuZCcpO1xuICAgICAgaWYgKHRoaXMucmVnaXN0ZXJDbGlja0xpc3RlbmVyc1RpbWVvdXRJZCkge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWdpc3RlckNsaWNrTGlzdGVuZXJzVGltZW91dElkKTtcbiAgICAgIH1cbiAgICAgIC8vIFRoaXMgZGVmZXJzIHRoZSBleGVjdXRpb24gb2YgY2xpY2sgbGlzdGVuZXIgYWRkaXRpb24gdG8gdGhlIG5leHQgZXZlbnQgbG9vcCBjeWNsZS5cbiAgICAgIC8vIEl0IGVuc3VyZXMgdGhhdCB0aGUgY3VycmVudCBjbGljayBldmVudCAod2hpY2ggdHJpZ2dlcmVkIHRoZSBub3RpZmljYXRpb24pIGlzIG5vdCBjYXB0dXJlZCBieSB0aGUgbmV3bHkgYWRkZWQgbGlzdGVuZXIuICAgICAgIFxuICAgICAgdGhpcy5yZWdpc3RlckNsaWNrTGlzdGVuZXJzVGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlZ2lzdGVyQ2xpY2tMaXN0ZW5lcnNFcnJOb3RpZmljYXRpb25zKCksIDApO1xuICAgIH1cblxuICAgIC8vICBPbiBjbGljayBvZiBjbG9zZSBpY29uIGluIG5vdGlmaWNhdGlvbiwgaGlkZSBhbGwgZXJyb3Igbm90aWZpY2F0aW9ucyBwcmVzZW50XG4gICAgaWYgKGVyck5vdGlmaWNhdGlvbj8uYWZ0ZXJIaWRlKSB7XG4gICAgICB0aGlzLmFsbFN1YnNjcmlwdGlvbnMucHVzaChlcnJOb3RpZmljYXRpb24uYWZ0ZXJIaWRlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmVyck1lc3NhZ2VzU2V0LnNpemUgJiYgdGhpcy5lcnJvck5vdGlmaWNhdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5oaWRlRXJyb3JUb2FzdE5vdGlmaWNhdGlvbnMoKTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJDbGlja0xpc3RlbmVyc0Vyck5vdGlmaWNhdGlvbnMoKSB7XG4gICAgaWYgKHRoaXMubm90aWZpY2F0aW9uc0NvbnRhaW5lciAmJiAhdGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIpIHtcbiAgICAgIC8vIGxpc3RlbiBmb3IgY2xpY2sgZXZlbnRzIG9uIHRoZSBlcnJvciBub3RpZmljYXRpb25zIGNvbnRhaW5lclxuICAgICAgdGhpcy5lcnJOb3RpZmljYXRpb25DbGlja0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5ub3RpZmljYXRpb25zQ29udGFpbmVyLCAnY2xpY2snLCAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpKTtcbiAgICAgIC8vIGxpc3RlbiBmb3IgY2xpY2sgZXZlbnRzIG9uIHRoZSBkb2N1bWVudCB3aGVuIGVycm9yIG5vdGlmaWNhdGlvbnMgYXJlIHNob3duXG4gICAgICB0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIChldmVudDogTW91c2VFdmVudCkgPT4gdGhpcy5vbkNsaWNrT3V0Q2xvc2VFcnJvcnMoZXZlbnQpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uQ2xpY2tPdXRDbG9zZUVycm9ycyhldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvbnNDb250YWluZXIgJiYgIXRoaXMubm90aWZpY2F0aW9uc0NvbnRhaW5lci5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpIHtcbiAgICAgIHRoaXMuaGlkZUVycm9yVG9hc3ROb3RpZmljYXRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhpZGVUb2FzdE5vdGlmaWNhdGlvbnMoZmlsdGVyOiAnZXJyb3InIHwgJ2luZm8nKSB7XG4gICAgaWYgKGZpbHRlciA9PT0gJ2Vycm9yJykge1xuICAgICAgdGhpcy5lcnJvck5vdGlmaWNhdGlvbnMuZm9yRWFjaCgobm90aWZpY2F0aW9uKSA9PiBub3RpZmljYXRpb24uaGlkZSgpKVxuICAgICAgdGhpcy5lcnJNZXNzYWdlc1NldC5jbGVhcigpO1xuICAgICAgdGhpcy5lcnJvck5vdGlmaWNhdGlvbnMgPSBbXTtcbiAgICAgIHRoaXMuY2xlYW5VcExpc3RlbmVyc0FuZFN1YnNGb3JFcnIoKTtcbiAgICB9IGVsc2UgaWYgKGZpbHRlciA9PT0gJ2luZm8nKSB7XG4gICAgICB0aGlzLmluZm9Ob3RpZmljYXRpb25zLmZvckVhY2goKG5vdGlmaWNhdGlvbikgPT4gbm90aWZpY2F0aW9uLmhpZGUoKSlcbiAgICAgIHRoaXMuaW5mb05vdGlmaWNhdGlvbnMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGlkZUVycm9yVG9hc3ROb3RpZmljYXRpb25zKCkge1xuICAgIHRoaXMuaGlkZVRvYXN0Tm90aWZpY2F0aW9ucygnZXJyb3InKTtcbiAgfVxuXG4gIHB1YmxpYyBoaWRlSW5mb1RvYXN0Tm90aWZpY2F0aW9ucygpIHtcbiAgICB0aGlzLmhpZGVUb2FzdE5vdGlmaWNhdGlvbnMoJ2luZm8nKTtcbiAgfVxuXG4gIC8vIFRoaXMgbWV0aG9kIG9ubHkgaGFuZGxlcyB0aGUgY2xlYW51cCBvZiBlcnJvciBub3RpZmljYXRpb25zXG4gIHByaXZhdGUgY2xlYW5VcExpc3RlbmVyc0FuZFN1YnNGb3JFcnIoKSB7XG4gICAgaWYgKHRoaXMubm90aWZpY2F0aW9uc0NvbnRhaW5lcikge1xuICAgICAgaWYgKHRoaXMuZXJyTm90aWZpY2F0aW9uQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmVyck5vdGlmaWNhdGlvbkNsaWNrTGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy5lcnJOb3RpZmljYXRpb25DbGlja0xpc3RlbmVyID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lciA9IG51bGw7XG4gICAgICB9XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnNDb250YWluZXIgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZWdpc3RlckNsaWNrTGlzdGVuZXJzVGltZW91dElkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWdpc3RlckNsaWNrTGlzdGVuZXJzVGltZW91dElkKTtcbiAgICAgIHRoaXMucmVnaXN0ZXJDbGlja0xpc3RlbmVyc1RpbWVvdXRJZCA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuYWxsU3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWJzKSA9PiBzdWJzLnVuc3Vic2NyaWJlKCkpXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNsZWFuVXBMaXN0ZW5lcnNBbmRTdWJzRm9yRXJyKCk7XG4gIH1cbn1cbiJdfQ==
|