@covalent/core 8.12.3 → 8.14.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/dialogs/README.md +32 -24
- package/dialogs/_dialog-theme.scss +7 -1
- package/dialogs/dialog.component.d.ts +6 -1
- package/dialogs/dialogs.module.d.ts +10 -9
- package/dialogs/public_api.d.ts +1 -0
- package/dialogs/services/dialog.service.d.ts +22 -0
- package/dialogs/status-dialog/status-dialog.component.d.ts +23 -0
- package/esm2022/dialogs/dialog.component.mjs +18 -3
- package/esm2022/dialogs/dialogs.module.mjs +11 -4
- package/esm2022/dialogs/public_api.mjs +2 -1
- package/esm2022/dialogs/services/dialog.service.mjs +37 -1
- package/esm2022/dialogs/status-dialog/status-dialog.component.mjs +55 -0
- package/fesm2022/covalent-core-dialogs.mjs +110 -7
- package/fesm2022/covalent-core-dialogs.mjs.map +1 -1
- package/package.json +2 -2
- package/theming/_teradata-theme.scss +12 -0
package/dialogs/README.md
CHANGED
@@ -16,6 +16,8 @@ Note: if no [ViewContainerRef] is provided, [TdDialogService] will throw an erro
|
|
16
16
|
- Opens a confirm dialog with the provided config.
|
17
17
|
- openPrompt: function(IPromptConfig): MatDialogRef<TdPromptDialogComponent>
|
18
18
|
- Opens a prompt dialog with the provided config.
|
19
|
+
- openStatus: function(IStatusConfig): MatDialogRef<TdStatusDialogComponent>
|
20
|
+
- Opens a status dialog with the provided config.
|
19
21
|
- open: function<T>(component: ComponentType<T>, config: MatDialogConfig): MatDialogRef<T>
|
20
22
|
- Wrapper function over the open() method in MatDialog. Opens a modal dialog containing the given component.
|
21
23
|
- openDraggable: function<T>(IDraggableConfig<T>): MatDialogRef<T>
|
@@ -87,6 +89,28 @@ export class Demo {
|
|
87
89
|
});
|
88
90
|
}
|
89
91
|
|
92
|
+
openStatus(): void {
|
93
|
+
this._dialogService.openStatus({
|
94
|
+
closeButton: 'Close', //OPTIONAL, defaults to 'CLOSE'
|
95
|
+
details: 'Additional information about the error.', //OPTIONAL, additional details to be displayed in the message
|
96
|
+
detailsLabels: {
|
97
|
+
showDetailsLabel: 'Show more details',
|
98
|
+
hideDetailsLabel: 'Hide more details'
|
99
|
+
}, //OPTIONAL, defaults to 'Show details' and 'Hide details'
|
100
|
+
disableClose: true, // defaults to false
|
101
|
+
message:
|
102
|
+
'This is how simple it is to create a status dialog with this wrapper service.',
|
103
|
+
state: 'error', // represents the state ('error' | 'positive' | 'warning') of the dialog, defaults to 'error'
|
104
|
+
title: 'Status dialog', //OPTIONAL, hides if not provided
|
105
|
+
}).afterClosed().subscribe((newValue: string) => {
|
106
|
+
if (newValue) {
|
107
|
+
// DO SOMETHING
|
108
|
+
} else {
|
109
|
+
// DO SOMETHING ELSE
|
110
|
+
}
|
111
|
+
});;
|
112
|
+
}
|
113
|
+
|
90
114
|
openDraggable(): void {
|
91
115
|
this._dialogService.openDraggable({
|
92
116
|
component: DraggableDemoComponent,
|
@@ -150,25 +174,15 @@ A utility to make a draggable dialog resizable.
|
|
150
174
|
```
|
151
175
|
|
152
176
|
```ts
|
153
|
-
const {
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
component: DraggableResizableDialogComponent,
|
159
|
-
// CSS selectors of element(s) inside the component meant to be drag handle(s)
|
160
|
-
dragHandleSelectors: ['.drag-handle'],
|
161
|
-
}
|
162
|
-
);
|
177
|
+
const { matDialogRef, dragRefSubject }: IDraggableRefs<DraggableResizableDialogComponent> = this._dialogService.openDraggable({
|
178
|
+
component: DraggableResizableDialogComponent,
|
179
|
+
// CSS selectors of element(s) inside the component meant to be drag handle(s)
|
180
|
+
dragHandleSelectors: ['.drag-handle'],
|
181
|
+
});
|
163
182
|
|
164
183
|
let resizableDraggableDialog: ResizableDraggableDialog;
|
165
184
|
dragRefSubject.subscribe((dragRf: DragRef) => {
|
166
|
-
resizableDraggableDialog = new ResizableDraggableDialog(
|
167
|
-
this._document,
|
168
|
-
this._renderer2,
|
169
|
-
matDialogRef,
|
170
|
-
dragRf
|
171
|
-
);
|
185
|
+
resizableDraggableDialog = new ResizableDraggableDialog(this._document, this._renderer2, matDialogRef, dragRf);
|
172
186
|
});
|
173
187
|
|
174
188
|
// Detach resize-ability event listeners after dialog closes
|
@@ -200,12 +214,7 @@ A component that can be utilized to create a dialog with a toolbar
|
|
200
214
|
```ts
|
201
215
|
@Component({
|
202
216
|
template: `
|
203
|
-
<td-window-dialog
|
204
|
-
[title]="'Title'"
|
205
|
-
[toolbarColor]="'accent'"
|
206
|
-
[closeLabel]="'Close'"
|
207
|
-
(closed)="closed.emit()"
|
208
|
-
>
|
217
|
+
<td-window-dialog [title]="'Title'" [toolbarColor]="'accent'" [closeLabel]="'Close'" (closed)="closed.emit()">
|
209
218
|
<p>Comes with a handy toolbar</p>
|
210
219
|
</td-window-dialog>
|
211
220
|
`,
|
@@ -216,8 +225,7 @@ export class DraggableResizableWindowDialogComponent {
|
|
216
225
|
```
|
217
226
|
|
218
227
|
```ts
|
219
|
-
const matDialogRef: MatDialogRef<DraggableResizableWindowDialogComponent> =
|
220
|
-
this._dialogService.open(DraggableResizableWindowDialogComponent);
|
228
|
+
const matDialogRef: MatDialogRef<DraggableResizableWindowDialogComponent> = this._dialogService.open(DraggableResizableWindowDialogComponent);
|
221
229
|
// listen to close event
|
222
230
|
matDialogRef.componentInstance.closed.subscribe(() => matDialogRef.close());
|
223
231
|
```
|
@@ -2,7 +2,8 @@
|
|
2
2
|
@import '../common/styles/typography-functions';
|
3
3
|
|
4
4
|
@mixin td-dialog-typography($config) {
|
5
|
-
.td-dialog-title
|
5
|
+
.td-dialog-title,
|
6
|
+
.td-status-dialog-title {
|
6
7
|
font: {
|
7
8
|
family: td-font-family($config);
|
8
9
|
size: td-font-size($config, title);
|
@@ -10,6 +11,11 @@
|
|
10
11
|
}
|
11
12
|
}
|
12
13
|
|
14
|
+
.td-status-dialog-title,
|
15
|
+
.td-status-dialog-title .td-dialog-message {
|
16
|
+
line-height: td-line-height($config, subheading-1);
|
17
|
+
}
|
18
|
+
|
13
19
|
.td-dialog-message {
|
14
20
|
font: {
|
15
21
|
family: td-font-family($config);
|
@@ -12,11 +12,16 @@ export declare class TdDialogActionsDirective {
|
|
12
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<TdDialogActionsDirective, never>;
|
13
13
|
static ɵdir: i0.ɵɵDirectiveDeclaration<TdDialogActionsDirective, "[tdDialogActions]", never, {}, {}, never, never, false, never>;
|
14
14
|
}
|
15
|
+
export declare class TdDialogStatusDirective {
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TdDialogStatusDirective, never>;
|
17
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TdDialogStatusDirective, "[tdDialogStatus]", never, {}, {}, never, never, false, never>;
|
18
|
+
}
|
15
19
|
export declare class TdDialogComponent implements AfterContentInit {
|
16
20
|
dialogTitle: QueryList<TdDialogTitleDirective>;
|
17
21
|
dialogContent: QueryList<TdDialogContentDirective>;
|
18
22
|
dialogActions: QueryList<TdDialogActionsDirective>;
|
23
|
+
dialogStatus: QueryList<TdDialogStatusDirective>;
|
19
24
|
ngAfterContentInit(): void;
|
20
25
|
static ɵfac: i0.ɵɵFactoryDeclaration<TdDialogComponent, never>;
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TdDialogComponent, "td-dialog", never, {}, {}, ["dialogTitle", "dialogContent", "dialogActions"], ["[tdDialogTitle]", "[tdDialogContent]", "[tdDialogActions]"], false, never>;
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TdDialogComponent, "td-dialog", never, {}, {}, ["dialogTitle", "dialogContent", "dialogActions", "dialogStatus"], ["[tdDialogStatus]", "[tdDialogTitle]", "[tdDialogContent]", "[tdDialogActions]"], false, never>;
|
22
27
|
}
|
@@ -4,16 +4,17 @@ import * as i2 from "./confirm-dialog/confirm-dialog.component";
|
|
4
4
|
import * as i3 from "./prompt-dialog/prompt-dialog.component";
|
5
5
|
import * as i4 from "./dialog.component";
|
6
6
|
import * as i5 from "./window-dialog/window-dialog.component";
|
7
|
-
import * as i6 from "
|
8
|
-
import * as i7 from "@angular/
|
9
|
-
import * as i8 from "@angular/
|
10
|
-
import * as i9 from "@angular/material/
|
11
|
-
import * as i10 from "@angular/material/
|
12
|
-
import * as i11 from "@angular/material/
|
13
|
-
import * as i12 from "@angular/material/
|
14
|
-
import * as i13 from "@angular/material/
|
7
|
+
import * as i6 from "./status-dialog/status-dialog.component";
|
8
|
+
import * as i7 from "@angular/forms";
|
9
|
+
import * as i8 from "@angular/common";
|
10
|
+
import * as i9 from "@angular/material/dialog";
|
11
|
+
import * as i10 from "@angular/material/input";
|
12
|
+
import * as i11 from "@angular/material/button";
|
13
|
+
import * as i12 from "@angular/material/toolbar";
|
14
|
+
import * as i13 from "@angular/material/tooltip";
|
15
|
+
import * as i14 from "@angular/material/icon";
|
15
16
|
export declare class CovalentDialogsModule {
|
16
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<CovalentDialogsModule, never>;
|
17
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentDialogsModule, [typeof i1.TdAlertDialogComponent, typeof i2.TdConfirmDialogComponent, typeof i3.TdPromptDialogComponent, typeof i4.TdDialogComponent, typeof i4.TdDialogTitleDirective, typeof i4.TdDialogActionsDirective, typeof i4.TdDialogContentDirective, typeof i5.TdWindowDialogComponent, typeof i1.TdAlertDialogComponent, typeof i2.TdConfirmDialogComponent, typeof i3.TdPromptDialogComponent], [typeof
|
18
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentDialogsModule, [typeof i1.TdAlertDialogComponent, typeof i2.TdConfirmDialogComponent, typeof i3.TdPromptDialogComponent, typeof i4.TdDialogComponent, typeof i4.TdDialogStatusDirective, typeof i4.TdDialogTitleDirective, typeof i4.TdDialogActionsDirective, typeof i4.TdDialogContentDirective, typeof i5.TdWindowDialogComponent, typeof i1.TdAlertDialogComponent, typeof i2.TdConfirmDialogComponent, typeof i3.TdPromptDialogComponent, typeof i6.TdStatusDialogComponent], [typeof i7.FormsModule, typeof i8.CommonModule, typeof i9.MatDialogModule, typeof i10.MatInputModule, typeof i11.MatButtonModule, typeof i12.MatToolbarModule, typeof i13.MatTooltipModule, typeof i14.MatIconModule], [typeof i1.TdAlertDialogComponent, typeof i2.TdConfirmDialogComponent, typeof i3.TdPromptDialogComponent, typeof i4.TdDialogComponent, typeof i4.TdDialogStatusDirective, typeof i4.TdDialogTitleDirective, typeof i4.TdDialogActionsDirective, typeof i4.TdDialogContentDirective, typeof i5.TdWindowDialogComponent, typeof i1.TdAlertDialogComponent, typeof i2.TdConfirmDialogComponent, typeof i3.TdPromptDialogComponent, typeof i6.TdStatusDialogComponent]>;
|
18
19
|
static ɵinj: i0.ɵɵInjectorDeclaration<CovalentDialogsModule>;
|
19
20
|
}
|
package/dialogs/public_api.d.ts
CHANGED
@@ -3,6 +3,7 @@ export * from './dialog.component';
|
|
3
3
|
export * from './alert-dialog/alert-dialog.component';
|
4
4
|
export * from './confirm-dialog/confirm-dialog.component';
|
5
5
|
export * from './prompt-dialog/prompt-dialog.component';
|
6
|
+
export * from './status-dialog/status-dialog.component';
|
6
7
|
export * from './services/dialog.service';
|
7
8
|
export * from './resizable-draggable-dialog/resizable-draggable-dialog';
|
8
9
|
export * from './window-dialog/window-dialog.component';
|
@@ -6,6 +6,7 @@ import { TdConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.compo
|
|
6
6
|
import { TdPromptDialogComponent } from '../prompt-dialog/prompt-dialog.component';
|
7
7
|
import { DragDrop, DragRef } from '@angular/cdk/drag-drop';
|
8
8
|
import { Subject } from 'rxjs';
|
9
|
+
import { TdStatusDialogStates, TdStatusDialogComponent, TdStatusDialogDetailsLabels } from '../status-dialog/status-dialog.component';
|
9
10
|
import * as i0 from "@angular/core";
|
10
11
|
export interface IDialogConfig extends MatDialogConfig {
|
11
12
|
title?: string;
|
@@ -22,6 +23,11 @@ export interface IConfirmConfig extends IDialogConfig {
|
|
22
23
|
export interface IPromptConfig extends IConfirmConfig {
|
23
24
|
value?: string;
|
24
25
|
}
|
26
|
+
export interface IStatusConfig extends IAlertConfig {
|
27
|
+
state?: TdStatusDialogStates;
|
28
|
+
details?: string;
|
29
|
+
detailsLabels?: TdStatusDialogDetailsLabels;
|
30
|
+
}
|
25
31
|
export interface IDraggableConfig<T> {
|
26
32
|
component: ComponentType<T>;
|
27
33
|
config?: MatDialogConfig;
|
@@ -100,6 +106,22 @@ export declare class TdDialogService {
|
|
100
106
|
*/
|
101
107
|
openDraggable<T>({ component, config, dragHandleSelectors, draggableClass, }: IDraggableConfig<T>): IDraggableRefs<T>;
|
102
108
|
private _createConfig;
|
109
|
+
/**
|
110
|
+
* params:
|
111
|
+
* - config: IStatusConfig {
|
112
|
+
* closeButton?: string;
|
113
|
+
* details?: string;
|
114
|
+
* detailsLabels?: TdStatusDialogDetailsLabels;
|
115
|
+
* message: string;
|
116
|
+
* state?: 'error' | 'positive' | 'warning'
|
117
|
+
* title?: string;
|
118
|
+
* viewContainerRef?: ViewContainerRef;
|
119
|
+
* }
|
120
|
+
*
|
121
|
+
* Opens a status dialog with the provided config.
|
122
|
+
* Returns an MatDialogRef<TdStatusDialogComponent> object.
|
123
|
+
*/
|
124
|
+
openStatus(config: IStatusConfig): MatDialogRef<TdStatusDialogComponent>;
|
103
125
|
static ɵfac: i0.ɵɵFactoryDeclaration<TdDialogService, never>;
|
104
126
|
static ɵprov: i0.ɵɵInjectableDeclaration<TdDialogService>;
|
105
127
|
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export type TdStatusDialogStates = 'error' | 'positive' | 'warning';
|
4
|
+
export type TdStatusDialogDetailsLabels = {
|
5
|
+
showDetailsLabel: string;
|
6
|
+
hideDetailsLabel: string;
|
7
|
+
};
|
8
|
+
export declare class TdStatusDialogComponent {
|
9
|
+
private _dialogRef;
|
10
|
+
closeButton?: string;
|
11
|
+
message?: string;
|
12
|
+
state?: TdStatusDialogStates;
|
13
|
+
title?: string;
|
14
|
+
details?: string;
|
15
|
+
showDetails?: boolean | undefined;
|
16
|
+
detailsLabels?: TdStatusDialogDetailsLabels;
|
17
|
+
constructor(_dialogRef: MatDialogRef<TdStatusDialogComponent>);
|
18
|
+
close(): void;
|
19
|
+
getStatusIcon(): string;
|
20
|
+
toggleDetails(): void;
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TdStatusDialogComponent, never>;
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TdStatusDialogComponent, "td-status-dialog", never, {}, {}, never, never, false, never>;
|
23
|
+
}
|
@@ -26,10 +26,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
26
26
|
type: Directive,
|
27
27
|
args: [{ selector: '[tdDialogActions]' }]
|
28
28
|
}] });
|
29
|
+
export class TdDialogStatusDirective {
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdDialogStatusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
31
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: TdDialogStatusDirective, selector: "[tdDialogStatus]", ngImport: i0 });
|
32
|
+
}
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdDialogStatusDirective, decorators: [{
|
34
|
+
type: Directive,
|
35
|
+
args: [{ selector: '[tdDialogStatus]' }]
|
36
|
+
}] });
|
29
37
|
export class TdDialogComponent {
|
30
38
|
dialogTitle;
|
31
39
|
dialogContent;
|
32
40
|
dialogActions;
|
41
|
+
dialogStatus;
|
33
42
|
ngAfterContentInit() {
|
34
43
|
if (this.dialogTitle.length > 1) {
|
35
44
|
throw new Error('Duplicate td-dialog-title component at in td-dialog.');
|
@@ -40,13 +49,16 @@ export class TdDialogComponent {
|
|
40
49
|
if (this.dialogActions.length > 1) {
|
41
50
|
throw new Error('Duplicate td-dialog-actions component at in td-dialog.');
|
42
51
|
}
|
52
|
+
if (this.dialogStatus.length > 1) {
|
53
|
+
throw new Error('Duplicate td-dialog-status component at in td-dialog.');
|
54
|
+
}
|
43
55
|
}
|
44
56
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
45
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: TdDialogComponent, selector: "td-dialog", queries: [{ propertyName: "dialogTitle", predicate: TdDialogTitleDirective, descendants: true }, { propertyName: "dialogContent", predicate: TdDialogContentDirective, descendants: true }, { propertyName: "dialogActions", predicate: TdDialogActionsDirective, descendants: true }], ngImport: i0, template: "<div mat-dialog-title *ngIf=\"dialogTitle.length > 0\">\n
|
57
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: TdDialogComponent, selector: "td-dialog", queries: [{ propertyName: "dialogTitle", predicate: TdDialogTitleDirective, descendants: true }, { propertyName: "dialogContent", predicate: TdDialogContentDirective, descendants: true }, { propertyName: "dialogActions", predicate: TdDialogActionsDirective, descendants: true }, { propertyName: "dialogStatus", predicate: TdDialogStatusDirective, descendants: true }], ngImport: i0, template: "<div class=\"td-dialog-wrapper\">\n <ng-content\n *ngIf=\"dialogStatus.length > 0\"\n select=\"[tdDialogStatus]\"\n ></ng-content>\n <section class=\"td-dialog\">\n <div mat-dialog-title *ngIf=\"dialogTitle.length > 0\">\n <ng-content select=\"[tdDialogTitle]\"></ng-content>\n </div>\n <mat-dialog-content\n class=\"td-dialog-content\"\n *ngIf=\"dialogContent.length > 0\"\n >\n <ng-content select=\"[tdDialogContent]\"></ng-content>\n </mat-dialog-content>\n <mat-dialog-actions\n class=\"td-dialog-actions\"\n *ngIf=\"dialogActions.length > 0\"\n >\n <span class=\"td-dialog-spacer\"></span>\n <ng-content select=\"[tdDialogActions]\"></ng-content>\n </mat-dialog-actions>\n </section>\n</div>\n", styles: [".td-dialog{width:100%}.td-dialog-wrapper{display:flex}.td-dialog-actions{flex-direction:row;box-sizing:border-box;display:flex}.td-dialog-actions .td-dialog-spacer{flex:1}.td-dialog-actions ::ng-deep button{text-transform:uppercase;margin-left:8px;padding-left:8px;padding-right:8px;min-width:64px}[dir=rtl] .td-dialog-actions ::ng-deep button{margin-right:8px;margin-left:inherit}.td-dialog-actions ::ng-deep .td-status-dialog___button{padding:9px 16px}@media screen and (max-width: 480px){.td-dialog-wrapper{flex-direction:column}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
|
46
58
|
}
|
47
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdDialogComponent, decorators: [{
|
48
60
|
type: Component,
|
49
|
-
args: [{ selector: 'td-dialog', template: "<div mat-dialog-title *ngIf=\"dialogTitle.length > 0\">\n
|
61
|
+
args: [{ selector: 'td-dialog', template: "<div class=\"td-dialog-wrapper\">\n <ng-content\n *ngIf=\"dialogStatus.length > 0\"\n select=\"[tdDialogStatus]\"\n ></ng-content>\n <section class=\"td-dialog\">\n <div mat-dialog-title *ngIf=\"dialogTitle.length > 0\">\n <ng-content select=\"[tdDialogTitle]\"></ng-content>\n </div>\n <mat-dialog-content\n class=\"td-dialog-content\"\n *ngIf=\"dialogContent.length > 0\"\n >\n <ng-content select=\"[tdDialogContent]\"></ng-content>\n </mat-dialog-content>\n <mat-dialog-actions\n class=\"td-dialog-actions\"\n *ngIf=\"dialogActions.length > 0\"\n >\n <span class=\"td-dialog-spacer\"></span>\n <ng-content select=\"[tdDialogActions]\"></ng-content>\n </mat-dialog-actions>\n </section>\n</div>\n", styles: [".td-dialog{width:100%}.td-dialog-wrapper{display:flex}.td-dialog-actions{flex-direction:row;box-sizing:border-box;display:flex}.td-dialog-actions .td-dialog-spacer{flex:1}.td-dialog-actions ::ng-deep button{text-transform:uppercase;margin-left:8px;padding-left:8px;padding-right:8px;min-width:64px}[dir=rtl] .td-dialog-actions ::ng-deep button{margin-right:8px;margin-left:inherit}.td-dialog-actions ::ng-deep .td-status-dialog___button{padding:9px 16px}@media screen and (max-width: 480px){.td-dialog-wrapper{flex-direction:column}}\n"] }]
|
50
62
|
}], propDecorators: { dialogTitle: [{
|
51
63
|
type: ContentChildren,
|
52
64
|
args: [TdDialogTitleDirective, { descendants: true }]
|
@@ -56,5 +68,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
56
68
|
}], dialogActions: [{
|
57
69
|
type: ContentChildren,
|
58
70
|
args: [TdDialogActionsDirective, { descendants: true }]
|
71
|
+
}], dialogStatus: [{
|
72
|
+
type: ContentChildren,
|
73
|
+
args: [TdDialogStatusDirective, { descendants: true }]
|
59
74
|
}] } });
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9kaWFsb2dzL3NyYy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2RpYWxvZ3Mvc3JjL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxlQUFlLEVBQ2YsU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDOzs7O0FBR3ZCLE1BQU0sT0FBTyxzQkFBc0I7dUdBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFOztBQUkxQyxNQUFNLE9BQU8sd0JBQXdCO3VHQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTs7QUFJNUMsTUFBTSxPQUFPLHdCQUF3Qjt1R0FBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7O0FBSTVDLE1BQU0sT0FBTyx1QkFBdUI7dUdBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFOztBQVEzQyxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFdBQVcsQ0FBcUM7SUFFaEQsYUFBYSxDQUF1QztJQUVwRCxhQUFhLENBQXVDO0lBRXBELFlBQVksQ0FBc0M7SUFFbEQsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO3VHQXZCVSxpQkFBaUI7MkZBQWpCLGlCQUFpQiw2RUFDWCxzQkFBc0IsbUVBRXRCLHdCQUF3QixtRUFFeEIsd0JBQXdCLGtFQUV4Qix1QkFBdUIsZ0RDaEMxQyxzd0JBd0JBOzsyRkRDYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVzs4QkFNckIsV0FBVztzQkFEVixlQUFlO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFHOUQsYUFBYTtzQkFEWixlQUFlO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFHaEUsYUFBYTtzQkFEWixlQUFlO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFHaEUsWUFBWTtzQkFEWCxlQUFlO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1t0ZERpYWxvZ1RpdGxlXScgfSlcbmV4cG9ydCBjbGFzcyBUZERpYWxvZ1RpdGxlRGlyZWN0aXZlIHt9XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1t0ZERpYWxvZ0NvbnRlbnRdJyB9KVxuZXhwb3J0IGNsYXNzIFRkRGlhbG9nQ29udGVudERpcmVjdGl2ZSB7fVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbdGREaWFsb2dBY3Rpb25zXScgfSlcbmV4cG9ydCBjbGFzcyBUZERpYWxvZ0FjdGlvbnNEaXJlY3RpdmUge31cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3RkRGlhbG9nU3RhdHVzXScgfSlcbmV4cG9ydCBjbGFzcyBUZERpYWxvZ1N0YXR1c0RpcmVjdGl2ZSB7fVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBDb250ZW50Q2hpbGRyZW4oVGREaWFsb2dUaXRsZURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBkaWFsb2dUaXRsZSE6IFF1ZXJ5TGlzdDxUZERpYWxvZ1RpdGxlRGlyZWN0aXZlPjtcbiAgQENvbnRlbnRDaGlsZHJlbihUZERpYWxvZ0NvbnRlbnREaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgZGlhbG9nQ29udGVudCE6IFF1ZXJ5TGlzdDxUZERpYWxvZ0NvbnRlbnREaXJlY3RpdmU+O1xuICBAQ29udGVudENoaWxkcmVuKFRkRGlhbG9nQWN0aW9uc0RpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBkaWFsb2dBY3Rpb25zITogUXVlcnlMaXN0PFRkRGlhbG9nQWN0aW9uc0RpcmVjdGl2ZT47XG4gIEBDb250ZW50Q2hpbGRyZW4oVGREaWFsb2dTdGF0dXNEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgZGlhbG9nU3RhdHVzITogUXVlcnlMaXN0PFRkRGlhbG9nU3RhdHVzRGlyZWN0aXZlPjtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlhbG9nVGl0bGUubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEdXBsaWNhdGUgdGQtZGlhbG9nLXRpdGxlIGNvbXBvbmVudCBhdCBpbiB0ZC1kaWFsb2cuJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpYWxvZ0NvbnRlbnQubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEdXBsaWNhdGUgdGQtZGlhbG9nLWNvbnRlbnQgY29tcG9uZW50IGF0IGluIHRkLWRpYWxvZy4nKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlhbG9nQWN0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0R1cGxpY2F0ZSB0ZC1kaWFsb2ctYWN0aW9ucyBjb21wb25lbnQgYXQgaW4gdGQtZGlhbG9nLicpO1xuICAgIH1cbiAgICBpZiAodGhpcy5kaWFsb2dTdGF0dXMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEdXBsaWNhdGUgdGQtZGlhbG9nLXN0YXR1cyBjb21wb25lbnQgYXQgaW4gdGQtZGlhbG9nLicpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRkLWRpYWxvZy13cmFwcGVyXCI+XG4gIDxuZy1jb250ZW50XG4gICAgKm5nSWY9XCJkaWFsb2dTdGF0dXMubGVuZ3RoID4gMFwiXG4gICAgc2VsZWN0PVwiW3RkRGlhbG9nU3RhdHVzXVwiXG4gID48L25nLWNvbnRlbnQ+XG4gIDxzZWN0aW9uIGNsYXNzPVwidGQtZGlhbG9nXCI+XG4gICAgPGRpdiBtYXQtZGlhbG9nLXRpdGxlICpuZ0lmPVwiZGlhbG9nVGl0bGUubGVuZ3RoID4gMFwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RkRGlhbG9nVGl0bGVdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZGlhbG9nLWNvbnRlbnRcbiAgICAgIGNsYXNzPVwidGQtZGlhbG9nLWNvbnRlbnRcIlxuICAgICAgKm5nSWY9XCJkaWFsb2dDb250ZW50Lmxlbmd0aCA+IDBcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0ZERpYWxvZ0NvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxtYXQtZGlhbG9nLWFjdGlvbnNcbiAgICAgIGNsYXNzPVwidGQtZGlhbG9nLWFjdGlvbnNcIlxuICAgICAgKm5nSWY9XCJkaWFsb2dBY3Rpb25zLmxlbmd0aCA+IDBcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGQtZGlhbG9nLXNwYWNlclwiPjwvc3Bhbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0ZERpYWxvZ0FjdGlvbnNdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuICA8L3NlY3Rpb24+XG48L2Rpdj5cbiJdfQ==
|
@@ -4,10 +4,11 @@ import { FormsModule } from '@angular/forms';
|
|
4
4
|
import { MatDialogModule } from '@angular/material/dialog';
|
5
5
|
import { MatInputModule } from '@angular/material/input';
|
6
6
|
import { MatButtonModule } from '@angular/material/button';
|
7
|
-
import { TdDialogComponent, TdDialogTitleDirective, TdDialogActionsDirective, TdDialogContentDirective, } from './dialog.component';
|
7
|
+
import { TdDialogComponent, TdDialogTitleDirective, TdDialogActionsDirective, TdDialogContentDirective, TdDialogStatusDirective, } from './dialog.component';
|
8
8
|
import { TdAlertDialogComponent } from './alert-dialog/alert-dialog.component';
|
9
9
|
import { TdConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';
|
10
10
|
import { TdPromptDialogComponent } from './prompt-dialog/prompt-dialog.component';
|
11
|
+
import { TdStatusDialogComponent } from './status-dialog/status-dialog.component';
|
11
12
|
import { TdDialogService } from './services/dialog.service';
|
12
13
|
import { TdWindowDialogComponent } from './window-dialog/window-dialog.component';
|
13
14
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
@@ -19,6 +20,7 @@ const TD_DIALOGS = [
|
|
19
20
|
TdConfirmDialogComponent,
|
20
21
|
TdPromptDialogComponent,
|
21
22
|
TdDialogComponent,
|
23
|
+
TdDialogStatusDirective,
|
22
24
|
TdDialogTitleDirective,
|
23
25
|
TdDialogActionsDirective,
|
24
26
|
TdDialogContentDirective,
|
@@ -26,6 +28,7 @@ const TD_DIALOGS = [
|
|
26
28
|
TdAlertDialogComponent,
|
27
29
|
TdConfirmDialogComponent,
|
28
30
|
TdPromptDialogComponent,
|
31
|
+
TdStatusDialogComponent,
|
29
32
|
];
|
30
33
|
export class CovalentDialogsModule {
|
31
34
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CovalentDialogsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
@@ -33,13 +36,15 @@ export class CovalentDialogsModule {
|
|
33
36
|
TdConfirmDialogComponent,
|
34
37
|
TdPromptDialogComponent,
|
35
38
|
TdDialogComponent,
|
39
|
+
TdDialogStatusDirective,
|
36
40
|
TdDialogTitleDirective,
|
37
41
|
TdDialogActionsDirective,
|
38
42
|
TdDialogContentDirective,
|
39
43
|
TdWindowDialogComponent,
|
40
44
|
TdAlertDialogComponent,
|
41
45
|
TdConfirmDialogComponent,
|
42
|
-
TdPromptDialogComponent
|
46
|
+
TdPromptDialogComponent,
|
47
|
+
TdStatusDialogComponent], imports: [FormsModule,
|
43
48
|
CommonModule,
|
44
49
|
MatDialogModule,
|
45
50
|
MatInputModule,
|
@@ -50,13 +55,15 @@ export class CovalentDialogsModule {
|
|
50
55
|
TdConfirmDialogComponent,
|
51
56
|
TdPromptDialogComponent,
|
52
57
|
TdDialogComponent,
|
58
|
+
TdDialogStatusDirective,
|
53
59
|
TdDialogTitleDirective,
|
54
60
|
TdDialogActionsDirective,
|
55
61
|
TdDialogContentDirective,
|
56
62
|
TdWindowDialogComponent,
|
57
63
|
TdAlertDialogComponent,
|
58
64
|
TdConfirmDialogComponent,
|
59
|
-
TdPromptDialogComponent
|
65
|
+
TdPromptDialogComponent,
|
66
|
+
TdStatusDialogComponent] });
|
60
67
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CovalentDialogsModule, providers: [TdDialogService], imports: [FormsModule,
|
61
68
|
CommonModule,
|
62
69
|
MatDialogModule,
|
@@ -84,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
84
91
|
providers: [TdDialogService],
|
85
92
|
}]
|
86
93
|
}] });
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9ncy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvZGlhbG9ncy9zcmMvZGlhbG9ncy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsdUJBQXVCLEdBQ3hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFdkQsTUFBTSxVQUFVLEdBQWdCO0lBQzlCLHNCQUFzQjtJQUN0Qix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLHNCQUFzQjtJQUN0Qix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtDQUN4QixDQUFDO0FBaUJGLE1BQU0sT0FBTyxxQkFBcUI7dUdBQXJCLHFCQUFxQjt3R0FBckIscUJBQXFCLGlCQTlCaEMsc0JBQXNCO1lBQ3RCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2QixzQkFBc0I7WUFDdEIsd0JBQXdCO1lBQ3hCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsdUJBQXVCLGFBS3JCLFdBQVc7WUFDWCxZQUFZO1lBQ1osZUFBZTtZQUNmLGNBQWM7WUFDZCxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixhQUFhLGFBeEJmLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHdCQUF3QjtZQUN4Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLHVCQUF1Qjt3R0FrQloscUJBQXFCLGFBRnJCLENBQUMsZUFBZSxDQUFDLFlBWDFCLFdBQVc7WUFDWCxZQUFZO1lBQ1osZUFBZTtZQUNmLGNBQWM7WUFDZCxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixhQUFhOzsyRkFNSixxQkFBcUI7a0JBZmpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsYUFBYTtxQkFDZDtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5pbXBvcnQge1xuICBUZERpYWxvZ0NvbXBvbmVudCxcbiAgVGREaWFsb2dUaXRsZURpcmVjdGl2ZSxcbiAgVGREaWFsb2dBY3Rpb25zRGlyZWN0aXZlLFxuICBUZERpYWxvZ0NvbnRlbnREaXJlY3RpdmUsXG4gIFRkRGlhbG9nU3RhdHVzRGlyZWN0aXZlLFxufSBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGRBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGRDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGRQcm9tcHREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3Byb21wdC1kaWFsb2cvcHJvbXB0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGRTdGF0dXNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3N0YXR1cy1kaWFsb2cvc3RhdHVzLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBUZFdpbmRvd0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vd2luZG93LWRpYWxvZy93aW5kb3ctZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmNvbnN0IFREX0RJQUxPR1M6IFR5cGU8YW55PltdID0gW1xuICBUZEFsZXJ0RGlhbG9nQ29tcG9uZW50LFxuICBUZENvbmZpcm1EaWFsb2dDb21wb25lbnQsXG4gIFRkUHJvbXB0RGlhbG9nQ29tcG9uZW50LFxuICBUZERpYWxvZ0NvbXBvbmVudCxcbiAgVGREaWFsb2dTdGF0dXNEaXJlY3RpdmUsXG4gIFRkRGlhbG9nVGl0bGVEaXJlY3RpdmUsXG4gIFRkRGlhbG9nQWN0aW9uc0RpcmVjdGl2ZSxcbiAgVGREaWFsb2dDb250ZW50RGlyZWN0aXZlLFxuICBUZFdpbmRvd0RpYWxvZ0NvbXBvbmVudCxcbiAgVGRBbGVydERpYWxvZ0NvbXBvbmVudCxcbiAgVGRDb25maXJtRGlhbG9nQ29tcG9uZW50LFxuICBUZFByb21wdERpYWxvZ0NvbXBvbmVudCxcbiAgVGRTdGF0dXNEaWFsb2dDb21wb25lbnQsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogWy4uLlREX0RJQUxPR1NdLFxuICBleHBvcnRzOiBbLi4uVERfRElBTE9HU10sXG4gIHByb3ZpZGVyczogW1RkRGlhbG9nU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENvdmFsZW50RGlhbG9nc01vZHVsZSB7fVxuIl19
|
@@ -3,7 +3,8 @@ export * from './dialog.component';
|
|
3
3
|
export * from './alert-dialog/alert-dialog.component';
|
4
4
|
export * from './confirm-dialog/confirm-dialog.component';
|
5
5
|
export * from './prompt-dialog/prompt-dialog.component';
|
6
|
+
export * from './status-dialog/status-dialog.component';
|
6
7
|
export * from './services/dialog.service';
|
7
8
|
export * from './resizable-draggable-dialog/resizable-draggable-dialog';
|
8
9
|
export * from './window-dialog/window-dialog.component';
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9kaWFsb2dzL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaWFsb2dzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb21wdC1kaWFsb2cvcHJvbXB0LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0dXMtZGlhbG9nL3N0YXR1cy1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNpemFibGUtZHJhZ2dhYmxlLWRpYWxvZy9yZXNpemFibGUtZHJhZ2dhYmxlLWRpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL3dpbmRvdy1kaWFsb2cvd2luZG93LWRpYWxvZy5jb21wb25lbnQnO1xuIl19
|
@@ -6,6 +6,7 @@ import { TdPromptDialogComponent } from '../prompt-dialog/prompt-dialog.componen
|
|
6
6
|
import { DragDrop } from '@angular/cdk/drag-drop';
|
7
7
|
import { DOCUMENT } from '@angular/common';
|
8
8
|
import { Subject } from 'rxjs';
|
9
|
+
import { TdStatusDialogComponent, } from '../status-dialog/status-dialog.component';
|
9
10
|
import * as i0 from "@angular/core";
|
10
11
|
import * as i1 from "@angular/material/dialog";
|
11
12
|
import * as i2 from "@angular/cdk/drag-drop";
|
@@ -167,6 +168,41 @@ export class TdDialogService {
|
|
167
168
|
Object.assign(dialogConfig, config);
|
168
169
|
return dialogConfig;
|
169
170
|
}
|
171
|
+
/**
|
172
|
+
* params:
|
173
|
+
* - config: IStatusConfig {
|
174
|
+
* closeButton?: string;
|
175
|
+
* details?: string;
|
176
|
+
* detailsLabels?: TdStatusDialogDetailsLabels;
|
177
|
+
* message: string;
|
178
|
+
* state?: 'error' | 'positive' | 'warning'
|
179
|
+
* title?: string;
|
180
|
+
* viewContainerRef?: ViewContainerRef;
|
181
|
+
* }
|
182
|
+
*
|
183
|
+
* Opens a status dialog with the provided config.
|
184
|
+
* Returns an MatDialogRef<TdStatusDialogComponent> object.
|
185
|
+
*/
|
186
|
+
openStatus(config) {
|
187
|
+
config.panelClass = 'td-status-dialog';
|
188
|
+
config.autoFocus = false;
|
189
|
+
config.width = '575px';
|
190
|
+
config.maxWidth = '96vw';
|
191
|
+
const dialogConfig = this._createConfig(config);
|
192
|
+
const dialogRef = this._dialogService.open(TdStatusDialogComponent, dialogConfig);
|
193
|
+
const statusDialogComponent = dialogRef.componentInstance;
|
194
|
+
statusDialogComponent.title = config.title;
|
195
|
+
statusDialogComponent.message = config.message;
|
196
|
+
statusDialogComponent.state = config.state;
|
197
|
+
statusDialogComponent.details = config.details;
|
198
|
+
if (config.detailsLabels) {
|
199
|
+
statusDialogComponent.detailsLabels = config.detailsLabels;
|
200
|
+
}
|
201
|
+
if (config.closeButton) {
|
202
|
+
statusDialogComponent.closeButton = config.closeButton;
|
203
|
+
}
|
204
|
+
return dialogRef;
|
205
|
+
}
|
170
206
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdDialogService, deps: [{ token: DOCUMENT }, { token: i1.MatDialog }, { token: i2.DragDrop }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
171
207
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdDialogService });
|
172
208
|
}
|
@@ -176,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
176
212
|
type: Inject,
|
177
213
|
args: [DOCUMENT]
|
178
214
|
}] }, { type: i1.MatDialog }, { type: i2.DragDrop }, { type: i0.RendererFactory2 }] });
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvZGlhbG9ncy9zcmMvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUNMLFNBQVMsRUFFVCxlQUFlLEdBQ2hCLE1BQU0sMEJBQTBCLENBQUM7QUFHbEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFFBQVEsRUFBVyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBb0MvQixNQUFNLE9BQU8sZUFBZTtJQUlFO0lBQ2xCO0lBQ0E7SUFDQTtJQU5GLFVBQVUsQ0FBWTtJQUU5QixZQUM0QixTQUFjLEVBQ2hDLGNBQXlCLEVBQ3pCLFNBQW1CLEVBQ25CLGVBQWlDO1FBSGYsY0FBUyxHQUFULFNBQVMsQ0FBSztRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBVztRQUN6QixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUV6QyxJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxJQUFJLENBQ1QsU0FBMkIsRUFDM0IsTUFBd0I7UUFFeEIsT0FB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LEVBQUUsQ0FDSCxDQUFDO2dCQUNGLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsZ0JBQWdCLENBQUMsV0FBVyxDQUFnQixXQUFXLENBQUMsQ0FBQztnQkFDM0QsQ0FBQztZQUNILENBQUM7WUFDRCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDckUsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDaEIsZ0JBQWdCLENBQUMsZUFBZSxDQUFjLFdBQVcsQ0FBQyxDQUFDO1lBQzdELENBQUM7WUFFRCxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUMzQyw4QkFBOEIsQ0FDL0IsQ0FBQztZQUNGLElBQUksZUFBZSxFQUFFLENBQUM7Z0JBQ3BCLGdCQUFnQixDQUFDLG1CQUFtQixDQUFjLGVBQWUsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7WUFDRCxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTyxhQUFhLENBQUMsTUFBcUI7UUFDekMsTUFBTSxZQUFZLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7UUFDNUQsWUFBWSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7UUFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzt1R0F0TVUsZUFBZSxrQkFJaEIsUUFBUTsyR0FKUCxlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFLTixNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTWF0RGlhbG9nLFxuICBNYXREaWFsb2dSZWYsXG4gIE1hdERpYWxvZ0NvbmZpZyxcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuaW1wb3J0IHsgVGRBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFRkQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZFByb21wdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3Byb21wdC1kaWFsb2cvcHJvbXB0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJhZ0Ryb3AsIERyYWdSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBJRGlhbG9nQ29uZmlnIGV4dGVuZHMgTWF0RGlhbG9nQ29uZmlnIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWxlcnRDb25maWcgZXh0ZW5kcyBJRGlhbG9nQ29uZmlnIHtcbiAgY2xvc2VCdXR0b24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbmZpcm1Db25maWcgZXh0ZW5kcyBJRGlhbG9nQ29uZmlnIHtcbiAgYWNjZXB0QnV0dG9uPzogc3RyaW5nO1xuICBjYW5jZWxCdXR0b24/OiBzdHJpbmc7XG4gIGlzRGVzdHJ1Y3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcm9tcHRDb25maWcgZXh0ZW5kcyBJQ29uZmlybUNvbmZpZyB7XG4gIHZhbHVlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEcmFnZ2FibGVDb25maWc8VD4ge1xuICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD47XG4gIGNvbmZpZz86IE1hdERpYWxvZ0NvbmZpZztcbiAgLy8gQ1NTIHNlbGVjdG9ycyBvZiBlbGVtZW50KHMpIGluc2lkZSB0aGUgY29tcG9uZW50IG1lYW50IHRvIGJlIGRyYWcgaGFuZGxlKHMpXG4gIGRyYWdIYW5kbGVTZWxlY3RvcnM/OiBzdHJpbmdbXTtcbiAgLy8gQ2xhc3MgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBjb21wb25lbnQgc2lnbmlmeWluZyBkcmFnLWFiaWxpdHlcbiAgZHJhZ2dhYmxlQ2xhc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURyYWdnYWJsZVJlZnM8VD4ge1xuICBtYXREaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUPjtcbiAgZHJhZ1JlZlN1YmplY3Q6IFN1YmplY3Q8RHJhZ1JlZj47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZERpYWxvZ1NlcnZpY2Uge1xuICBwcml2YXRlIF9yZW5kZXJlcjI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogYW55LFxuICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIF9kcmFnRHJvcDogRHJhZ0Ryb3AsXG4gICAgcHJpdmF0ZSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTJcbiAgKSB7XG4gICAgdGhpcy5fcmVuZGVyZXIyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgbnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogcGFyYW1zOlxuICAgKiAtIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPlxuICAgKiAtIGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnXG4gICAqIFdyYXBwZXIgZnVuY3Rpb24gb3ZlciB0aGUgb3BlbigpIG1ldGhvZCBpbiBNYXREaWFsb2cuXG4gICAqIE9wZW5zIGEgbW9kYWwgZGlhbG9nIGNvbnRhaW5pbmcgdGhlIGdpdmVuIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvcGVuPFQ+KFxuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPixcbiAgICBjb25maWc/OiBNYXREaWFsb2dDb25maWdcbiAgKTogTWF0RGlhbG9nUmVmPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKGNvbXBvbmVudCwgY29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcmFwcGVyIGZ1bmN0aW9uIG92ZXIgdGhlIGNsb3NlQWxsKCkgbWV0aG9kIGluIE1hdERpYWxvZy5cbiAgICogQ2xvc2VzIGFsbCBvZiB0aGUgY3VycmVudGx5LW9wZW4gZGlhbG9ncy5cbiAgICovXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLmNsb3NlQWxsKCk7XG4gIH1cblxuICAvKipcbiAgICogcGFyYW1zOlxuICAgKiAtIGNvbmZpZzogSUFsZXJ0Q29uZmlnIHtcbiAgICogICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICogICAgIHRpdGxlPzogc3RyaW5nO1xuICAgKiAgICAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XG4gICAqICAgICBjbG9zZUJ1dHRvbj86IHN0cmluZztcbiAgICogfVxuICAgKlxuICAgKiBPcGVucyBhbiBhbGVydCBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlnLlxuICAgKiBSZXR1cm5zIGFuIE1hdERpYWxvZ1JlZjxUZEFsZXJ0RGlhbG9nQ29tcG9uZW50PiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgb3BlbkFsZXJ0KGNvbmZpZzogSUFsZXJ0Q29uZmlnKTogTWF0RGlhbG9nUmVmPFRkQWxlcnREaWFsb2dDb21wb25lbnQ+IHtcbiAgICBjb25zdCBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZyhjb25maWcpO1xuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRkQWxlcnREaWFsb2dDb21wb25lbnQ+ID1cbiAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihUZEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xuICAgIGNvbnN0IGFsZXJ0RGlhbG9nQ29tcG9uZW50OiBUZEFsZXJ0RGlhbG9nQ29tcG9uZW50ID1cbiAgICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICBhbGVydERpYWxvZ0NvbXBvbmVudC50aXRsZSA9IGNvbmZpZy50aXRsZTtcbiAgICBhbGVydERpYWxvZ0NvbXBvbmVudC5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XG4gICAgaWYgKGNvbmZpZy5jbG9zZUJ1dHRvbikge1xuICAgICAgYWxlcnREaWFsb2dDb21wb25lbnQuY2xvc2VCdXR0b24gPSBjb25maWcuY2xvc2VCdXR0b247XG4gICAgfVxuICAgIHJldHVybiBkaWFsb2dSZWY7XG4gIH1cblxuICAvKipcbiAgICogcGFyYW1zOlxuICAgKiAtIGNvbmZpZzogSUNvbmZpcm1Db25maWcge1xuICAgKiAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgKiAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAqICAgICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcbiAgICogICAgIGFjY2VwdEJ1dHRvbj86IHN0cmluZztcbiAgICogICAgIGNhbmNlbEJ1dHRvbj86IHN0cmluZztcbiAgICogICAgIGlzRGVzdHJ1Y3RpdmU/OiBib29sZWFuO1xuICAgKiB9XG4gICAqXG4gICAqIE9wZW5zIGEgY29uZmlybSBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlnLlxuICAgKiBSZXR1cm5zIGFuIE1hdERpYWxvZ1JlZjxUZENvbmZpcm1EaWFsb2dDb21wb25lbnQ+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBvcGVuQ29uZmlybShcbiAgICBjb25maWc6IElDb25maXJtQ29uZmlnXG4gICk6IE1hdERpYWxvZ1JlZjxUZENvbmZpcm1EaWFsb2dDb21wb25lbnQ+IHtcbiAgICBjb25zdCBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZyhjb25maWcpO1xuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRkQ29uZmlybURpYWxvZ0NvbXBvbmVudD4gPVxuICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKFRkQ29uZmlybURpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgICBjb25zdCBjb25maXJtRGlhbG9nQ29tcG9uZW50OiBUZENvbmZpcm1EaWFsb2dDb21wb25lbnQgPVxuICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIGNvbmZpcm1EaWFsb2dDb21wb25lbnQudGl0bGUgPSBjb25maWcudGl0bGU7XG4gICAgY29uZmlybURpYWxvZ0NvbXBvbmVudC5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XG4gICAgaWYgKGNvbmZpZy5hY2NlcHRCdXR0b24pIHtcbiAgICAgIGNvbmZpcm1EaWFsb2dDb21wb25lbnQuYWNjZXB0QnV0dG9uID0gY29uZmlnLmFjY2VwdEJ1dHRvbjtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5pc0Rlc3RydWN0aXZlKSB7XG4gICAgICBjb25maXJtRGlhbG9nQ29tcG9uZW50LmlzRGVzdHJ1Y3RpdmUgPSBjb25maWcuaXNEZXN0cnVjdGl2ZTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5jYW5jZWxCdXR0b24pIHtcbiAgICAgIGNvbmZpcm1EaWFsb2dDb21wb25lbnQuY2FuY2VsQnV0dG9uID0gY29uZmlnLmNhbmNlbEJ1dHRvbjtcbiAgICB9XG4gICAgcmV0dXJuIGRpYWxvZ1JlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBwYXJhbXM6XG4gICAqIC0gY29uZmlnOiBJUHJvbXB0Q29uZmlnIHtcbiAgICogICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICogICAgIHRpdGxlPzogc3RyaW5nO1xuICAgKiAgICAgdmFsdWU/OiBzdHJpbmc7XG4gICAqICAgICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcbiAgICogICAgIGFjY2VwdEJ1dHRvbj86IHN0cmluZztcbiAgICogICAgIGNhbmNlbEJ1dHRvbj86IHN0cmluZztcbiAgICogfVxuICAgKlxuICAgKiBPcGVucyBhIHByb21wdCBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlnLlxuICAgKiBSZXR1cm5zIGFuIE1hdERpYWxvZ1JlZjxUZFByb21wdERpYWxvZ0NvbXBvbmVudD4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIG9wZW5Qcm9tcHQoXG4gICAgY29uZmlnOiBJUHJvbXB0Q29uZmlnXG4gICk6IE1hdERpYWxvZ1JlZjxUZFByb21wdERpYWxvZ0NvbXBvbmVudD4ge1xuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0gdGhpcy5fY3JlYXRlQ29uZmlnKGNvbmZpZyk7XG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGRQcm9tcHREaWFsb2dDb21wb25lbnQ+ID1cbiAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihUZFByb21wdERpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgICBjb25zdCBwcm9tcHREaWFsb2dDb21wb25lbnQ6IFRkUHJvbXB0RGlhbG9nQ29tcG9uZW50ID1cbiAgICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICBwcm9tcHREaWFsb2dDb21wb25lbnQudGl0bGUgPSBjb25maWcudGl0bGU7XG4gICAgcHJvbXB0RGlhbG9nQ29tcG9uZW50Lm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcbiAgICBwcm9tcHREaWFsb2dDb21wb25lbnQudmFsdWUgPSBjb25maWcudmFsdWU7XG4gICAgaWYgKGNvbmZpZy5hY2NlcHRCdXR0b24pIHtcbiAgICAgIHByb21wdERpYWxvZ0NvbXBvbmVudC5hY2NlcHRCdXR0b24gPSBjb25maWcuYWNjZXB0QnV0dG9uO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmNhbmNlbEJ1dHRvbikge1xuICAgICAgcHJvbXB0RGlhbG9nQ29tcG9uZW50LmNhbmNlbEJ1dHRvbiA9IGNvbmZpZy5jYW5jZWxCdXR0b247XG4gICAgfVxuICAgIHJldHVybiBkaWFsb2dSZWY7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgYSBkcmFnZ2FibGUgZGlhbG9nIGNvbnRhaW5pbmcgdGhlIGdpdmVuIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvcGVuRHJhZ2dhYmxlPFQ+KHtcbiAgICBjb21wb25lbnQsXG4gICAgY29uZmlnLFxuICAgIGRyYWdIYW5kbGVTZWxlY3RvcnMsXG4gICAgZHJhZ2dhYmxlQ2xhc3MsXG4gIH06IElEcmFnZ2FibGVDb25maWc8VD4pOiBJRHJhZ2dhYmxlUmVmczxUPiB7XG4gICAgY29uc3QgbWF0RGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VCwgYW55PiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihcbiAgICAgIGNvbXBvbmVudCxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG4gICAgY29uc3QgZHJhZ1JlZlN1YmplY3Q6IFN1YmplY3Q8RHJhZ1JlZj4gPSBuZXcgU3ViamVjdDxEcmFnUmVmPigpO1xuXG4gICAgY29uc3QgQ0RLX09WRVJMQVlfUEFORV9TRUxFQ1RPUiA9ICcuY2RrLW92ZXJsYXktcGFuZSc7XG4gICAgY29uc3QgQ0RLX09WRVJMQVlfQ09OVEFJTkVSX1NFTEVDVE9SID0gJy5jZGstb3ZlcmxheS1jb250YWluZXInO1xuXG4gICAgbWF0RGlhbG9nUmVmLmFmdGVyT3BlbmVkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IGRpYWxvZ0VsZW1lbnQ6IEhUTUxFbGVtZW50ID0gPEhUTUxFbGVtZW50PihcbiAgICAgICAgdGhpcy5fZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobWF0RGlhbG9nUmVmLmlkKVxuICAgICAgKTtcblxuICAgICAgaWYgKCFkaWFsb2dFbGVtZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZHJhZ2dhYmxlRWxlbWVudDogRHJhZ1JlZiA9XG4gICAgICAgIHRoaXMuX2RyYWdEcm9wLmNyZWF0ZURyYWcoZGlhbG9nRWxlbWVudCk7XG5cbiAgICAgIGlmIChkcmFnZ2FibGVDbGFzcykge1xuICAgICAgICBjb25zdCBjaGlsZENvbXBvbmVudCA9IGRpYWxvZ0VsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQ7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyhjaGlsZENvbXBvbmVudCwgZHJhZ2dhYmxlQ2xhc3MpO1xuICAgICAgfVxuICAgICAgaWYgKGRyYWdIYW5kbGVTZWxlY3RvcnMgJiYgZHJhZ0hhbmRsZVNlbGVjdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZHJhZ0hhbmRsZXM6IEVsZW1lbnRbXSA9IGRyYWdIYW5kbGVTZWxlY3RvcnMucmVkdWNlKFxuICAgICAgICAgIChhY2M6IEVsZW1lbnRbXSwgY3Vycjogc3RyaW5nKSA9PiBbXG4gICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICAuLi5BcnJheS5mcm9tKGRpYWxvZ0VsZW1lbnQucXVlcnlTZWxlY3RvckFsbChjdXJyKSksXG4gICAgICAgICAgXSxcbiAgICAgICAgICBbXVxuICAgICAgICApO1xuICAgICAgICBpZiAoZHJhZ0hhbmRsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGRyYWdnYWJsZUVsZW1lbnQud2l0aEhhbmRsZXMoPEhUTUxFbGVtZW50W10+ZHJhZ0hhbmRsZXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCByb290RWxlbWVudCA9IGRpYWxvZ0VsZW1lbnQuY2xvc2VzdChDREtfT1ZFUkxBWV9QQU5FX1NFTEVDVE9SKTtcbiAgICAgIGlmIChyb290RWxlbWVudCkge1xuICAgICAgICBkcmFnZ2FibGVFbGVtZW50LndpdGhSb290RWxlbWVudCg8SFRNTEVsZW1lbnQ+cm9vdEVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBib3VuZGFyeUVsZW1lbnQgPSBkaWFsb2dFbGVtZW50LmNsb3Nlc3QoXG4gICAgICAgIENES19PVkVSTEFZX0NPTlRBSU5FUl9TRUxFQ1RPUlxuICAgICAgKTtcbiAgICAgIGlmIChib3VuZGFyeUVsZW1lbnQpIHtcbiAgICAgICAgZHJhZ2dhYmxlRWxlbWVudC53aXRoQm91bmRhcnlFbGVtZW50KDxIVE1MRWxlbWVudD5ib3VuZGFyeUVsZW1lbnQpO1xuICAgICAgfVxuICAgICAgZHJhZ1JlZlN1YmplY3QubmV4dChkcmFnZ2FibGVFbGVtZW50KTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7IG1hdERpYWxvZ1JlZiwgZHJhZ1JlZlN1YmplY3QgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNvbmZpZyhjb25maWc6IElEaWFsb2dDb25maWcpOiBNYXREaWFsb2dDb25maWcge1xuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy53aWR0aCA9ICc0MDBweCc7XG4gICAgT2JqZWN0LmFzc2lnbihkaWFsb2dDb25maWcsIGNvbmZpZyk7XG4gICAgcmV0dXJuIGRpYWxvZ0NvbmZpZztcbiAgfVxufVxuIl19
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvZGlhbG9ncy9zcmMvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUNMLFNBQVMsRUFFVCxlQUFlLEdBQ2hCLE1BQU0sMEJBQTBCLENBQUM7QUFHbEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFFBQVEsRUFBVyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFFTCx1QkFBdUIsR0FFeEIsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQTBDbEQsTUFBTSxPQUFPLGVBQWU7SUFJRTtJQUNsQjtJQUNBO0lBQ0E7SUFORixVQUFVLENBQVk7SUFFOUIsWUFDNEIsU0FBYyxFQUNoQyxjQUF5QixFQUN6QixTQUFtQixFQUNuQixlQUFpQztRQUhmLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQVc7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFFekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7Ozs7OztP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QUFDO1FBQ3ZCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLE1BQU0sWUFBWSxHQUFvQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sU0FBUyxHQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2xFLE1BQU0scUJBQXFCLEdBQ3pCLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztRQUM5QixxQkFBcUIsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMzQyxxQkFBcUIsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMvQyxxQkFBcUIsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMzQyxxQkFBcUIsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMvQyxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixxQkFBcUIsQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkIscUJBQXFCLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7dUdBOU9VLGVBQWUsa0JBSWhCLFFBQVE7MkdBSlAsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBS04sTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE1hdERpYWxvZyxcbiAgTWF0RGlhbG9nUmVmLFxuICBNYXREaWFsb2dDb25maWcsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IFRkQWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZENvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGRQcm9tcHREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9wcm9tcHQtZGlhbG9nL3Byb21wdC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IERyYWdEcm9wLCBEcmFnUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBUZFN0YXR1c0RpYWxvZ1N0YXRlcyxcbiAgVGRTdGF0dXNEaWFsb2dDb21wb25lbnQsXG4gIFRkU3RhdHVzRGlhbG9nRGV0YWlsc0xhYmVscyxcbn0gZnJvbSAnLi4vc3RhdHVzLWRpYWxvZy9zdGF0dXMtZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURpYWxvZ0NvbmZpZyBleHRlbmRzIE1hdERpYWxvZ0NvbmZpZyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFsZXJ0Q29uZmlnIGV4dGVuZHMgSURpYWxvZ0NvbmZpZyB7XG4gIGNsb3NlQnV0dG9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb25maXJtQ29uZmlnIGV4dGVuZHMgSURpYWxvZ0NvbmZpZyB7XG4gIGFjY2VwdEJ1dHRvbj86IHN0cmluZztcbiAgY2FuY2VsQnV0dG9uPzogc3RyaW5nO1xuICBpc0Rlc3RydWN0aXZlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUHJvbXB0Q29uZmlnIGV4dGVuZHMgSUNvbmZpcm1Db25maWcge1xuICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU3RhdHVzQ29uZmlnIGV4dGVuZHMgSUFsZXJ0Q29uZmlnIHtcbiAgc3RhdGU/OiBUZFN0YXR1c0RpYWxvZ1N0YXRlcztcbiAgZGV0YWlscz86IHN0cmluZztcbiAgZGV0YWlsc0xhYmVscz86IFRkU3RhdHVzRGlhbG9nRGV0YWlsc0xhYmVscztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRHJhZ2dhYmxlQ29uZmlnPFQ+IHtcbiAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+O1xuICBjb25maWc/OiBNYXREaWFsb2dDb25maWc7XG4gIC8vIENTUyBzZWxlY3RvcnMgb2YgZWxlbWVudChzKSBpbnNpZGUgdGhlIGNvbXBvbmVudCBtZWFudCB0byBiZSBkcmFnIGhhbmRsZShzKVxuICBkcmFnSGFuZGxlU2VsZWN0b3JzPzogc3RyaW5nW107XG4gIC8vIENsYXNzIHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGUgY29tcG9uZW50IHNpZ25pZnlpbmcgZHJhZy1hYmlsaXR5XG4gIGRyYWdnYWJsZUNsYXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEcmFnZ2FibGVSZWZzPFQ+IHtcbiAgbWF0RGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VD47XG4gIGRyYWdSZWZTdWJqZWN0OiBTdWJqZWN0PERyYWdSZWY+O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGREaWFsb2dTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfcmVuZGVyZXIyOiBSZW5kZXJlcjI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IGFueSxcbiAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBfZHJhZ0Ryb3A6IERyYWdEcm9wLFxuICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyXG4gICkge1xuICAgIHRoaXMuX3JlbmRlcmVyMiA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIHBhcmFtczpcbiAgICogLSBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD5cbiAgICogLSBjb25maWc6IE1hdERpYWxvZ0NvbmZpZ1xuICAgKiBXcmFwcGVyIGZ1bmN0aW9uIG92ZXIgdGhlIG9wZW4oKSBtZXRob2QgaW4gTWF0RGlhbG9nLlxuICAgKiBPcGVucyBhIG1vZGFsIGRpYWxvZyBjb250YWluaW5nIHRoZSBnaXZlbiBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3BlbjxUPihcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sXG4gICAgY29uZmlnPzogTWF0RGlhbG9nQ29uZmlnXG4gICk6IE1hdERpYWxvZ1JlZjxUPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3Blbihjb21wb25lbnQsIGNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogV3JhcHBlciBmdW5jdGlvbiBvdmVyIHRoZSBjbG9zZUFsbCgpIG1ldGhvZCBpbiBNYXREaWFsb2cuXG4gICAqIENsb3NlcyBhbGwgb2YgdGhlIGN1cnJlbnRseS1vcGVuIGRpYWxvZ3MuXG4gICAqL1xuICBwdWJsaWMgY2xvc2VBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlhbG9nU2VydmljZS5jbG9zZUFsbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIHBhcmFtczpcbiAgICogLSBjb25maWc6IElBbGVydENvbmZpZyB7XG4gICAqICAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAqICAgICB0aXRsZT86IHN0cmluZztcbiAgICogICAgIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xuICAgKiAgICAgY2xvc2VCdXR0b24/OiBzdHJpbmc7XG4gICAqIH1cbiAgICpcbiAgICogT3BlbnMgYW4gYWxlcnQgZGlhbG9nIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZy5cbiAgICogUmV0dXJucyBhbiBNYXREaWFsb2dSZWY8VGRBbGVydERpYWxvZ0NvbXBvbmVudD4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIG9wZW5BbGVydChjb25maWc6IElBbGVydENvbmZpZyk6IE1hdERpYWxvZ1JlZjxUZEFsZXJ0RGlhbG9nQ29tcG9uZW50PiB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB0aGlzLl9jcmVhdGVDb25maWcoY29uZmlnKTtcbiAgICBjb25zdCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUZEFsZXJ0RGlhbG9nQ29tcG9uZW50PiA9XG4gICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oVGRBbGVydERpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgICBjb25zdCBhbGVydERpYWxvZ0NvbXBvbmVudDogVGRBbGVydERpYWxvZ0NvbXBvbmVudCA9XG4gICAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgYWxlcnREaWFsb2dDb21wb25lbnQudGl0bGUgPSBjb25maWcudGl0bGU7XG4gICAgYWxlcnREaWFsb2dDb21wb25lbnQubWVzc2FnZSA9IGNvbmZpZy5tZXNzYWdlO1xuICAgIGlmIChjb25maWcuY2xvc2VCdXR0b24pIHtcbiAgICAgIGFsZXJ0RGlhbG9nQ29tcG9uZW50LmNsb3NlQnV0dG9uID0gY29uZmlnLmNsb3NlQnV0dG9uO1xuICAgIH1cbiAgICByZXR1cm4gZGlhbG9nUmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIHBhcmFtczpcbiAgICogLSBjb25maWc6IElDb25maXJtQ29uZmlnIHtcbiAgICogICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICogICAgIHRpdGxlPzogc3RyaW5nO1xuICAgKiAgICAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XG4gICAqICAgICBhY2NlcHRCdXR0b24/OiBzdHJpbmc7XG4gICAqICAgICBjYW5jZWxCdXR0b24/OiBzdHJpbmc7XG4gICAqICAgICBpc0Rlc3RydWN0aXZlPzogYm9vbGVhbjtcbiAgICogfVxuICAgKlxuICAgKiBPcGVucyBhIGNvbmZpcm0gZGlhbG9nIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZy5cbiAgICogUmV0dXJucyBhbiBNYXREaWFsb2dSZWY8VGRDb25maXJtRGlhbG9nQ29tcG9uZW50PiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgb3BlbkNvbmZpcm0oXG4gICAgY29uZmlnOiBJQ29uZmlybUNvbmZpZ1xuICApOiBNYXREaWFsb2dSZWY8VGRDb25maXJtRGlhbG9nQ29tcG9uZW50PiB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB0aGlzLl9jcmVhdGVDb25maWcoY29uZmlnKTtcbiAgICBjb25zdCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUZENvbmZpcm1EaWFsb2dDb21wb25lbnQ+ID1cbiAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihUZENvbmZpcm1EaWFsb2dDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG4gICAgY29uc3QgY29uZmlybURpYWxvZ0NvbXBvbmVudDogVGRDb25maXJtRGlhbG9nQ29tcG9uZW50ID1cbiAgICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICBjb25maXJtRGlhbG9nQ29tcG9uZW50LnRpdGxlID0gY29uZmlnLnRpdGxlO1xuICAgIGNvbmZpcm1EaWFsb2dDb21wb25lbnQubWVzc2FnZSA9IGNvbmZpZy5tZXNzYWdlO1xuICAgIGlmIChjb25maWcuYWNjZXB0QnV0dG9uKSB7XG4gICAgICBjb25maXJtRGlhbG9nQ29tcG9uZW50LmFjY2VwdEJ1dHRvbiA9IGNvbmZpZy5hY2NlcHRCdXR0b247XG4gICAgfVxuICAgIGlmIChjb25maWcuaXNEZXN0cnVjdGl2ZSkge1xuICAgICAgY29uZmlybURpYWxvZ0NvbXBvbmVudC5pc0Rlc3RydWN0aXZlID0gY29uZmlnLmlzRGVzdHJ1Y3RpdmU7XG4gICAgfVxuICAgIGlmIChjb25maWcuY2FuY2VsQnV0dG9uKSB7XG4gICAgICBjb25maXJtRGlhbG9nQ29tcG9uZW50LmNhbmNlbEJ1dHRvbiA9IGNvbmZpZy5jYW5jZWxCdXR0b247XG4gICAgfVxuICAgIHJldHVybiBkaWFsb2dSZWY7XG4gIH1cblxuICAvKipcbiAgICogcGFyYW1zOlxuICAgKiAtIGNvbmZpZzogSVByb21wdENvbmZpZyB7XG4gICAqICAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAqICAgICB0aXRsZT86IHN0cmluZztcbiAgICogICAgIHZhbHVlPzogc3RyaW5nO1xuICAgKiAgICAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XG4gICAqICAgICBhY2NlcHRCdXR0b24/OiBzdHJpbmc7XG4gICAqICAgICBjYW5jZWxCdXR0b24/OiBzdHJpbmc7XG4gICAqIH1cbiAgICpcbiAgICogT3BlbnMgYSBwcm9tcHQgZGlhbG9nIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZy5cbiAgICogUmV0dXJucyBhbiBNYXREaWFsb2dSZWY8VGRQcm9tcHREaWFsb2dDb21wb25lbnQ+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBvcGVuUHJvbXB0KFxuICAgIGNvbmZpZzogSVByb21wdENvbmZpZ1xuICApOiBNYXREaWFsb2dSZWY8VGRQcm9tcHREaWFsb2dDb21wb25lbnQ+IHtcbiAgICBjb25zdCBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZyhjb25maWcpO1xuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRkUHJvbXB0RGlhbG9nQ29tcG9uZW50PiA9XG4gICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oVGRQcm9tcHREaWFsb2dDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG4gICAgY29uc3QgcHJvbXB0RGlhbG9nQ29tcG9uZW50OiBUZFByb21wdERpYWxvZ0NvbXBvbmVudCA9XG4gICAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgcHJvbXB0RGlhbG9nQ29tcG9uZW50LnRpdGxlID0gY29uZmlnLnRpdGxlO1xuICAgIHByb21wdERpYWxvZ0NvbXBvbmVudC5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XG4gICAgcHJvbXB0RGlhbG9nQ29tcG9uZW50LnZhbHVlID0gY29uZmlnLnZhbHVlO1xuICAgIGlmIChjb25maWcuYWNjZXB0QnV0dG9uKSB7XG4gICAgICBwcm9tcHREaWFsb2dDb21wb25lbnQuYWNjZXB0QnV0dG9uID0gY29uZmlnLmFjY2VwdEJ1dHRvbjtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5jYW5jZWxCdXR0b24pIHtcbiAgICAgIHByb21wdERpYWxvZ0NvbXBvbmVudC5jYW5jZWxCdXR0b24gPSBjb25maWcuY2FuY2VsQnV0dG9uO1xuICAgIH1cbiAgICByZXR1cm4gZGlhbG9nUmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgZHJhZ2dhYmxlIGRpYWxvZyBjb250YWluaW5nIHRoZSBnaXZlbiBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3BlbkRyYWdnYWJsZTxUPih7XG4gICAgY29tcG9uZW50LFxuICAgIGNvbmZpZyxcbiAgICBkcmFnSGFuZGxlU2VsZWN0b3JzLFxuICAgIGRyYWdnYWJsZUNsYXNzLFxuICB9OiBJRHJhZ2dhYmxlQ29uZmlnPFQ+KTogSURyYWdnYWJsZVJlZnM8VD4ge1xuICAgIGNvbnN0IG1hdERpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFQsIGFueT4gPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oXG4gICAgICBjb21wb25lbnQsXG4gICAgICBjb25maWdcbiAgICApO1xuICAgIGNvbnN0IGRyYWdSZWZTdWJqZWN0OiBTdWJqZWN0PERyYWdSZWY+ID0gbmV3IFN1YmplY3Q8RHJhZ1JlZj4oKTtcblxuICAgIGNvbnN0IENES19PVkVSTEFZX1BBTkVfU0VMRUNUT1IgPSAnLmNkay1vdmVybGF5LXBhbmUnO1xuICAgIGNvbnN0IENES19PVkVSTEFZX0NPTlRBSU5FUl9TRUxFQ1RPUiA9ICcuY2RrLW92ZXJsYXktY29udGFpbmVyJztcblxuICAgIG1hdERpYWxvZ1JlZi5hZnRlck9wZW5lZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBkaWFsb2dFbGVtZW50OiBIVE1MRWxlbWVudCA9IDxIVE1MRWxlbWVudD4oXG4gICAgICAgIHRoaXMuX2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1hdERpYWxvZ1JlZi5pZClcbiAgICAgICk7XG5cbiAgICAgIGlmICghZGlhbG9nRWxlbWVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRyYWdnYWJsZUVsZW1lbnQ6IERyYWdSZWYgPVxuICAgICAgICB0aGlzLl9kcmFnRHJvcC5jcmVhdGVEcmFnKGRpYWxvZ0VsZW1lbnQpO1xuXG4gICAgICBpZiAoZHJhZ2dhYmxlQ2xhc3MpIHtcbiAgICAgICAgY29uc3QgY2hpbGRDb21wb25lbnQgPSBkaWFsb2dFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYWRkQ2xhc3MoY2hpbGRDb21wb25lbnQsIGRyYWdnYWJsZUNsYXNzKTtcbiAgICAgIH1cbiAgICAgIGlmIChkcmFnSGFuZGxlU2VsZWN0b3JzICYmIGRyYWdIYW5kbGVTZWxlY3RvcnMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGRyYWdIYW5kbGVzOiBFbGVtZW50W10gPSBkcmFnSGFuZGxlU2VsZWN0b3JzLnJlZHVjZShcbiAgICAgICAgICAoYWNjOiBFbGVtZW50W10sIGN1cnI6IHN0cmluZykgPT4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgLi4uQXJyYXkuZnJvbShkaWFsb2dFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY3VycikpLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgW11cbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGRyYWdIYW5kbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBkcmFnZ2FibGVFbGVtZW50LndpdGhIYW5kbGVzKDxIVE1MRWxlbWVudFtdPmRyYWdIYW5kbGVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3Qgcm9vdEVsZW1lbnQgPSBkaWFsb2dFbGVtZW50LmNsb3Nlc3QoQ0RLX09WRVJMQVlfUEFORV9TRUxFQ1RPUik7XG4gICAgICBpZiAocm9vdEVsZW1lbnQpIHtcbiAgICAgICAgZHJhZ2dhYmxlRWxlbWVudC53aXRoUm9vdEVsZW1lbnQoPEhUTUxFbGVtZW50PnJvb3RFbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYm91bmRhcnlFbGVtZW50ID0gZGlhbG9nRWxlbWVudC5jbG9zZXN0KFxuICAgICAgICBDREtfT1ZFUkxBWV9DT05UQUlORVJfU0VMRUNUT1JcbiAgICAgICk7XG4gICAgICBpZiAoYm91bmRhcnlFbGVtZW50KSB7XG4gICAgICAgIGRyYWdnYWJsZUVsZW1lbnQud2l0aEJvdW5kYXJ5RWxlbWVudCg8SFRNTEVsZW1lbnQ+Ym91bmRhcnlFbGVtZW50KTtcbiAgICAgIH1cbiAgICAgIGRyYWdSZWZTdWJqZWN0Lm5leHQoZHJhZ2dhYmxlRWxlbWVudCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4geyBtYXREaWFsb2dSZWYsIGRyYWdSZWZTdWJqZWN0IH07XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVDb25maWcoY29uZmlnOiBJRGlhbG9nQ29uZmlnKTogTWF0RGlhbG9nQ29uZmlnIHtcbiAgICBjb25zdCBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcbiAgICBkaWFsb2dDb25maWcud2lkdGggPSAnNDAwcHgnO1xuICAgIE9iamVjdC5hc3NpZ24oZGlhbG9nQ29uZmlnLCBjb25maWcpO1xuICAgIHJldHVybiBkaWFsb2dDb25maWc7XG4gIH1cblxuICAvKipcbiAgICogcGFyYW1zOlxuICAgKiAtIGNvbmZpZzogSVN0YXR1c0NvbmZpZyB7XG4gICAqICAgICBjbG9zZUJ1dHRvbj86IHN0cmluZztcbiAgICogICAgIGRldGFpbHM/OiBzdHJpbmc7XG4gICAqICAgICBkZXRhaWxzTGFiZWxzPzogVGRTdGF0dXNEaWFsb2dEZXRhaWxzTGFiZWxzO1xuICAgKiAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgKiAgICAgc3RhdGU/OiAnZXJyb3InIHwgJ3Bvc2l0aXZlJyB8ICd3YXJuaW5nJ1xuICAgKiAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAqICAgICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcbiAgICogfVxuICAgKlxuICAgKiBPcGVucyBhIHN0YXR1cyBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlnLlxuICAgKiBSZXR1cm5zIGFuIE1hdERpYWxvZ1JlZjxUZFN0YXR1c0RpYWxvZ0NvbXBvbmVudD4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIG9wZW5TdGF0dXMoXG4gICAgY29uZmlnOiBJU3RhdHVzQ29uZmlnXG4gICk6IE1hdERpYWxvZ1JlZjxUZFN0YXR1c0RpYWxvZ0NvbXBvbmVudD4ge1xuICAgIGNvbmZpZy5wYW5lbENsYXNzID0gJ3RkLXN0YXR1cy1kaWFsb2cnO1xuICAgIGNvbmZpZy5hdXRvRm9jdXMgPSBmYWxzZTtcbiAgICBjb25maWcud2lkdGggPSAnNTc1cHgnO1xuICAgIGNvbmZpZy5tYXhXaWR0aCA9ICc5NnZ3JztcbiAgICBjb25zdCBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZyhjb25maWcpO1xuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRkU3RhdHVzRGlhbG9nQ29tcG9uZW50PiA9XG4gICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oVGRTdGF0dXNEaWFsb2dDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG4gICAgY29uc3Qgc3RhdHVzRGlhbG9nQ29tcG9uZW50OiBUZFN0YXR1c0RpYWxvZ0NvbXBvbmVudCA9XG4gICAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgc3RhdHVzRGlhbG9nQ29tcG9uZW50LnRpdGxlID0gY29uZmlnLnRpdGxlO1xuICAgIHN0YXR1c0RpYWxvZ0NvbXBvbmVudC5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XG4gICAgc3RhdHVzRGlhbG9nQ29tcG9uZW50LnN0YXRlID0gY29uZmlnLnN0YXRlO1xuICAgIHN0YXR1c0RpYWxvZ0NvbXBvbmVudC5kZXRhaWxzID0gY29uZmlnLmRldGFpbHM7XG4gICAgaWYgKGNvbmZpZy5kZXRhaWxzTGFiZWxzKSB7XG4gICAgICBzdGF0dXNEaWFsb2dDb21wb25lbnQuZGV0YWlsc0xhYmVscyA9IGNvbmZpZy5kZXRhaWxzTGFiZWxzO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmNsb3NlQnV0dG9uKSB7XG4gICAgICBzdGF0dXNEaWFsb2dDb21wb25lbnQuY2xvc2VCdXR0b24gPSBjb25maWcuY2xvc2VCdXR0b247XG4gICAgfVxuICAgIHJldHVybiBkaWFsb2dSZWY7XG4gIH1cbn1cbiJdfQ==
|