igniteui-angular-extras 16.0.3 → 17.0.0
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/igniteui-angular-extras.mjs +4 -4
- package/esm2022/images/charts.mjs +17 -17
- package/esm2022/images/conditions.mjs +11 -11
- package/esm2022/lib/context-menu/chart-dialog/chart-dialog.component.mjs +67 -67
- package/esm2022/lib/context-menu/context-menu.component.mjs +176 -176
- package/esm2022/lib/context-menu/igx-context-menu.directive.mjs +154 -154
- package/esm2022/lib/directives/chart-integration/chart-integration.directive.mjs +312 -312
- package/esm2022/lib/directives/chart-integration/chart-types.mjs +27 -27
- package/esm2022/lib/directives/chart-integration/initializers.mjs +102 -102
- package/esm2022/lib/directives/conditional-formatting/conditional-formatting.directive.mjs +303 -303
- package/esm2022/lib/igniteui-angular-extras.module.mjs +107 -107
- package/esm2022/lib/pipes/svg.pipe.mjs +19 -19
- package/esm2022/public-api.mjs +20 -20
- package/fesm2022/igniteui-angular-extras.mjs +1228 -1228
- package/fesm2022/igniteui-angular-extras.mjs.map +1 -1
- package/images/charts.d.ts +16 -16
- package/images/conditions.d.ts +10 -10
- package/index.d.ts +5 -5
- package/lib/context-menu/chart-dialog/chart-dialog.component.d.ts +31 -31
- package/lib/context-menu/context-menu.component.d.ts +37 -37
- package/lib/context-menu/igx-context-menu.directive.d.ts +33 -33
- package/lib/directives/chart-integration/chart-integration.directive.d.ts +52 -52
- package/lib/directives/chart-integration/chart-types.d.ts +25 -25
- package/lib/directives/chart-integration/initializers.d.ts +39 -39
- package/lib/directives/conditional-formatting/conditional-formatting.directive.d.ts +95 -95
- package/lib/igniteui-angular-extras.module.d.ts +15 -15
- package/lib/pipes/svg.pipe.d.ts +10 -10
- package/package.json +6 -6
- package/public-api.d.ts +17 -17
|
@@ -1,176 +1,176 @@
|
|
|
1
|
-
import { Component, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import { AutoPositionStrategy, HorizontalAlignment, IgxToggleDirective, VerticalAlignment, IgxTabsComponent, CloseScrollStrategy } from 'igniteui-angular';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { IgxChartMenuComponent } from './chart-dialog/chart-dialog.component';
|
|
6
|
-
import * as charts from '../../images/charts';
|
|
7
|
-
import * as conditions from '../../images/conditions';
|
|
8
|
-
import { CHART_TYPE } from '../directives/chart-integration/chart-types';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "igniteui-angular";
|
|
11
|
-
import * as i2 from "@angular/common";
|
|
12
|
-
import * as i3 from "../pipes/svg.pipe";
|
|
13
|
-
export class IgxContextMenuComponent {
|
|
14
|
-
constructor(overlayService) {
|
|
15
|
-
this.overlayService = overlayService;
|
|
16
|
-
this.chartTypes = [];
|
|
17
|
-
this.textFormatters = [];
|
|
18
|
-
this.destroy$ = new Subject();
|
|
19
|
-
this._chartDialogOS = { closeOnOutsideClick: false };
|
|
20
|
-
this._tabsMenuOverlaySettings = {
|
|
21
|
-
closeOnOutsideClick: false,
|
|
22
|
-
modal: false,
|
|
23
|
-
outlet: null,
|
|
24
|
-
scrollStrategy: new CloseScrollStrategy(),
|
|
25
|
-
positionStrategy: new AutoPositionStrategy({
|
|
26
|
-
horizontalDirection: HorizontalAlignment.Center,
|
|
27
|
-
horizontalStartPoint: HorizontalAlignment.Center,
|
|
28
|
-
verticalStartPoint: VerticalAlignment.Bottom,
|
|
29
|
-
verticalDirection: VerticalAlignment.Bottom,
|
|
30
|
-
openAnimation: null,
|
|
31
|
-
closeAnimation: null
|
|
32
|
-
})
|
|
33
|
-
};
|
|
34
|
-
this._chartPreviewDialogOverlaySettings = {
|
|
35
|
-
closeOnOutsideClick: false,
|
|
36
|
-
modal: false,
|
|
37
|
-
outlet: null,
|
|
38
|
-
scrollStrategy: new CloseScrollStrategy(),
|
|
39
|
-
positionStrategy: new AutoPositionStrategy({
|
|
40
|
-
horizontalDirection: HorizontalAlignment.Center,
|
|
41
|
-
horizontalStartPoint: HorizontalAlignment.Center,
|
|
42
|
-
verticalStartPoint: VerticalAlignment.Top,
|
|
43
|
-
verticalDirection: VerticalAlignment.Top,
|
|
44
|
-
openAnimation: null,
|
|
45
|
-
closeAnimation: null
|
|
46
|
-
})
|
|
47
|
-
};
|
|
48
|
-
this.chartImages = charts;
|
|
49
|
-
this.conditionImages = conditions;
|
|
50
|
-
}
|
|
51
|
-
ngAfterViewInit() {
|
|
52
|
-
this.chartTypes = this.contextDirective.charts;
|
|
53
|
-
this.textFormatters = this.contextDirective.formatters;
|
|
54
|
-
if (this.contextDirective.chartsDirective) {
|
|
55
|
-
this.contextDirective.chartsDirective.onChartTypesDetermined.pipe(takeUntil(this.destroy$))
|
|
56
|
-
.subscribe((args) => this.chartTypes = args.chartsForCreation);
|
|
57
|
-
}
|
|
58
|
-
if (this.contextDirective.textFormatter) {
|
|
59
|
-
this.contextDirective.textFormatter.onFormattersReady.pipe(takeUntil(this.destroy$))
|
|
60
|
-
.subscribe(names => this.textFormatters = names);
|
|
61
|
-
}
|
|
62
|
-
this.contextDirective.onButtonClose.pipe(takeUntil(this.destroy$))
|
|
63
|
-
.subscribe(() => { if (this.tabsMenu && !this.tabsMenu.collapsed) {
|
|
64
|
-
this.tabsMenu.close();
|
|
65
|
-
} });
|
|
66
|
-
this.contextDirective.gridResizeNotify.pipe(takeUntil(this.destroy$))
|
|
67
|
-
.subscribe(() => {
|
|
68
|
-
if (!this.tabsMenu.collapsed) {
|
|
69
|
-
this.tabsMenu.close();
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
this.tabsMenu.opening.pipe(takeUntil(this.destroy$))
|
|
73
|
-
.subscribe(() => {
|
|
74
|
-
if (this.tabs.selectedItem.disabled) {
|
|
75
|
-
debugger;
|
|
76
|
-
// const i = this.tabs.items.find(tab => !tab.disabled)?.index || 0;
|
|
77
|
-
// this.tabs.selectTab(this.tabs.tabs.toArray()[i], true);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
this.overlayService.opening.pipe(takeUntil(this.destroy$))
|
|
81
|
-
.subscribe((args) => {
|
|
82
|
-
if (args.componentRef) {
|
|
83
|
-
const instance = args.componentRef.instance;
|
|
84
|
-
instance.width = this.contextDirective.grid.nativeElement.clientWidth;
|
|
85
|
-
instance.height = this.contextDirective.grid.nativeElement.clientHeight;
|
|
86
|
-
instance.currentChartType = this.currentChartType;
|
|
87
|
-
instance.allCharts = this.chartTypes;
|
|
88
|
-
instance.chartDirective = this.contextDirective.chartsDirective;
|
|
89
|
-
instance.onClose?.subscribe(() => {
|
|
90
|
-
this.closeDialog();
|
|
91
|
-
});
|
|
92
|
-
instance.chartDialogResizeNotify?.subscribe(resizedContentArgs => {
|
|
93
|
-
// This is a temporary fix, which should be removed right after
|
|
94
|
-
// the overlay service is capable of notifying the overlay content elements
|
|
95
|
-
// that their children has been resized.
|
|
96
|
-
if (this.overlayService._overlayElement.children[1]) {
|
|
97
|
-
// tslint:disable-next-line: max-line-length
|
|
98
|
-
this.overlayService._overlayElement.children[1].children[0].style.width = resizedContentArgs[0].contentRect.width + 'px';
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
this.overlayService.closing.pipe(takeUntil(this.destroy$))
|
|
104
|
-
.subscribe((args) => {
|
|
105
|
-
if (args.componentRef && args.componentRef.instance instanceof IgxChartMenuComponent) {
|
|
106
|
-
if (this._dialogId) {
|
|
107
|
-
this.tabsMenu.open(this._tabsMenuOverlaySettings);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
ngOnDestroy() {
|
|
113
|
-
this.destroy$.next(true);
|
|
114
|
-
this.destroy$.complete();
|
|
115
|
-
}
|
|
116
|
-
toggleTabMenu() {
|
|
117
|
-
this.currentChartType = this.currentChartType ? this.currentChartType : CHART_TYPE.COLUMN_GROUPED;
|
|
118
|
-
this._tabsMenuOverlaySettings.target = this.button.nativeElement;
|
|
119
|
-
this.tabsMenu.collapsed ? this.tabsMenu.open(this._tabsMenuOverlaySettings) : this.tabsMenu.close();
|
|
120
|
-
}
|
|
121
|
-
formatCells(condition) {
|
|
122
|
-
this.currentFormatter = condition;
|
|
123
|
-
this.contextDirective.textFormatter.formatCells(condition);
|
|
124
|
-
}
|
|
125
|
-
clearFormat() {
|
|
126
|
-
this.contextDirective.textFormatter.clearFormatting();
|
|
127
|
-
this.currentFormatter = undefined;
|
|
128
|
-
}
|
|
129
|
-
previewChart(currentChartType) {
|
|
130
|
-
this.currentChartType = currentChartType;
|
|
131
|
-
this.chartPreview.clear();
|
|
132
|
-
this.contextDirective.chartsDirective.chartFactory(currentChartType, this.chartPreview);
|
|
133
|
-
this._chartPreviewDialogOverlaySettings.target = this.tabsMenu.element;
|
|
134
|
-
this.chartPreviewDialog.open(this._chartPreviewDialogOverlaySettings);
|
|
135
|
-
}
|
|
136
|
-
hidePreview() {
|
|
137
|
-
this.chartPreviewDialog.close();
|
|
138
|
-
}
|
|
139
|
-
openDialog(type) {
|
|
140
|
-
this.currentChartType = type ? type : this.currentChartType ? this.currentChartType : CHART_TYPE.COLUMN_GROUPED;
|
|
141
|
-
this._dialogId = this._dialogId ? this._dialogId :
|
|
142
|
-
this.overlayService.attach(IgxChartMenuComponent, this._chartDialogOS);
|
|
143
|
-
this.tabsMenu.close();
|
|
144
|
-
this.overlayService.show(this._dialogId);
|
|
145
|
-
}
|
|
146
|
-
closeDialog() {
|
|
147
|
-
const info = this.overlayService.getOverlayById(this._dialogId);
|
|
148
|
-
if (info) {
|
|
149
|
-
this.overlayService.hide(this._dialogId);
|
|
150
|
-
this.overlayService.detach(this._dialogId);
|
|
151
|
-
this._dialogId = undefined;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
155
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: IgxContextMenuComponent, selector: "igx-context-menu", viewQueries: [{ propertyName: "button", first: true, predicate: ["analyticsBtn"], descendants: true }, { propertyName: "tabsMenu", first: true, predicate: ["tabsMenu"], descendants: true, read: IgxToggleDirective }, { propertyName: "chartPreview", first: true, predicate: ["chartPreview"], descendants: true, read: ViewContainerRef }, { propertyName: "chartPreviewDialog", first: true, predicate: ["chartPreviewDialog"], descendants: true, read: IgxToggleDirective }, { propertyName: "tabs", first: true, predicate: IgxTabsComponent, descendants: true }], ngImport: i0, template: "<span #analyticsBtn class=\"analytics-btn\">\r\n <button #btn igxButton=\"icon\" (click)=\"toggleTabMenu()\">\r\n <igx-icon #icon class=\"icon\" family=\"material\">insert_chart_outlined</igx-icon>\r\n </button>\r\n</span>\r\n<div #tabsMenu igxToggle class=\"toggle-content ig-scrollbar\">\r\n <!--NOTE: This component has been updated by Infragistics migration: v12.0.0\r\nPlease check your template whether all bindings/event handlers are correct.-->\r\n <igx-tabs tabsType=\"fixed\" [selectedIndex]=\"!this.textFormatters.length && chartTypes.length ? 1 : 0\">\r\n <igx-tab-item [disabled]=\"!textFormatters.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Conditional Formatting</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let condition of textFormatters\" class=\"action btn condition\"\r\n [ngClass]=\"{'selected--condition': condition === currentFormatter}\"\r\n (click)=\"formatCells(condition)\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages[condition.replace(' ', '')] | svg\">\r\n </div>\r\n <span class=\"name\">{{condition.replace('10', '10%')}}</span>\r\n </span>\r\n </span>\r\n <span class=\"clear action\"\r\n [ngClass]=\"{'disableButton': contextDirective.textFormatter ? !contextDirective.textFormatter.formatter : true }\"\r\n (click)=\"clearFormat()\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages['Clear'] | svg\">\r\n </div>\r\n <span class=\"btn name\">Clear All</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n <igx-tab-item [disabled]=\"!chartTypes.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Create Chart</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let chart of chartTypes | slice:0:4\" class=\"action btn chart\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (mouseenter)=\"previewChart(chart)\"\r\n (mouseleave)=\"hidePreview()\" (click)=\"openDialog(chart)\">\r\n <span [innerHTML]=\"chartImages[chart] | svg\" class=\"imgSize\">\r\n </span>\r\n <span class=\"name\">{{chart}}</span>\r\n </span>\r\n </span>\r\n <span class=\"more-action chart\" [ngClass]=\"{'disableButton': !chartTypes.length}\"\r\n (click)=\"openDialog()\">\r\n <button class=\"more-btn more-icon\" igxButton=\"icon\" igxButtonBackground=\"#EBEBEB\"\r\n igxButtonColor=\"black\">\r\n <igx-icon class=\"icon\" family=\"material\">more_horiz</igx-icon>\r\n </button>\r\n <span class=\"name btn\">More...</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n </igx-tabs>\r\n</div>\r\n<div igxToggle #chartPreviewDialog class=\"chart-preview\">\r\n <div class=\"chart-preview-title\">\r\n <h5>Preview Chart</h5>\r\n </div>\r\n <div class=\"chart-preview-area\">\r\n <ng-template #chartPreview></ng-template>\r\n </div>\r\n</div>", styles: [".analytics-btn,.analytics-btn [igxButton=flat],.analytics-btn .igx-button--flat{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-400), .12));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=outlined],.analytics-btn .igx-button--outlined{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--hover-border-color: var(--igx-button-hover-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-border-color: var(--igx-button-focus-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--active-border-color: var(--igx-button-active-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--disabled-border-color: var(--igx-button-disabled-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-400), .12));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=raised],.analytics-btn .igx-button--raised{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-2));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-4));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-8));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-8));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--active-foreground: var(--igx-button-active-foreground, var(--ig-secondary-300-contrast));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-2));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-4));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-8));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-8))}.analytics-btn,.analytics-btn [igxButton=fab],.analytics-btn .igx-button--fab{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-6));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-12));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-12));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-12));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--active-foreground: var(--igx-button-active-foreground, var(--ig-secondary-300-contrast));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-6));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-12));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-12));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-12))}.analytics-btn,.analytics-btn [igxButton=icon],.analytics-btn .igx-button--icon{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));--active-border-color: var(--igx-button-active-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-gray-200), var(--ig-gray-a)));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-gray-900), var(--ig-gray-a)));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.disableButton{opacity:.4;pointer-events:none}.clear,.more-action{display:flex;flex-flow:column;justify-content:center;border-left:1px solid #bdbdbd}.clear .btn,.clear .more-btn,.more-action .btn,.more-action .more-btn{width:68px;margin:0 0 7px;padding:0}.clear .more-btn,.more-action .more-btn{width:36px;height:36px;align-self:center;border-radius:20px}.clear .name,.more-action .name{font-size:.9rem;font-weight:400;text-align:center}.icon{pointer-events:none}.btn{display:inline-flex;flex-flow:column;align-items:center}.btn.condition{padding-right:16px}.btn.chart{padding-right:24px}.btn img,.btn span{pointer-events:none}.chart-preview{width:350px;height:300px;background-color:#fff;overflow:hidden}.chart-preview .chart-preview-title{margin:1rem;justify-content:center}.chart-preview .chart-preview-area{height:270px}::ng-deep .toggle-content{width:354px;max-width:358px;height:148px;background-color:#fff}::ng-deep .toggle-content,::ng-deep .toggle-content .ig-scrollbar{--scrollbar-size: var(--ig-scrollbar-scrollbar-size, 8px);--thumb-background: var(--ig-scrollbar-thumb-background, hsla(var(--ig-gray-400), var(--ig-gray-a)));--track-background: var(--ig-scrollbar-track-background, hsla(var(--ig-gray-100), var(--ig-gray-a)))}::ng-deep .toggle-content .tabs{display:flex!important;border:.2px solid;border-color:#d3d3d3}::ng-deep .toggle-content .tab-option{padding:.9rem;height:100px;width:358px;display:inline-flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;align-content:center}::ng-deep .toggle-content .tab-option .chartImgButton{width:48px;height:48px}::ng-deep .toggle-content .tab-option .imgSize,::ng-deep .toggle-content .clear.action .imgSize{width:36px;height:36px;align-self:center}::ng-deep .toggle-content .action{cursor:pointer;opacity:1}::ng-deep .toggle-content .action.selected{opacity:.62}::ng-deep .toggle-content .action.selected--condition{pointer-events:none;opacity:.62}\n"], dependencies: [{ kind: "directive", type: i1.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: i1.IgxTabsComponent, selector: "igx-tabs", inputs: ["tabAlignment"] }, { kind: "component", type: i1.IgxTabItemComponent, selector: "igx-tab-item" }, { kind: "component", type: i1.IgxTabHeaderComponent, selector: "igx-tab-header" }, { kind: "component", type: i1.IgxTabContentComponent, selector: "igx-tab-content" }, { kind: "directive", type: i1.IgxTabHeaderLabelDirective, selector: "igx-tab-header-label,[igxTabHeaderLabel]" }, { kind: "directive", type: i1.IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "component", type: i1.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "pipe", type: i3.SvgPipe, name: "svg" }] }); }
|
|
156
|
-
}
|
|
157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
158
|
-
type: Component,
|
|
159
|
-
args: [{ selector: 'igx-context-menu', template: "<span #analyticsBtn class=\"analytics-btn\">\r\n <button #btn igxButton=\"icon\" (click)=\"toggleTabMenu()\">\r\n <igx-icon #icon class=\"icon\" family=\"material\">insert_chart_outlined</igx-icon>\r\n </button>\r\n</span>\r\n<div #tabsMenu igxToggle class=\"toggle-content ig-scrollbar\">\r\n <!--NOTE: This component has been updated by Infragistics migration: v12.0.0\r\nPlease check your template whether all bindings/event handlers are correct.-->\r\n <igx-tabs tabsType=\"fixed\" [selectedIndex]=\"!this.textFormatters.length && chartTypes.length ? 1 : 0\">\r\n <igx-tab-item [disabled]=\"!textFormatters.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Conditional Formatting</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let condition of textFormatters\" class=\"action btn condition\"\r\n [ngClass]=\"{'selected--condition': condition === currentFormatter}\"\r\n (click)=\"formatCells(condition)\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages[condition.replace(' ', '')] | svg\">\r\n </div>\r\n <span class=\"name\">{{condition.replace('10', '10%')}}</span>\r\n </span>\r\n </span>\r\n <span class=\"clear action\"\r\n [ngClass]=\"{'disableButton': contextDirective.textFormatter ? !contextDirective.textFormatter.formatter : true }\"\r\n (click)=\"clearFormat()\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages['Clear'] | svg\">\r\n </div>\r\n <span class=\"btn name\">Clear All</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n <igx-tab-item [disabled]=\"!chartTypes.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Create Chart</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let chart of chartTypes | slice:0:4\" class=\"action btn chart\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (mouseenter)=\"previewChart(chart)\"\r\n (mouseleave)=\"hidePreview()\" (click)=\"openDialog(chart)\">\r\n <span [innerHTML]=\"chartImages[chart] | svg\" class=\"imgSize\">\r\n </span>\r\n <span class=\"name\">{{chart}}</span>\r\n </span>\r\n </span>\r\n <span class=\"more-action chart\" [ngClass]=\"{'disableButton': !chartTypes.length}\"\r\n (click)=\"openDialog()\">\r\n <button class=\"more-btn more-icon\" igxButton=\"icon\" igxButtonBackground=\"#EBEBEB\"\r\n igxButtonColor=\"black\">\r\n <igx-icon class=\"icon\" family=\"material\">more_horiz</igx-icon>\r\n </button>\r\n <span class=\"name btn\">More...</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n </igx-tabs>\r\n</div>\r\n<div igxToggle #chartPreviewDialog class=\"chart-preview\">\r\n <div class=\"chart-preview-title\">\r\n <h5>Preview Chart</h5>\r\n </div>\r\n <div class=\"chart-preview-area\">\r\n <ng-template #chartPreview></ng-template>\r\n </div>\r\n</div>", styles: [".analytics-btn,.analytics-btn [igxButton=flat],.analytics-btn .igx-button--flat{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-400), .12));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=outlined],.analytics-btn .igx-button--outlined{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--hover-border-color: var(--igx-button-hover-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-border-color: var(--igx-button-focus-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--active-border-color: var(--igx-button-active-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--disabled-border-color: var(--igx-button-disabled-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-400), .12));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=raised],.analytics-btn .igx-button--raised{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-2));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-4));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-8));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-8));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--active-foreground: var(--igx-button-active-foreground, var(--ig-secondary-300-contrast));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-2));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-4));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-8));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-8))}.analytics-btn,.analytics-btn [igxButton=fab],.analytics-btn .igx-button--fab{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-6));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-12));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-12));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-12));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--active-foreground: var(--igx-button-active-foreground, var(--ig-secondary-300-contrast));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-6));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-12));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-12));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-12))}.analytics-btn,.analytics-btn [igxButton=icon],.analytics-btn .igx-button--icon{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));--active-border-color: var(--igx-button-active-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-gray-200), var(--ig-gray-a)));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-gray-900), var(--ig-gray-a)));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.disableButton{opacity:.4;pointer-events:none}.clear,.more-action{display:flex;flex-flow:column;justify-content:center;border-left:1px solid #bdbdbd}.clear .btn,.clear .more-btn,.more-action .btn,.more-action .more-btn{width:68px;margin:0 0 7px;padding:0}.clear .more-btn,.more-action .more-btn{width:36px;height:36px;align-self:center;border-radius:20px}.clear .name,.more-action .name{font-size:.9rem;font-weight:400;text-align:center}.icon{pointer-events:none}.btn{display:inline-flex;flex-flow:column;align-items:center}.btn.condition{padding-right:16px}.btn.chart{padding-right:24px}.btn img,.btn span{pointer-events:none}.chart-preview{width:350px;height:300px;background-color:#fff;overflow:hidden}.chart-preview .chart-preview-title{margin:1rem;justify-content:center}.chart-preview .chart-preview-area{height:270px}::ng-deep .toggle-content{width:354px;max-width:358px;height:148px;background-color:#fff}::ng-deep .toggle-content,::ng-deep .toggle-content .ig-scrollbar{--scrollbar-size: var(--ig-scrollbar-scrollbar-size, 8px);--thumb-background: var(--ig-scrollbar-thumb-background, hsla(var(--ig-gray-400), var(--ig-gray-a)));--track-background: var(--ig-scrollbar-track-background, hsla(var(--ig-gray-100), var(--ig-gray-a)))}::ng-deep .toggle-content .tabs{display:flex!important;border:.2px solid;border-color:#d3d3d3}::ng-deep .toggle-content .tab-option{padding:.9rem;height:100px;width:358px;display:inline-flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;align-content:center}::ng-deep .toggle-content .tab-option .chartImgButton{width:48px;height:48px}::ng-deep .toggle-content .tab-option .imgSize,::ng-deep .toggle-content .clear.action .imgSize{width:36px;height:36px;align-self:center}::ng-deep .toggle-content .action{cursor:pointer;opacity:1}::ng-deep .toggle-content .action.selected{opacity:.62}::ng-deep .toggle-content .action.selected--condition{pointer-events:none;opacity:.62}\n"] }]
|
|
160
|
-
}], ctorParameters:
|
|
161
|
-
type: ViewChild,
|
|
162
|
-
args: ['analyticsBtn']
|
|
163
|
-
}], tabsMenu: [{
|
|
164
|
-
type: ViewChild,
|
|
165
|
-
args: ['tabsMenu', { read: IgxToggleDirective }]
|
|
166
|
-
}], chartPreview: [{
|
|
167
|
-
type: ViewChild,
|
|
168
|
-
args: ['chartPreview', { read: ViewContainerRef }]
|
|
169
|
-
}], chartPreviewDialog: [{
|
|
170
|
-
type: ViewChild,
|
|
171
|
-
args: ['chartPreviewDialog', { read: IgxToggleDirective }]
|
|
172
|
-
}], tabs: [{
|
|
173
|
-
type: ViewChild,
|
|
174
|
-
args: [IgxTabsComponent]
|
|
175
|
-
}] } });
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXItZXh0cmFzL3NyYy9saWIvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyLWV4dHJhcy9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsU0FBUyxFQUFFLGdCQUFnQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBMEIsb0JBQW9CLEVBQUUsbUJBQW1CLEVBRW5ELGtCQUFrQixFQUE4QixpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBbUIsbUJBQW1CLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7QUFDN0wsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxLQUFLLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssVUFBVSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUFPekUsTUFBTSxPQUFPLHVCQUF1QjtJQStDaEMsWUFBb0IsY0FBaUM7UUFBakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBdEM5QyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBR25CLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBRTlCLG1CQUFjLEdBQUcsRUFB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QkFBdkMsU0FBUzt1QkFBQyxjQUFjO2dCQUNtQyxRQUFRO3NCQUFuRSxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtnQkFDVyxZQUFZO3NCQUF6RSxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFDaUIsa0JBQWtCO3NCQUF2RixTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFO2dCQUN6QixJQUFJO3NCQUF2QyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzb2x1dGVTY3JvbGxTdHJhdGVneSwgQXV0b1Bvc2l0aW9uU3RyYXRlZ3ksIEhvcml6b250YWxBbGlnbm1lbnQsXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG4gICAgSWd4T3ZlcmxheVNlcnZpY2UsIElneFRvZ2dsZURpcmVjdGl2ZSwgT3ZlcmxheUNhbmNlbGFibGVFdmVudEFyZ3MsIFZlcnRpY2FsQWxpZ25tZW50LCBJZ3hUYWJzQ29tcG9uZW50LCBPdmVybGF5U2V0dGluZ3MsIENsb3NlU2Nyb2xsU3RyYXRlZ3ksIE92ZXJsYXlFdmVudEFyZ3MgfSBmcm9tICdpZ25pdGV1aS1hbmd1bGFyJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IElneENoYXJ0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY2hhcnQtZGlhbG9nL2NoYXJ0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgKiBhcyBjaGFydHMgZnJvbSAnLi4vLi4vaW1hZ2VzL2NoYXJ0cyc7XHJcbmltcG9ydCAqIGFzIGNvbmRpdGlvbnMgZnJvbSAnLi4vLi4vaW1hZ2VzL2NvbmRpdGlvbnMnO1xyXG5pbXBvcnQgeyBJZ3hDb250ZXh0TWVudURpcmVjdGl2ZSB9IGZyb20gJy4vaWd4LWNvbnRleHQtbWVudS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDSEFSVF9UWVBFIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jaGFydC1pbnRlZ3JhdGlvbi9jaGFydC10eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaWd4LWNvbnRleHQtbWVudScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvbnRleHQtbWVudS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ3hDb250ZXh0TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnYW5hbHl0aWNzQnRuJykgcHVibGljIGJ1dHRvbjogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGQoJ3RhYnNNZW51JywgeyByZWFkOiBJZ3hUb2dnbGVEaXJlY3RpdmUgfSkgcHVibGljIHRhYnNNZW51OiBJZ3hUb2dnbGVEaXJlY3RpdmU7XHJcbiAgICBAVmlld0NoaWxkKCdjaGFydFByZXZpZXcnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgcHVibGljIGNoYXJ0UHJldmlldzogVmlld0NvbnRhaW5lclJlZjtcclxuICAgIEBWaWV3Q2hpbGQoJ2NoYXJ0UHJldmlld0RpYWxvZycsIHsgcmVhZDogSWd4VG9nZ2xlRGlyZWN0aXZlIH0pIHB1YmxpYyBjaGFydFByZXZpZXdEaWFsb2c6IElneFRvZ2dsZURpcmVjdGl2ZTtcclxuICAgIEBWaWV3Q2hpbGQoSWd4VGFic0NvbXBvbmVudCkgcHVibGljIHRhYnM6IElneFRhYnNDb21wb25lbnQ7XHJcblxyXG4gICAgcHVibGljIGNvbnRleHREaXJlY3RpdmU6IElneENvbnRleHRNZW51RGlyZWN0aXZlO1xyXG4gICAgcHVibGljIGNoYXJ0VHlwZXMgPSBbXTtcclxuICAgIHB1YmxpYyB0ZXh0Rm9ybWF0dGVycyA9IFtdO1xyXG4gICAgcHVibGljIGN1cnJlbnRDaGFydFR5cGU7XHJcbiAgICBwdWJsaWMgY3VycmVudEZvcm1hdHRlcjtcclxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgICBwcml2YXRlIF9kaWFsb2dJZDtcclxuICAgIHByaXZhdGUgX2NoYXJ0RGlhbG9nT1MgPSB7IGNsb3NlT25PdXRzaWRlQ2xpY2s6IGZhbHNlIH07XHJcblxyXG4gICAgcHJpdmF0ZSBfdGFic01lbnVPdmVybGF5U2V0dGluZ3M6IE92ZXJsYXlTZXR0aW5ncyA9IHtcclxuICAgICAgICBjbG9zZU9uT3V0c2lkZUNsaWNrOiBmYWxzZSxcclxuICAgICAgICBtb2RhbDogZmFsc2UsXHJcbiAgICAgICAgb3V0bGV0OiBudWxsLFxyXG4gICAgICAgIHNjcm9sbFN0cmF0ZWd5OiBuZXcgQ2xvc2VTY3JvbGxTdHJhdGVneSgpLFxyXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IG5ldyBBdXRvUG9zaXRpb25TdHJhdGVneSh7XHJcbiAgICAgICAgICAgIGhvcml6b250YWxEaXJlY3Rpb246IEhvcml6b250YWxBbGlnbm1lbnQuQ2VudGVyLFxyXG4gICAgICAgICAgICBob3Jpem9udGFsU3RhcnRQb2ludDogSG9yaXpvbnRhbEFsaWdubWVudC5DZW50ZXIsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsU3RhcnRQb2ludDogVmVydGljYWxBbGlnbm1lbnQuQm90dG9tLFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbERpcmVjdGlvbjogVmVydGljYWxBbGlnbm1lbnQuQm90dG9tLFxyXG4gICAgICAgICAgICBvcGVuQW5pbWF0aW9uOiBudWxsLFxyXG4gICAgICAgICAgICBjbG9zZUFuaW1hdGlvbjogbnVsbFxyXG4gICAgICAgIH0pXHJcbiAgICB9O1xyXG4gICAgcHJpdmF0ZSBfY2hhcnRQcmV2aWV3RGlhbG9nT3ZlcmxheVNldHRpbmdzOiBPdmVybGF5U2V0dGluZ3MgPSB7XHJcbiAgICAgICAgY2xvc2VPbk91dHNpZGVDbGljazogZmFsc2UsXHJcbiAgICAgICAgbW9kYWw6IGZhbHNlLFxyXG4gICAgICAgIG91dGxldDogbnVsbCxcclxuICAgICAgICBzY3JvbGxTdHJhdGVneTogbmV3IENsb3NlU2Nyb2xsU3RyYXRlZ3koKSxcclxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBuZXcgQXV0b1Bvc2l0aW9uU3RyYXRlZ3koe1xyXG4gICAgICAgICAgICBob3Jpem9udGFsRGlyZWN0aW9uOiBIb3Jpem9udGFsQWxpZ25tZW50LkNlbnRlcixcclxuICAgICAgICAgICAgaG9yaXpvbnRhbFN0YXJ0UG9pbnQ6IEhvcml6b250YWxBbGlnbm1lbnQuQ2VudGVyLFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbFN0YXJ0UG9pbnQ6IFZlcnRpY2FsQWxpZ25tZW50LlRvcCxcclxuICAgICAgICAgICAgdmVydGljYWxEaXJlY3Rpb246IFZlcnRpY2FsQWxpZ25tZW50LlRvcCxcclxuICAgICAgICAgICAgb3BlbkFuaW1hdGlvbjogbnVsbCxcclxuICAgICAgICAgICAgY2xvc2VBbmltYXRpb246IG51bGxcclxuICAgICAgICB9KVxyXG4gICAgfTtcclxuICAgIHB1YmxpYyBjaGFydEltYWdlcztcclxuICAgIHB1YmxpYyBjb25kaXRpb25JbWFnZXM7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBJZ3hPdmVybGF5U2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuY2hhcnRJbWFnZXMgPSBjaGFydHM7XHJcbiAgICAgICAgdGhpcy5jb25kaXRpb25JbWFnZXMgPSBjb25kaXRpb25zO1xyXG4gICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuY2hhcnRUeXBlcyA9IHRoaXMuY29udGV4dERpcmVjdGl2ZS5jaGFydHM7XHJcbiAgICAgICAgdGhpcy50ZXh0Rm9ybWF0dGVycyA9IHRoaXMuY29udGV4dERpcmVjdGl2ZS5mb3JtYXR0ZXJzO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0RGlyZWN0aXZlLmNoYXJ0c0RpcmVjdGl2ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHREaXJlY3RpdmUuY2hhcnRzRGlyZWN0aXZlLm9uQ2hhcnRUeXBlc0RldGVybWluZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChhcmdzKSA9PiB0aGlzLmNoYXJ0VHlwZXMgPSBhcmdzLmNoYXJ0c0ZvckNyZWF0aW9uKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHREaXJlY3RpdmUudGV4dEZvcm1hdHRlcikge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHREaXJlY3RpdmUudGV4dEZvcm1hdHRlci5vbkZvcm1hdHRlcnNSZWFkeS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUobmFtZXMgPT4gdGhpcy50ZXh0Rm9ybWF0dGVycyA9IG5hbWVzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY29udGV4dERpcmVjdGl2ZS5vbkJ1dHRvbkNsb3NlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHsgaWYgKHRoaXMudGFic01lbnUgJiYgIXRoaXMudGFic01lbnUuY29sbGFwc2VkKSB7IHRoaXMudGFic01lbnUuY2xvc2UoKTsgfSB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5jb250ZXh0RGlyZWN0aXZlLmdyaWRSZXNpemVOb3RpZnkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy50YWJzTWVudS5jb2xsYXBzZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJzTWVudS5jbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy50YWJzTWVudS5vcGVuaW5nLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICBpZiAodGhpcy50YWJzLnNlbGVjdGVkSXRlbS5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnN0IGkgPSB0aGlzLnRhYnMuaXRlbXMuZmluZCh0YWIgPT4gIXRhYi5kaXNhYmxlZCk/LmluZGV4IHx8IDA7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnRhYnMuc2VsZWN0VGFiKHRoaXMudGFicy50YWJzLnRvQXJyYXkoKVtpXSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLm9wZW5pbmcucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFyZ3M6IE92ZXJsYXlDYW5jZWxhYmxlRXZlbnRBcmdzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYXJncy5jb21wb25lbnRSZWYpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnN0YW5jZSA9IChhcmdzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBJZ3hDaGFydE1lbnVDb21wb25lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLndpZHRoID0gdGhpcy5jb250ZXh0RGlyZWN0aXZlLmdyaWQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5oZWlnaHQgPSB0aGlzLmNvbnRleHREaXJlY3RpdmUuZ3JpZC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jdXJyZW50Q2hhcnRUeXBlID0gdGhpcy5jdXJyZW50Q2hhcnRUeXBlO1xyXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmFsbENoYXJ0cyA9IHRoaXMuY2hhcnRUeXBlcztcclxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jaGFydERpcmVjdGl2ZSA9IHRoaXMuY29udGV4dERpcmVjdGl2ZS5jaGFydHNEaXJlY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2Uub25DbG9zZT8uc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZURpYWxvZygpXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuY2hhcnREaWFsb2dSZXNpemVOb3RpZnk/LnN1YnNjcmliZShyZXNpemVkQ29udGVudEFyZ3MgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGEgdGVtcG9yYXJ5IGZpeCwgd2hpY2ggc2hvdWxkIGJlIHJlbW92ZWQgcmlnaHQgYWZ0ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIG92ZXJsYXkgc2VydmljZSBpcyBjYXBhYmxlIG9mIG5vdGlmeWluZyB0aGUgb3ZlcmxheSBjb250ZW50IGVsZW1lbnRzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQgdGhlaXIgY2hpbGRyZW4gaGFzIGJlZW4gcmVzaXplZC5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgodGhpcy5vdmVybGF5U2VydmljZSBhcyBhbnkpLl9vdmVybGF5RWxlbWVudC5jaGlsZHJlblsxXSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMub3ZlcmxheVNlcnZpY2UgYXMgYW55KS5fb3ZlcmxheUVsZW1lbnQuY2hpbGRyZW5bMV0uY2hpbGRyZW5bMF0uc3R5bGUud2lkdGggPSByZXNpemVkQ29udGVudEFyZ3NbMF0uY29udGVudFJlY3Qud2lkdGggKyAncHgnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuY2xvc2luZy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChhcmdzOiBPdmVybGF5RXZlbnRBcmdzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChhcmdzLmNvbXBvbmVudFJlZiAmJiBhcmdzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBpbnN0YW5jZW9mIElneENoYXJ0TWVudUNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2RpYWxvZ0lkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJzTWVudS5vcGVuKHRoaXMuX3RhYnNNZW51T3ZlcmxheVNldHRpbmdzKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHRvZ2dsZVRhYk1lbnUoKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q2hhcnRUeXBlID0gdGhpcy5jdXJyZW50Q2hhcnRUeXBlID8gdGhpcy5jdXJyZW50Q2hhcnRUeXBlIDogQ0hBUlRfVFlQRS5DT0xVTU5fR1JPVVBFRDtcclxuICAgICAgICB0aGlzLl90YWJzTWVudU92ZXJsYXlTZXR0aW5ncy50YXJnZXQgPSB0aGlzLmJ1dHRvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIHRoaXMudGFic01lbnUuY29sbGFwc2VkID8gdGhpcy50YWJzTWVudS5vcGVuKHRoaXMuX3RhYnNNZW51T3ZlcmxheVNldHRpbmdzKSA6IHRoaXMudGFic01lbnUuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZm9ybWF0Q2VsbHMoY29uZGl0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Rm9ybWF0dGVyID0gY29uZGl0aW9uO1xyXG4gICAgICAgIHRoaXMuY29udGV4dERpcmVjdGl2ZS50ZXh0Rm9ybWF0dGVyLmZvcm1hdENlbGxzKGNvbmRpdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsZWFyRm9ybWF0KCkge1xyXG4gICAgICAgIHRoaXMuY29udGV4dERpcmVjdGl2ZS50ZXh0Rm9ybWF0dGVyLmNsZWFyRm9ybWF0dGluZygpO1xyXG4gICAgICAgIHRoaXMuY3VycmVudEZvcm1hdHRlciA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcHJldmlld0NoYXJ0KGN1cnJlbnRDaGFydFR5cGUpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRDaGFydFR5cGUgPSBjdXJyZW50Q2hhcnRUeXBlO1xyXG4gICAgICAgIHRoaXMuY2hhcnRQcmV2aWV3LmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0RGlyZWN0aXZlLmNoYXJ0c0RpcmVjdGl2ZS5jaGFydEZhY3RvcnkoY3VycmVudENoYXJ0VHlwZSwgdGhpcy5jaGFydFByZXZpZXcpO1xyXG4gICAgICAgIHRoaXMuX2NoYXJ0UHJldmlld0RpYWxvZ092ZXJsYXlTZXR0aW5ncy50YXJnZXQgPSB0aGlzLnRhYnNNZW51LmVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5jaGFydFByZXZpZXdEaWFsb2cub3Blbih0aGlzLl9jaGFydFByZXZpZXdEaWFsb2dPdmVybGF5U2V0dGluZ3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoaWRlUHJldmlldygpIHtcclxuICAgICAgICB0aGlzLmNoYXJ0UHJldmlld0RpYWxvZy5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvcGVuRGlhbG9nKHR5cGU/OiBDSEFSVF9UWVBFKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q2hhcnRUeXBlID0gdHlwZSA/IHR5cGUgOiB0aGlzLmN1cnJlbnRDaGFydFR5cGUgPyB0aGlzLmN1cnJlbnRDaGFydFR5cGUgOiBDSEFSVF9UWVBFLkNPTFVNTl9HUk9VUEVEO1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZ0lkID0gdGhpcy5fZGlhbG9nSWQgPyB0aGlzLl9kaWFsb2dJZCA6XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuYXR0YWNoKElneENoYXJ0TWVudUNvbXBvbmVudCwgdGhpcy5fY2hhcnREaWFsb2dPUyk7XHJcbiAgICAgICAgdGhpcy50YWJzTWVudS5jbG9zZSgpO1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2Uuc2hvdyh0aGlzLl9kaWFsb2dJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsb3NlRGlhbG9nKCkge1xyXG4gICAgICAgIGNvbnN0IGluZm8gPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmdldE92ZXJsYXlCeUlkKHRoaXMuX2RpYWxvZ0lkKTtcclxuICAgICAgICBpZiAoaW5mbykge1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmhpZGUodGhpcy5fZGlhbG9nSWQpO1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmRldGFjaCh0aGlzLl9kaWFsb2dJZCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ0lkID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuIiwiPHNwYW4gI2FuYWx5dGljc0J0biBjbGFzcz1cImFuYWx5dGljcy1idG5cIj5cclxuICAgIDxidXR0b24gI2J0biBpZ3hCdXR0b249XCJpY29uXCIgKGNsaWNrKT1cInRvZ2dsZVRhYk1lbnUoKVwiPlxyXG4gICAgICAgIDxpZ3gtaWNvbiAjaWNvbiBjbGFzcz1cImljb25cIiBmYW1pbHk9XCJtYXRlcmlhbFwiPmluc2VydF9jaGFydF9vdXRsaW5lZDwvaWd4LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuPC9zcGFuPlxyXG48ZGl2ICN0YWJzTWVudSBpZ3hUb2dnbGUgY2xhc3M9XCJ0b2dnbGUtY29udGVudCBpZy1zY3JvbGxiYXJcIj5cclxuICAgIDwhLS1OT1RFOiBUaGlzIGNvbXBvbmVudCBoYXMgYmVlbiB1cGRhdGVkIGJ5IEluZnJhZ2lzdGljcyBtaWdyYXRpb246IHYxMi4wLjBcclxuUGxlYXNlIGNoZWNrIHlvdXIgdGVtcGxhdGUgd2hldGhlciBhbGwgYmluZGluZ3MvZXZlbnQgaGFuZGxlcnMgYXJlIGNvcnJlY3QuLS0+XHJcbiAgICA8aWd4LXRhYnMgdGFic1R5cGU9XCJmaXhlZFwiIFtzZWxlY3RlZEluZGV4XT1cIiF0aGlzLnRleHRGb3JtYXR0ZXJzLmxlbmd0aCAmJiBjaGFydFR5cGVzLmxlbmd0aCA/IDEgOiAwXCI+XHJcbiAgICAgICAgPGlneC10YWItaXRlbSBbZGlzYWJsZWRdPVwiIXRleHRGb3JtYXR0ZXJzLmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8aWd4LXRhYi1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBpZ3hUYWJIZWFkZXJMYWJlbD5Db25kaXRpb25hbCBGb3JtYXR0aW5nPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2lneC10YWItaGVhZGVyPlxyXG4gICAgICAgICAgICA8aWd4LXRhYi1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGlnYy10cmlhbC13YXRlcm1hcms+PC9pZ2MtdHJpYWwtd2F0ZXJtYXJrPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYnNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRhYi1vcHRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGNvbmRpdGlvbiBvZiB0ZXh0Rm9ybWF0dGVyc1wiIGNsYXNzPVwiYWN0aW9uIGJ0biBjb25kaXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydzZWxlY3RlZC0tY29uZGl0aW9uJzogY29uZGl0aW9uID09PSBjdXJyZW50Rm9ybWF0dGVyfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZm9ybWF0Q2VsbHMoY29uZGl0aW9uKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZ1NpemVcIiBbaW5uZXJIVE1MXT1cImNvbmRpdGlvbkltYWdlc1tjb25kaXRpb24ucmVwbGFjZSgnICcsICcnKV0gfCBzdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lXCI+e3tjb25kaXRpb24ucmVwbGFjZSgnMTAnLCAnMTAlJyl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsZWFyIGFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZUJ1dHRvbic6IGNvbnRleHREaXJlY3RpdmUudGV4dEZvcm1hdHRlciA/ICFjb250ZXh0RGlyZWN0aXZlLnRleHRGb3JtYXR0ZXIuZm9ybWF0dGVyIDogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyRm9ybWF0KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZ1NpemVcIiBbaW5uZXJIVE1MXT1cImNvbmRpdGlvbkltYWdlc1snQ2xlYXInXSB8IHN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidG4gbmFtZVwiPkNsZWFyIEFsbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pZ3gtdGFiLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9pZ3gtdGFiLWl0ZW0+XHJcbiAgICAgICAgPGlneC10YWItaXRlbSBbZGlzYWJsZWRdPVwiIWNoYXJ0VHlwZXMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDxpZ3gtdGFiLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGlneFRhYkhlYWRlckxhYmVsPkNyZWF0ZSBDaGFydDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9pZ3gtdGFiLWhlYWRlcj5cclxuICAgICAgICAgICAgPGlneC10YWItY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxpZ2MtdHJpYWwtd2F0ZXJtYXJrPjwvaWdjLXRyaWFsLXdhdGVybWFyaz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWItb3B0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBjaGFydCBvZiBjaGFydFR5cGVzIHwgc2xpY2U6MDo0XCIgY2xhc3M9XCJhY3Rpb24gYnRuIGNoYXJ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnOiBjaGFydCA9PT0gY3VycmVudENoYXJ0VHlwZX1cIiAobW91c2VlbnRlcik9XCJwcmV2aWV3Q2hhcnQoY2hhcnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImhpZGVQcmV2aWV3KClcIiAoY2xpY2spPVwib3BlbkRpYWxvZyhjaGFydClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY2hhcnRJbWFnZXNbY2hhcnRdIHwgc3ZnXCIgY2xhc3M9XCJpbWdTaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIj57e2NoYXJ0fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtb3JlLWFjdGlvbiBjaGFydFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZUJ1dHRvbic6ICFjaGFydFR5cGVzLmxlbmd0aH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkRpYWxvZygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtb3JlLWJ0biBtb3JlLWljb25cIiBpZ3hCdXR0b249XCJpY29uXCIgaWd4QnV0dG9uQmFja2dyb3VuZD1cIiNFQkVCRUJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWd4QnV0dG9uQ29sb3I9XCJibGFja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlneC1pY29uIGNsYXNzPVwiaWNvblwiIGZhbWlseT1cIm1hdGVyaWFsXCI+bW9yZV9ob3JpejwvaWd4LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWUgYnRuXCI+TW9yZS4uLjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pZ3gtdGFiLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9pZ3gtdGFiLWl0ZW0+XHJcbiAgICA8L2lneC10YWJzPlxyXG48L2Rpdj5cclxuPGRpdiBpZ3hUb2dnbGUgI2NoYXJ0UHJldmlld0RpYWxvZyBjbGFzcz1cImNoYXJ0LXByZXZpZXdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1wcmV2aWV3LXRpdGxlXCI+XHJcbiAgICAgICAgPGg1PlByZXZpZXcgQ2hhcnQ8L2g1PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtcHJldmlldy1hcmVhXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNjaGFydFByZXZpZXc+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
1
|
+
import { Component, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { AutoPositionStrategy, HorizontalAlignment, IgxToggleDirective, VerticalAlignment, IgxTabsComponent, CloseScrollStrategy } from 'igniteui-angular';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { IgxChartMenuComponent } from './chart-dialog/chart-dialog.component';
|
|
6
|
+
import * as charts from '../../images/charts';
|
|
7
|
+
import * as conditions from '../../images/conditions';
|
|
8
|
+
import { CHART_TYPE } from '../directives/chart-integration/chart-types';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "igniteui-angular";
|
|
11
|
+
import * as i2 from "@angular/common";
|
|
12
|
+
import * as i3 from "../pipes/svg.pipe";
|
|
13
|
+
export class IgxContextMenuComponent {
|
|
14
|
+
constructor(overlayService) {
|
|
15
|
+
this.overlayService = overlayService;
|
|
16
|
+
this.chartTypes = [];
|
|
17
|
+
this.textFormatters = [];
|
|
18
|
+
this.destroy$ = new Subject();
|
|
19
|
+
this._chartDialogOS = { closeOnOutsideClick: false };
|
|
20
|
+
this._tabsMenuOverlaySettings = {
|
|
21
|
+
closeOnOutsideClick: false,
|
|
22
|
+
modal: false,
|
|
23
|
+
outlet: null,
|
|
24
|
+
scrollStrategy: new CloseScrollStrategy(),
|
|
25
|
+
positionStrategy: new AutoPositionStrategy({
|
|
26
|
+
horizontalDirection: HorizontalAlignment.Center,
|
|
27
|
+
horizontalStartPoint: HorizontalAlignment.Center,
|
|
28
|
+
verticalStartPoint: VerticalAlignment.Bottom,
|
|
29
|
+
verticalDirection: VerticalAlignment.Bottom,
|
|
30
|
+
openAnimation: null,
|
|
31
|
+
closeAnimation: null
|
|
32
|
+
})
|
|
33
|
+
};
|
|
34
|
+
this._chartPreviewDialogOverlaySettings = {
|
|
35
|
+
closeOnOutsideClick: false,
|
|
36
|
+
modal: false,
|
|
37
|
+
outlet: null,
|
|
38
|
+
scrollStrategy: new CloseScrollStrategy(),
|
|
39
|
+
positionStrategy: new AutoPositionStrategy({
|
|
40
|
+
horizontalDirection: HorizontalAlignment.Center,
|
|
41
|
+
horizontalStartPoint: HorizontalAlignment.Center,
|
|
42
|
+
verticalStartPoint: VerticalAlignment.Top,
|
|
43
|
+
verticalDirection: VerticalAlignment.Top,
|
|
44
|
+
openAnimation: null,
|
|
45
|
+
closeAnimation: null
|
|
46
|
+
})
|
|
47
|
+
};
|
|
48
|
+
this.chartImages = charts;
|
|
49
|
+
this.conditionImages = conditions;
|
|
50
|
+
}
|
|
51
|
+
ngAfterViewInit() {
|
|
52
|
+
this.chartTypes = this.contextDirective.charts;
|
|
53
|
+
this.textFormatters = this.contextDirective.formatters;
|
|
54
|
+
if (this.contextDirective.chartsDirective) {
|
|
55
|
+
this.contextDirective.chartsDirective.onChartTypesDetermined.pipe(takeUntil(this.destroy$))
|
|
56
|
+
.subscribe((args) => this.chartTypes = args.chartsForCreation);
|
|
57
|
+
}
|
|
58
|
+
if (this.contextDirective.textFormatter) {
|
|
59
|
+
this.contextDirective.textFormatter.onFormattersReady.pipe(takeUntil(this.destroy$))
|
|
60
|
+
.subscribe(names => this.textFormatters = names);
|
|
61
|
+
}
|
|
62
|
+
this.contextDirective.onButtonClose.pipe(takeUntil(this.destroy$))
|
|
63
|
+
.subscribe(() => { if (this.tabsMenu && !this.tabsMenu.collapsed) {
|
|
64
|
+
this.tabsMenu.close();
|
|
65
|
+
} });
|
|
66
|
+
this.contextDirective.gridResizeNotify.pipe(takeUntil(this.destroy$))
|
|
67
|
+
.subscribe(() => {
|
|
68
|
+
if (!this.tabsMenu.collapsed) {
|
|
69
|
+
this.tabsMenu.close();
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
this.tabsMenu.opening.pipe(takeUntil(this.destroy$))
|
|
73
|
+
.subscribe(() => {
|
|
74
|
+
if (this.tabs.selectedItem.disabled) {
|
|
75
|
+
debugger;
|
|
76
|
+
// const i = this.tabs.items.find(tab => !tab.disabled)?.index || 0;
|
|
77
|
+
// this.tabs.selectTab(this.tabs.tabs.toArray()[i], true);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
this.overlayService.opening.pipe(takeUntil(this.destroy$))
|
|
81
|
+
.subscribe((args) => {
|
|
82
|
+
if (args.componentRef) {
|
|
83
|
+
const instance = args.componentRef.instance;
|
|
84
|
+
instance.width = this.contextDirective.grid.nativeElement.clientWidth;
|
|
85
|
+
instance.height = this.contextDirective.grid.nativeElement.clientHeight;
|
|
86
|
+
instance.currentChartType = this.currentChartType;
|
|
87
|
+
instance.allCharts = this.chartTypes;
|
|
88
|
+
instance.chartDirective = this.contextDirective.chartsDirective;
|
|
89
|
+
instance.onClose?.subscribe(() => {
|
|
90
|
+
this.closeDialog();
|
|
91
|
+
});
|
|
92
|
+
instance.chartDialogResizeNotify?.subscribe(resizedContentArgs => {
|
|
93
|
+
// This is a temporary fix, which should be removed right after
|
|
94
|
+
// the overlay service is capable of notifying the overlay content elements
|
|
95
|
+
// that their children has been resized.
|
|
96
|
+
if (this.overlayService._overlayElement.children[1]) {
|
|
97
|
+
// tslint:disable-next-line: max-line-length
|
|
98
|
+
this.overlayService._overlayElement.children[1].children[0].style.width = resizedContentArgs[0].contentRect.width + 'px';
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
this.overlayService.closing.pipe(takeUntil(this.destroy$))
|
|
104
|
+
.subscribe((args) => {
|
|
105
|
+
if (args.componentRef && args.componentRef.instance instanceof IgxChartMenuComponent) {
|
|
106
|
+
if (this._dialogId) {
|
|
107
|
+
this.tabsMenu.open(this._tabsMenuOverlaySettings);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
ngOnDestroy() {
|
|
113
|
+
this.destroy$.next(true);
|
|
114
|
+
this.destroy$.complete();
|
|
115
|
+
}
|
|
116
|
+
toggleTabMenu() {
|
|
117
|
+
this.currentChartType = this.currentChartType ? this.currentChartType : CHART_TYPE.COLUMN_GROUPED;
|
|
118
|
+
this._tabsMenuOverlaySettings.target = this.button.nativeElement;
|
|
119
|
+
this.tabsMenu.collapsed ? this.tabsMenu.open(this._tabsMenuOverlaySettings) : this.tabsMenu.close();
|
|
120
|
+
}
|
|
121
|
+
formatCells(condition) {
|
|
122
|
+
this.currentFormatter = condition;
|
|
123
|
+
this.contextDirective.textFormatter.formatCells(condition);
|
|
124
|
+
}
|
|
125
|
+
clearFormat() {
|
|
126
|
+
this.contextDirective.textFormatter.clearFormatting();
|
|
127
|
+
this.currentFormatter = undefined;
|
|
128
|
+
}
|
|
129
|
+
previewChart(currentChartType) {
|
|
130
|
+
this.currentChartType = currentChartType;
|
|
131
|
+
this.chartPreview.clear();
|
|
132
|
+
this.contextDirective.chartsDirective.chartFactory(currentChartType, this.chartPreview);
|
|
133
|
+
this._chartPreviewDialogOverlaySettings.target = this.tabsMenu.element;
|
|
134
|
+
this.chartPreviewDialog.open(this._chartPreviewDialogOverlaySettings);
|
|
135
|
+
}
|
|
136
|
+
hidePreview() {
|
|
137
|
+
this.chartPreviewDialog.close();
|
|
138
|
+
}
|
|
139
|
+
openDialog(type) {
|
|
140
|
+
this.currentChartType = type ? type : this.currentChartType ? this.currentChartType : CHART_TYPE.COLUMN_GROUPED;
|
|
141
|
+
this._dialogId = this._dialogId ? this._dialogId :
|
|
142
|
+
this.overlayService.attach(IgxChartMenuComponent, this._chartDialogOS);
|
|
143
|
+
this.tabsMenu.close();
|
|
144
|
+
this.overlayService.show(this._dialogId);
|
|
145
|
+
}
|
|
146
|
+
closeDialog() {
|
|
147
|
+
const info = this.overlayService.getOverlayById(this._dialogId);
|
|
148
|
+
if (info) {
|
|
149
|
+
this.overlayService.hide(this._dialogId);
|
|
150
|
+
this.overlayService.detach(this._dialogId);
|
|
151
|
+
this._dialogId = undefined;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: IgxContextMenuComponent, deps: [{ token: i1.IgxOverlayService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
155
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0", type: IgxContextMenuComponent, selector: "igx-context-menu", viewQueries: [{ propertyName: "button", first: true, predicate: ["analyticsBtn"], descendants: true }, { propertyName: "tabsMenu", first: true, predicate: ["tabsMenu"], descendants: true, read: IgxToggleDirective }, { propertyName: "chartPreview", first: true, predicate: ["chartPreview"], descendants: true, read: ViewContainerRef }, { propertyName: "chartPreviewDialog", first: true, predicate: ["chartPreviewDialog"], descendants: true, read: IgxToggleDirective }, { propertyName: "tabs", first: true, predicate: IgxTabsComponent, descendants: true }], ngImport: i0, template: "<span #analyticsBtn class=\"analytics-btn\">\r\n <button #btn igxButton=\"icon\" (click)=\"toggleTabMenu()\">\r\n <igx-icon #icon class=\"icon\" family=\"material\">insert_chart_outlined</igx-icon>\r\n </button>\r\n</span>\r\n<div #tabsMenu igxToggle class=\"toggle-content ig-scrollbar\">\r\n <!--NOTE: This component has been updated by Infragistics migration: v12.0.0\r\nPlease check your template whether all bindings/event handlers are correct.-->\r\n <igx-tabs tabsType=\"fixed\" [selectedIndex]=\"!this.textFormatters.length && chartTypes.length ? 1 : 0\">\r\n <igx-tab-item [disabled]=\"!textFormatters.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Conditional Formatting</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let condition of textFormatters\" class=\"action btn condition\"\r\n [ngClass]=\"{'selected--condition': condition === currentFormatter}\"\r\n (click)=\"formatCells(condition)\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages[condition.replace(' ', '')] | svg\">\r\n </div>\r\n <span class=\"name\">{{condition.replace('10', '10%')}}</span>\r\n </span>\r\n </span>\r\n <span class=\"clear action\"\r\n [ngClass]=\"{'disableButton': contextDirective.textFormatter ? !contextDirective.textFormatter.formatter : true }\"\r\n (click)=\"clearFormat()\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages['Clear'] | svg\">\r\n </div>\r\n <span class=\"btn name\">Clear All</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n <igx-tab-item [disabled]=\"!chartTypes.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Create Chart</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let chart of chartTypes | slice:0:4\" class=\"action btn chart\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (mouseenter)=\"previewChart(chart)\"\r\n (mouseleave)=\"hidePreview()\" (click)=\"openDialog(chart)\">\r\n <span [innerHTML]=\"chartImages[chart] | svg\" class=\"imgSize\">\r\n </span>\r\n <span class=\"name\">{{chart}}</span>\r\n </span>\r\n </span>\r\n <span class=\"more-action chart\" [ngClass]=\"{'disableButton': !chartTypes.length}\"\r\n (click)=\"openDialog()\">\r\n <button class=\"more-btn more-icon\" igxButton=\"icon\" igxButtonBackground=\"#EBEBEB\"\r\n igxButtonColor=\"black\">\r\n <igx-icon class=\"icon\" family=\"material\">more_horiz</igx-icon>\r\n </button>\r\n <span class=\"name btn\">More...</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n </igx-tabs>\r\n</div>\r\n<div igxToggle #chartPreviewDialog class=\"chart-preview\">\r\n <div class=\"chart-preview-title\">\r\n <h5>Preview Chart</h5>\r\n </div>\r\n <div class=\"chart-preview-area\">\r\n <ng-template #chartPreview></ng-template>\r\n </div>\r\n</div>", styles: [".analytics-btn,.analytics-btn [igxButton=flat],.analytics-btn .igx-button--flat{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-400), .12));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=outlined],.analytics-btn .igx-button--outlined{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--hover-border-color: var(--igx-button-hover-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-border-color: var(--igx-button-focus-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--active-border-color: var(--igx-button-active-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--disabled-border-color: var(--igx-button-disabled-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-400), .12));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=raised],.analytics-btn .igx-button--raised{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-2));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-4));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-8));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-8));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--active-foreground: var(--igx-button-active-foreground, var(--ig-secondary-300-contrast));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-2));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-4));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-8));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-8))}.analytics-btn,.analytics-btn [igxButton=fab],.analytics-btn .igx-button--fab{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-6));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-12));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-12));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-12));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--active-foreground: var(--igx-button-active-foreground, var(--ig-secondary-300-contrast));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-6));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-12));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-12));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-12))}.analytics-btn,.analytics-btn [igxButton=icon],.analytics-btn .igx-button--icon{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));--active-border-color: var(--igx-button-active-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 2);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-gray-200), var(--ig-gray-a)));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-gray-900), var(--ig-gray-a)));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.disableButton{opacity:.4;pointer-events:none}.clear,.more-action{display:flex;flex-flow:column;justify-content:center;border-left:1px solid #bdbdbd}.clear .btn,.clear .more-btn,.more-action .btn,.more-action .more-btn{width:68px;margin:0 0 7px;padding:0}.clear .more-btn,.more-action .more-btn{width:36px;height:36px;align-self:center;border-radius:20px}.clear .name,.more-action .name{font-size:.9rem;font-weight:400;text-align:center}.icon{pointer-events:none}.btn{display:inline-flex;flex-flow:column;align-items:center}.btn.condition{padding-right:16px}.btn.chart{padding-right:24px}.btn img,.btn span{pointer-events:none}.chart-preview{width:350px;height:300px;background-color:#fff;overflow:hidden}.chart-preview .chart-preview-title{margin:1rem;justify-content:center}.chart-preview .chart-preview-area{height:270px}::ng-deep .toggle-content{width:354px;max-width:358px;height:148px;background-color:#fff}::ng-deep .toggle-content,::ng-deep .toggle-content .ig-scrollbar{--scrollbar-size: var(--ig-scrollbar-scrollbar-size, 8px);--thumb-background: var(--ig-scrollbar-thumb-background, hsla(var(--ig-gray-400), var(--ig-gray-a)));--track-background: var(--ig-scrollbar-track-background, hsla(var(--ig-gray-100), var(--ig-gray-a)))}::ng-deep .toggle-content .tabs{display:flex!important;border:.2px solid;border-color:#d3d3d3}::ng-deep .toggle-content .tab-option{padding:.9rem;height:100px;width:358px;display:inline-flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;align-content:center}::ng-deep .toggle-content .tab-option .chartImgButton{width:48px;height:48px}::ng-deep .toggle-content .tab-option .imgSize,::ng-deep .toggle-content .clear.action .imgSize{width:36px;height:36px;align-self:center}::ng-deep .toggle-content .action{cursor:pointer;opacity:1}::ng-deep .toggle-content .action.selected{opacity:.62}::ng-deep .toggle-content .action.selected--condition{pointer-events:none;opacity:.62}\n"], dependencies: [{ kind: "directive", type: i1.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: i1.IgxTabsComponent, selector: "igx-tabs", inputs: ["tabAlignment"] }, { kind: "component", type: i1.IgxTabItemComponent, selector: "igx-tab-item" }, { kind: "component", type: i1.IgxTabHeaderComponent, selector: "igx-tab-header" }, { kind: "component", type: i1.IgxTabContentComponent, selector: "igx-tab-content" }, { kind: "directive", type: i1.IgxTabHeaderLabelDirective, selector: "igx-tab-header-label,[igxTabHeaderLabel]" }, { kind: "directive", type: i1.IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "component", type: i1.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "pipe", type: i3.SvgPipe, name: "svg" }] }); }
|
|
156
|
+
}
|
|
157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: IgxContextMenuComponent, decorators: [{
|
|
158
|
+
type: Component,
|
|
159
|
+
args: [{ selector: 'igx-context-menu', template: "<span #analyticsBtn class=\"analytics-btn\">\r\n <button #btn igxButton=\"icon\" (click)=\"toggleTabMenu()\">\r\n <igx-icon #icon class=\"icon\" family=\"material\">insert_chart_outlined</igx-icon>\r\n </button>\r\n</span>\r\n<div #tabsMenu igxToggle class=\"toggle-content ig-scrollbar\">\r\n <!--NOTE: This component has been updated by Infragistics migration: v12.0.0\r\nPlease check your template whether all bindings/event handlers are correct.-->\r\n <igx-tabs tabsType=\"fixed\" [selectedIndex]=\"!this.textFormatters.length && chartTypes.length ? 1 : 0\">\r\n <igx-tab-item [disabled]=\"!textFormatters.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Conditional Formatting</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let condition of textFormatters\" class=\"action btn condition\"\r\n [ngClass]=\"{'selected--condition': condition === currentFormatter}\"\r\n (click)=\"formatCells(condition)\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages[condition.replace(' ', '')] | svg\">\r\n </div>\r\n <span class=\"name\">{{condition.replace('10', '10%')}}</span>\r\n </span>\r\n </span>\r\n <span class=\"clear action\"\r\n [ngClass]=\"{'disableButton': contextDirective.textFormatter ? !contextDirective.textFormatter.formatter : true }\"\r\n (click)=\"clearFormat()\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages['Clear'] | svg\">\r\n </div>\r\n <span class=\"btn name\">Clear All</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n <igx-tab-item [disabled]=\"!chartTypes.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Create Chart</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let chart of chartTypes | slice:0:4\" class=\"action btn chart\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (mouseenter)=\"previewChart(chart)\"\r\n (mouseleave)=\"hidePreview()\" (click)=\"openDialog(chart)\">\r\n <span [innerHTML]=\"chartImages[chart] | svg\" class=\"imgSize\">\r\n </span>\r\n <span class=\"name\">{{chart}}</span>\r\n </span>\r\n </span>\r\n <span class=\"more-action chart\" [ngClass]=\"{'disableButton': !chartTypes.length}\"\r\n (click)=\"openDialog()\">\r\n <button class=\"more-btn more-icon\" igxButton=\"icon\" igxButtonBackground=\"#EBEBEB\"\r\n igxButtonColor=\"black\">\r\n <igx-icon class=\"icon\" family=\"material\">more_horiz</igx-icon>\r\n </button>\r\n <span class=\"name btn\">More...</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n </igx-tabs>\r\n</div>\r\n<div igxToggle #chartPreviewDialog class=\"chart-preview\">\r\n <div class=\"chart-preview-title\">\r\n <h5>Preview Chart</h5>\r\n </div>\r\n <div class=\"chart-preview-area\">\r\n <ng-template #chartPreview></ng-template>\r\n </div>\r\n</div>", styles: [".analytics-btn,.analytics-btn [igxButton=flat],.analytics-btn .igx-button--flat{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-400), .12));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=outlined],.analytics-btn .igx-button--outlined{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--hover-border-color: var(--igx-button-hover-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-border-color: var(--igx-button-focus-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--active-border-color: var(--igx-button-active-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--disabled-border-color: var(--igx-button-disabled-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-400), .12));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.analytics-btn,.analytics-btn [igxButton=raised],.analytics-btn .igx-button--raised{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-2));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-4));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-8));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-8));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--active-foreground: var(--igx-button-active-foreground, var(--ig-secondary-300-contrast));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-2));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-4));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-8));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-8))}.analytics-btn,.analytics-btn [igxButton=fab],.analytics-btn .igx-button--fab{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--igx-button-default-size, 1);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-6));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-12));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-12));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-12));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--active-foreground: var(--igx-button-active-foreground, var(--ig-secondary-300-contrast));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-6));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-12));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-12));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-12))}.analytics-btn,.analytics-btn [igxButton=icon],.analytics-btn .igx-button--icon{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));--active-border-color: var(--igx-button-active-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsla(var(--ig-gray-500), var(--ig-gray-a)));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 2);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--foreground: var(--igx-button-foreground, #fff);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, #396a42);--focus-foreground: var(--igx-button-focus-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, #396a42);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsla(var(--ig-gray-200), var(--ig-gray-a)));--active-foreground: var(--igx-button-active-foreground, hsla(var(--ig-gray-900), var(--ig-gray-a)));--border-radius: var(--igx-button-border-radius, 0);--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0))}.disableButton{opacity:.4;pointer-events:none}.clear,.more-action{display:flex;flex-flow:column;justify-content:center;border-left:1px solid #bdbdbd}.clear .btn,.clear .more-btn,.more-action .btn,.more-action .more-btn{width:68px;margin:0 0 7px;padding:0}.clear .more-btn,.more-action .more-btn{width:36px;height:36px;align-self:center;border-radius:20px}.clear .name,.more-action .name{font-size:.9rem;font-weight:400;text-align:center}.icon{pointer-events:none}.btn{display:inline-flex;flex-flow:column;align-items:center}.btn.condition{padding-right:16px}.btn.chart{padding-right:24px}.btn img,.btn span{pointer-events:none}.chart-preview{width:350px;height:300px;background-color:#fff;overflow:hidden}.chart-preview .chart-preview-title{margin:1rem;justify-content:center}.chart-preview .chart-preview-area{height:270px}::ng-deep .toggle-content{width:354px;max-width:358px;height:148px;background-color:#fff}::ng-deep .toggle-content,::ng-deep .toggle-content .ig-scrollbar{--scrollbar-size: var(--ig-scrollbar-scrollbar-size, 8px);--thumb-background: var(--ig-scrollbar-thumb-background, hsla(var(--ig-gray-400), var(--ig-gray-a)));--track-background: var(--ig-scrollbar-track-background, hsla(var(--ig-gray-100), var(--ig-gray-a)))}::ng-deep .toggle-content .tabs{display:flex!important;border:.2px solid;border-color:#d3d3d3}::ng-deep .toggle-content .tab-option{padding:.9rem;height:100px;width:358px;display:inline-flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;align-content:center}::ng-deep .toggle-content .tab-option .chartImgButton{width:48px;height:48px}::ng-deep .toggle-content .tab-option .imgSize,::ng-deep .toggle-content .clear.action .imgSize{width:36px;height:36px;align-self:center}::ng-deep .toggle-content .action{cursor:pointer;opacity:1}::ng-deep .toggle-content .action.selected{opacity:.62}::ng-deep .toggle-content .action.selected--condition{pointer-events:none;opacity:.62}\n"] }]
|
|
160
|
+
}], ctorParameters: () => [{ type: i1.IgxOverlayService }], propDecorators: { button: [{
|
|
161
|
+
type: ViewChild,
|
|
162
|
+
args: ['analyticsBtn']
|
|
163
|
+
}], tabsMenu: [{
|
|
164
|
+
type: ViewChild,
|
|
165
|
+
args: ['tabsMenu', { read: IgxToggleDirective }]
|
|
166
|
+
}], chartPreview: [{
|
|
167
|
+
type: ViewChild,
|
|
168
|
+
args: ['chartPreview', { read: ViewContainerRef }]
|
|
169
|
+
}], chartPreviewDialog: [{
|
|
170
|
+
type: ViewChild,
|
|
171
|
+
args: ['chartPreviewDialog', { read: IgxToggleDirective }]
|
|
172
|
+
}], tabs: [{
|
|
173
|
+
type: ViewChild,
|
|
174
|
+
args: [IgxTabsComponent]
|
|
175
|
+
}] } });
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXItZXh0cmFzL3NyYy9saWIvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyLWV4dHJhcy9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsU0FBUyxFQUFFLGdCQUFnQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBMEIsb0JBQW9CLEVBQUUsbUJBQW1CLEVBRW5ELGtCQUFrQixFQUE4QixpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBbUIsbUJBQW1CLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7QUFDN0wsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxLQUFLLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssVUFBVSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUFPekUsTUFBTSxPQUFPLHVCQUF1QjtJQStDaEMsWUFBb0IsY0FBaUM7UUFBakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBdEM5QyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBR25CLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBRTlCLG1CQUFjLEdBQUcsRUFB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QkFBdkMsU0FBUzt1QkFBQyxjQUFjO2dCQUNtQyxRQUFRO3NCQUFuRSxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtnQkFDVyxZQUFZO3NCQUF6RSxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFDaUIsa0JBQWtCO3NCQUF2RixTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFO2dCQUN6QixJQUFJO3NCQUF2QyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzb2x1dGVTY3JvbGxTdHJhdGVneSwgQXV0b1Bvc2l0aW9uU3RyYXRlZ3ksIEhvcml6b250YWxBbGlnbm1lbnQsXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG4gICAgSWd4T3ZlcmxheVNlcnZpY2UsIElneFRvZ2dsZURpcmVjdGl2ZSwgT3ZlcmxheUNhbmNlbGFibGVFdmVudEFyZ3MsIFZlcnRpY2FsQWxpZ25tZW50LCBJZ3hUYWJzQ29tcG9uZW50LCBPdmVybGF5U2V0dGluZ3MsIENsb3NlU2Nyb2xsU3RyYXRlZ3ksIE92ZXJsYXlFdmVudEFyZ3MgfSBmcm9tICdpZ25pdGV1aS1hbmd1bGFyJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IElneENoYXJ0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY2hhcnQtZGlhbG9nL2NoYXJ0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgKiBhcyBjaGFydHMgZnJvbSAnLi4vLi4vaW1hZ2VzL2NoYXJ0cyc7XHJcbmltcG9ydCAqIGFzIGNvbmRpdGlvbnMgZnJvbSAnLi4vLi4vaW1hZ2VzL2NvbmRpdGlvbnMnO1xyXG5pbXBvcnQgeyBJZ3hDb250ZXh0TWVudURpcmVjdGl2ZSB9IGZyb20gJy4vaWd4LWNvbnRleHQtbWVudS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDSEFSVF9UWVBFIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jaGFydC1pbnRlZ3JhdGlvbi9jaGFydC10eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaWd4LWNvbnRleHQtbWVudScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvbnRleHQtbWVudS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ3hDb250ZXh0TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnYW5hbHl0aWNzQnRuJykgcHVibGljIGJ1dHRvbjogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGQoJ3RhYnNNZW51JywgeyByZWFkOiBJZ3hUb2dnbGVEaXJlY3RpdmUgfSkgcHVibGljIHRhYnNNZW51OiBJZ3hUb2dnbGVEaXJlY3RpdmU7XHJcbiAgICBAVmlld0NoaWxkKCdjaGFydFByZXZpZXcnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgcHVibGljIGNoYXJ0UHJldmlldzogVmlld0NvbnRhaW5lclJlZjtcclxuICAgIEBWaWV3Q2hpbGQoJ2NoYXJ0UHJldmlld0RpYWxvZycsIHsgcmVhZDogSWd4VG9nZ2xlRGlyZWN0aXZlIH0pIHB1YmxpYyBjaGFydFByZXZpZXdEaWFsb2c6IElneFRvZ2dsZURpcmVjdGl2ZTtcclxuICAgIEBWaWV3Q2hpbGQoSWd4VGFic0NvbXBvbmVudCkgcHVibGljIHRhYnM6IElneFRhYnNDb21wb25lbnQ7XHJcblxyXG4gICAgcHVibGljIGNvbnRleHREaXJlY3RpdmU6IElneENvbnRleHRNZW51RGlyZWN0aXZlO1xyXG4gICAgcHVibGljIGNoYXJ0VHlwZXMgPSBbXTtcclxuICAgIHB1YmxpYyB0ZXh0Rm9ybWF0dGVycyA9IFtdO1xyXG4gICAgcHVibGljIGN1cnJlbnRDaGFydFR5cGU7XHJcbiAgICBwdWJsaWMgY3VycmVudEZvcm1hdHRlcjtcclxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgICBwcml2YXRlIF9kaWFsb2dJZDtcclxuICAgIHByaXZhdGUgX2NoYXJ0RGlhbG9nT1MgPSB7IGNsb3NlT25PdXRzaWRlQ2xpY2s6IGZhbHNlIH07XHJcblxyXG4gICAgcHJpdmF0ZSBfdGFic01lbnVPdmVybGF5U2V0dGluZ3M6IE92ZXJsYXlTZXR0aW5ncyA9IHtcclxuICAgICAgICBjbG9zZU9uT3V0c2lkZUNsaWNrOiBmYWxzZSxcclxuICAgICAgICBtb2RhbDogZmFsc2UsXHJcbiAgICAgICAgb3V0bGV0OiBudWxsLFxyXG4gICAgICAgIHNjcm9sbFN0cmF0ZWd5OiBuZXcgQ2xvc2VTY3JvbGxTdHJhdGVneSgpLFxyXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IG5ldyBBdXRvUG9zaXRpb25TdHJhdGVneSh7XHJcbiAgICAgICAgICAgIGhvcml6b250YWxEaXJlY3Rpb246IEhvcml6b250YWxBbGlnbm1lbnQuQ2VudGVyLFxyXG4gICAgICAgICAgICBob3Jpem9udGFsU3RhcnRQb2ludDogSG9yaXpvbnRhbEFsaWdubWVudC5DZW50ZXIsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsU3RhcnRQb2ludDogVmVydGljYWxBbGlnbm1lbnQuQm90dG9tLFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbERpcmVjdGlvbjogVmVydGljYWxBbGlnbm1lbnQuQm90dG9tLFxyXG4gICAgICAgICAgICBvcGVuQW5pbWF0aW9uOiBudWxsLFxyXG4gICAgICAgICAgICBjbG9zZUFuaW1hdGlvbjogbnVsbFxyXG4gICAgICAgIH0pXHJcbiAgICB9O1xyXG4gICAgcHJpdmF0ZSBfY2hhcnRQcmV2aWV3RGlhbG9nT3ZlcmxheVNldHRpbmdzOiBPdmVybGF5U2V0dGluZ3MgPSB7XHJcbiAgICAgICAgY2xvc2VPbk91dHNpZGVDbGljazogZmFsc2UsXHJcbiAgICAgICAgbW9kYWw6IGZhbHNlLFxyXG4gICAgICAgIG91dGxldDogbnVsbCxcclxuICAgICAgICBzY3JvbGxTdHJhdGVneTogbmV3IENsb3NlU2Nyb2xsU3RyYXRlZ3koKSxcclxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBuZXcgQXV0b1Bvc2l0aW9uU3RyYXRlZ3koe1xyXG4gICAgICAgICAgICBob3Jpem9udGFsRGlyZWN0aW9uOiBIb3Jpem9udGFsQWxpZ25tZW50LkNlbnRlcixcclxuICAgICAgICAgICAgaG9yaXpvbnRhbFN0YXJ0UG9pbnQ6IEhvcml6b250YWxBbGlnbm1lbnQuQ2VudGVyLFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbFN0YXJ0UG9pbnQ6IFZlcnRpY2FsQWxpZ25tZW50LlRvcCxcclxuICAgICAgICAgICAgdmVydGljYWxEaXJlY3Rpb246IFZlcnRpY2FsQWxpZ25tZW50LlRvcCxcclxuICAgICAgICAgICAgb3BlbkFuaW1hdGlvbjogbnVsbCxcclxuICAgICAgICAgICAgY2xvc2VBbmltYXRpb246IG51bGxcclxuICAgICAgICB9KVxyXG4gICAgfTtcclxuICAgIHB1YmxpYyBjaGFydEltYWdlcztcclxuICAgIHB1YmxpYyBjb25kaXRpb25JbWFnZXM7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBJZ3hPdmVybGF5U2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuY2hhcnRJbWFnZXMgPSBjaGFydHM7XHJcbiAgICAgICAgdGhpcy5jb25kaXRpb25JbWFnZXMgPSBjb25kaXRpb25zO1xyXG4gICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuY2hhcnRUeXBlcyA9IHRoaXMuY29udGV4dERpcmVjdGl2ZS5jaGFydHM7XHJcbiAgICAgICAgdGhpcy50ZXh0Rm9ybWF0dGVycyA9IHRoaXMuY29udGV4dERpcmVjdGl2ZS5mb3JtYXR0ZXJzO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0RGlyZWN0aXZlLmNoYXJ0c0RpcmVjdGl2ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHREaXJlY3RpdmUuY2hhcnRzRGlyZWN0aXZlLm9uQ2hhcnRUeXBlc0RldGVybWluZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChhcmdzKSA9PiB0aGlzLmNoYXJ0VHlwZXMgPSBhcmdzLmNoYXJ0c0ZvckNyZWF0aW9uKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHREaXJlY3RpdmUudGV4dEZvcm1hdHRlcikge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHREaXJlY3RpdmUudGV4dEZvcm1hdHRlci5vbkZvcm1hdHRlcnNSZWFkeS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUobmFtZXMgPT4gdGhpcy50ZXh0Rm9ybWF0dGVycyA9IG5hbWVzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY29udGV4dERpcmVjdGl2ZS5vbkJ1dHRvbkNsb3NlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHsgaWYgKHRoaXMudGFic01lbnUgJiYgIXRoaXMudGFic01lbnUuY29sbGFwc2VkKSB7IHRoaXMudGFic01lbnUuY2xvc2UoKTsgfSB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5jb250ZXh0RGlyZWN0aXZlLmdyaWRSZXNpemVOb3RpZnkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy50YWJzTWVudS5jb2xsYXBzZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJzTWVudS5jbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy50YWJzTWVudS5vcGVuaW5nLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICBpZiAodGhpcy50YWJzLnNlbGVjdGVkSXRlbS5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnN0IGkgPSB0aGlzLnRhYnMuaXRlbXMuZmluZCh0YWIgPT4gIXRhYi5kaXNhYmxlZCk/LmluZGV4IHx8IDA7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnRhYnMuc2VsZWN0VGFiKHRoaXMudGFicy50YWJzLnRvQXJyYXkoKVtpXSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLm9wZW5pbmcucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFyZ3M6IE92ZXJsYXlDYW5jZWxhYmxlRXZlbnRBcmdzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYXJncy5jb21wb25lbnRSZWYpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnN0YW5jZSA9IChhcmdzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBJZ3hDaGFydE1lbnVDb21wb25lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLndpZHRoID0gdGhpcy5jb250ZXh0RGlyZWN0aXZlLmdyaWQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5oZWlnaHQgPSB0aGlzLmNvbnRleHREaXJlY3RpdmUuZ3JpZC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jdXJyZW50Q2hhcnRUeXBlID0gdGhpcy5jdXJyZW50Q2hhcnRUeXBlO1xyXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmFsbENoYXJ0cyA9IHRoaXMuY2hhcnRUeXBlcztcclxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jaGFydERpcmVjdGl2ZSA9IHRoaXMuY29udGV4dERpcmVjdGl2ZS5jaGFydHNEaXJlY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2Uub25DbG9zZT8uc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZURpYWxvZygpXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuY2hhcnREaWFsb2dSZXNpemVOb3RpZnk/LnN1YnNjcmliZShyZXNpemVkQ29udGVudEFyZ3MgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGEgdGVtcG9yYXJ5IGZpeCwgd2hpY2ggc2hvdWxkIGJlIHJlbW92ZWQgcmlnaHQgYWZ0ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIG92ZXJsYXkgc2VydmljZSBpcyBjYXBhYmxlIG9mIG5vdGlmeWluZyB0aGUgb3ZlcmxheSBjb250ZW50IGVsZW1lbnRzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQgdGhlaXIgY2hpbGRyZW4gaGFzIGJlZW4gcmVzaXplZC5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgodGhpcy5vdmVybGF5U2VydmljZSBhcyBhbnkpLl9vdmVybGF5RWxlbWVudC5jaGlsZHJlblsxXSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMub3ZlcmxheVNlcnZpY2UgYXMgYW55KS5fb3ZlcmxheUVsZW1lbnQuY2hpbGRyZW5bMV0uY2hpbGRyZW5bMF0uc3R5bGUud2lkdGggPSByZXNpemVkQ29udGVudEFyZ3NbMF0uY29udGVudFJlY3Qud2lkdGggKyAncHgnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuY2xvc2luZy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChhcmdzOiBPdmVybGF5RXZlbnRBcmdzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChhcmdzLmNvbXBvbmVudFJlZiAmJiBhcmdzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBpbnN0YW5jZW9mIElneENoYXJ0TWVudUNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2RpYWxvZ0lkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJzTWVudS5vcGVuKHRoaXMuX3RhYnNNZW51T3ZlcmxheVNldHRpbmdzKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHRvZ2dsZVRhYk1lbnUoKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q2hhcnRUeXBlID0gdGhpcy5jdXJyZW50Q2hhcnRUeXBlID8gdGhpcy5jdXJyZW50Q2hhcnRUeXBlIDogQ0hBUlRfVFlQRS5DT0xVTU5fR1JPVVBFRDtcclxuICAgICAgICB0aGlzLl90YWJzTWVudU92ZXJsYXlTZXR0aW5ncy50YXJnZXQgPSB0aGlzLmJ1dHRvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIHRoaXMudGFic01lbnUuY29sbGFwc2VkID8gdGhpcy50YWJzTWVudS5vcGVuKHRoaXMuX3RhYnNNZW51T3ZlcmxheVNldHRpbmdzKSA6IHRoaXMudGFic01lbnUuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZm9ybWF0Q2VsbHMoY29uZGl0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Rm9ybWF0dGVyID0gY29uZGl0aW9uO1xyXG4gICAgICAgIHRoaXMuY29udGV4dERpcmVjdGl2ZS50ZXh0Rm9ybWF0dGVyLmZvcm1hdENlbGxzKGNvbmRpdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsZWFyRm9ybWF0KCkge1xyXG4gICAgICAgIHRoaXMuY29udGV4dERpcmVjdGl2ZS50ZXh0Rm9ybWF0dGVyLmNsZWFyRm9ybWF0dGluZygpO1xyXG4gICAgICAgIHRoaXMuY3VycmVudEZvcm1hdHRlciA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcHJldmlld0NoYXJ0KGN1cnJlbnRDaGFydFR5cGUpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRDaGFydFR5cGUgPSBjdXJyZW50Q2hhcnRUeXBlO1xyXG4gICAgICAgIHRoaXMuY2hhcnRQcmV2aWV3LmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0RGlyZWN0aXZlLmNoYXJ0c0RpcmVjdGl2ZS5jaGFydEZhY3RvcnkoY3VycmVudENoYXJ0VHlwZSwgdGhpcy5jaGFydFByZXZpZXcpO1xyXG4gICAgICAgIHRoaXMuX2NoYXJ0UHJldmlld0RpYWxvZ092ZXJsYXlTZXR0aW5ncy50YXJnZXQgPSB0aGlzLnRhYnNNZW51LmVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5jaGFydFByZXZpZXdEaWFsb2cub3Blbih0aGlzLl9jaGFydFByZXZpZXdEaWFsb2dPdmVybGF5U2V0dGluZ3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoaWRlUHJldmlldygpIHtcclxuICAgICAgICB0aGlzLmNoYXJ0UHJldmlld0RpYWxvZy5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvcGVuRGlhbG9nKHR5cGU/OiBDSEFSVF9UWVBFKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q2hhcnRUeXBlID0gdHlwZSA/IHR5cGUgOiB0aGlzLmN1cnJlbnRDaGFydFR5cGUgPyB0aGlzLmN1cnJlbnRDaGFydFR5cGUgOiBDSEFSVF9UWVBFLkNPTFVNTl9HUk9VUEVEO1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZ0lkID0gdGhpcy5fZGlhbG9nSWQgPyB0aGlzLl9kaWFsb2dJZCA6XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuYXR0YWNoKElneENoYXJ0TWVudUNvbXBvbmVudCwgdGhpcy5fY2hhcnREaWFsb2dPUyk7XHJcbiAgICAgICAgdGhpcy50YWJzTWVudS5jbG9zZSgpO1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2Uuc2hvdyh0aGlzLl9kaWFsb2dJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsb3NlRGlhbG9nKCkge1xyXG4gICAgICAgIGNvbnN0IGluZm8gPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmdldE92ZXJsYXlCeUlkKHRoaXMuX2RpYWxvZ0lkKTtcclxuICAgICAgICBpZiAoaW5mbykge1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmhpZGUodGhpcy5fZGlhbG9nSWQpO1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmRldGFjaCh0aGlzLl9kaWFsb2dJZCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ0lkID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuIiwiPHNwYW4gI2FuYWx5dGljc0J0biBjbGFzcz1cImFuYWx5dGljcy1idG5cIj5cclxuICAgIDxidXR0b24gI2J0biBpZ3hCdXR0b249XCJpY29uXCIgKGNsaWNrKT1cInRvZ2dsZVRhYk1lbnUoKVwiPlxyXG4gICAgICAgIDxpZ3gtaWNvbiAjaWNvbiBjbGFzcz1cImljb25cIiBmYW1pbHk9XCJtYXRlcmlhbFwiPmluc2VydF9jaGFydF9vdXRsaW5lZDwvaWd4LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuPC9zcGFuPlxyXG48ZGl2ICN0YWJzTWVudSBpZ3hUb2dnbGUgY2xhc3M9XCJ0b2dnbGUtY29udGVudCBpZy1zY3JvbGxiYXJcIj5cclxuICAgIDwhLS1OT1RFOiBUaGlzIGNvbXBvbmVudCBoYXMgYmVlbiB1cGRhdGVkIGJ5IEluZnJhZ2lzdGljcyBtaWdyYXRpb246IHYxMi4wLjBcclxuUGxlYXNlIGNoZWNrIHlvdXIgdGVtcGxhdGUgd2hldGhlciBhbGwgYmluZGluZ3MvZXZlbnQgaGFuZGxlcnMgYXJlIGNvcnJlY3QuLS0+XHJcbiAgICA8aWd4LXRhYnMgdGFic1R5cGU9XCJmaXhlZFwiIFtzZWxlY3RlZEluZGV4XT1cIiF0aGlzLnRleHRGb3JtYXR0ZXJzLmxlbmd0aCAmJiBjaGFydFR5cGVzLmxlbmd0aCA/IDEgOiAwXCI+XHJcbiAgICAgICAgPGlneC10YWItaXRlbSBbZGlzYWJsZWRdPVwiIXRleHRGb3JtYXR0ZXJzLmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8aWd4LXRhYi1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBpZ3hUYWJIZWFkZXJMYWJlbD5Db25kaXRpb25hbCBGb3JtYXR0aW5nPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2lneC10YWItaGVhZGVyPlxyXG4gICAgICAgICAgICA8aWd4LXRhYi1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGlnYy10cmlhbC13YXRlcm1hcms+PC9pZ2MtdHJpYWwtd2F0ZXJtYXJrPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYnNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRhYi1vcHRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGNvbmRpdGlvbiBvZiB0ZXh0Rm9ybWF0dGVyc1wiIGNsYXNzPVwiYWN0aW9uIGJ0biBjb25kaXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydzZWxlY3RlZC0tY29uZGl0aW9uJzogY29uZGl0aW9uID09PSBjdXJyZW50Rm9ybWF0dGVyfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZm9ybWF0Q2VsbHMoY29uZGl0aW9uKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZ1NpemVcIiBbaW5uZXJIVE1MXT1cImNvbmRpdGlvbkltYWdlc1tjb25kaXRpb24ucmVwbGFjZSgnICcsICcnKV0gfCBzdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lXCI+e3tjb25kaXRpb24ucmVwbGFjZSgnMTAnLCAnMTAlJyl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsZWFyIGFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZUJ1dHRvbic6IGNvbnRleHREaXJlY3RpdmUudGV4dEZvcm1hdHRlciA/ICFjb250ZXh0RGlyZWN0aXZlLnRleHRGb3JtYXR0ZXIuZm9ybWF0dGVyIDogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyRm9ybWF0KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZ1NpemVcIiBbaW5uZXJIVE1MXT1cImNvbmRpdGlvbkltYWdlc1snQ2xlYXInXSB8IHN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidG4gbmFtZVwiPkNsZWFyIEFsbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pZ3gtdGFiLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9pZ3gtdGFiLWl0ZW0+XHJcbiAgICAgICAgPGlneC10YWItaXRlbSBbZGlzYWJsZWRdPVwiIWNoYXJ0VHlwZXMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDxpZ3gtdGFiLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGlneFRhYkhlYWRlckxhYmVsPkNyZWF0ZSBDaGFydDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9pZ3gtdGFiLWhlYWRlcj5cclxuICAgICAgICAgICAgPGlneC10YWItY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxpZ2MtdHJpYWwtd2F0ZXJtYXJrPjwvaWdjLXRyaWFsLXdhdGVybWFyaz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWItb3B0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBjaGFydCBvZiBjaGFydFR5cGVzIHwgc2xpY2U6MDo0XCIgY2xhc3M9XCJhY3Rpb24gYnRuIGNoYXJ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnOiBjaGFydCA9PT0gY3VycmVudENoYXJ0VHlwZX1cIiAobW91c2VlbnRlcik9XCJwcmV2aWV3Q2hhcnQoY2hhcnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImhpZGVQcmV2aWV3KClcIiAoY2xpY2spPVwib3BlbkRpYWxvZyhjaGFydClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY2hhcnRJbWFnZXNbY2hhcnRdIHwgc3ZnXCIgY2xhc3M9XCJpbWdTaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIj57e2NoYXJ0fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtb3JlLWFjdGlvbiBjaGFydFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZUJ1dHRvbic6ICFjaGFydFR5cGVzLmxlbmd0aH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkRpYWxvZygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtb3JlLWJ0biBtb3JlLWljb25cIiBpZ3hCdXR0b249XCJpY29uXCIgaWd4QnV0dG9uQmFja2dyb3VuZD1cIiNFQkVCRUJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWd4QnV0dG9uQ29sb3I9XCJibGFja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlneC1pY29uIGNsYXNzPVwiaWNvblwiIGZhbWlseT1cIm1hdGVyaWFsXCI+bW9yZV9ob3JpejwvaWd4LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWUgYnRuXCI+TW9yZS4uLjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pZ3gtdGFiLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9pZ3gtdGFiLWl0ZW0+XHJcbiAgICA8L2lneC10YWJzPlxyXG48L2Rpdj5cclxuPGRpdiBpZ3hUb2dnbGUgI2NoYXJ0UHJldmlld0RpYWxvZyBjbGFzcz1cImNoYXJ0LXByZXZpZXdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1wcmV2aWV3LXRpdGxlXCI+XHJcbiAgICAgICAgPGg1PlByZXZpZXcgQ2hhcnQ8L2g1PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtcHJldmlldy1hcmVhXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNjaGFydFByZXZpZXc+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|