@messaia/cdk 18.0.0-rc28 → 18.0.0-rc29
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.
|
@@ -5,118 +5,126 @@ import { VdConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.compo
|
|
|
5
5
|
import { VdPromptDialogComponent } from '../prompt-dialog/prompt-dialog.component';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/material/dialog";
|
|
8
|
+
/**
|
|
9
|
+
* Service for managing dialogs
|
|
10
|
+
*/
|
|
8
11
|
export class VdDialogService {
|
|
9
12
|
dialogService;
|
|
10
13
|
/**
|
|
11
14
|
* Constructor
|
|
12
|
-
* @param dialogService
|
|
15
|
+
* @param dialogService MatDialog service for managing dialogs
|
|
13
16
|
*/
|
|
14
17
|
constructor(dialogService) {
|
|
15
18
|
this.dialogService = dialogService;
|
|
16
19
|
}
|
|
17
20
|
/**
|
|
18
|
-
* params:
|
|
19
|
-
* - component: ComponentType<T>
|
|
20
|
-
* - config: MdDialogConfig
|
|
21
|
-
* Wrapper function over the open() method in MdDialog.
|
|
22
21
|
* Opens a modal dialog containing the given component.
|
|
22
|
+
* @param component Component to be displayed in the dialog
|
|
23
|
+
* @param config Configuration for the dialog
|
|
24
|
+
* @returns Reference to the opened dialog
|
|
23
25
|
*/
|
|
24
26
|
open(component, config) {
|
|
27
|
+
/* Opens the dialog with the specified component and configuration */
|
|
25
28
|
return this.dialogService.open(component, config);
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
|
-
* Wrapper function over the closeAll() method in MdDialog.
|
|
29
31
|
* Closes all of the currently-open dialogs.
|
|
30
32
|
*/
|
|
31
33
|
closeAll() {
|
|
34
|
+
/* Closes all open dialogs */
|
|
32
35
|
this.dialogService.closeAll();
|
|
33
36
|
}
|
|
34
37
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* title?: string;
|
|
39
|
-
* viewContainerRef?: ViewContainerRef;
|
|
40
|
-
* closeButton?: string;
|
|
41
|
-
* }
|
|
42
|
-
*
|
|
43
|
-
* Opens an alert dialog with the provided config.
|
|
44
|
-
* Returns an MdDialogRef<VdAlertDialogComponent> object.
|
|
38
|
+
* Opens an alert dialog with the provided configuration.
|
|
39
|
+
* @param config Configuration for the alert dialog
|
|
40
|
+
* @returns Reference to the opened alert dialog
|
|
45
41
|
*/
|
|
46
|
-
openAlert(config) {
|
|
47
|
-
|
|
48
|
-
let
|
|
42
|
+
openAlert(config, dialogConfig) {
|
|
43
|
+
/* Creates dialog configuration based on provided settings */
|
|
44
|
+
let matDialogConfig = this._createConfig(config, dialogConfig);
|
|
45
|
+
/* Opens the alert dialog with the given component and configuration */
|
|
46
|
+
let dialogRef = this.dialogService.open(VdAlertDialogComponent, matDialogConfig);
|
|
47
|
+
/* Sets the title of the dialog from the configuration */
|
|
49
48
|
dialogRef.componentInstance.title = config.title;
|
|
49
|
+
/* Sets the message of the dialog from the configuration */
|
|
50
50
|
dialogRef.componentInstance.message = config.message;
|
|
51
|
+
/* If a close button text is provided, set it on the dialog component */
|
|
51
52
|
if (config.closeButton) {
|
|
52
53
|
dialogRef.componentInstance.closeButton = config.closeButton;
|
|
53
54
|
}
|
|
55
|
+
/* Returns the reference to the opened dialog */
|
|
56
|
+
/* This allows interaction with the dialog instance */
|
|
54
57
|
return dialogRef;
|
|
55
58
|
}
|
|
56
59
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* title?: string;
|
|
61
|
-
* viewContainerRef?: ViewContainerRef;
|
|
62
|
-
* acceptButton?: string;
|
|
63
|
-
* cancelButton?: string;
|
|
64
|
-
* }
|
|
65
|
-
*
|
|
66
|
-
* Opens a confirm dialog with the provided config.
|
|
67
|
-
* Returns an MdDialogRef<VdConfirmDialogComponent> object.
|
|
60
|
+
* Opens a confirm dialog with the provided configuration.
|
|
61
|
+
* @param config Configuration for the confirm dialog
|
|
62
|
+
* @returns Reference to the opened confirm dialog
|
|
68
63
|
*/
|
|
69
|
-
openConfirm(config) {
|
|
70
|
-
|
|
71
|
-
let
|
|
64
|
+
openConfirm(config, dialogConfig) {
|
|
65
|
+
/* Creates dialog configuration based on provided settings */
|
|
66
|
+
let matDialogConfig = this._createConfig(config, dialogConfig);
|
|
67
|
+
/* Opens the confirm dialog with the given component and configuration */
|
|
68
|
+
let dialogRef = this.dialogService.open(VdConfirmDialogComponent, matDialogConfig);
|
|
69
|
+
/* Sets the title of the dialog from the configuration */
|
|
72
70
|
dialogRef.componentInstance.title = config.title;
|
|
71
|
+
/* Sets the message of the dialog from the configuration */
|
|
73
72
|
dialogRef.componentInstance.message = config.message;
|
|
73
|
+
/* If an accept button text is provided, set it on the dialog component */
|
|
74
74
|
if (config.acceptButton) {
|
|
75
75
|
dialogRef.componentInstance.acceptButton = config.acceptButton;
|
|
76
76
|
}
|
|
77
|
+
/* If a cancel button text is provided, set it on the dialog component */
|
|
77
78
|
if (config.cancelButton) {
|
|
78
79
|
dialogRef.componentInstance.cancelButton = config.cancelButton;
|
|
79
80
|
}
|
|
81
|
+
/* Returns the reference to the opened dialog */
|
|
82
|
+
/* This allows interaction with the dialog instance */
|
|
80
83
|
return dialogRef;
|
|
81
84
|
}
|
|
82
85
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* title?: string;
|
|
87
|
-
* value?: string;
|
|
88
|
-
* viewContainerRef?: ViewContainerRef;
|
|
89
|
-
* acceptButton?: string;
|
|
90
|
-
* cancelButton?: string;
|
|
91
|
-
* }
|
|
92
|
-
*
|
|
93
|
-
* Opens a prompt dialog with the provided config.
|
|
94
|
-
* Returns an MdDialogRef<VdPromptDialogComponent> object.
|
|
86
|
+
* Opens a prompt dialog with the provided configuration.
|
|
87
|
+
* @param config Configuration for the prompt dialog
|
|
88
|
+
* @returns Reference to the opened prompt dialog
|
|
95
89
|
*/
|
|
96
|
-
openPrompt(config) {
|
|
97
|
-
|
|
98
|
-
let
|
|
90
|
+
openPrompt(config, dialogConfig) {
|
|
91
|
+
/* Creates dialog configuration based on provided settings */
|
|
92
|
+
let matDialogConfig = this._createConfig(config, dialogConfig);
|
|
93
|
+
/* Opens the prompt dialog with the given component and configuration */
|
|
94
|
+
let dialogRef = this.dialogService.open(VdPromptDialogComponent, matDialogConfig);
|
|
95
|
+
/* Sets the title of the dialog from the configuration */
|
|
99
96
|
dialogRef.componentInstance.title = config.title;
|
|
97
|
+
/* Sets the message of the dialog from the configuration */
|
|
100
98
|
dialogRef.componentInstance.message = config.message;
|
|
99
|
+
/* Sets the initial value for the prompt input from the configuration */
|
|
101
100
|
dialogRef.componentInstance.value = config.value;
|
|
101
|
+
/* If an accept button text is provided, set it on the dialog component */
|
|
102
102
|
if (config.acceptButton) {
|
|
103
103
|
dialogRef.componentInstance.acceptButton = config.acceptButton;
|
|
104
104
|
}
|
|
105
|
+
/* If a cancel button text is provided, set it on the dialog component */
|
|
105
106
|
if (config.cancelButton) {
|
|
106
107
|
dialogRef.componentInstance.cancelButton = config.cancelButton;
|
|
107
108
|
}
|
|
109
|
+
/* Returns the reference to the opened dialog */
|
|
110
|
+
/* This allows interaction with the dialog instance */
|
|
108
111
|
return dialogRef;
|
|
109
112
|
}
|
|
110
113
|
/**
|
|
111
|
-
* Creates configuration
|
|
112
|
-
* @param config
|
|
113
|
-
* @
|
|
114
|
+
* Creates configuration for the dialog
|
|
115
|
+
* @param config Configuration to be used
|
|
116
|
+
* @param dialogConfig Optional additional configuration
|
|
117
|
+
* @returns A new MatDialogConfig object with the specified configuration
|
|
114
118
|
*/
|
|
115
|
-
_createConfig(config) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
119
|
+
_createConfig(config, dialogConfig) {
|
|
120
|
+
/* Creates a new instance of MatDialogConfig */
|
|
121
|
+
let matDialogConfig = dialogConfig ?? new MatDialogConfig();
|
|
122
|
+
/* Sets the view container reference for the dialog configuration */
|
|
123
|
+
matDialogConfig.viewContainerRef = config.viewContainerRef;
|
|
124
|
+
/* Sets whether the dialog should be closed by clicking outside */
|
|
125
|
+
matDialogConfig.disableClose = config.disableClose;
|
|
126
|
+
/* Returns the configured MatDialogConfig object */
|
|
127
|
+
return matDialogConfig;
|
|
120
128
|
}
|
|
121
129
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VdDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
122
130
|
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VdDialogService, providedIn: 'root' });
|
|
@@ -125,13 +133,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
|
|
|
125
133
|
type: Injectable,
|
|
126
134
|
args: [{ providedIn: 'root' }]
|
|
127
135
|
}], ctorParameters: () => [{ type: i1.MatDialog }] });
|
|
136
|
+
/**
|
|
137
|
+
* Factory function for providing the VdDialogService
|
|
138
|
+
* @param parent Existing instance of VdDialogService or null
|
|
139
|
+
* @param dialog MatDialog service
|
|
140
|
+
* @returns An instance of VdDialogService
|
|
141
|
+
*/
|
|
128
142
|
export function DIALOG_PROVIDER_FACTORY(parent, dialog) {
|
|
129
143
|
return parent || new VdDialogService(dialog);
|
|
130
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Provider for the VdDialogService
|
|
147
|
+
*/
|
|
131
148
|
export const DIALOG_PROVIDER = {
|
|
132
|
-
|
|
149
|
+
/* If there is already a service available, use that. Otherwise, provide a new one. */
|
|
133
150
|
provide: VdDialogService,
|
|
134
151
|
deps: [[new Optional(), new SkipSelf(), VdDialogService], MatDialog],
|
|
135
152
|
useFactory: DIALOG_PROVIDER_FACTORY,
|
|
136
153
|
};
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9kaWFsb2dzL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFZLFFBQVEsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQXVCbkYsTUFBTSxPQUFPLGVBQWU7SUFNUjtJQUpuQjs7O09BR0c7SUFDSCxZQUFtQixhQUF3QjtRQUF4QixrQkFBYSxHQUFiLGFBQWEsQ0FBVztJQUFJLENBQUM7SUFFaEQ7Ozs7OztPQU1HO0lBQ0ksSUFBSSxDQUFJLFNBQTJCLEVBQUUsTUFBd0I7UUFDbkUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVE7UUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFNBQVMsQ0FBQyxNQUFvQjtRQUNwQyxJQUFJLFlBQVksR0FBb0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRCxJQUFJLFNBQVMsR0FBeUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFcEgsU0FBUyxD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SUFDeEMsaUZBQWlGO0lBQ2pGLE9BQU8sRUFBRSxlQUFlO0lBQ3hCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLGVBQWUsQ0FBQyxFQUFFLFNBQVMsQ0FBQztJQUNwRSxVQUFVLEVBQUUsdUJBQXVCO0NBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsLCBQcm92aWRlciwgU2tpcFNlbGYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFZkQWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZkQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZkUHJvbXB0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvbXB0LWRpYWxvZy9wcm9tcHQtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElEaWFsb2dDb25maWcge1xyXG5cdHRpdGxlPzogc3RyaW5nO1xyXG5cdG1lc3NhZ2U6IHN0cmluZztcclxuXHR2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxuXHRkaXNhYmxlQ2xvc2U/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBbGVydENvbmZpZyBleHRlbmRzIElEaWFsb2dDb25maWcge1xyXG5cdGNsb3NlQnV0dG9uPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDb25maXJtQ29uZmlnIGV4dGVuZHMgSURpYWxvZ0NvbmZpZyB7XHJcblx0YWNjZXB0QnV0dG9uPzogc3RyaW5nO1xyXG5cdGNhbmNlbEJ1dHRvbj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUHJvbXB0Q29uZmlnIGV4dGVuZHMgSUNvbmZpcm1Db25maWcge1xyXG5cdHZhbHVlPzogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVmREaWFsb2dTZXJ2aWNlIHtcclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gZGlhbG9nU2VydmljZSBcclxuXHQgKi9cclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nU2VydmljZTogTWF0RGlhbG9nKSB7IH1cclxuXHJcblx0LyoqXHJcblx0ICogcGFyYW1zOlxyXG5cdCAqIC0gY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+XHJcblx0ICogLSBjb25maWc6IE1kRGlhbG9nQ29uZmlnXHJcblx0ICogV3JhcHBlciBmdW5jdGlvbiBvdmVyIHRoZSBvcGVuKCkgbWV0aG9kIGluIE1kRGlhbG9nLlxyXG5cdCAqIE9wZW5zIGEgbW9kYWwgZGlhbG9nIGNvbnRhaW5pbmcgdGhlIGdpdmVuIGNvbXBvbmVudC5cclxuXHQgKi9cclxuXHRwdWJsaWMgb3BlbjxUPihjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sIGNvbmZpZz86IE1hdERpYWxvZ0NvbmZpZyk6IE1hdERpYWxvZ1JlZjxUPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oY29tcG9uZW50LCBjb25maWcpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogV3JhcHBlciBmdW5jdGlvbiBvdmVyIHRoZSBjbG9zZUFsbCgpIG1ldGhvZCBpbiBNZERpYWxvZy5cclxuXHQgKiBDbG9zZXMgYWxsIG9mIHRoZSBjdXJyZW50bHktb3BlbiBkaWFsb2dzLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuZGlhbG9nU2VydmljZS5jbG9zZUFsbCgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogcGFyYW1zOlxyXG5cdCAqIC0gY29uZmlnOiBJQWxlcnRDb25maWcge1xyXG5cdCAqICAgICBtZXNzYWdlOiBzdHJpbmc7XHJcblx0ICogICAgIHRpdGxlPzogc3RyaW5nO1xyXG5cdCAqICAgICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxuXHQgKiAgICAgY2xvc2VCdXR0b24/OiBzdHJpbmc7XHJcblx0ICogfVxyXG5cdCAqXHJcblx0ICogT3BlbnMgYW4gYWxlcnQgZGlhbG9nIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZy5cclxuXHQgKiBSZXR1cm5zIGFuIE1kRGlhbG9nUmVmPFZkQWxlcnREaWFsb2dDb21wb25lbnQ+IG9iamVjdC5cclxuXHQgKi9cclxuXHRwdWJsaWMgb3BlbkFsZXJ0KGNvbmZpZzogSUFsZXJ0Q29uZmlnKTogTWF0RGlhbG9nUmVmPFZkQWxlcnREaWFsb2dDb21wb25lbnQ+IHtcclxuXHRcdGxldCBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZyhjb25maWcpO1xyXG5cdFx0bGV0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFZkQWxlcnREaWFsb2dDb21wb25lbnQ+ID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oVmRBbGVydERpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcclxuXHJcblx0XHRkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSBjb25maWcudGl0bGU7XHJcblx0XHRkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UubWVzc2FnZSA9IGNvbmZpZy5tZXNzYWdlO1xyXG5cclxuXHRcdGlmIChjb25maWcuY2xvc2VCdXR0b24pIHtcclxuXHRcdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmNsb3NlQnV0dG9uID0gY29uZmlnLmNsb3NlQnV0dG9uO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBkaWFsb2dSZWY7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBwYXJhbXM6XHJcblx0ICogLSBjb25maWc6IElDb25maXJtQ29uZmlnIHtcclxuXHQgKiAgICAgbWVzc2FnZTogc3RyaW5nO1xyXG5cdCAqICAgICB0aXRsZT86IHN0cmluZztcclxuXHQgKiAgICAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XHJcblx0ICogICAgIGFjY2VwdEJ1dHRvbj86IHN0cmluZztcclxuXHQgKiAgICAgY2FuY2VsQnV0dG9uPzogc3RyaW5nO1xyXG5cdCAqIH1cclxuXHQgKlxyXG5cdCAqIE9wZW5zIGEgY29uZmlybSBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlnLlxyXG5cdCAqIFJldHVybnMgYW4gTWREaWFsb2dSZWY8VmRDb25maXJtRGlhbG9nQ29tcG9uZW50PiBvYmplY3QuXHJcblx0ICovXHJcblx0cHVibGljIG9wZW5Db25maXJtKGNvbmZpZzogSUNvbmZpcm1Db25maWcpOiBNYXREaWFsb2dSZWY8VmRDb25maXJtRGlhbG9nQ29tcG9uZW50PiB7XHJcblx0XHRsZXQgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB0aGlzLl9jcmVhdGVDb25maWcoY29uZmlnKTtcclxuXHRcdGxldCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxWZENvbmZpcm1EaWFsb2dDb21wb25lbnQ+ID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oVmRDb25maXJtRGlhbG9nQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xyXG5cclxuXHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS50aXRsZSA9IGNvbmZpZy50aXRsZTtcclxuXHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XHJcblxyXG5cdFx0aWYgKGNvbmZpZy5hY2NlcHRCdXR0b24pIHtcclxuXHRcdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmFjY2VwdEJ1dHRvbiA9IGNvbmZpZy5hY2NlcHRCdXR0b247XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKGNvbmZpZy5jYW5jZWxCdXR0b24pIHtcclxuXHRcdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmNhbmNlbEJ1dHRvbiA9IGNvbmZpZy5jYW5jZWxCdXR0b247XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIGRpYWxvZ1JlZjtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIHBhcmFtczpcclxuXHQgKiAtIGNvbmZpZzogSVByb21wdENvbmZpZyB7XHJcblx0ICogICAgIG1lc3NhZ2U6IHN0cmluZztcclxuXHQgKiAgICAgdGl0bGU/OiBzdHJpbmc7XHJcblx0ICogICAgIHZhbHVlPzogc3RyaW5nO1xyXG5cdCAqICAgICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxuXHQgKiAgICAgYWNjZXB0QnV0dG9uPzogc3RyaW5nO1xyXG5cdCAqICAgICBjYW5jZWxCdXR0b24/OiBzdHJpbmc7XHJcblx0ICogfVxyXG5cdCAqXHJcblx0ICogT3BlbnMgYSBwcm9tcHQgZGlhbG9nIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZy5cclxuXHQgKiBSZXR1cm5zIGFuIE1kRGlhbG9nUmVmPFZkUHJvbXB0RGlhbG9nQ29tcG9uZW50PiBvYmplY3QuXHJcblx0ICovXHJcblx0cHVibGljIG9wZW5Qcm9tcHQoY29uZmlnOiBJUHJvbXB0Q29uZmlnKTogTWF0RGlhbG9nUmVmPFZkUHJvbXB0RGlhbG9nQ29tcG9uZW50PiB7XHJcblx0XHRsZXQgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB0aGlzLl9jcmVhdGVDb25maWcoY29uZmlnKTtcclxuXHRcdGxldCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxWZFByb21wdERpYWxvZ0NvbXBvbmVudD4gPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihWZFByb21wdERpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcclxuXHJcblx0XHRkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSBjb25maWcudGl0bGU7XHJcblx0XHRkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UubWVzc2FnZSA9IGNvbmZpZy5tZXNzYWdlO1xyXG5cdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLnZhbHVlID0gY29uZmlnLnZhbHVlO1xyXG5cclxuXHRcdGlmIChjb25maWcuYWNjZXB0QnV0dG9uKSB7XHJcblx0XHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5hY2NlcHRCdXR0b24gPSBjb25maWcuYWNjZXB0QnV0dG9uO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChjb25maWcuY2FuY2VsQnV0dG9uKSB7XHJcblx0XHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5jYW5jZWxCdXR0b24gPSBjb25maWcuY2FuY2VsQnV0dG9uO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBkaWFsb2dSZWY7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDcmVhdGVzIGNvbmZpZ3VyYXRpb25cclxuXHQgKiBAcGFyYW0gY29uZmlnIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgX2NyZWF0ZUNvbmZpZyhjb25maWc6IE1hdERpYWxvZ0NvbmZpZyk6IE1hdERpYWxvZ0NvbmZpZyB7XHJcblx0XHRsZXQgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcblx0XHRkaWFsb2dDb25maWcudmlld0NvbnRhaW5lclJlZiA9IGNvbmZpZy52aWV3Q29udGFpbmVyUmVmO1xyXG5cdFx0ZGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSA9IGNvbmZpZy5kaXNhYmxlQ2xvc2U7XHJcblx0XHRyZXR1cm4gZGlhbG9nQ29uZmlnO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBESUFMT0dfUFJPVklERVJfRkFDVE9SWShcclxuXHRwYXJlbnQ6IFZkRGlhbG9nU2VydmljZSwgZGlhbG9nOiBNYXREaWFsb2cpOiBWZERpYWxvZ1NlcnZpY2Uge1xyXG5cdHJldHVybiBwYXJlbnQgfHwgbmV3IFZkRGlhbG9nU2VydmljZShkaWFsb2cpO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgRElBTE9HX1BST1ZJREVSOiBQcm92aWRlciA9IHtcclxuXHQvLyBJZiB0aGVyZSBpcyBhbHJlYWR5IHNlcnZpY2UgYXZhaWxhYmxlLCB1c2UgdGhhdC4gT3RoZXJ3aXNlLCBwcm92aWRlIGEgbmV3IG9uZS5cclxuXHRwcm92aWRlOiBWZERpYWxvZ1NlcnZpY2UsXHJcblx0ZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIFZkRGlhbG9nU2VydmljZV0sIE1hdERpYWxvZ10sXHJcblx0dXNlRmFjdG9yeTogRElBTE9HX1BST1ZJREVSX0ZBQ1RPUlksXHJcbn07Il19
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9kaWFsb2dzL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFZLFFBQVEsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQThEbkY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQU1SO0lBSm5COzs7T0FHRztJQUNILFlBQW1CLGFBQXdCO1FBQXhCLGtCQUFhLEdBQWIsYUFBYSxDQUFXO0lBQUksQ0FBQztJQUVoRDs7Ozs7T0FLRztJQUNJLElBQUksQ0FBSSxTQUEyQixFQUFFLE1BQXdCO1FBQ25FLHFFQUFxRTtRQUNyRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2QsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxTQUFTLENBQUMsTUFBb0IsRUFBRSxZQUE4QjtRQUNwRSw2REFBNkQ7UUFDN0QsSUFBSSxlQUFlLEdBQW9CLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRWhGLHVFQUF1RTtRQUN2RSxJQUFJLFNBQVMs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QUM1RSwrQ0FBK0M7UUFDL0MsSUFBSSxlQUFlLEdBQW9CLFlBQVksSUFBSSxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBRTdFLG9FQUFvRTtRQUNwRSxlQUFlLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBRTNELGtFQUFrRTtRQUNsRSxlQUFlLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFFbkQsbURBQW1EO1FBQ25ELE9BQU8sZUFBZSxDQUFDO0lBQ3hCLENBQUM7MEhBOUlXLGVBQWU7OEhBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFrSmxDOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUN0QyxNQUF1QixFQUFFLE1BQWlCO0lBQzFDLE9BQU8sTUFBTSxJQUFJLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBYTtJQUN4QyxzRkFBc0Y7SUFDdEYsT0FBTyxFQUFFLGVBQWU7SUFDeEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsZUFBZSxDQUFDLEVBQUUsU0FBUyxDQUFDO0lBQ3BFLFVBQVUsRUFBRSx1QkFBdUI7Q0FDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFByb3ZpZGVyLCBTa2lwU2VsZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVmRBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmRDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmRQcm9tcHREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9wcm9tcHQtZGlhbG9nL3Byb21wdC1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBJbnRlcmZhY2UgZm9yIGRpYWxvZyBjb25maWd1cmF0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElEaWFsb2dDb25maWcge1xyXG5cdC8qKiBcclxuXHQgKiBPcHRpb25hbCB0aXRsZSBvZiB0aGUgZGlhbG9nXHJcblx0ICovXHJcblx0dGl0bGU/OiBzdHJpbmc7XHJcblxyXG5cdC8qKiBcclxuXHQgKiBNZXNzYWdlIHRvIGRpc3BsYXkgaW4gdGhlIGRpYWxvZ1xyXG5cdCAqL1xyXG5cdG1lc3NhZ2U6IHN0cmluZztcclxuXHJcblx0LyoqIFxyXG5cdCAqIFZpZXcgY29udGFpbmVyIHJlZmVyZW5jZVxyXG5cdCAqL1xyXG5cdHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuXHQvKiogXHJcblx0ICogV2hldGhlciB0aGUgZGlhbG9nIGNhbiBiZSBjbG9zZWQgYnkgY2xpY2tpbmcgb3V0c2lkZVxyXG5cdCAqL1xyXG5cdGRpc2FibGVDbG9zZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbnRlcmZhY2UgZm9yIGFsZXJ0IGRpYWxvZyBjb25maWd1cmF0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElBbGVydENvbmZpZyBleHRlbmRzIElEaWFsb2dDb25maWcge1xyXG5cdC8qKiBcclxuXHQgKiBUZXh0IGZvciB0aGUgY2xvc2UgYnV0dG9uXHJcblx0ICovXHJcblx0Y2xvc2VCdXR0b24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbnRlcmZhY2UgZm9yIGNvbmZpcm0gZGlhbG9nIGNvbmZpZ3VyYXRpb25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNvbmZpcm1Db25maWcgZXh0ZW5kcyBJRGlhbG9nQ29uZmlnIHtcclxuXHQvKiogXHJcblx0ICogVGV4dCBmb3IgdGhlIGFjY2VwdCBidXR0b25cclxuXHQgKi9cclxuXHRhY2NlcHRCdXR0b24/OiBzdHJpbmc7XHJcblxyXG5cdC8qKiBcclxuXHQgKiBUZXh0IGZvciB0aGUgY2FuY2VsIGJ1dHRvblxyXG5cdCAqL1xyXG5cdGNhbmNlbEJ1dHRvbj86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIEludGVyZmFjZSBmb3IgcHJvbXB0IGRpYWxvZyBjb25maWd1cmF0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9tcHRDb25maWcgZXh0ZW5kcyBJQ29uZmlybUNvbmZpZyB7XHJcblx0LyoqIFxyXG5cdCAqIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBwcm9tcHQgaW5wdXRcclxuXHQgKi9cclxuXHR2YWx1ZT86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgZm9yIG1hbmFnaW5nIGRpYWxvZ3NcclxuICovXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBWZERpYWxvZ1NlcnZpY2Uge1xyXG5cclxuXHQvKipcclxuXHQgKiBDb25zdHJ1Y3RvclxyXG5cdCAqIEBwYXJhbSBkaWFsb2dTZXJ2aWNlIE1hdERpYWxvZyBzZXJ2aWNlIGZvciBtYW5hZ2luZyBkaWFsb2dzXHJcblx0ICovXHJcblx0Y29uc3RydWN0b3IocHVibGljIGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZykgeyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIE9wZW5zIGEgbW9kYWwgZGlhbG9nIGNvbnRhaW5pbmcgdGhlIGdpdmVuIGNvbXBvbmVudC5cclxuXHQgKiBAcGFyYW0gY29tcG9uZW50IENvbXBvbmVudCB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGRpYWxvZ1xyXG5cdCAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBmb3IgdGhlIGRpYWxvZ1xyXG5cdCAqIEByZXR1cm5zIFJlZmVyZW5jZSB0byB0aGUgb3BlbmVkIGRpYWxvZ1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBvcGVuPFQ+KGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPiwgY29uZmlnPzogTWF0RGlhbG9nQ29uZmlnKTogTWF0RGlhbG9nUmVmPFQ+IHtcclxuXHRcdC8qIE9wZW5zIHRoZSBkaWFsb2cgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudCBhbmQgY29uZmlndXJhdGlvbiAqL1xyXG5cdFx0cmV0dXJuIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKGNvbXBvbmVudCwgY29uZmlnKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENsb3NlcyBhbGwgb2YgdGhlIGN1cnJlbnRseS1vcGVuIGRpYWxvZ3MuXHJcblx0ICovXHJcblx0cHVibGljIGNsb3NlQWxsKCk6IHZvaWQge1xyXG5cdFx0LyogQ2xvc2VzIGFsbCBvcGVuIGRpYWxvZ3MgKi9cclxuXHRcdHRoaXMuZGlhbG9nU2VydmljZS5jbG9zZUFsbCgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogT3BlbnMgYW4gYWxlcnQgZGlhbG9nIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXHJcblx0ICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciB0aGUgYWxlcnQgZGlhbG9nXHJcblx0ICogQHJldHVybnMgUmVmZXJlbmNlIHRvIHRoZSBvcGVuZWQgYWxlcnQgZGlhbG9nXHJcblx0ICovXHJcblx0cHVibGljIG9wZW5BbGVydChjb25maWc6IElBbGVydENvbmZpZywgZGlhbG9nQ29uZmlnPzogTWF0RGlhbG9nQ29uZmlnKTogTWF0RGlhbG9nUmVmPFZkQWxlcnREaWFsb2dDb21wb25lbnQ+IHtcclxuXHRcdC8qIENyZWF0ZXMgZGlhbG9nIGNvbmZpZ3VyYXRpb24gYmFzZWQgb24gcHJvdmlkZWQgc2V0dGluZ3MgKi9cclxuXHRcdGxldCBtYXREaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZyhjb25maWcsIGRpYWxvZ0NvbmZpZyk7XHJcblxyXG5cdFx0LyogT3BlbnMgdGhlIGFsZXJ0IGRpYWxvZyB3aXRoIHRoZSBnaXZlbiBjb21wb25lbnQgYW5kIGNvbmZpZ3VyYXRpb24gKi9cclxuXHRcdGxldCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxWZEFsZXJ0RGlhbG9nQ29tcG9uZW50PiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKFZkQWxlcnREaWFsb2dDb21wb25lbnQsIG1hdERpYWxvZ0NvbmZpZyk7XHJcblxyXG5cdFx0LyogU2V0cyB0aGUgdGl0bGUgb2YgdGhlIGRpYWxvZyBmcm9tIHRoZSBjb25maWd1cmF0aW9uICovXHJcblx0XHRkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSBjb25maWcudGl0bGU7XHJcblxyXG5cdFx0LyogU2V0cyB0aGUgbWVzc2FnZSBvZiB0aGUgZGlhbG9nIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gKi9cclxuXHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XHJcblxyXG5cdFx0LyogSWYgYSBjbG9zZSBidXR0b24gdGV4dCBpcyBwcm92aWRlZCwgc2V0IGl0IG9uIHRoZSBkaWFsb2cgY29tcG9uZW50ICovXHJcblx0XHRpZiAoY29uZmlnLmNsb3NlQnV0dG9uKSB7XHJcblx0XHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5jbG9zZUJ1dHRvbiA9IGNvbmZpZy5jbG9zZUJ1dHRvbjtcclxuXHRcdH1cclxuXHJcblx0XHQvKiBSZXR1cm5zIHRoZSByZWZlcmVuY2UgdG8gdGhlIG9wZW5lZCBkaWFsb2cgKi9cclxuXHRcdC8qIFRoaXMgYWxsb3dzIGludGVyYWN0aW9uIHdpdGggdGhlIGRpYWxvZyBpbnN0YW5jZSAqL1xyXG5cdFx0cmV0dXJuIGRpYWxvZ1JlZjtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIE9wZW5zIGEgY29uZmlybSBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cclxuXHQgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBjb25maXJtIGRpYWxvZ1xyXG5cdCAqIEByZXR1cm5zIFJlZmVyZW5jZSB0byB0aGUgb3BlbmVkIGNvbmZpcm0gZGlhbG9nXHJcblx0ICovXHJcblx0cHVibGljIG9wZW5Db25maXJtKGNvbmZpZzogSUNvbmZpcm1Db25maWcsIGRpYWxvZ0NvbmZpZz86IE1hdERpYWxvZ0NvbmZpZyk6IE1hdERpYWxvZ1JlZjxWZENvbmZpcm1EaWFsb2dDb21wb25lbnQ+IHtcclxuXHRcdC8qIENyZWF0ZXMgZGlhbG9nIGNvbmZpZ3VyYXRpb24gYmFzZWQgb24gcHJvdmlkZWQgc2V0dGluZ3MgKi9cclxuXHRcdGxldCBtYXREaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZyhjb25maWcsIGRpYWxvZ0NvbmZpZyk7XHJcblxyXG5cdFx0LyogT3BlbnMgdGhlIGNvbmZpcm0gZGlhbG9nIHdpdGggdGhlIGdpdmVuIGNvbXBvbmVudCBhbmQgY29uZmlndXJhdGlvbiAqL1xyXG5cdFx0bGV0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFZkQ29uZmlybURpYWxvZ0NvbXBvbmVudD4gPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihWZENvbmZpcm1EaWFsb2dDb21wb25lbnQsIG1hdERpYWxvZ0NvbmZpZyk7XHJcblxyXG5cdFx0LyogU2V0cyB0aGUgdGl0bGUgb2YgdGhlIGRpYWxvZyBmcm9tIHRoZSBjb25maWd1cmF0aW9uICovXHJcblx0XHRkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSBjb25maWcudGl0bGU7XHJcblxyXG5cdFx0LyogU2V0cyB0aGUgbWVzc2FnZSBvZiB0aGUgZGlhbG9nIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gKi9cclxuXHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XHJcblxyXG5cdFx0LyogSWYgYW4gYWNjZXB0IGJ1dHRvbiB0ZXh0IGlzIHByb3ZpZGVkLCBzZXQgaXQgb24gdGhlIGRpYWxvZyBjb21wb25lbnQgKi9cclxuXHRcdGlmIChjb25maWcuYWNjZXB0QnV0dG9uKSB7XHJcblx0XHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5hY2NlcHRCdXR0b24gPSBjb25maWcuYWNjZXB0QnV0dG9uO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8qIElmIGEgY2FuY2VsIGJ1dHRvbiB0ZXh0IGlzIHByb3ZpZGVkLCBzZXQgaXQgb24gdGhlIGRpYWxvZyBjb21wb25lbnQgKi9cclxuXHRcdGlmIChjb25maWcuY2FuY2VsQnV0dG9uKSB7XHJcblx0XHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5jYW5jZWxCdXR0b24gPSBjb25maWcuY2FuY2VsQnV0dG9uO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8qIFJldHVybnMgdGhlIHJlZmVyZW5jZSB0byB0aGUgb3BlbmVkIGRpYWxvZyAqL1xyXG5cdFx0LyogVGhpcyBhbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCB0aGUgZGlhbG9nIGluc3RhbmNlICovXHJcblx0XHRyZXR1cm4gZGlhbG9nUmVmO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogT3BlbnMgYSBwcm9tcHQgZGlhbG9nIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXHJcblx0ICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciB0aGUgcHJvbXB0IGRpYWxvZ1xyXG5cdCAqIEByZXR1cm5zIFJlZmVyZW5jZSB0byB0aGUgb3BlbmVkIHByb21wdCBkaWFsb2dcclxuXHQgKi9cclxuXHRwdWJsaWMgb3BlblByb21wdChjb25maWc6IElQcm9tcHRDb25maWcsIGRpYWxvZ0NvbmZpZz86IE1hdERpYWxvZ0NvbmZpZyk6IE1hdERpYWxvZ1JlZjxWZFByb21wdERpYWxvZ0NvbXBvbmVudD4ge1xyXG5cdFx0LyogQ3JlYXRlcyBkaWFsb2cgY29uZmlndXJhdGlvbiBiYXNlZCBvbiBwcm92aWRlZCBzZXR0aW5ncyAqL1xyXG5cdFx0bGV0IG1hdERpYWxvZ0NvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0gdGhpcy5fY3JlYXRlQ29uZmlnKGNvbmZpZywgZGlhbG9nQ29uZmlnKTtcclxuXHJcblx0XHQvKiBPcGVucyB0aGUgcHJvbXB0IGRpYWxvZyB3aXRoIHRoZSBnaXZlbiBjb21wb25lbnQgYW5kIGNvbmZpZ3VyYXRpb24gKi9cclxuXHRcdGxldCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxWZFByb21wdERpYWxvZ0NvbXBvbmVudD4gPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihWZFByb21wdERpYWxvZ0NvbXBvbmVudCwgbWF0RGlhbG9nQ29uZmlnKTtcclxuXHJcblx0XHQvKiBTZXRzIHRoZSB0aXRsZSBvZiB0aGUgZGlhbG9nIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gKi9cclxuXHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS50aXRsZSA9IGNvbmZpZy50aXRsZTtcclxuXHJcblx0XHQvKiBTZXRzIHRoZSBtZXNzYWdlIG9mIHRoZSBkaWFsb2cgZnJvbSB0aGUgY29uZmlndXJhdGlvbiAqL1xyXG5cdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcclxuXHJcblx0XHQvKiBTZXRzIHRoZSBpbml0aWFsIHZhbHVlIGZvciB0aGUgcHJvbXB0IGlucHV0IGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gKi9cclxuXHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS52YWx1ZSA9IGNvbmZpZy52YWx1ZTtcclxuXHJcblx0XHQvKiBJZiBhbiBhY2NlcHQgYnV0dG9uIHRleHQgaXMgcHJvdmlkZWQsIHNldCBpdCBvbiB0aGUgZGlhbG9nIGNvbXBvbmVudCAqL1xyXG5cdFx0aWYgKGNvbmZpZy5hY2NlcHRCdXR0b24pIHtcclxuXHRcdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmFjY2VwdEJ1dHRvbiA9IGNvbmZpZy5hY2NlcHRCdXR0b247XHJcblx0XHR9XHJcblxyXG5cdFx0LyogSWYgYSBjYW5jZWwgYnV0dG9uIHRleHQgaXMgcHJvdmlkZWQsIHNldCBpdCBvbiB0aGUgZGlhbG9nIGNvbXBvbmVudCAqL1xyXG5cdFx0aWYgKGNvbmZpZy5jYW5jZWxCdXR0b24pIHtcclxuXHRcdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmNhbmNlbEJ1dHRvbiA9IGNvbmZpZy5jYW5jZWxCdXR0b247XHJcblx0XHR9XHJcblxyXG5cdFx0LyogUmV0dXJucyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBvcGVuZWQgZGlhbG9nICovXHJcblx0XHQvKiBUaGlzIGFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIHRoZSBkaWFsb2cgaW5zdGFuY2UgKi9cclxuXHRcdHJldHVybiBkaWFsb2dSZWY7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDcmVhdGVzIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBkaWFsb2dcclxuXHQgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gdG8gYmUgdXNlZFxyXG5cdCAqIEBwYXJhbSBkaWFsb2dDb25maWcgT3B0aW9uYWwgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uXHJcblx0ICogQHJldHVybnMgQSBuZXcgTWF0RGlhbG9nQ29uZmlnIG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQgY29uZmlndXJhdGlvblxyXG5cdCAqL1xyXG5cdHByaXZhdGUgX2NyZWF0ZUNvbmZpZyhjb25maWc6IE1hdERpYWxvZ0NvbmZpZywgZGlhbG9nQ29uZmlnPzogTWF0RGlhbG9nQ29uZmlnKTogTWF0RGlhbG9nQ29uZmlnIHtcclxuXHRcdC8qIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgTWF0RGlhbG9nQ29uZmlnICovXHJcblx0XHRsZXQgbWF0RGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSBkaWFsb2dDb25maWcgPz8gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xyXG5cclxuXHRcdC8qIFNldHMgdGhlIHZpZXcgY29udGFpbmVyIHJlZmVyZW5jZSBmb3IgdGhlIGRpYWxvZyBjb25maWd1cmF0aW9uICovXHJcblx0XHRtYXREaWFsb2dDb25maWcudmlld0NvbnRhaW5lclJlZiA9IGNvbmZpZy52aWV3Q29udGFpbmVyUmVmO1xyXG5cclxuXHRcdC8qIFNldHMgd2hldGhlciB0aGUgZGlhbG9nIHNob3VsZCBiZSBjbG9zZWQgYnkgY2xpY2tpbmcgb3V0c2lkZSAqL1xyXG5cdFx0bWF0RGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSA9IGNvbmZpZy5kaXNhYmxlQ2xvc2U7XHJcblxyXG5cdFx0LyogUmV0dXJucyB0aGUgY29uZmlndXJlZCBNYXREaWFsb2dDb25maWcgb2JqZWN0ICovXHJcblx0XHRyZXR1cm4gbWF0RGlhbG9nQ29uZmlnO1xyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEZhY3RvcnkgZnVuY3Rpb24gZm9yIHByb3ZpZGluZyB0aGUgVmREaWFsb2dTZXJ2aWNlXHJcbiAqIEBwYXJhbSBwYXJlbnQgRXhpc3RpbmcgaW5zdGFuY2Ugb2YgVmREaWFsb2dTZXJ2aWNlIG9yIG51bGxcclxuICogQHBhcmFtIGRpYWxvZyBNYXREaWFsb2cgc2VydmljZVxyXG4gKiBAcmV0dXJucyBBbiBpbnN0YW5jZSBvZiBWZERpYWxvZ1NlcnZpY2VcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBESUFMT0dfUFJPVklERVJfRkFDVE9SWShcclxuXHRwYXJlbnQ6IFZkRGlhbG9nU2VydmljZSwgZGlhbG9nOiBNYXREaWFsb2cpOiBWZERpYWxvZ1NlcnZpY2Uge1xyXG5cdHJldHVybiBwYXJlbnQgfHwgbmV3IFZkRGlhbG9nU2VydmljZShkaWFsb2cpO1xyXG59XHJcblxyXG4vKipcclxuICogUHJvdmlkZXIgZm9yIHRoZSBWZERpYWxvZ1NlcnZpY2VcclxuICovXHJcbmV4cG9ydCBjb25zdCBESUFMT0dfUFJPVklERVI6IFByb3ZpZGVyID0ge1xyXG5cdC8qIElmIHRoZXJlIGlzIGFscmVhZHkgYSBzZXJ2aWNlIGF2YWlsYWJsZSwgdXNlIHRoYXQuIE90aGVyd2lzZSwgcHJvdmlkZSBhIG5ldyBvbmUuICovXHJcblx0cHJvdmlkZTogVmREaWFsb2dTZXJ2aWNlLFxyXG5cdGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBWZERpYWxvZ1NlcnZpY2VdLCBNYXREaWFsb2ddLFxyXG5cdHVzZUZhY3Rvcnk6IERJQUxPR19QUk9WSURFUl9GQUNUT1JZLFxyXG59OyJdfQ==
|
package/fesm2022/messaia-cdk.mjs
CHANGED
|
@@ -15550,118 +15550,126 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
|
|
|
15550
15550
|
args: [{ selector: 'vd-prompt-dialog', template: "<vd-dialog>\r\n\t<vd-dialog-title *ngIf=\"title\">{{title}}</vd-dialog-title>\r\n\t<vd-dialog-content layout=\"column\" class=\"md-subhead\">\r\n\t\t<span [innerHtml]=\"message\"></span>\r\n\t\t<form #form=\"ngForm\" layout=\"row\" novalidate flex>\r\n\t\t\t<mat-form-field flex>\r\n\t\t\t\t<input matInput (keydown.enter)=\"$event.preventDefault(); form.valid && accept()\" [(ngModel)]=\"value\" name=\"value\" required />\r\n\t\t\t</mat-form-field>\r\n\t\t</form>\r\n\t</vd-dialog-content>\r\n\t<vd-dialog-actions>\r\n\t\t<button mat-button #closeBtn (keydown.arrowright)=\"acceptBtn.focus()\" (click)=\"cancel()\">{{cancelButton}}</button>\r\n\t\t<button mat-button color=\"accent\" #acceptBtn (keydown.arrowleft)=\"closeBtn.focus()\" [disabled]=\"!form.valid\" (click)=\"accept()\">{{acceptButton}}</button>\r\n\t</vd-dialog-actions>\r\n</vd-dialog>", styles: ["@media (min-width: 600px){vd-dialog{width:400px}}@media (max-width: 599px){vd-dialog{width:250px}}\n"] }]
|
|
15551
15551
|
}], ctorParameters: () => [{ type: i1$5.MatDialogRef }] });
|
|
15552
15552
|
|
|
15553
|
+
/**
|
|
15554
|
+
* Service for managing dialogs
|
|
15555
|
+
*/
|
|
15553
15556
|
class VdDialogService {
|
|
15554
15557
|
dialogService;
|
|
15555
15558
|
/**
|
|
15556
15559
|
* Constructor
|
|
15557
|
-
* @param dialogService
|
|
15560
|
+
* @param dialogService MatDialog service for managing dialogs
|
|
15558
15561
|
*/
|
|
15559
15562
|
constructor(dialogService) {
|
|
15560
15563
|
this.dialogService = dialogService;
|
|
15561
15564
|
}
|
|
15562
15565
|
/**
|
|
15563
|
-
* params:
|
|
15564
|
-
* - component: ComponentType<T>
|
|
15565
|
-
* - config: MdDialogConfig
|
|
15566
|
-
* Wrapper function over the open() method in MdDialog.
|
|
15567
15566
|
* Opens a modal dialog containing the given component.
|
|
15567
|
+
* @param component Component to be displayed in the dialog
|
|
15568
|
+
* @param config Configuration for the dialog
|
|
15569
|
+
* @returns Reference to the opened dialog
|
|
15568
15570
|
*/
|
|
15569
15571
|
open(component, config) {
|
|
15572
|
+
/* Opens the dialog with the specified component and configuration */
|
|
15570
15573
|
return this.dialogService.open(component, config);
|
|
15571
15574
|
}
|
|
15572
15575
|
/**
|
|
15573
|
-
* Wrapper function over the closeAll() method in MdDialog.
|
|
15574
15576
|
* Closes all of the currently-open dialogs.
|
|
15575
15577
|
*/
|
|
15576
15578
|
closeAll() {
|
|
15579
|
+
/* Closes all open dialogs */
|
|
15577
15580
|
this.dialogService.closeAll();
|
|
15578
15581
|
}
|
|
15579
15582
|
/**
|
|
15580
|
-
*
|
|
15581
|
-
*
|
|
15582
|
-
*
|
|
15583
|
-
* title?: string;
|
|
15584
|
-
* viewContainerRef?: ViewContainerRef;
|
|
15585
|
-
* closeButton?: string;
|
|
15586
|
-
* }
|
|
15587
|
-
*
|
|
15588
|
-
* Opens an alert dialog with the provided config.
|
|
15589
|
-
* Returns an MdDialogRef<VdAlertDialogComponent> object.
|
|
15583
|
+
* Opens an alert dialog with the provided configuration.
|
|
15584
|
+
* @param config Configuration for the alert dialog
|
|
15585
|
+
* @returns Reference to the opened alert dialog
|
|
15590
15586
|
*/
|
|
15591
|
-
openAlert(config) {
|
|
15592
|
-
|
|
15593
|
-
let
|
|
15587
|
+
openAlert(config, dialogConfig) {
|
|
15588
|
+
/* Creates dialog configuration based on provided settings */
|
|
15589
|
+
let matDialogConfig = this._createConfig(config, dialogConfig);
|
|
15590
|
+
/* Opens the alert dialog with the given component and configuration */
|
|
15591
|
+
let dialogRef = this.dialogService.open(VdAlertDialogComponent, matDialogConfig);
|
|
15592
|
+
/* Sets the title of the dialog from the configuration */
|
|
15594
15593
|
dialogRef.componentInstance.title = config.title;
|
|
15594
|
+
/* Sets the message of the dialog from the configuration */
|
|
15595
15595
|
dialogRef.componentInstance.message = config.message;
|
|
15596
|
+
/* If a close button text is provided, set it on the dialog component */
|
|
15596
15597
|
if (config.closeButton) {
|
|
15597
15598
|
dialogRef.componentInstance.closeButton = config.closeButton;
|
|
15598
15599
|
}
|
|
15600
|
+
/* Returns the reference to the opened dialog */
|
|
15601
|
+
/* This allows interaction with the dialog instance */
|
|
15599
15602
|
return dialogRef;
|
|
15600
15603
|
}
|
|
15601
15604
|
/**
|
|
15602
|
-
*
|
|
15603
|
-
*
|
|
15604
|
-
*
|
|
15605
|
-
* title?: string;
|
|
15606
|
-
* viewContainerRef?: ViewContainerRef;
|
|
15607
|
-
* acceptButton?: string;
|
|
15608
|
-
* cancelButton?: string;
|
|
15609
|
-
* }
|
|
15610
|
-
*
|
|
15611
|
-
* Opens a confirm dialog with the provided config.
|
|
15612
|
-
* Returns an MdDialogRef<VdConfirmDialogComponent> object.
|
|
15605
|
+
* Opens a confirm dialog with the provided configuration.
|
|
15606
|
+
* @param config Configuration for the confirm dialog
|
|
15607
|
+
* @returns Reference to the opened confirm dialog
|
|
15613
15608
|
*/
|
|
15614
|
-
openConfirm(config) {
|
|
15615
|
-
|
|
15616
|
-
let
|
|
15609
|
+
openConfirm(config, dialogConfig) {
|
|
15610
|
+
/* Creates dialog configuration based on provided settings */
|
|
15611
|
+
let matDialogConfig = this._createConfig(config, dialogConfig);
|
|
15612
|
+
/* Opens the confirm dialog with the given component and configuration */
|
|
15613
|
+
let dialogRef = this.dialogService.open(VdConfirmDialogComponent, matDialogConfig);
|
|
15614
|
+
/* Sets the title of the dialog from the configuration */
|
|
15617
15615
|
dialogRef.componentInstance.title = config.title;
|
|
15616
|
+
/* Sets the message of the dialog from the configuration */
|
|
15618
15617
|
dialogRef.componentInstance.message = config.message;
|
|
15618
|
+
/* If an accept button text is provided, set it on the dialog component */
|
|
15619
15619
|
if (config.acceptButton) {
|
|
15620
15620
|
dialogRef.componentInstance.acceptButton = config.acceptButton;
|
|
15621
15621
|
}
|
|
15622
|
+
/* If a cancel button text is provided, set it on the dialog component */
|
|
15622
15623
|
if (config.cancelButton) {
|
|
15623
15624
|
dialogRef.componentInstance.cancelButton = config.cancelButton;
|
|
15624
15625
|
}
|
|
15626
|
+
/* Returns the reference to the opened dialog */
|
|
15627
|
+
/* This allows interaction with the dialog instance */
|
|
15625
15628
|
return dialogRef;
|
|
15626
15629
|
}
|
|
15627
15630
|
/**
|
|
15628
|
-
*
|
|
15629
|
-
*
|
|
15630
|
-
*
|
|
15631
|
-
* title?: string;
|
|
15632
|
-
* value?: string;
|
|
15633
|
-
* viewContainerRef?: ViewContainerRef;
|
|
15634
|
-
* acceptButton?: string;
|
|
15635
|
-
* cancelButton?: string;
|
|
15636
|
-
* }
|
|
15637
|
-
*
|
|
15638
|
-
* Opens a prompt dialog with the provided config.
|
|
15639
|
-
* Returns an MdDialogRef<VdPromptDialogComponent> object.
|
|
15631
|
+
* Opens a prompt dialog with the provided configuration.
|
|
15632
|
+
* @param config Configuration for the prompt dialog
|
|
15633
|
+
* @returns Reference to the opened prompt dialog
|
|
15640
15634
|
*/
|
|
15641
|
-
openPrompt(config) {
|
|
15642
|
-
|
|
15643
|
-
let
|
|
15635
|
+
openPrompt(config, dialogConfig) {
|
|
15636
|
+
/* Creates dialog configuration based on provided settings */
|
|
15637
|
+
let matDialogConfig = this._createConfig(config, dialogConfig);
|
|
15638
|
+
/* Opens the prompt dialog with the given component and configuration */
|
|
15639
|
+
let dialogRef = this.dialogService.open(VdPromptDialogComponent, matDialogConfig);
|
|
15640
|
+
/* Sets the title of the dialog from the configuration */
|
|
15644
15641
|
dialogRef.componentInstance.title = config.title;
|
|
15642
|
+
/* Sets the message of the dialog from the configuration */
|
|
15645
15643
|
dialogRef.componentInstance.message = config.message;
|
|
15644
|
+
/* Sets the initial value for the prompt input from the configuration */
|
|
15646
15645
|
dialogRef.componentInstance.value = config.value;
|
|
15646
|
+
/* If an accept button text is provided, set it on the dialog component */
|
|
15647
15647
|
if (config.acceptButton) {
|
|
15648
15648
|
dialogRef.componentInstance.acceptButton = config.acceptButton;
|
|
15649
15649
|
}
|
|
15650
|
+
/* If a cancel button text is provided, set it on the dialog component */
|
|
15650
15651
|
if (config.cancelButton) {
|
|
15651
15652
|
dialogRef.componentInstance.cancelButton = config.cancelButton;
|
|
15652
15653
|
}
|
|
15654
|
+
/* Returns the reference to the opened dialog */
|
|
15655
|
+
/* This allows interaction with the dialog instance */
|
|
15653
15656
|
return dialogRef;
|
|
15654
15657
|
}
|
|
15655
15658
|
/**
|
|
15656
|
-
* Creates configuration
|
|
15657
|
-
* @param config
|
|
15658
|
-
* @
|
|
15659
|
+
* Creates configuration for the dialog
|
|
15660
|
+
* @param config Configuration to be used
|
|
15661
|
+
* @param dialogConfig Optional additional configuration
|
|
15662
|
+
* @returns A new MatDialogConfig object with the specified configuration
|
|
15659
15663
|
*/
|
|
15660
|
-
_createConfig(config) {
|
|
15661
|
-
|
|
15662
|
-
|
|
15663
|
-
|
|
15664
|
-
|
|
15664
|
+
_createConfig(config, dialogConfig) {
|
|
15665
|
+
/* Creates a new instance of MatDialogConfig */
|
|
15666
|
+
let matDialogConfig = dialogConfig ?? new MatDialogConfig();
|
|
15667
|
+
/* Sets the view container reference for the dialog configuration */
|
|
15668
|
+
matDialogConfig.viewContainerRef = config.viewContainerRef;
|
|
15669
|
+
/* Sets whether the dialog should be closed by clicking outside */
|
|
15670
|
+
matDialogConfig.disableClose = config.disableClose;
|
|
15671
|
+
/* Returns the configured MatDialogConfig object */
|
|
15672
|
+
return matDialogConfig;
|
|
15665
15673
|
}
|
|
15666
15674
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VdDialogService, deps: [{ token: i1$5.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15667
15675
|
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VdDialogService, providedIn: 'root' });
|
|
@@ -15670,11 +15678,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
|
|
|
15670
15678
|
type: Injectable,
|
|
15671
15679
|
args: [{ providedIn: 'root' }]
|
|
15672
15680
|
}], ctorParameters: () => [{ type: i1$5.MatDialog }] });
|
|
15681
|
+
/**
|
|
15682
|
+
* Factory function for providing the VdDialogService
|
|
15683
|
+
* @param parent Existing instance of VdDialogService or null
|
|
15684
|
+
* @param dialog MatDialog service
|
|
15685
|
+
* @returns An instance of VdDialogService
|
|
15686
|
+
*/
|
|
15673
15687
|
function DIALOG_PROVIDER_FACTORY(parent, dialog) {
|
|
15674
15688
|
return parent || new VdDialogService(dialog);
|
|
15675
15689
|
}
|
|
15690
|
+
/**
|
|
15691
|
+
* Provider for the VdDialogService
|
|
15692
|
+
*/
|
|
15676
15693
|
const DIALOG_PROVIDER = {
|
|
15677
|
-
|
|
15694
|
+
/* If there is already a service available, use that. Otherwise, provide a new one. */
|
|
15678
15695
|
provide: VdDialogService,
|
|
15679
15696
|
deps: [[new Optional(), new SkipSelf(), VdDialogService], MatDialog],
|
|
15680
15697
|
useFactory: DIALOG_PROVIDER_FACTORY,
|