devexpress-reporting-angular 23.2.5-build-2465-1730 → 23.2.5
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/dx-report-viewer/components/analytics/directives/buttonWithTemplate.directive.d.ts +10 -0
- package/dx-report-viewer/components/analytics/directives/ellipsisEditor.directive.d.ts +14 -0
- package/dx-report-viewer/components/analytics/directives/key-down-actions.directive.d.ts +4 -7
- package/dx-report-viewer/components/reporting/parameterspanel/date-range/date-range.component.d.ts +1 -5
- package/dx-report-viewer/dx-report-viewer.module.d.ts +26 -24
- package/esm2020/dx-report-viewer/components/analytics/directives/buttonWithTemplate.directive.mjs +25 -0
- package/esm2020/dx-report-viewer/components/analytics/directives/disposable.directive.base.mjs +1 -1
- package/esm2020/dx-report-viewer/components/analytics/directives/ellipsisEditor.directive.mjs +31 -0
- package/esm2020/dx-report-viewer/components/analytics/directives/key-down-actions.directive.mjs +14 -11
- package/esm2020/dx-report-viewer/components/analytics/properties/editor/editor.base.mjs +6 -6
- package/esm2020/dx-report-viewer/components/reporting/parameterspanel/date-range/date-range.component.mjs +6 -30
- package/esm2020/dx-report-viewer/components/reporting/parameterspanel/editor/editor.component.mjs +3 -3
- package/esm2020/dx-report-viewer/dx-report-viewer.module.mjs +7 -1
- package/fesm2015/devexpress-reporting-angular-dx-report-viewer.mjs +80 -47
- package/fesm2015/devexpress-reporting-angular-dx-report-viewer.mjs.map +1 -1
- package/fesm2020/devexpress-reporting-angular-dx-report-viewer.mjs +79 -45
- package/fesm2020/devexpress-reporting-angular-dx-report-viewer.mjs.map +1 -1
- package/package.json +3 -3
@@ -0,0 +1,10 @@
|
|
1
|
+
import { ButtonOptions } from '@devexpress/analytics-core/core/widgets/_buttonInlineEditor';
|
2
|
+
import { BaseDisposableDirective } from './disposable.directive.base';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class ButtonWithTemplateDirective extends BaseDisposableDirective {
|
5
|
+
options: ButtonOptions;
|
6
|
+
InitAndReturnDisposeFunc(element: HTMLElement): () => void;
|
7
|
+
eventName: 'afterViewInit' | 'onInit';
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonWithTemplateDirective, never>;
|
9
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ButtonWithTemplateDirective, "[dxaButtonWithTemplate]", never, { "options": "dxaButtonWithTemplate"; }, {}, never, never, false, never>;
|
10
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { AfterViewInit, ElementRef, OnChanges, OnDestroy } from '@angular/core';
|
2
|
+
import { EllipsisEditorOptions } from '@devexpress/analytics-core/property-grid/widgets/ellipsiseditor/_editor';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class EllipsisEditorDirective implements AfterViewInit, OnChanges, OnDestroy {
|
5
|
+
private _element;
|
6
|
+
options: EllipsisEditorOptions;
|
7
|
+
private _editor;
|
8
|
+
constructor(_element: ElementRef);
|
9
|
+
ngAfterViewInit(): void;
|
10
|
+
ngOnChanges(): void;
|
11
|
+
ngOnDestroy(): void;
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EllipsisEditorDirective, never>;
|
13
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<EllipsisEditorDirective, "[dxaEllipsisEditor]", never, { "options": "dxaEllipsisEditor"; }, {}, never, never, false, never>;
|
14
|
+
}
|
@@ -1,13 +1,10 @@
|
|
1
|
-
import { AfterViewInit, ElementRef } from '@angular/core';
|
2
1
|
import { IActionListBaseViewModel } from '@devexpress/analytics-core/analytics-internal';
|
3
|
-
import {
|
2
|
+
import { BaseDisposableDirective } from './disposable.directive.base';
|
4
3
|
import * as i0 from "@angular/core";
|
5
|
-
export declare class KeyDownActionsDirective
|
4
|
+
export declare class KeyDownActionsDirective extends BaseDisposableDirective {
|
6
5
|
actionList: IActionListBaseViewModel;
|
7
|
-
|
8
|
-
|
9
|
-
constructor(element: ElementRef);
|
10
|
-
ngAfterViewInit(): void;
|
6
|
+
InitAndReturnDisposeFunc(element: HTMLElement): () => void;
|
7
|
+
eventName: 'afterViewInit' | 'onInit';
|
11
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<KeyDownActionsDirective, never>;
|
12
9
|
static ɵdir: i0.ɵɵDirectiveDeclaration<KeyDownActionsDirective, "[dxKeyDownActions]", never, { "actionList": "dxKeyDownActions"; }, {}, never, never, false, never>;
|
13
10
|
}
|
package/dx-report-viewer/components/reporting/parameterspanel/date-range/date-range.component.d.ts
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
import { ChangeDetectorRef, ElementRef, OnInit, OnDestroy } from '@angular/core';
|
2
|
-
import { Properties } from 'devextreme/ui/button';
|
3
2
|
import { IDateRangeEditorOptions } from 'devexpress-reporting/viewer/widgets/dateRange/dateRangeEditor';
|
4
3
|
import { IDateRangeEditorViewModel } from 'devexpress-reporting/viewer/widgets/dateRange/dateRangeEditor.viewmodel';
|
5
4
|
import * as i0 from "@angular/core";
|
@@ -10,10 +9,7 @@ export declare class DateRangeComponent implements OnInit, OnDestroy {
|
|
10
9
|
private _editor;
|
11
10
|
data: IDateRangeEditorViewModel;
|
12
11
|
private _vmSubscription;
|
13
|
-
|
14
|
-
textBoxInputElement: HTMLElement;
|
15
|
-
subscribeToEvents: (event: any) => void;
|
16
|
-
unsubscribeFromEvents: () => void;
|
12
|
+
processClickEvent: () => void;
|
17
13
|
constructor(_currentElement: ElementRef<any>, _changeDetectorRef: ChangeDetectorRef);
|
18
14
|
ngOnDestroy(): void;
|
19
15
|
ngOnInit(): void;
|
@@ -85,31 +85,33 @@ import * as i83 from "./components/analytics/directives/zoom.directive";
|
|
85
85
|
import * as i84 from "./components/reporting/directives/child-styles.directive";
|
86
86
|
import * as i85 from "./components/analytics/directives/searchHighlighting.directive";
|
87
87
|
import * as i86 from "./components/analytics/directives/accordion.directive";
|
88
|
-
import * as i87 from "./components/
|
89
|
-
import * as i88 from "./components/analytics/directives/
|
90
|
-
import * as i89 from "./components/reporting/
|
91
|
-
import * as i90 from "./components/
|
92
|
-
import * as i91 from "./components/
|
93
|
-
import * as i92 from "./components/reporting/mobile/
|
94
|
-
import * as i93 from "./components/
|
95
|
-
import * as i94 from "./components/reporting/mobile/
|
96
|
-
import * as i95 from "./components/reporting/mobile/
|
97
|
-
import * as i96 from "./components/reporting/mobile/
|
98
|
-
import * as i97 from "./components/reporting/mobile/
|
99
|
-
import * as i98 from "./components/reporting/mobile/
|
100
|
-
import * as i99 from "./components/reporting/mobile/
|
101
|
-
import * as i100 from "./components/reporting/mobile/parameters/mobile.parameters.
|
102
|
-
import * as i101 from "./components/reporting/mobile/
|
103
|
-
import * as i102 from "./components/reporting/mobile/
|
104
|
-
import * as i103 from "./components/reporting/
|
105
|
-
import * as i104 from "./components/reporting/mobile/
|
106
|
-
import * as i105 from "./components/reporting/
|
107
|
-
import * as i106 from "./components/
|
108
|
-
import * as i107 from "./components/reporting/
|
109
|
-
import * as i108 from "
|
110
|
-
import * as i109 from "
|
88
|
+
import * as i87 from "./components/analytics/directives/ellipsisEditor.directive";
|
89
|
+
import * as i88 from "./components/analytics/directives/buttonWithTemplate.directive";
|
90
|
+
import * as i89 from "./components/reporting/editing/check-field/editing-field-checkbox-glyph.component";
|
91
|
+
import * as i90 from "./components/analytics/directives/dx-mutation-observer.directive";
|
92
|
+
import * as i91 from "./components/reporting/mobile/directives/mobile.searchBar.directive";
|
93
|
+
import * as i92 from "./components/reporting/mobile/directives/mobile.paginator.directive";
|
94
|
+
import * as i93 from "./components/analytics/template/lazy.template.component";
|
95
|
+
import * as i94 from "./components/reporting/mobile/surface/mobile.surface.component";
|
96
|
+
import * as i95 from "./components/reporting/mobile/directives/mobile.slide.directive";
|
97
|
+
import * as i96 from "./components/reporting/mobile/directives/mobile.zoom.directive";
|
98
|
+
import * as i97 from "./components/reporting/mobile/gallery/mobile.gallery.component";
|
99
|
+
import * as i98 from "./components/reporting/mobile/page/mobile.page.component";
|
100
|
+
import * as i99 from "./components/reporting/mobile/actions/mobile.actions.component";
|
101
|
+
import * as i100 from "./components/reporting/mobile/parameters/mobile.parameters.popup.component";
|
102
|
+
import * as i101 from "./components/reporting/mobile/parameters/mobile.parameters.component";
|
103
|
+
import * as i102 from "./components/reporting/mobile/parameters/mobile.parameters.daterange.component";
|
104
|
+
import * as i103 from "./components/reporting/mobile/actions/mobile.actions.export.component";
|
105
|
+
import * as i104 from "./components/reporting/mobile/search/mobile.search.component";
|
106
|
+
import * as i105 from "./components/reporting/parameterspanel/date-range/mobile/date-range-mobile.component";
|
107
|
+
import * as i106 from "./components/reporting/mobile/directives/mobile.autofit.directive";
|
108
|
+
import * as i107 from "./components/reporting/mobile/pages/pages/mobile.pages.component";
|
109
|
+
import * as i108 from "./components/analytics/directives/key-down-actions.directive";
|
110
|
+
import * as i109 from "./components/reporting/reportpreview/breadcrumbs/breadcrumbs.component";
|
111
|
+
import * as i110 from "@angular/common";
|
112
|
+
import * as i111 from "devextreme-angular";
|
111
113
|
export declare class DxReportViewerModule {
|
112
114
|
static ɵfac: i0.ɵɵFactoryDeclaration<DxReportViewerModule, never>;
|
113
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<DxReportViewerModule, [typeof i1.DxReportViewerComponent, typeof i2.DxReportViewerCallbacksComponent, typeof i3.DxReportViewerMobileModeSettingsComponent, typeof i4.DxReportViewerRemoteSettingsComponent, typeof i5.DxReportViewerRequestOptionsComponent, typeof i6.DxReportViewerProgressBarSettingsComponent, typeof i7.DxReportViewerExportSettingsComponent, typeof i8.DxReportViewerTabPanelSettingsComponent, typeof i9.DxReportViewerSearchSettingsComponent, typeof i10.TabpanelComponent, typeof i11.PopoverComponent, typeof i12.PropertygridComponent, typeof i13.TreelistComponent, typeof i14.TreeListGroupComponent, typeof i15.TreeListItemComponent, typeof i16.TreeListHeaderItemComponent, typeof i17.TreeListItemTextComponent, typeof i18.TreeListHeaderItemCaptionContentComponent, typeof i19.DateEditorComponent, typeof i20.CollectionEditorComponent, typeof i21.ParameterspanelComponent, typeof i22.TemplatesComponent, typeof i23.ActionsComponent, typeof i24.ImageTemplateComponent, typeof i25.TemplateComponent, typeof i26.PagerComponent, typeof i27.ZoomComponent, typeof i28.EditorComponentBase, typeof i29.ExportComponent, typeof i30.ViewerTemplatesComponent, typeof i31.ToolbarContentComponent, typeof i32.EditorComponent, typeof i33.MultiValueComponent, typeof i34.TextBoxEditorComponent, typeof i35.SelectBoxComponent, typeof i36.BoolSelectComponent, typeof i37.ExportOptionsComponent, typeof i38.ObjectEditorComponent, typeof i39.BooleanEditorComponent, typeof i40.LocalizedSelectBoxComponent, typeof i41.NumericEditorComponent, typeof i42.ColorPickerComponent, typeof i43.DxActionDirective, typeof i44.MultiValueEditableComponent, typeof i45.DesignerComponent, typeof i46.DateRangeComponent, typeof i47.PopupContainerComponent, typeof i48.CalendarComponent, typeof i49.SurfaceComponent, typeof i50.PageComponent, typeof i51.LazyImagesDirective, typeof i52.EditorContentComponent, typeof i53.GroupEditorComponent, typeof i54.SearchComponent, typeof i55.DocumentMapComponent, typeof i56.TextEditingFieldComponent, typeof i57.TextEditingFieldMaskComponent, typeof i58.TextEditingFieldNumberComponent, typeof i59.TextEditingFieldDateBoxComponent, typeof i60.TextEditingFieldContainerComponent, typeof i61.CharacterCombEditingFieldComponent, typeof i62.CheckEditingFieldComponent, typeof i63.RadioEditingFieldComponent, typeof i64.ImageEditingFieldComponent, typeof i65.ImageEditingFieldEditorComponent, typeof i66.PopupImageEditingFieldComponent, typeof i67.ProgressBarComponent, typeof i68.PictureEditorComponent, typeof i69.PictureEditorToolBarPopupComponent, typeof i70.PictureEditorBrushOptionsComponent, typeof i71.PictureEditorSizeOptionsComponent, typeof i72.PictureEditorImagespickerComponent, typeof i73.PictureEditorImagespickerWithFilterComponent, typeof i74.PainterComponent, typeof i75.SignatureEditorComponent, typeof i76.BrickComponent, typeof i77.BrickClickableComponent, typeof i78.ExportToolComponent, typeof i79.AutoFitDirective, typeof i80.ToViewDirective, typeof i81.BrickSelectionDirective, typeof i82.ResizableDirective, typeof i83.ZoomDirective, typeof i84.ChildStyleDirective, typeof i85.SearchHighlightingDirective, typeof i86.AccordionDirective, typeof i87.
|
115
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DxReportViewerModule, [typeof i1.DxReportViewerComponent, typeof i2.DxReportViewerCallbacksComponent, typeof i3.DxReportViewerMobileModeSettingsComponent, typeof i4.DxReportViewerRemoteSettingsComponent, typeof i5.DxReportViewerRequestOptionsComponent, typeof i6.DxReportViewerProgressBarSettingsComponent, typeof i7.DxReportViewerExportSettingsComponent, typeof i8.DxReportViewerTabPanelSettingsComponent, typeof i9.DxReportViewerSearchSettingsComponent, typeof i10.TabpanelComponent, typeof i11.PopoverComponent, typeof i12.PropertygridComponent, typeof i13.TreelistComponent, typeof i14.TreeListGroupComponent, typeof i15.TreeListItemComponent, typeof i16.TreeListHeaderItemComponent, typeof i17.TreeListItemTextComponent, typeof i18.TreeListHeaderItemCaptionContentComponent, typeof i19.DateEditorComponent, typeof i20.CollectionEditorComponent, typeof i21.ParameterspanelComponent, typeof i22.TemplatesComponent, typeof i23.ActionsComponent, typeof i24.ImageTemplateComponent, typeof i25.TemplateComponent, typeof i26.PagerComponent, typeof i27.ZoomComponent, typeof i28.EditorComponentBase, typeof i29.ExportComponent, typeof i30.ViewerTemplatesComponent, typeof i31.ToolbarContentComponent, typeof i32.EditorComponent, typeof i33.MultiValueComponent, typeof i34.TextBoxEditorComponent, typeof i35.SelectBoxComponent, typeof i36.BoolSelectComponent, typeof i37.ExportOptionsComponent, typeof i38.ObjectEditorComponent, typeof i39.BooleanEditorComponent, typeof i40.LocalizedSelectBoxComponent, typeof i41.NumericEditorComponent, typeof i42.ColorPickerComponent, typeof i43.DxActionDirective, typeof i44.MultiValueEditableComponent, typeof i45.DesignerComponent, typeof i46.DateRangeComponent, typeof i47.PopupContainerComponent, typeof i48.CalendarComponent, typeof i49.SurfaceComponent, typeof i50.PageComponent, typeof i51.LazyImagesDirective, typeof i52.EditorContentComponent, typeof i53.GroupEditorComponent, typeof i54.SearchComponent, typeof i55.DocumentMapComponent, typeof i56.TextEditingFieldComponent, typeof i57.TextEditingFieldMaskComponent, typeof i58.TextEditingFieldNumberComponent, typeof i59.TextEditingFieldDateBoxComponent, typeof i60.TextEditingFieldContainerComponent, typeof i61.CharacterCombEditingFieldComponent, typeof i62.CheckEditingFieldComponent, typeof i63.RadioEditingFieldComponent, typeof i64.ImageEditingFieldComponent, typeof i65.ImageEditingFieldEditorComponent, typeof i66.PopupImageEditingFieldComponent, typeof i67.ProgressBarComponent, typeof i68.PictureEditorComponent, typeof i69.PictureEditorToolBarPopupComponent, typeof i70.PictureEditorBrushOptionsComponent, typeof i71.PictureEditorSizeOptionsComponent, typeof i72.PictureEditorImagespickerComponent, typeof i73.PictureEditorImagespickerWithFilterComponent, typeof i74.PainterComponent, typeof i75.SignatureEditorComponent, typeof i76.BrickComponent, typeof i77.BrickClickableComponent, typeof i78.ExportToolComponent, typeof i79.AutoFitDirective, typeof i80.ToViewDirective, typeof i81.BrickSelectionDirective, typeof i82.ResizableDirective, typeof i83.ZoomDirective, typeof i84.ChildStyleDirective, typeof i85.SearchHighlightingDirective, typeof i86.AccordionDirective, typeof i87.EllipsisEditorDirective, typeof i88.ButtonWithTemplateDirective, typeof i89.EditingFieldCheckboxGlyphComponent, typeof i90.DxMutationObserverDirective, typeof i91.MobileSearchBarDirective, typeof i92.MobilePaginatorDirective, typeof i93.LazyTemplateComponent, typeof i94.MobileSurfaceComponent, typeof i95.MobileSlideDirective, typeof i96.MobileZoomDirective, typeof i97.MobileGalleryComponent, typeof i98.MobilePageComponent, typeof i99.MobileActionsComponent, typeof i100.MobileParametersPopupComponent, typeof i101.MobileParametersComponent, typeof i102.MobileParametersDateRangeComponent, typeof i103.MobileActionsExportComponent, typeof i104.MobileSearchComponent, typeof i105.DateRangeMobileComponent, typeof i106.MobileAutofitDirective, typeof i107.MobilePaginatorComponent, typeof i108.KeyDownActionsDirective, typeof i109.BreadcrumbsComponent], [typeof i110.CommonModule, typeof i111.DxButtonModule, typeof i111.DxLoadIndicatorModule, typeof i111.DxScrollViewModule, typeof i111.DxSelectBoxModule, typeof i111.DxMenuModule, typeof i111.DxTagBoxModule, typeof i111.DxTextBoxModule, typeof i111.DxValidatorModule, typeof i111.DxDateBoxModule, typeof i111.DxCheckBoxModule, typeof i111.DxNumberBoxModule, typeof i111.DxColorBoxModule, typeof i111.DxPopupModule, typeof i111.DxPopoverModule, typeof i111.DxSliderModule, typeof i111.DxCalendarModule, typeof i111.DxListModule, typeof i111.DxGalleryModule], [typeof i1.DxReportViewerComponent, typeof i2.DxReportViewerCallbacksComponent, typeof i3.DxReportViewerMobileModeSettingsComponent, typeof i4.DxReportViewerRemoteSettingsComponent, typeof i5.DxReportViewerRequestOptionsComponent, typeof i6.DxReportViewerProgressBarSettingsComponent, typeof i7.DxReportViewerExportSettingsComponent, typeof i8.DxReportViewerTabPanelSettingsComponent, typeof i9.DxReportViewerSearchSettingsComponent]>;
|
114
116
|
static ɵinj: i0.ɵɵInjectorDeclaration<DxReportViewerModule>;
|
115
117
|
}
|
package/esm2020/dx-report-viewer/components/analytics/directives/buttonWithTemplate.directive.mjs
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
2
|
+
import { InitButtonWithTemplate } from '@devexpress/analytics-core/core/widgets/_buttonInlineEditor';
|
3
|
+
import { BaseDisposableDirective } from './disposable.directive.base';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class ButtonWithTemplateDirective extends BaseDisposableDirective {
|
6
|
+
constructor() {
|
7
|
+
super(...arguments);
|
8
|
+
this.eventName = 'afterViewInit';
|
9
|
+
}
|
10
|
+
InitAndReturnDisposeFunc(element) {
|
11
|
+
return InitButtonWithTemplate(element, this.options);
|
12
|
+
}
|
13
|
+
}
|
14
|
+
ButtonWithTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonWithTemplateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
15
|
+
ButtonWithTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ButtonWithTemplateDirective, selector: "[dxaButtonWithTemplate]", inputs: { options: ["dxaButtonWithTemplate", "options"] }, usesInheritance: true, ngImport: i0 });
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonWithTemplateDirective, decorators: [{
|
17
|
+
type: Directive,
|
18
|
+
args: [{
|
19
|
+
selector: '[dxaButtonWithTemplate]'
|
20
|
+
}]
|
21
|
+
}], propDecorators: { options: [{
|
22
|
+
type: Input,
|
23
|
+
args: ['dxaButtonWithTemplate']
|
24
|
+
}] } });
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uV2l0aFRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2R4LXJlcG9ydC12aWV3ZXIvY29tcG9uZW50cy9hbmFseXRpY3MvZGlyZWN0aXZlcy9idXR0b25XaXRoVGVtcGxhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBaUIsc0JBQXNCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNwSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFJdEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtJQUh4RTs7UUFRSSxjQUFTLEdBQStCLGVBQWUsQ0FBQztLQUMzRDtJQUpHLHdCQUF3QixDQUFDLE9BQW9CO1FBQ3pDLE9BQU8sc0JBQXNCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDOzt5SEFKUSwyQkFBMkI7NkdBQTNCLDJCQUEyQjs0RkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7aUJBQ3RDOzhCQUVtQyxPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbk9wdGlvbnMsIEluaXRCdXR0b25XaXRoVGVtcGxhdGUgfSBmcm9tICdAZGV2ZXhwcmVzcy9hbmFseXRpY3MtY29yZS9jb3JlL3dpZGdldHMvX2J1dHRvbklubGluZUVkaXRvcic7XG5pbXBvcnQgeyBCYXNlRGlzcG9zYWJsZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlzcG9zYWJsZS5kaXJlY3RpdmUuYmFzZSc7XG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tkeGFCdXR0b25XaXRoVGVtcGxhdGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25XaXRoVGVtcGxhdGVEaXJlY3RpdmUgZXh0ZW5kcyBCYXNlRGlzcG9zYWJsZURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCdkeGFCdXR0b25XaXRoVGVtcGxhdGUnKSBvcHRpb25zOiBCdXR0b25PcHRpb25zO1xuICAgIEluaXRBbmRSZXR1cm5EaXNwb3NlRnVuYyhlbGVtZW50OiBIVE1MRWxlbWVudCk6ICgpID0+IHZvaWQge1xuICAgICAgICByZXR1cm4gSW5pdEJ1dHRvbldpdGhUZW1wbGF0ZShlbGVtZW50LCB0aGlzLm9wdGlvbnMpO1xuICAgIH1cbiAgICBldmVudE5hbWU6ICdhZnRlclZpZXdJbml0JyB8ICdvbkluaXQnID0gJ2FmdGVyVmlld0luaXQnO1xufSJdfQ==
|
package/esm2020/dx-report-viewer/components/analytics/directives/disposable.directive.base.mjs
CHANGED
@@ -31,4 +31,4 @@ BaseDisposableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0"
|
|
31
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseDisposableDirective, decorators: [{
|
32
32
|
type: Directive
|
33
33
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcG9zYWJsZS5kaXJlY3RpdmUuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2R4LXJlcG9ydC12aWV3ZXIvY29tcG9uZW50cy9hbmFseXRpY3MvZGlyZWN0aXZlcy9kaXNwb3NhYmxlLmRpcmVjdGl2ZS5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdELE1BQU0sZUFBZSxDQUFDOztBQUd4RixNQUFNLE9BQWdCLHVCQUF1QjtJQUd6QyxZQUFvQixRQUFvQjtRQUFwQixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBRnhDLGNBQVMsR0FBK0IsUUFBUSxDQUFDO1FBQ3ZDLGlCQUFZLEdBQUcsR0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDQSxDQUFDO0lBRTdDLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUNELFFBQVE7UUFDSixJQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xGO0lBQ0wsQ0FBQztJQUNELGVBQWU7UUFDWCxJQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssZUFBZSxFQUFFO1lBQ25DLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xGO0lBQ0wsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDbEMsQ0FBQzs7cUhBdkJpQix1QkFBdUI7eUdBQXZCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQUQ1QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRGlzcG9zYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIGV2ZW50TmFtZTogJ2FmdGVyVmlld0luaXQnIHwgJ29uSW5pdCcgPSAnb25Jbml0JztcclxuICAgIHByb3RlY3RlZCBfZGlzcG9zZUZ1bmMgPSAoKTogdm9pZCA9PiB2b2lkIDA7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmKSB7IH1cclxuICAgIGFic3RyYWN0IEluaXRBbmRSZXR1cm5EaXNwb3NlRnVuYyhlbGVtZW50OiBIVE1MRWxlbWVudCk6ICgpID0+
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcG9zYWJsZS5kaXJlY3RpdmUuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2R4LXJlcG9ydC12aWV3ZXIvY29tcG9uZW50cy9hbmFseXRpY3MvZGlyZWN0aXZlcy9kaXNwb3NhYmxlLmRpcmVjdGl2ZS5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdELE1BQU0sZUFBZSxDQUFDOztBQUd4RixNQUFNLE9BQWdCLHVCQUF1QjtJQUd6QyxZQUFvQixRQUFvQjtRQUFwQixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBRnhDLGNBQVMsR0FBK0IsUUFBUSxDQUFDO1FBQ3ZDLGlCQUFZLEdBQUcsR0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDQSxDQUFDO0lBRTdDLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUNELFFBQVE7UUFDSixJQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xGO0lBQ0wsQ0FBQztJQUNELGVBQWU7UUFDWCxJQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssZUFBZSxFQUFFO1lBQ25DLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xGO0lBQ0wsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDbEMsQ0FBQzs7cUhBdkJpQix1QkFBdUI7eUdBQXZCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQUQ1QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRGlzcG9zYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIGV2ZW50TmFtZTogJ2FmdGVyVmlld0luaXQnIHwgJ29uSW5pdCcgPSAnb25Jbml0JztcclxuICAgIHByb3RlY3RlZCBfZGlzcG9zZUZ1bmMgPSAoKTogdm9pZCA9PiB2b2lkIDA7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmKSB7IH1cclxuICAgIGFic3RyYWN0IEluaXRBbmRSZXR1cm5EaXNwb3NlRnVuYyhlbGVtZW50OiBIVE1MRWxlbWVudCk6ICgpID0+IHZvaWQ7XHJcbiAgICBnZXQgZWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgIH1cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmKHRoaXMuZXZlbnROYW1lID09PSAnb25Jbml0Jykge1xyXG4gICAgICAgICAgICB0aGlzLl9kaXNwb3NlRnVuYygpO1xyXG4gICAgICAgICAgICB0aGlzLl9kaXNwb3NlRnVuYyA9IHRoaXMuSW5pdEFuZFJldHVybkRpc3Bvc2VGdW5jKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmKHRoaXMuZXZlbnROYW1lID09PSAnYWZ0ZXJWaWV3SW5pdCcpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGlzcG9zZUZ1bmMoKTtcclxuICAgICAgICAgICAgdGhpcy5fZGlzcG9zZUZ1bmMgPSB0aGlzLkluaXRBbmRSZXR1cm5EaXNwb3NlRnVuYyh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2Rpc3Bvc2VGdW5jKCk7XHJcbiAgICAgICAgdGhpcy5fZGlzcG9zZUZ1bmMgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbn1cclxuIl19
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
2
|
+
import { dxEllipsisEditor } from '@devexpress/analytics-core/property-grid/widgets/ellipsiseditor/_editor';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export class EllipsisEditorDirective {
|
5
|
+
constructor(_element) {
|
6
|
+
this._element = _element;
|
7
|
+
}
|
8
|
+
ngAfterViewInit() {
|
9
|
+
this._editor = new dxEllipsisEditor(this._element.nativeElement, this.options);
|
10
|
+
}
|
11
|
+
ngOnChanges() {
|
12
|
+
if (this._editor && this._editor.option('value') != this.options.value) {
|
13
|
+
this._editor.option('value', this.options.value);
|
14
|
+
}
|
15
|
+
}
|
16
|
+
ngOnDestroy() {
|
17
|
+
this._editor?.dispose();
|
18
|
+
}
|
19
|
+
}
|
20
|
+
EllipsisEditorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EllipsisEditorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
21
|
+
EllipsisEditorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: EllipsisEditorDirective, selector: "[dxaEllipsisEditor]", inputs: { options: ["dxaEllipsisEditor", "options"] }, usesOnChanges: true, ngImport: i0 });
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EllipsisEditorDirective, decorators: [{
|
23
|
+
type: Directive,
|
24
|
+
args: [{
|
25
|
+
selector: '[dxaEllipsisEditor]'
|
26
|
+
}]
|
27
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { options: [{
|
28
|
+
type: Input,
|
29
|
+
args: ['dxaEllipsisEditor']
|
30
|
+
}] } });
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXNFZGl0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZHgtcmVwb3J0LXZpZXdlci9jb21wb25lbnRzL2FuYWx5dGljcy9kaXJlY3RpdmVzL2VsbGlwc2lzRWRpdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxLQUFLLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBeUIsZ0JBQWdCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQzs7QUFJbEksTUFBTSxPQUFPLHVCQUF1QjtJQUdoQyxZQUFvQixRQUFvQjtRQUFwQixhQUFRLEdBQVIsUUFBUSxDQUFZO0lBQUksQ0FBQztJQUU3QyxlQUFlO1FBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNuRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwRDtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM1QixDQUFDOztxSEFqQlEsdUJBQXVCO3lHQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO2lCQUNsQztpR0FFK0IsT0FBTztzQkFBbEMsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWxsaXBzaXNFZGl0b3JPcHRpb25zLCBkeEVsbGlwc2lzRWRpdG9yIH0gZnJvbSAnQGRldmV4cHJlc3MvYW5hbHl0aWNzLWNvcmUvcHJvcGVydHktZ3JpZC93aWRnZXRzL2VsbGlwc2lzZWRpdG9yL19lZGl0b3InO1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZHhhRWxsaXBzaXNFZGl0b3JdJ1xufSlcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc0VkaXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoJ2R4YUVsbGlwc2lzRWRpdG9yJykgb3B0aW9uczogRWxsaXBzaXNFZGl0b3JPcHRpb25zO1xuICAgIHByaXZhdGUgX2VkaXRvcjogZHhFbGxpcHNpc0VkaXRvcjtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmKSB7IH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWRpdG9yID0gbmV3IGR4RWxsaXBzaXNFZGl0b3IodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLm9wdGlvbnMpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZih0aGlzLl9lZGl0b3IgJiYgdGhpcy5fZWRpdG9yLm9wdGlvbigndmFsdWUnKSAhPSB0aGlzLm9wdGlvbnMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2VkaXRvci5vcHRpb24oJ3ZhbHVlJywgdGhpcy5vcHRpb25zLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lZGl0b3I/LmRpc3Bvc2UoKTtcbiAgICB9XG59XG4iXX0=
|
package/esm2020/dx-report-viewer/components/analytics/directives/key-down-actions.directive.mjs
CHANGED
@@ -1,24 +1,27 @@
|
|
1
1
|
import { Directive, Input } from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { BaseDisposableDirective } from './disposable.directive.base';
|
3
|
+
import { GetWindowKeyDownHandlersManager } from '@devexpress/analytics-core/core/tools/_keyboardHelper';
|
3
4
|
import * as i0 from "@angular/core";
|
4
|
-
export class KeyDownActionsDirective {
|
5
|
-
constructor(
|
6
|
-
|
7
|
-
this.
|
5
|
+
export class KeyDownActionsDirective extends BaseDisposableDirective {
|
6
|
+
constructor() {
|
7
|
+
super(...arguments);
|
8
|
+
this.eventName = 'afterViewInit';
|
8
9
|
}
|
9
|
-
|
10
|
-
|
10
|
+
InitAndReturnDisposeFunc(element) {
|
11
|
+
const handlersManager = GetWindowKeyDownHandlersManager();
|
12
|
+
const disposeFunc = handlersManager.bindHandler(e => this.actionList.processShortcut(e));
|
13
|
+
return () => disposeFunc();
|
11
14
|
}
|
12
15
|
}
|
13
|
-
KeyDownActionsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: KeyDownActionsDirective, deps:
|
14
|
-
KeyDownActionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: KeyDownActionsDirective, selector: "[dxKeyDownActions]", inputs: { actionList: ["dxKeyDownActions", "actionList"] }, ngImport: i0 });
|
16
|
+
KeyDownActionsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: KeyDownActionsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
17
|
+
KeyDownActionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: KeyDownActionsDirective, selector: "[dxKeyDownActions]", inputs: { actionList: ["dxKeyDownActions", "actionList"] }, usesInheritance: true, ngImport: i0 });
|
15
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: KeyDownActionsDirective, decorators: [{
|
16
19
|
type: Directive,
|
17
20
|
args: [{
|
18
21
|
selector: '[dxKeyDownActions]'
|
19
22
|
}]
|
20
|
-
}],
|
23
|
+
}], propDecorators: { actionList: [{
|
21
24
|
type: Input,
|
22
25
|
args: ['dxKeyDownActions']
|
23
26
|
}] } });
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWRvd24tYWN0aW9ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9keC1yZXBvcnQtdmlld2VyL2NvbXBvbmVudHMvYW5hbHl0aWNzL2RpcmVjdGl2ZXMva2V5LWRvd24tYWN0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdURBQXVELENBQUM7O0FBS3hHLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7SUFIcEU7O1FBV0ksY0FBUyxHQUErQixlQUFlLENBQUM7S0FDM0Q7SUFORyx3QkFBd0IsQ0FBQyxPQUFvQjtRQUN6QyxNQUFNLGVBQWUsR0FBRywrQkFBK0IsRUFBRSxDQUFDO1FBQzFELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7cUhBUFEsdUJBQXVCO3lHQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO2lCQUNqQzs4QkFFOEIsVUFBVTtzQkFBcEMsS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQWN0aW9uTGlzdEJhc2VWaWV3TW9kZWwgfSBmcm9tICdAZGV2ZXhwcmVzcy9hbmFseXRpY3MtY29yZS9hbmFseXRpY3MtaW50ZXJuYWwnO1xuaW1wb3J0IHsgQmFzZURpc3Bvc2FibGVEaXJlY3RpdmUgfSBmcm9tICcuL2Rpc3Bvc2FibGUuZGlyZWN0aXZlLmJhc2UnO1xuaW1wb3J0IHsgR2V0V2luZG93S2V5RG93bkhhbmRsZXJzTWFuYWdlciB9IGZyb20gJ0BkZXZleHByZXNzL2FuYWx5dGljcy1jb3JlL2NvcmUvdG9vbHMvX2tleWJvYXJkSGVscGVyJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZHhLZXlEb3duQWN0aW9uc10nXG59KVxuZXhwb3J0IGNsYXNzIEtleURvd25BY3Rpb25zRGlyZWN0aXZlIGV4dGVuZHMgQmFzZURpc3Bvc2FibGVEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgnZHhLZXlEb3duQWN0aW9ucycpIGFjdGlvbkxpc3Q6IElBY3Rpb25MaXN0QmFzZVZpZXdNb2RlbDtcblxuICAgIEluaXRBbmRSZXR1cm5EaXNwb3NlRnVuYyhlbGVtZW50OiBIVE1MRWxlbWVudCk6ICgpID0+IHZvaWQge1xuICAgICAgICBjb25zdCBoYW5kbGVyc01hbmFnZXIgPSBHZXRXaW5kb3dLZXlEb3duSGFuZGxlcnNNYW5hZ2VyKCk7XG4gICAgICAgIGNvbnN0IGRpc3Bvc2VGdW5jID0gaGFuZGxlcnNNYW5hZ2VyLmJpbmRIYW5kbGVyKGUgPT4gdGhpcy5hY3Rpb25MaXN0LnByb2Nlc3NTaG9ydGN1dChlKSk7XG4gICAgICAgIHJldHVybiAoKSA9PiBkaXNwb3NlRnVuYygpO1xuICAgIH1cbiAgICBldmVudE5hbWU6ICdhZnRlclZpZXdJbml0JyB8ICdvbkluaXQnID0gJ2FmdGVyVmlld0luaXQnO1xufVxuIl19
|
@@ -2,9 +2,9 @@ import { Input, Component, ViewChild } from '@angular/core';
|
|
2
2
|
import { extend } from '@devexpress/analytics-core/analytics-internal-native';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
import * as i1 from "@angular/common";
|
5
|
-
import * as i2 from "
|
6
|
-
import * as i3 from "../../
|
7
|
-
import * as i4 from "../../directives/
|
5
|
+
import * as i2 from "../../template/template.component";
|
6
|
+
import * as i3 from "../../directives/accordion.directive";
|
7
|
+
import * as i4 from "../../directives/buttonWithTemplate.directive";
|
8
8
|
import * as i5 from "../../template/lazy.template.component";
|
9
9
|
export class EditorComponentBase {
|
10
10
|
constructor(_cd) {
|
@@ -56,10 +56,10 @@ export class EditorComponentBase {
|
|
56
56
|
}
|
57
57
|
}
|
58
58
|
EditorComponentBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditorComponentBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
59
|
-
EditorComponentBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EditorComponentBase, selector: "dxa-editor", inputs: { data: "data" }, viewQueries: [{ propertyName: "widget", first: true, predicate: ["widget"], descendants: true }], ngImport: i0, template: "<div class=\"dx-editor\" [hidden]=\"!data.visible\">\r\n <div class=\"dx-group\" [dxaAccordion]=\"data\">\r\n <div class=\"dx-editor-header\">\r\n <div class=\"dx-field\" \r\n role=\"treeitem\"\r\n [attr.id]=\"data.isComplexEditor ? data.headerId : undefined\"\r\n [attr.aria-owns]=\"data.isComplexEditor ? data.contentId : undefined\"\r\n [attr.aria-expanded]=\"data.isComplexEditor && (data.alwaysShow || !data.collapsed ? 'true' : 'false')\"\r\n [class.dxrd-accessibility-accordion-trigger]=\"data.isComplexEditor\"\r\n [class.dx-accessibility-focus-border-accented]=\"data.isComplexEditor\">\r\n <div class=\"dx-field-label dx-accordion-header dxd-text-primary\" \r\n [style.padding-left]=\"data.padding['padding-left'] + 'px'\"\r\n [class.dx-accordion-empty]=\"data.templateName === 'dx-emptyHeader'\">\r\n <div *ngIf=\"data.isComplexEditor\" [attr.disabled]=\"data.templateName !== 'dx-emptyHeader'\">\r\n <dxa-template class=\"dx-collapsing-image dxrd-display-inline-block\" template=\"dxrd-svg-collapsed\" \r\n [class.dx-image-expanded]=\"!data.collapsed\"></dxa-template>\r\n <div *ngIf=\"!!data.textToSearch\" class=\"dx-group-header-font\" [attr.title]=\"data.displayName\" data-bind=\"searchHighlighting: { text: displayName, textToSearch: textToSearch }\"></div>\r\n <div *ngIf=\"!data.textToSearch\" class=\"dx-group-header-font\" [attr.title]=\"data.displayName\">\r\n {{data.displayName}}\r\n </div>\r\n </div>\r\n <label *ngIf=\"!data.isComplexEditor && !!data.textToSearch\" \r\n class=\"propertygrid-editor-displayName\"\r\n data-bind=\"searchHighlighting: { text: displayName, textToSearch: textToSearch }\"\r\n [attr.title]=\"data.displayName\"\r\n [attr.for]=\"data.editorInputId\"\r\n [class.dx-field-label-required]=\"data.isRequired\"\r\n [style.fontWeight]=\"data.isPropertyModified ? 'Bold' : ''\"\r\n ></label>\r\n <label *ngIf=\"!data.isComplexEditor && !data.textToSearch\" \r\n class=\"propertygrid-editor-displayName\"\r\n [attr.title]=\"data.displayName\"\r\n [attr.for]=\"data.editorInputId\"\r\n [class.dx-field-label-required]=\"data.isRequired\"\r\n [style.fontWeight]=\"data.isPropertyModified ? 'Bold' : ''\"\r\n >{{data.displayName}}</label>\r\n <
|
59
|
+
EditorComponentBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EditorComponentBase, selector: "dxa-editor", inputs: { data: "data" }, viewQueries: [{ propertyName: "widget", first: true, predicate: ["widget"], descendants: true }], ngImport: i0, template: "<div class=\"dx-editor\" [hidden]=\"!data.visible\">\r\n <div class=\"dx-group\" [dxaAccordion]=\"data\">\r\n <div class=\"dx-editor-header\">\r\n <div class=\"dx-field\" \r\n role=\"treeitem\"\r\n [attr.id]=\"data.isComplexEditor ? data.headerId : undefined\"\r\n [attr.aria-owns]=\"data.isComplexEditor ? data.contentId : undefined\"\r\n [attr.aria-expanded]=\"data.isComplexEditor && (data.alwaysShow || !data.collapsed ? 'true' : 'false')\"\r\n [class.dxrd-accessibility-accordion-trigger]=\"data.isComplexEditor\"\r\n [class.dx-accessibility-focus-border-accented]=\"data.isComplexEditor\">\r\n <div class=\"dx-field-label dx-accordion-header dxd-text-primary\" \r\n [style.padding-left]=\"data.padding['padding-left'] + 'px'\"\r\n [class.dx-accordion-empty]=\"data.templateName === 'dx-emptyHeader'\">\r\n <div *ngIf=\"data.isComplexEditor\" [attr.disabled]=\"data.templateName !== 'dx-emptyHeader'\">\r\n <dxa-template class=\"dx-collapsing-image dxrd-display-inline-block\" template=\"dxrd-svg-collapsed\" \r\n [class.dx-image-expanded]=\"!data.collapsed\"></dxa-template>\r\n <div *ngIf=\"!!data.textToSearch\" class=\"dx-group-header-font\" [attr.title]=\"data.displayName\" data-bind=\"searchHighlighting: { text: displayName, textToSearch: textToSearch }\"></div>\r\n <div *ngIf=\"!data.textToSearch\" class=\"dx-group-header-font\" [attr.title]=\"data.displayName\">\r\n {{data.displayName}}\r\n </div>\r\n </div>\r\n <label *ngIf=\"!data.isComplexEditor && !!data.textToSearch\" \r\n class=\"propertygrid-editor-displayName\"\r\n data-bind=\"searchHighlighting: { text: displayName, textToSearch: textToSearch }\"\r\n [attr.title]=\"data.displayName\"\r\n [attr.for]=\"data.editorInputId\"\r\n [class.dx-field-label-required]=\"data.isRequired\"\r\n [style.fontWeight]=\"data.isPropertyModified ? 'Bold' : ''\"\r\n ></label>\r\n <label *ngIf=\"!data.isComplexEditor && !data.textToSearch\" \r\n class=\"propertygrid-editor-displayName\"\r\n [attr.title]=\"data.displayName\"\r\n [attr.for]=\"data.editorInputId\"\r\n [class.dx-field-label-required]=\"data.isRequired\"\r\n [style.fontWeight]=\"data.isPropertyModified ? 'Bold' : ''\"\r\n >{{data.displayName}}</label>\r\n <div *ngIf=\"!data.isComplexEditor && data.editorDescriptionAddon\"\r\n class=\"propertygrid-editor-description\"\r\n [dxaButtonWithTemplate]=\"{ onClick: data.editorDescriptionAddon.data.onClick, icon: 'dxrd-svg-tabs-description_info' }\"></div>\r\n </div>\r\n <div class=\"dx-field-value\" \r\n [class.dxd-border-accented]=\"data.isPropertyHighlighted\">\r\n <!-- <div data-bind=\"service: { name: 'createEditorAddOn' }\"></div> -->\r\n <dxa-lazy-template *ngIf=\"data.templateName !== 'dx-emptyHeader'\" [isResolved]=\"isResolved\" [template]=\"data.templateName\" [data]=\"data\"></dxa-lazy-template>\r\n <!-- ko if: templateName !== 'dx-emptyHeader' -->\r\n <!-- ko lazy: { innerBindings: { template: templateName }, isResolved: function(val) { $data.setIsRendered(val) } } -->\r\n <!-- /ko -->\r\n <!-- /ko -->\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data.isComplexEditor\" class=\"dx-editor-content dx-accordion-content\" role=\"group\" \r\n [attr.aria-labelledby]=\"data.headerId\"\r\n [attr.id]=\"data.contentId\"\r\n [attr.aria-hidden]=\"!data.alwaysShow && data.collapsed ? 'true' : 'false'\">\r\n <dxa-template *ngIf=\"data.editorCreated\" [template]=\"data.contentTemplateName\" [data]=\"data\"></dxa-template>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.TemplateComponent, selector: "dxa-template", inputs: ["data", "template"] }, { kind: "directive", type: i3.AccordionDirective, selector: "[dxaAccordion]", inputs: ["dxaAccordion"] }, { kind: "directive", type: i4.ButtonWithTemplateDirective, selector: "[dxaButtonWithTemplate]", inputs: ["dxaButtonWithTemplate"] }, { kind: "component", type: i5.LazyTemplateComponent, selector: "dxa-lazy-template", inputs: ["resolver", "isResolved"] }] });
|
60
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditorComponentBase, decorators: [{
|
61
61
|
type: Component,
|
62
|
-
args: [{ selector: 'dxa-editor', template: "<div class=\"dx-editor\" [hidden]=\"!data.visible\">\r\n <div class=\"dx-group\" [dxaAccordion]=\"data\">\r\n <div class=\"dx-editor-header\">\r\n <div class=\"dx-field\" \r\n role=\"treeitem\"\r\n [attr.id]=\"data.isComplexEditor ? data.headerId : undefined\"\r\n [attr.aria-owns]=\"data.isComplexEditor ? data.contentId : undefined\"\r\n [attr.aria-expanded]=\"data.isComplexEditor && (data.alwaysShow || !data.collapsed ? 'true' : 'false')\"\r\n [class.dxrd-accessibility-accordion-trigger]=\"data.isComplexEditor\"\r\n [class.dx-accessibility-focus-border-accented]=\"data.isComplexEditor\">\r\n <div class=\"dx-field-label dx-accordion-header dxd-text-primary\" \r\n [style.padding-left]=\"data.padding['padding-left'] + 'px'\"\r\n [class.dx-accordion-empty]=\"data.templateName === 'dx-emptyHeader'\">\r\n <div *ngIf=\"data.isComplexEditor\" [attr.disabled]=\"data.templateName !== 'dx-emptyHeader'\">\r\n <dxa-template class=\"dx-collapsing-image dxrd-display-inline-block\" template=\"dxrd-svg-collapsed\" \r\n [class.dx-image-expanded]=\"!data.collapsed\"></dxa-template>\r\n <div *ngIf=\"!!data.textToSearch\" class=\"dx-group-header-font\" [attr.title]=\"data.displayName\" data-bind=\"searchHighlighting: { text: displayName, textToSearch: textToSearch }\"></div>\r\n <div *ngIf=\"!data.textToSearch\" class=\"dx-group-header-font\" [attr.title]=\"data.displayName\">\r\n {{data.displayName}}\r\n </div>\r\n </div>\r\n <label *ngIf=\"!data.isComplexEditor && !!data.textToSearch\" \r\n class=\"propertygrid-editor-displayName\"\r\n data-bind=\"searchHighlighting: { text: displayName, textToSearch: textToSearch }\"\r\n [attr.title]=\"data.displayName\"\r\n [attr.for]=\"data.editorInputId\"\r\n [class.dx-field-label-required]=\"data.isRequired\"\r\n [style.fontWeight]=\"data.isPropertyModified ? 'Bold' : ''\"\r\n ></label>\r\n <label *ngIf=\"!data.isComplexEditor && !data.textToSearch\" \r\n class=\"propertygrid-editor-displayName\"\r\n [attr.title]=\"data.displayName\"\r\n [attr.for]=\"data.editorInputId\"\r\n [class.dx-field-label-required]=\"data.isRequired\"\r\n [style.fontWeight]=\"data.isPropertyModified ? 'Bold' : ''\"\r\n >{{data.displayName}}</label>\r\n <
|
62
|
+
args: [{ selector: 'dxa-editor', template: "<div class=\"dx-editor\" [hidden]=\"!data.visible\">\r\n <div class=\"dx-group\" [dxaAccordion]=\"data\">\r\n <div class=\"dx-editor-header\">\r\n <div class=\"dx-field\" \r\n role=\"treeitem\"\r\n [attr.id]=\"data.isComplexEditor ? data.headerId : undefined\"\r\n [attr.aria-owns]=\"data.isComplexEditor ? data.contentId : undefined\"\r\n [attr.aria-expanded]=\"data.isComplexEditor && (data.alwaysShow || !data.collapsed ? 'true' : 'false')\"\r\n [class.dxrd-accessibility-accordion-trigger]=\"data.isComplexEditor\"\r\n [class.dx-accessibility-focus-border-accented]=\"data.isComplexEditor\">\r\n <div class=\"dx-field-label dx-accordion-header dxd-text-primary\" \r\n [style.padding-left]=\"data.padding['padding-left'] + 'px'\"\r\n [class.dx-accordion-empty]=\"data.templateName === 'dx-emptyHeader'\">\r\n <div *ngIf=\"data.isComplexEditor\" [attr.disabled]=\"data.templateName !== 'dx-emptyHeader'\">\r\n <dxa-template class=\"dx-collapsing-image dxrd-display-inline-block\" template=\"dxrd-svg-collapsed\" \r\n [class.dx-image-expanded]=\"!data.collapsed\"></dxa-template>\r\n <div *ngIf=\"!!data.textToSearch\" class=\"dx-group-header-font\" [attr.title]=\"data.displayName\" data-bind=\"searchHighlighting: { text: displayName, textToSearch: textToSearch }\"></div>\r\n <div *ngIf=\"!data.textToSearch\" class=\"dx-group-header-font\" [attr.title]=\"data.displayName\">\r\n {{data.displayName}}\r\n </div>\r\n </div>\r\n <label *ngIf=\"!data.isComplexEditor && !!data.textToSearch\" \r\n class=\"propertygrid-editor-displayName\"\r\n data-bind=\"searchHighlighting: { text: displayName, textToSearch: textToSearch }\"\r\n [attr.title]=\"data.displayName\"\r\n [attr.for]=\"data.editorInputId\"\r\n [class.dx-field-label-required]=\"data.isRequired\"\r\n [style.fontWeight]=\"data.isPropertyModified ? 'Bold' : ''\"\r\n ></label>\r\n <label *ngIf=\"!data.isComplexEditor && !data.textToSearch\" \r\n class=\"propertygrid-editor-displayName\"\r\n [attr.title]=\"data.displayName\"\r\n [attr.for]=\"data.editorInputId\"\r\n [class.dx-field-label-required]=\"data.isRequired\"\r\n [style.fontWeight]=\"data.isPropertyModified ? 'Bold' : ''\"\r\n >{{data.displayName}}</label>\r\n <div *ngIf=\"!data.isComplexEditor && data.editorDescriptionAddon\"\r\n class=\"propertygrid-editor-description\"\r\n [dxaButtonWithTemplate]=\"{ onClick: data.editorDescriptionAddon.data.onClick, icon: 'dxrd-svg-tabs-description_info' }\"></div>\r\n </div>\r\n <div class=\"dx-field-value\" \r\n [class.dxd-border-accented]=\"data.isPropertyHighlighted\">\r\n <!-- <div data-bind=\"service: { name: 'createEditorAddOn' }\"></div> -->\r\n <dxa-lazy-template *ngIf=\"data.templateName !== 'dx-emptyHeader'\" [isResolved]=\"isResolved\" [template]=\"data.templateName\" [data]=\"data\"></dxa-lazy-template>\r\n <!-- ko if: templateName !== 'dx-emptyHeader' -->\r\n <!-- ko lazy: { innerBindings: { template: templateName }, isResolved: function(val) { $data.setIsRendered(val) } } -->\r\n <!-- /ko -->\r\n <!-- /ko -->\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data.isComplexEditor\" class=\"dx-editor-content dx-accordion-content\" role=\"group\" \r\n [attr.aria-labelledby]=\"data.headerId\"\r\n [attr.id]=\"data.contentId\"\r\n [attr.aria-hidden]=\"!data.alwaysShow && data.collapsed ? 'true' : 'false'\">\r\n <dxa-template *ngIf=\"data.editorCreated\" [template]=\"data.contentTemplateName\" [data]=\"data\"></dxa-template>\r\n </div>\r\n </div>\r\n</div>" }]
|
63
63
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
64
64
|
type: Input,
|
65
65
|
args: ['data']
|
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
67
67
|
type: ViewChild,
|
68
68
|
args: ['widget']
|
69
69
|
}] } });
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9keC1yZXBvcnQtdmlld2VyL2NvbXBvbmVudHMvYW5hbHl0aWNzL3Byb3BlcnRpZXMvZWRpdG9yL2VkaXRvci5iYXNlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZHgtcmVwb3J0LXZpZXdlci9jb21wb25lbnRzL2FuYWx5dGljcy9wcm9wZXJ0aWVzL2VkaXRvci9lZGl0b3IuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBT3RHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7OztBQU85RSxNQUFNLE9BQU8sbUJBQW1CO0lBNEI5QixZQUFzQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUU1QyxDQUFDO0lBekJELGdCQUFnQjtRQUNaLE9BQU8sRUFBYyxDQUFDO0lBQzFCLENBQUM7SUFDRCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCx1QkFBdUI7UUFDbkIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELGlCQUFpQjtRQUNiLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN6QyxLQUFJLE1BQU0sSUFBSSxJQUFJLGNBQWMsRUFBRTtZQUM5QixJQUFHLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDMUYsSUFBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO29CQUNwQyxJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUMxRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDakQ7cUJBQU07b0JBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzdDO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFLRCxlQUFlO1FBQ1gsSUFBRyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQzdFLE9BQU87UUFDWCxNQUFNLFFBQVEsR0FBb0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDdkQsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDNUYsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QixRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ0QsUUFBUTtRQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFZLENBQUM7UUFDN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFnRCxFQUFFLEVBQUU7WUFDcEYsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUksQ0FBQztJQUNELFVBQVUsQ0FBQyxNQUFlO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O2lIQW5EVSxtQkFBbUI7cUdBQW5CLG1CQUFtQiw4S0NkaEMsMi9JQTZETTs0RkQvQ08sbUJBQW1CO2tCQUovQixTQUFTOytCQUNJLFlBQVk7d0dBSVQsSUFBSTtzQkFBbEIsS0FBSzt1QkFBQyxNQUFNO2dCQUNRLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvcGVydGllcyB9IGZyb20gJ2RldmV4dHJlbWUvdWkvdmFsaWRhdG9yJztcbmltcG9ydCB7IElFZGl0b3JWaWV3TW9kZWwgfSBmcm9tICdAZGV2ZXhwcmVzcy9hbmFseXRpY3MtY29yZS9wcm9wZXJ0eS1ncmlkL3dpZGdldHMvZWRpdG9yJztcbmltcG9ydCB7IElNb2RlbCB9IGZyb20gJ0BkZXZleHByZXNzL2FuYWx5dGljcy1jb3JlL3NlcmlhbGl6ZXIvbmF0aXZlL21vZGVscy9pbnRlcmZhY2VzLm1vZGVsJztcbmltcG9ydCB7IFByb3BlcnR5Q2hhbmdlZEV2ZW50QXJncyB9IGZyb20gJ0BkZXZleHByZXNzL2FuYWx5dGljcy1jb3JlL3NlcmlhbGl6ZXIvcHJvcGVydHlDaGFuZ2VkRXZlbnRzJztcbmltcG9ydCBXaWRnZXQgZnJvbSAnZGV2ZXh0cmVtZS91aS93aWRnZXQvdWkud2lkZ2V0JztcbmltcG9ydCB7IER4Q29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcbmltcG9ydCB7IGV4dGVuZCB9IGZyb20gJ0BkZXZleHByZXNzL2FuYWx5dGljcy1jb3JlL2FuYWx5dGljcy1pbnRlcm5hbC1uYXRpdmUnO1xuaW1wb3J0IHsgQ2xpY2tFdmVudCB9IGZyb20gJ2RldmV4dHJlbWUvdWkvYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkeGEtZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRvckNvbXBvbmVudEJhc2U8VCBleHRlbmRzIElFZGl0b3JWaWV3TW9kZWwsIFRPcHRpb25zPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgnZGF0YScpIGRhdGEhOiBUO1xuICBAVmlld0NoaWxkKCd3aWRnZXQnKSB3aWRnZXQhOiBEeENvbXBvbmVudDtcbiAgb3B0aW9uczogVE9wdGlvbnM7XG4gIHZhbGlkYXRvck9wdGlvbnM6IFByb3BlcnRpZXM7XG4gIGdldEVkaXRvck9wdGlvbnMoKTogVE9wdGlvbnMge1xuICAgICAgcmV0dXJuIHt9IGFzIFRPcHRpb25zO1xuICB9XG4gIGdldE9wdGlvbnMoKTogVE9wdGlvbnMge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5nZXRPcHRpb25zKHRoaXMuZ2V0RWRpdG9yT3B0aW9ucygpKTtcbiAgfVxuICBnZXRQcml2YXRlV2lkZ2V0T3B0aW9ucygpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG4gIG9uUHJvcGVydHlDaGFuZ2VkKCk6IHZvaWQge1xuICAgICAgY29uc3QgY3VycmVudE9wdGlvbnMgPSB0aGlzLmdldE9wdGlvbnMoKTtcbiAgICAgIGZvcihjb25zdCBuYW1lIGluIGN1cnJlbnRPcHRpb25zKSB7XG4gICAgICAgICAgaWYodHlwZW9mIGN1cnJlbnRPcHRpb25zW25hbWVdICE9PSAnZnVuY3Rpb24nICYmIGN1cnJlbnRPcHRpb25zW25hbWVdICE9PSB0aGlzLm9wdGlvbnNbbmFtZV0pIHtcbiAgICAgICAgICAgICAgaWYoQXJyYXkuaXNBcnJheShjdXJyZW50T3B0aW9uc1tuYW1lXSkpIHtcbiAgICAgICAgICAgICAgICAgIGlmKEpTT04uc3RyaW5naWZ5KHRoaXMub3B0aW9uc1tuYW1lXSkgIT09IEpTT04uc3RyaW5naWZ5KGN1cnJlbnRPcHRpb25zW25hbWVdKSlcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnNbbmFtZV0gPSBjdXJyZW50T3B0aW9uc1tuYW1lXTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9uc1tuYW1lXSA9IGN1cnJlbnRPcHRpb25zW25hbWVdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgIGlmKCF0aGlzLndpZGdldCB8fCAhKHRoaXMuZGF0YS5leHRlbmRlZE9wdGlvbnMgfHwgdGhpcy5nZXRQcml2YXRlV2lkZ2V0T3B0aW9ucygpKSlcbiAgICAgICAgICByZXR1cm47XG4gICAgICBjb25zdCBkeFdpZGdldDogV2lkZ2V0PHVua25vd24+ID0gdGhpcy53aWRnZXQuaW5zdGFuY2U7XG4gICAgICBkeFdpZGdldC5iZWdpblVwZGF0ZSgpO1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IGV4dGVuZCh0cnVlLCB7fSwgdGhpcy5nZXRQcml2YXRlV2lkZ2V0T3B0aW9ucygpLCB0aGlzLmRhdGEuZXh0ZW5kZWRPcHRpb25zKTtcbiAgICAgIGR4V2lkZ2V0Lm9wdGlvbihvcHRpb25zKTtcbiAgICAgIGR4V2lkZ2V0LmVuZFVwZGF0ZSgpO1xuICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5nZXRPcHRpb25zKCk7XG4gICAgICBjb25zdCBtb2RlbCA9IHRoaXMuZGF0YS5nZXRNb2RlbCgpIGFzIElNb2RlbDtcbiAgICAgIG1vZGVsLmV2ZW50cy5vbigncHJvcGVydHlDaGFuZ2VkJywgKGFyZ3M6IFByb3BlcnR5Q2hhbmdlZEV2ZW50QXJnczxJRWRpdG9yVmlld01vZGVsPikgPT4ge1xuICAgICAgICAgIHRoaXMub25Qcm9wZXJ0eUNoYW5nZWQoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy52YWxpZGF0b3JPcHRpb25zID0gdGhpcy5kYXRhLmdldFZhbGlkYXRvck9wdGlvbnModGhpcy5kYXRhLnZhbGlkYXRvck9wdGlvbnMgfHwgeyB2YWxpZGF0aW9uUnVsZXM6IHRoaXMuZGF0YS52YWxpZGF0aW9uUnVsZXMgfHwgW10gfSk7XG4gIH1cbiAgaXNSZXNvbHZlZChuZXdWYWw6IGJvb2xlYW4pIHtcbiAgICAgIHRoaXMuZGF0YS5zZXRJc1JlbmRlcmVkKG5ld1ZhbCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkeC1lZGl0b3JcIiBbaGlkZGVuXT1cIiFkYXRhLnZpc2libGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkeC1ncm91cFwiIFtkeGFBY2NvcmRpb25dPVwiZGF0YVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkeC1lZGl0b3ItaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkeC1maWVsZFwiIFxyXG4gICAgICAgICAgICAgICAgcm9sZT1cInRyZWVpdGVtXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImRhdGEuaXNDb21wbGV4RWRpdG9yID8gZGF0YS5oZWFkZXJJZCA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLW93bnNdPVwiZGF0YS5pc0NvbXBsZXhFZGl0b3IgPyBkYXRhLmNvbnRlbnRJZCA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImRhdGEuaXNDb21wbGV4RWRpdG9yICYmIChkYXRhLmFsd2F5c1Nob3cgfHwgIWRhdGEuY29sbGFwc2VkID8gJ3RydWUnIDogJ2ZhbHNlJylcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmR4cmQtYWNjZXNzaWJpbGl0eS1hY2NvcmRpb24tdHJpZ2dlcl09XCJkYXRhLmlzQ29tcGxleEVkaXRvclwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZHgtYWNjZXNzaWJpbGl0eS1mb2N1cy1ib3JkZXItYWNjZW50ZWRdPVwiZGF0YS5pc0NvbXBsZXhFZGl0b3JcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHgtZmllbGQtbGFiZWwgZHgtYWNjb3JkaW9uLWhlYWRlciBkeGQtdGV4dC1wcmltYXJ5XCIgXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnBhZGRpbmctbGVmdF09XCJkYXRhLnBhZGRpbmdbJ3BhZGRpbmctbGVmdCddICsgJ3B4J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmR4LWFjY29yZGlvbi1lbXB0eV09XCJkYXRhLnRlbXBsYXRlTmFtZSA9PT0gJ2R4LWVtcHR5SGVhZGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5pc0NvbXBsZXhFZGl0b3JcIiBbYXR0ci5kaXNhYmxlZF09XCJkYXRhLnRlbXBsYXRlTmFtZSAhPT0gJ2R4LWVtcHR5SGVhZGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4YS10ZW1wbGF0ZSBjbGFzcz1cImR4LWNvbGxhcHNpbmctaW1hZ2UgZHhyZC1kaXNwbGF5LWlubGluZS1ibG9ja1wiIHRlbXBsYXRlPVwiZHhyZC1zdmctY29sbGFwc2VkXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmR4LWltYWdlLWV4cGFuZGVkXT1cIiFkYXRhLmNvbGxhcHNlZFwiPjwvZHhhLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhIWRhdGEudGV4dFRvU2VhcmNoXCIgY2xhc3M9XCJkeC1ncm91cC1oZWFkZXItZm9udFwiIFthdHRyLnRpdGxlXT1cImRhdGEuZGlzcGxheU5hbWVcIiBkYXRhLWJpbmQ9XCJzZWFyY2hIaWdobGlnaHRpbmc6IHsgdGV4dDogZGlzcGxheU5hbWUsIHRleHRUb1NlYXJjaDogdGV4dFRvU2VhcmNoIH1cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWRhdGEudGV4dFRvU2VhcmNoXCIgY2xhc3M9XCJkeC1ncm91cC1oZWFkZXItZm9udFwiIFthdHRyLnRpdGxlXT1cImRhdGEuZGlzcGxheU5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhLmRpc3BsYXlOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cIiFkYXRhLmlzQ29tcGxleEVkaXRvciAmJiAhIWRhdGEudGV4dFRvU2VhcmNoXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvcGVydHlncmlkLWVkaXRvci1kaXNwbGF5TmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cInNlYXJjaEhpZ2hsaWdodGluZzogeyB0ZXh0OiBkaXNwbGF5TmFtZSwgdGV4dFRvU2VhcmNoOiB0ZXh0VG9TZWFyY2ggfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cImRhdGEuZGlzcGxheU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwiZGF0YS5lZGl0b3JJbnB1dElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmR4LWZpZWxkLWxhYmVsLXJlcXVpcmVkXT1cImRhdGEuaXNSZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5mb250V2VpZ2h0XT1cImRhdGEuaXNQcm9wZXJ0eU1vZGlmaWVkID8gJ0JvbGQnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiIWRhdGEuaXNDb21wbGV4RWRpdG9yICYmICFkYXRhLnRleHRUb1NlYXJjaFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb3BlcnR5Z3JpZC1lZGl0b3ItZGlzcGxheU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJkYXRhLmRpc3BsYXlOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cImRhdGEuZWRpdG9ySW5wdXRJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5keC1maWVsZC1sYWJlbC1yZXF1aXJlZF09XCJkYXRhLmlzUmVxdWlyZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuZm9udFdlaWdodF09XCJkYXRhLmlzUHJvcGVydHlNb2RpZmllZCA/ICdCb2xkJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPnt7ZGF0YS5kaXNwbGF5TmFtZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4LWJ1dHRvbiAqbmdJZj1cIiFkYXRhLmlzQ29tcGxleEVkaXRvciAmJiBkYXRhLmVkaXRvckRlc2NyaXB0aW9uQWRkb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb3BlcnR5Z3JpZC1lZGl0b3ItZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJkYXRhLmVkaXRvckRlc2NyaXB0aW9uQWRkb24uZGF0YS5vbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHhhLXRlbXBsYXRlIHRlbXBsYXRlPVwiZHhyZC1zdmctdGFicy1kZXNjcmlwdGlvbl9pbmZvXCI+PC9keGEtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHgtZmllbGQtdmFsdWVcIiBcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5keGQtYm9yZGVyLWFjY2VudGVkXT1cImRhdGEuaXNQcm9wZXJ0eUhpZ2hsaWdodGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGRhdGEtYmluZD1cInNlcnZpY2U6IHsgbmFtZTogJ2NyZWF0ZUVkaXRvckFkZE9uJyB9XCI+PC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkeGEtbGF6eS10ZW1wbGF0ZSAqbmdJZj1cImRhdGEudGVtcGxhdGVOYW1lICE9PSAnZHgtZW1wdHlIZWFkZXInXCIgW2lzUmVzb2x2ZWRdPVwiaXNSZXNvbHZlZFwiIFt0ZW1wbGF0ZV09XCJkYXRhLnRlbXBsYXRlTmFtZVwiIFtkYXRhXT1cImRhdGFcIj48L2R4YS1sYXp5LXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gaWY6IHRlbXBsYXRlTmFtZSAhPT0gJ2R4LWVtcHR5SGVhZGVyJyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGxhenk6IHsgaW5uZXJCaW5kaW5nczogeyB0ZW1wbGF0ZTogdGVtcGxhdGVOYW1lIH0sIGlzUmVzb2x2ZWQ6IGZ1bmN0aW9uKHZhbCkgeyAkZGF0YS5zZXRJc1JlbmRlcmVkKHZhbCkgfSB9IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJkYXRhLmlzQ29tcGxleEVkaXRvclwiIGNsYXNzPVwiZHgtZWRpdG9yLWNvbnRlbnQgZHgtYWNjb3JkaW9uLWNvbnRlbnRcIiByb2xlPVwiZ3JvdXBcIiBcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZGF0YS5oZWFkZXJJZFwiXHJcbiAgICAgICAgW2F0dHIuaWRdPVwiZGF0YS5jb250ZW50SWRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIiFkYXRhLmFsd2F5c1Nob3cgJiYgZGF0YS5jb2xsYXBzZWQgPyAndHJ1ZScgOiAnZmFsc2UnXCI+XHJcbiAgICAgICAgPGR4YS10ZW1wbGF0ZSAqbmdJZj1cImRhdGEuZWRpdG9yQ3JlYXRlZFwiIFt0ZW1wbGF0ZV09XCJkYXRhLmNvbnRlbnRUZW1wbGF0ZU5hbWVcIiBbZGF0YV09XCJkYXRhXCI+PC9keGEtdGVtcGxhdGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9keC1yZXBvcnQtdmlld2VyL2NvbXBvbmVudHMvYW5hbHl0aWNzL3Byb3BlcnRpZXMvZWRpdG9yL2VkaXRvci5iYXNlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZHgtcmVwb3J0LXZpZXdlci9jb21wb25lbnRzL2FuYWx5dGljcy9wcm9wZXJ0aWVzL2VkaXRvci9lZGl0b3IuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBT3RHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7OztBQU85RSxNQUFNLE9BQU8sbUJBQW1CO0lBNEI5QixZQUFzQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUU1QyxDQUFDO0lBekJELGdCQUFnQjtRQUNaLE9BQU8sRUFBYyxDQUFDO0lBQzFCLENBQUM7SUFDRCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCx1QkFBdUI7UUFDbkIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELGlCQUFpQjtRQUNiLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN6QyxLQUFJLE1BQU0sSUFBSSxJQUFJLGNBQWMsRUFBRTtZQUM5QixJQUFHLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDMUYsSUFBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO29CQUNwQyxJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUMxRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDakQ7cUJBQU07b0JBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzdDO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFLRCxlQUFlO1FBQ1gsSUFBRyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQzdFLE9BQU87UUFDWCxNQUFNLFFBQVEsR0FBb0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDdkQsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDNUYsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QixRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ0QsUUFBUTtRQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFZLENBQUM7UUFDN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFnRCxFQUFFLEVBQUU7WUFDcEYsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUksQ0FBQztJQUNELFVBQVUsQ0FBQyxNQUFlO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O2lIQW5EVSxtQkFBbUI7cUdBQW5CLG1CQUFtQiw4S0NkaEMseTVJQTBETTs0RkQ1Q08sbUJBQW1CO2tCQUovQixTQUFTOytCQUNJLFlBQVk7d0dBSVQsSUFBSTtzQkFBbEIsS0FBSzt1QkFBQyxNQUFNO2dCQUNRLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvcGVydGllcyB9IGZyb20gJ2RldmV4dHJlbWUvdWkvdmFsaWRhdG9yJztcbmltcG9ydCB7IElFZGl0b3JWaWV3TW9kZWwgfSBmcm9tICdAZGV2ZXhwcmVzcy9hbmFseXRpY3MtY29yZS9wcm9wZXJ0eS1ncmlkL3dpZGdldHMvZWRpdG9yJztcbmltcG9ydCB7IElNb2RlbCB9IGZyb20gJ0BkZXZleHByZXNzL2FuYWx5dGljcy1jb3JlL3NlcmlhbGl6ZXIvbmF0aXZlL21vZGVscy9pbnRlcmZhY2VzLm1vZGVsJztcbmltcG9ydCB7IFByb3BlcnR5Q2hhbmdlZEV2ZW50QXJncyB9IGZyb20gJ0BkZXZleHByZXNzL2FuYWx5dGljcy1jb3JlL3NlcmlhbGl6ZXIvcHJvcGVydHlDaGFuZ2VkRXZlbnRzJztcbmltcG9ydCBXaWRnZXQgZnJvbSAnZGV2ZXh0cmVtZS91aS93aWRnZXQvdWkud2lkZ2V0JztcbmltcG9ydCB7IER4Q29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcbmltcG9ydCB7IGV4dGVuZCB9IGZyb20gJ0BkZXZleHByZXNzL2FuYWx5dGljcy1jb3JlL2FuYWx5dGljcy1pbnRlcm5hbC1uYXRpdmUnO1xuaW1wb3J0IHsgQ2xpY2tFdmVudCB9IGZyb20gJ2RldmV4dHJlbWUvdWkvYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkeGEtZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRvckNvbXBvbmVudEJhc2U8VCBleHRlbmRzIElFZGl0b3JWaWV3TW9kZWwsIFRPcHRpb25zPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgnZGF0YScpIGRhdGEhOiBUO1xuICBAVmlld0NoaWxkKCd3aWRnZXQnKSB3aWRnZXQhOiBEeENvbXBvbmVudDtcbiAgb3B0aW9uczogVE9wdGlvbnM7XG4gIHZhbGlkYXRvck9wdGlvbnM6IFByb3BlcnRpZXM7XG4gIGdldEVkaXRvck9wdGlvbnMoKTogVE9wdGlvbnMge1xuICAgICAgcmV0dXJuIHt9IGFzIFRPcHRpb25zO1xuICB9XG4gIGdldE9wdGlvbnMoKTogVE9wdGlvbnMge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5nZXRPcHRpb25zKHRoaXMuZ2V0RWRpdG9yT3B0aW9ucygpKTtcbiAgfVxuICBnZXRQcml2YXRlV2lkZ2V0T3B0aW9ucygpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG4gIG9uUHJvcGVydHlDaGFuZ2VkKCk6IHZvaWQge1xuICAgICAgY29uc3QgY3VycmVudE9wdGlvbnMgPSB0aGlzLmdldE9wdGlvbnMoKTtcbiAgICAgIGZvcihjb25zdCBuYW1lIGluIGN1cnJlbnRPcHRpb25zKSB7XG4gICAgICAgICAgaWYodHlwZW9mIGN1cnJlbnRPcHRpb25zW25hbWVdICE9PSAnZnVuY3Rpb24nICYmIGN1cnJlbnRPcHRpb25zW25hbWVdICE9PSB0aGlzLm9wdGlvbnNbbmFtZV0pIHtcbiAgICAgICAgICAgICAgaWYoQXJyYXkuaXNBcnJheShjdXJyZW50T3B0aW9uc1tuYW1lXSkpIHtcbiAgICAgICAgICAgICAgICAgIGlmKEpTT04uc3RyaW5naWZ5KHRoaXMub3B0aW9uc1tuYW1lXSkgIT09IEpTT04uc3RyaW5naWZ5KGN1cnJlbnRPcHRpb25zW25hbWVdKSlcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnNbbmFtZV0gPSBjdXJyZW50T3B0aW9uc1tuYW1lXTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9uc1tuYW1lXSA9IGN1cnJlbnRPcHRpb25zW25hbWVdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgIGlmKCF0aGlzLndpZGdldCB8fCAhKHRoaXMuZGF0YS5leHRlbmRlZE9wdGlvbnMgfHwgdGhpcy5nZXRQcml2YXRlV2lkZ2V0T3B0aW9ucygpKSlcbiAgICAgICAgICByZXR1cm47XG4gICAgICBjb25zdCBkeFdpZGdldDogV2lkZ2V0PHVua25vd24+ID0gdGhpcy53aWRnZXQuaW5zdGFuY2U7XG4gICAgICBkeFdpZGdldC5iZWdpblVwZGF0ZSgpO1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IGV4dGVuZCh0cnVlLCB7fSwgdGhpcy5nZXRQcml2YXRlV2lkZ2V0T3B0aW9ucygpLCB0aGlzLmRhdGEuZXh0ZW5kZWRPcHRpb25zKTtcbiAgICAgIGR4V2lkZ2V0Lm9wdGlvbihvcHRpb25zKTtcbiAgICAgIGR4V2lkZ2V0LmVuZFVwZGF0ZSgpO1xuICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5nZXRPcHRpb25zKCk7XG4gICAgICBjb25zdCBtb2RlbCA9IHRoaXMuZGF0YS5nZXRNb2RlbCgpIGFzIElNb2RlbDtcbiAgICAgIG1vZGVsLmV2ZW50cy5vbigncHJvcGVydHlDaGFuZ2VkJywgKGFyZ3M6IFByb3BlcnR5Q2hhbmdlZEV2ZW50QXJnczxJRWRpdG9yVmlld01vZGVsPikgPT4ge1xuICAgICAgICAgIHRoaXMub25Qcm9wZXJ0eUNoYW5nZWQoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy52YWxpZGF0b3JPcHRpb25zID0gdGhpcy5kYXRhLmdldFZhbGlkYXRvck9wdGlvbnModGhpcy5kYXRhLnZhbGlkYXRvck9wdGlvbnMgfHwgeyB2YWxpZGF0aW9uUnVsZXM6IHRoaXMuZGF0YS52YWxpZGF0aW9uUnVsZXMgfHwgW10gfSk7XG4gIH1cbiAgaXNSZXNvbHZlZChuZXdWYWw6IGJvb2xlYW4pIHtcbiAgICAgIHRoaXMuZGF0YS5zZXRJc1JlbmRlcmVkKG5ld1ZhbCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkeC1lZGl0b3JcIiBbaGlkZGVuXT1cIiFkYXRhLnZpc2libGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkeC1ncm91cFwiIFtkeGFBY2NvcmRpb25dPVwiZGF0YVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkeC1lZGl0b3ItaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkeC1maWVsZFwiIFxyXG4gICAgICAgICAgICAgICAgcm9sZT1cInRyZWVpdGVtXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImRhdGEuaXNDb21wbGV4RWRpdG9yID8gZGF0YS5oZWFkZXJJZCA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLW93bnNdPVwiZGF0YS5pc0NvbXBsZXhFZGl0b3IgPyBkYXRhLmNvbnRlbnRJZCA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImRhdGEuaXNDb21wbGV4RWRpdG9yICYmIChkYXRhLmFsd2F5c1Nob3cgfHwgIWRhdGEuY29sbGFwc2VkID8gJ3RydWUnIDogJ2ZhbHNlJylcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmR4cmQtYWNjZXNzaWJpbGl0eS1hY2NvcmRpb24tdHJpZ2dlcl09XCJkYXRhLmlzQ29tcGxleEVkaXRvclwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZHgtYWNjZXNzaWJpbGl0eS1mb2N1cy1ib3JkZXItYWNjZW50ZWRdPVwiZGF0YS5pc0NvbXBsZXhFZGl0b3JcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHgtZmllbGQtbGFiZWwgZHgtYWNjb3JkaW9uLWhlYWRlciBkeGQtdGV4dC1wcmltYXJ5XCIgXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnBhZGRpbmctbGVmdF09XCJkYXRhLnBhZGRpbmdbJ3BhZGRpbmctbGVmdCddICsgJ3B4J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmR4LWFjY29yZGlvbi1lbXB0eV09XCJkYXRhLnRlbXBsYXRlTmFtZSA9PT0gJ2R4LWVtcHR5SGVhZGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5pc0NvbXBsZXhFZGl0b3JcIiBbYXR0ci5kaXNhYmxlZF09XCJkYXRhLnRlbXBsYXRlTmFtZSAhPT0gJ2R4LWVtcHR5SGVhZGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4YS10ZW1wbGF0ZSBjbGFzcz1cImR4LWNvbGxhcHNpbmctaW1hZ2UgZHhyZC1kaXNwbGF5LWlubGluZS1ibG9ja1wiIHRlbXBsYXRlPVwiZHhyZC1zdmctY29sbGFwc2VkXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmR4LWltYWdlLWV4cGFuZGVkXT1cIiFkYXRhLmNvbGxhcHNlZFwiPjwvZHhhLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhIWRhdGEudGV4dFRvU2VhcmNoXCIgY2xhc3M9XCJkeC1ncm91cC1oZWFkZXItZm9udFwiIFthdHRyLnRpdGxlXT1cImRhdGEuZGlzcGxheU5hbWVcIiBkYXRhLWJpbmQ9XCJzZWFyY2hIaWdobGlnaHRpbmc6IHsgdGV4dDogZGlzcGxheU5hbWUsIHRleHRUb1NlYXJjaDogdGV4dFRvU2VhcmNoIH1cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWRhdGEudGV4dFRvU2VhcmNoXCIgY2xhc3M9XCJkeC1ncm91cC1oZWFkZXItZm9udFwiIFthdHRyLnRpdGxlXT1cImRhdGEuZGlzcGxheU5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhLmRpc3BsYXlOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cIiFkYXRhLmlzQ29tcGxleEVkaXRvciAmJiAhIWRhdGEudGV4dFRvU2VhcmNoXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvcGVydHlncmlkLWVkaXRvci1kaXNwbGF5TmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cInNlYXJjaEhpZ2hsaWdodGluZzogeyB0ZXh0OiBkaXNwbGF5TmFtZSwgdGV4dFRvU2VhcmNoOiB0ZXh0VG9TZWFyY2ggfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cImRhdGEuZGlzcGxheU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwiZGF0YS5lZGl0b3JJbnB1dElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmR4LWZpZWxkLWxhYmVsLXJlcXVpcmVkXT1cImRhdGEuaXNSZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5mb250V2VpZ2h0XT1cImRhdGEuaXNQcm9wZXJ0eU1vZGlmaWVkID8gJ0JvbGQnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiIWRhdGEuaXNDb21wbGV4RWRpdG9yICYmICFkYXRhLnRleHRUb1NlYXJjaFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb3BlcnR5Z3JpZC1lZGl0b3ItZGlzcGxheU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJkYXRhLmRpc3BsYXlOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cImRhdGEuZWRpdG9ySW5wdXRJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5keC1maWVsZC1sYWJlbC1yZXF1aXJlZF09XCJkYXRhLmlzUmVxdWlyZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuZm9udFdlaWdodF09XCJkYXRhLmlzUHJvcGVydHlNb2RpZmllZCA/ICdCb2xkJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPnt7ZGF0YS5kaXNwbGF5TmFtZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFkYXRhLmlzQ29tcGxleEVkaXRvciAmJiBkYXRhLmVkaXRvckRlc2NyaXB0aW9uQWRkb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9wZXJ0eWdyaWQtZWRpdG9yLWRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkeGFCdXR0b25XaXRoVGVtcGxhdGVdPVwieyBvbkNsaWNrOiBkYXRhLmVkaXRvckRlc2NyaXB0aW9uQWRkb24uZGF0YS5vbkNsaWNrLCBpY29uOiAnZHhyZC1zdmctdGFicy1kZXNjcmlwdGlvbl9pbmZvJyB9XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImR4LWZpZWxkLXZhbHVlXCIgXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZHhkLWJvcmRlci1hY2NlbnRlZF09XCJkYXRhLmlzUHJvcGVydHlIaWdobGlnaHRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBkYXRhLWJpbmQ9XCJzZXJ2aWNlOiB7IG5hbWU6ICdjcmVhdGVFZGl0b3JBZGRPbicgfVwiPjwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhhLWxhenktdGVtcGxhdGUgKm5nSWY9XCJkYXRhLnRlbXBsYXRlTmFtZSAhPT0gJ2R4LWVtcHR5SGVhZGVyJ1wiIFtpc1Jlc29sdmVkXT1cImlzUmVzb2x2ZWRcIiBbdGVtcGxhdGVdPVwiZGF0YS50ZW1wbGF0ZU5hbWVcIiBbZGF0YV09XCJkYXRhXCI+PC9keGEtbGF6eS10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiB0ZW1wbGF0ZU5hbWUgIT09ICdkeC1lbXB0eUhlYWRlcicgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBsYXp5OiB7IGlubmVyQmluZGluZ3M6IHsgdGVtcGxhdGU6IHRlbXBsYXRlTmFtZSB9LCBpc1Jlc29sdmVkOiBmdW5jdGlvbih2YWwpIHsgJGRhdGEuc2V0SXNSZW5kZXJlZCh2YWwpIH0gfSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5pc0NvbXBsZXhFZGl0b3JcIiBjbGFzcz1cImR4LWVkaXRvci1jb250ZW50IGR4LWFjY29yZGlvbi1jb250ZW50XCIgcm9sZT1cImdyb3VwXCIgXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImRhdGEuaGVhZGVySWRcIlxyXG4gICAgICAgIFthdHRyLmlkXT1cImRhdGEuY29udGVudElkXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhZGF0YS5hbHdheXNTaG93ICYmIGRhdGEuY29sbGFwc2VkID8gJ3RydWUnIDogJ2ZhbHNlJ1wiPlxyXG4gICAgICAgIDxkeGEtdGVtcGxhdGUgKm5nSWY9XCJkYXRhLmVkaXRvckNyZWF0ZWRcIiBbdGVtcGxhdGVdPVwiZGF0YS5jb250ZW50VGVtcGxhdGVOYW1lXCIgW2RhdGFdPVwiZGF0YVwiPjwvZHhhLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
@@ -1,12 +1,9 @@
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
2
2
|
import { createDateRangeEditor } from 'devexpress-reporting/viewer/widgets/dateRange/dateRangeEditor';
|
3
|
-
import { generateIconTemplate } from '@devexpress/analytics-core/core/widgets/_generateIconTemplate';
|
4
|
-
import { KeyboardEnum } from '@devexpress/analytics-core/property-grid/widgets/internal/_utils';
|
5
3
|
import { ViewModelChangedEvent } from '@devexpress/analytics-core/serializer/native/viewModels/viewModelGenerator';
|
6
4
|
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "
|
8
|
-
import * as i2 from "
|
9
|
-
import * as i3 from "../../../analytics/template/template.component";
|
5
|
+
import * as i1 from "../../../analytics/template/template.component";
|
6
|
+
import * as i2 from "../../../analytics/directives/ellipsisEditor.directive";
|
10
7
|
export class DateRangeComponent {
|
11
8
|
constructor(_currentElement, _changeDetectorRef) {
|
12
9
|
this._currentElement = _currentElement;
|
@@ -23,40 +20,19 @@ export class DateRangeComponent {
|
|
23
20
|
this._changeDetectorRef.markForCheck();
|
24
21
|
});
|
25
22
|
this.data.cacheElement(this._currentElement.nativeElement);
|
26
|
-
|
23
|
+
this.processClickEvent = () => {
|
27
24
|
this.data.showPopup();
|
28
25
|
this._changeDetectorRef.markForCheck();
|
29
26
|
};
|
30
|
-
const processKeyBoardEvent = (e) => {
|
31
|
-
if (e.key == KeyboardEnum.Enter || (e.key == KeyboardEnum.ArrowDown && e.altKey)) {
|
32
|
-
this.data.showPopup();
|
33
|
-
this._changeDetectorRef.markForCheck();
|
34
|
-
}
|
35
|
-
};
|
36
|
-
this.subscribeToEvents = (event) => {
|
37
|
-
this.textBoxInputElement = event.element.querySelector('.dx-texteditor-input');
|
38
|
-
this.textBoxInputElement?.addEventListener('click', processClickEvent);
|
39
|
-
this.textBoxInputElement?.addEventListener('keydown', processKeyBoardEvent);
|
40
|
-
};
|
41
|
-
this.unsubscribeFromEvents = () => {
|
42
|
-
this.textBoxInputElement?.removeEventListener('click', processClickEvent);
|
43
|
-
this.textBoxInputElement?.removeEventListener('keydown', processKeyBoardEvent);
|
44
|
-
};
|
45
|
-
this.showPopupOptions = {
|
46
|
-
disabled: false,
|
47
|
-
onClick: processClickEvent,
|
48
|
-
template: generateIconTemplate('dx-ellipsis-image'),
|
49
|
-
icon: 'dxrd-svg-ellipsis'
|
50
|
-
};
|
51
27
|
}
|
52
28
|
}
|
53
29
|
DateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
54
|
-
DateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateRangeComponent, selector: "dxv-date-range", inputs: { options: ["data", "options"] }, ngImport: i0, template: "<div class=\"dxrv-daterange-editor\">\n <
|
30
|
+
DateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateRangeComponent, selector: "dxv-date-range", inputs: { options: ["data", "options"] }, ngImport: i0, template: "<div class=\"dxrv-daterange-editor\">\n <div [dxaEllipsisEditor]=\"{\n buttonAction: processClickEvent,\n value: data.displayValue,\n readOnly: true,\n openOnFieldClick: true,\n inputAttr: { 'aria-label': data._displayName, id: data._editorInputId }\n }\"></div>\n <dxa-template [template]=\"data.popupTemplate\" [data]=\"data.popupModel\"></dxa-template>\n</div>", dependencies: [{ kind: "component", type: i1.TemplateComponent, selector: "dxa-template", inputs: ["data", "template"] }, { kind: "directive", type: i2.EllipsisEditorDirective, selector: "[dxaEllipsisEditor]", inputs: ["dxaEllipsisEditor"] }] });
|
55
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeComponent, decorators: [{
|
56
32
|
type: Component,
|
57
|
-
args: [{ selector: 'dxv-date-range', template: "<div class=\"dxrv-daterange-editor\">\n <
|
33
|
+
args: [{ selector: 'dxv-date-range', template: "<div class=\"dxrv-daterange-editor\">\n <div [dxaEllipsisEditor]=\"{\n buttonAction: processClickEvent,\n value: data.displayValue,\n readOnly: true,\n openOnFieldClick: true,\n inputAttr: { 'aria-label': data._displayName, id: data._editorInputId }\n }\"></div>\n <dxa-template [template]=\"data.popupTemplate\" [data]=\"data.popupModel\"></dxa-template>\n</div>" }]
|
58
34
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { options: [{
|
59
35
|
type: Input,
|
60
36
|
args: ['data']
|
61
37
|
}] } });
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9keC1yZXBvcnQtdmlld2VyL2NvbXBvbmVudHMvcmVwb3J0aW5nL3BhcmFtZXRlcnNwYW5lbC9kYXRlLXJhbmdlL2RhdGUtcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZHgtcmVwb3J0LXZpZXdlci9jb21wb25lbnRzL3JlcG9ydGluZy9wYXJhbWV0ZXJzcGFuZWwvZGF0ZS1yYW5nZS9kYXRlLXJhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUE0QyxNQUFNLCtEQUErRCxDQUFDO0FBR2hKLE9BQU8sRUFBc0IscUJBQXFCLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQzs7OztBQU12SSxNQUFNLE9BQU8sa0JBQWtCO0lBTTNCLFlBQW9CLGVBQWdDLEVBQVUsa0JBQXFDO1FBQS9FLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFVLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7SUFBRyxDQUFDO0lBQ3ZHLFdBQVc7UUFDUCxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUEyQixDQUFDLENBQUM7UUFDekgsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUksSUFBSSxDQUFDLElBQXNELENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLHFCQUFxQixFQUFFLEdBQUcsRUFBRTtZQUNoSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs7Z0hBdkJRLGtCQUFrQjtvR0FBbEIsa0JBQWtCLGdHQ1YvQiwrWUFTTTs0RkRDTyxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0ksZ0JBQWdCO2lJQUlYLE9BQU87c0JBQXJCLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlRGF0ZVJhbmdlRWRpdG9yLCBEYXRlUmFuZ2VFZGl0b3IsIElEYXRlUmFuZ2VFZGl0b3JPcHRpb25zIH0gZnJvbSAnZGV2ZXhwcmVzcy1yZXBvcnRpbmcvdmlld2VyL3dpZGdldHMvZGF0ZVJhbmdlL2RhdGVSYW5nZUVkaXRvcic7XG5pbXBvcnQgeyBJRGF0ZVJhbmdlRWRpdG9yVmlld01vZGVsIH0gZnJvbSAnZGV2ZXhwcmVzcy1yZXBvcnRpbmcvdmlld2VyL3dpZGdldHMvZGF0ZVJhbmdlL2RhdGVSYW5nZUVkaXRvci52aWV3bW9kZWwnO1xuaW1wb3J0IHsgSUVkaXRvclZpZXdNb2RlbCB9IGZyb20gJ0BkZXZleHByZXNzL2FuYWx5dGljcy1jb3JlL2FuYWx5dGljcy13aWRnZXRzLW5hdGl2ZSc7XG5pbXBvcnQgeyBFdmVudE1hbmFnZXJIb2xkZXIsIFZpZXdNb2RlbENoYW5nZWRFdmVudCB9IGZyb20gJ0BkZXZleHByZXNzL2FuYWx5dGljcy1jb3JlL3NlcmlhbGl6ZXIvbmF0aXZlL3ZpZXdNb2RlbHMvdmlld01vZGVsR2VuZXJhdG9yJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkeHYtZGF0ZS1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoJ2RhdGEnKSBvcHRpb25zOiBJRGF0ZVJhbmdlRWRpdG9yT3B0aW9ucztcbiAgICBwcml2YXRlIF9lZGl0b3I6IERhdGVSYW5nZUVkaXRvcjtcbiAgICBkYXRhOiBJRGF0ZVJhbmdlRWRpdG9yVmlld01vZGVsO1xuICAgIHByaXZhdGUgX3ZtU3Vic2NyaXB0aW9uOiAoKSA9PiB2b2lkO1xuICAgIHByb2Nlc3NDbGlja0V2ZW50OiAoKSA9PiB2b2lkO1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2N1cnJlbnRFbGVtZW50OiBFbGVtZW50UmVmPGFueT4sIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdm1TdWJzY3JpcHRpb24gJiYgdGhpcy5fdm1TdWJzY3JpcHRpb24oKTtcbiAgICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2VkaXRvciA9IGNyZWF0ZURhdGVSYW5nZUVkaXRvcih0aGlzLm9wdGlvbnMsIHRoaXMuX2N1cnJlbnRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMub3B0aW9ucyBhcyBJRWRpdG9yVmlld01vZGVsKTtcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5fZWRpdG9yLmdldFZpZXdNb2RlbCgpO1xuICAgICAgICB0aGlzLl92bVN1YnNjcmlwdGlvbiA9ICh0aGlzLmRhdGEgYXMgRXZlbnRNYW5hZ2VySG9sZGVyPElEYXRlUmFuZ2VFZGl0b3JWaWV3TW9kZWw+KS5fdmlld01vZGVsRXZlbnRzLm9uKFZpZXdNb2RlbENoYW5nZWRFdmVudCwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRhdGEuY2FjaGVFbGVtZW50KHRoaXMuX2N1cnJlbnRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgIHRoaXMucHJvY2Vzc0NsaWNrRXZlbnQgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRhdGEuc2hvd1BvcHVwKCk7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfTtcbiAgICB9XG59IiwiPGRpdiBjbGFzcz1cImR4cnYtZGF0ZXJhbmdlLWVkaXRvclwiPlxuICAgIDxkaXYgW2R4YUVsbGlwc2lzRWRpdG9yXT1cIntcbiAgICAgIGJ1dHRvbkFjdGlvbjogcHJvY2Vzc0NsaWNrRXZlbnQsXG4gICAgICB2YWx1ZTogZGF0YS5kaXNwbGF5VmFsdWUsXG4gICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgIG9wZW5PbkZpZWxkQ2xpY2s6IHRydWUsXG4gICAgICBpbnB1dEF0dHI6IHsgJ2FyaWEtbGFiZWwnOiBkYXRhLl9kaXNwbGF5TmFtZSwgaWQ6IGRhdGEuX2VkaXRvcklucHV0SWQgfVxuICAgIH1cIj48L2Rpdj5cbiAgICA8ZHhhLXRlbXBsYXRlIFt0ZW1wbGF0ZV09XCJkYXRhLnBvcHVwVGVtcGxhdGVcIiBbZGF0YV09XCJkYXRhLnBvcHVwTW9kZWxcIj48L2R4YS10ZW1wbGF0ZT5cbjwvZGl2PiJdfQ==
|