@enigmatry/entry-components 1.2.63 → 1.2.65

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.
@@ -1,13 +1,13 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  /**
3
- * Used to provide default configurations on module level
3
+ * Used to provide default configurations on module level.
4
4
  */
5
5
  export class EntryDialogConfig {
6
6
  constructor(config = {}) {
7
7
  this.confirmButtonText = config.confirmButtonText ?? 'Ok';
8
8
  this.cancelButtonText = config.cancelButtonText ?? 'Cancel';
9
9
  this.buttonsAlignment = config.buttonsAlignment ?? 'align-right';
10
- this.hideClose = config.hideClose ?? false;
10
+ this.hideClose = config.hideClose ?? true;
11
11
  this.disableClose = config.disableClose ?? false;
12
12
  }
13
13
  }
@@ -15,4 +15,4 @@ export const ENTRY_DIALOG_CONFIG = new InjectionToken('EntryDialogConfig', {
15
15
  providedIn: 'root',
16
16
  factory: () => new EntryDialogConfig()
17
17
  });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktZGlhbG9nLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VudHJ5LWNvbXBvbmVudHMvZGlhbG9nL2VudHJ5LWRpYWxvZy1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFZMUIsWUFBWSxTQUFxQyxFQUFFO1FBQy9DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDO1FBQzFELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDO1FBQzVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLElBQUksYUFBYSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQztJQUNyRCxDQUFDO0NBQ0o7QUFDRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBb0IsbUJBQW1CLEVBQ3hGO0lBQ0ksVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksaUJBQWlCLEVBQUU7Q0FDekMsQ0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBVc2VkIHRvIHByb3ZpZGUgZGVmYXVsdCBjb25maWd1cmF0aW9ucyBvbiBtb2R1bGUgbGV2ZWxcbiAqL1xuZXhwb3J0IGNsYXNzIEVudHJ5RGlhbG9nQ29uZmlnIHtcbiAgICAvKiogQHByb3BlcnR5IGNvbmZpcm1CdXR0b25UZXh0IC0gQ29uZmlybSBidXR0b24gbGFiZWwgKGRlZmF1bHQgJ09rJykgKi9cbiAgICBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nO1xuICAgIC8qKiBAcHJvcGVydHkgY2FuY2VsQnV0dG9uVGV4dCAtIENhbmNlbCBidXR0b24gbGFiZWwgKGRlZmF1bHQgJ0NhbmNlbCcpICovXG4gICAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nO1xuICAgIC8qKiBAcHJvcGVydHkgYnV0dG9uc0FsaWdubWVudCAtIEJ1dHRvbnMgYWxpZ25tZW50IG9uIGRpYWxvZyAoZGVmYXVsdCAnYWxpZ24tcmlnaHQnKSAqL1xuICAgIGJ1dHRvbnNBbGlnbm1lbnQ6ICdhbGlnbi1yaWdodCcgfCAnYWxpZ24tY2VudGVyJyB8ICcnO1xuICAgIC8qKiBAcHJvcGVydHkgaGlkZUNsb3NlIC0gRGV0ZXJtaW5lcyBpZiBjbG9zZSBidXR0b24gaXMgdmlzaWJsZSAoZGVmYXVsdCBpcyBmYWxzZSkgKi9cbiAgICBoaWRlQ2xvc2U6IGJvb2xlYW47XG4gICAgLyoqIEBwcm9wZXJ0eSBkaXNhYmxlQ2xvc2UgLSBEaXNhYmxlIGNsb3NpbmcgZGlhbG9nIHdoZW4gcHJlc3NpbmcgZXNjYXBlIG9yIGNsaWNraW5nIG9uIGJhY2tkcm9wIChkZWZhdWx0IGZhbHNlKSAqL1xuICAgIGRpc2FibGVDbG9zZTogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogUGFydGlhbDxFbnRyeURpYWxvZ0NvbmZpZz4gPSB7fSkge1xuICAgICAgICB0aGlzLmNvbmZpcm1CdXR0b25UZXh0ID0gY29uZmlnLmNvbmZpcm1CdXR0b25UZXh0ID8/ICdPayc7XG4gICAgICAgIHRoaXMuY2FuY2VsQnV0dG9uVGV4dCA9IGNvbmZpZy5jYW5jZWxCdXR0b25UZXh0ID8/ICdDYW5jZWwnO1xuICAgICAgICB0aGlzLmJ1dHRvbnNBbGlnbm1lbnQgPSBjb25maWcuYnV0dG9uc0FsaWdubWVudCA/PyAnYWxpZ24tcmlnaHQnO1xuICAgICAgICB0aGlzLmhpZGVDbG9zZSA9IGNvbmZpZy5oaWRlQ2xvc2UgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZGlzYWJsZUNsb3NlID0gY29uZmlnLmRpc2FibGVDbG9zZSA/PyBmYWxzZTtcbiAgICB9XG59XG5leHBvcnQgY29uc3QgRU5UUllfRElBTE9HX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFbnRyeURpYWxvZ0NvbmZpZz4oJ0VudHJ5RGlhbG9nQ29uZmlnJyxcbiAgICB7XG4gICAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gbmV3IEVudHJ5RGlhbG9nQ29uZmlnKClcbiAgICB9XG4pO1xuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktZGlhbG9nLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VudHJ5LWNvbXBvbmVudHMvZGlhbG9nL2VudHJ5LWRpYWxvZy1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQzs7R0FFRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFZMUIsWUFBWSxTQUFxQyxFQUFFO1FBQy9DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDO1FBQzFELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDO1FBQzVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLElBQUksYUFBYSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQztJQUNyRCxDQUFDO0NBQ0o7QUFDRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQsbUJBQW1CLEVBQ25CO0lBQ0ksVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksaUJBQWlCLEVBQUU7Q0FDekMsQ0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVudHJ5RGlhbG9nQnV0dG9uc0FsaWdubWVudCB9IGZyb20gJy4vZW50cnktZGlhbG9nLWJ1dHRvbnMtYWxpZ25tZW50LnR5cGUnO1xuXG4vKipcbiAqIFVzZWQgdG8gcHJvdmlkZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zIG9uIG1vZHVsZSBsZXZlbC5cbiAqL1xuZXhwb3J0IGNsYXNzIEVudHJ5RGlhbG9nQ29uZmlnIHtcbiAgICAvKiogQ29uZmlybSBidXR0b24gbGFiZWwgKGRlZmF1bHQgJ09rJykgKi9cbiAgICBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nO1xuICAgIC8qKiBDYW5jZWwgYnV0dG9uIGxhYmVsIChkZWZhdWx0ICdDYW5jZWwnKSAqL1xuICAgIGNhbmNlbEJ1dHRvblRleHQ6IHN0cmluZztcbiAgICAvKiogRGlhbG9nIGJ1dHRvbnMgaG9yaXpvbnRhbCBhbGlnbm1lbnQgKGRlZmF1bHQgJ2FsaWduLXJpZ2h0JykgKi9cbiAgICBidXR0b25zQWxpZ25tZW50OiBFbnRyeURpYWxvZ0J1dHRvbnNBbGlnbm1lbnQ7XG4gICAgLyoqIERldGVybWluZXMgaWYgY2xvc2UgYnV0dG9uIGlzIHZpc2libGUgKGRlZmF1bHQgaXMgdHJ1ZSkgKi9cbiAgICBoaWRlQ2xvc2U6IGJvb2xlYW47XG4gICAgLyoqIERpc2FibGUgY2xvc2luZyBkaWFsb2cgd2hlbiBwcmVzc2luZyBlc2NhcGUgb3IgY2xpY2tpbmcgb24gYmFja2Ryb3AgKGRlZmF1bHQgZmFsc2UpICovXG4gICAgZGlzYWJsZUNsb3NlOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBQYXJ0aWFsPEVudHJ5RGlhbG9nQ29uZmlnPiA9IHt9KSB7XG4gICAgICAgIHRoaXMuY29uZmlybUJ1dHRvblRleHQgPSBjb25maWcuY29uZmlybUJ1dHRvblRleHQgPz8gJ09rJztcbiAgICAgICAgdGhpcy5jYW5jZWxCdXR0b25UZXh0ID0gY29uZmlnLmNhbmNlbEJ1dHRvblRleHQgPz8gJ0NhbmNlbCc7XG4gICAgICAgIHRoaXMuYnV0dG9uc0FsaWdubWVudCA9IGNvbmZpZy5idXR0b25zQWxpZ25tZW50ID8/ICdhbGlnbi1yaWdodCc7XG4gICAgICAgIHRoaXMuaGlkZUNsb3NlID0gY29uZmlnLmhpZGVDbG9zZSA/PyB0cnVlO1xuICAgICAgICB0aGlzLmRpc2FibGVDbG9zZSA9IGNvbmZpZy5kaXNhYmxlQ2xvc2UgPz8gZmFsc2U7XG4gICAgfVxufVxuZXhwb3J0IGNvbnN0IEVOVFJZX0RJQUxPR19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RW50cnlEaWFsb2dDb25maWc+KFxuICAgICdFbnRyeURpYWxvZ0NvbmZpZycsXG4gICAge1xuICAgICAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IG5ldyBFbnRyeURpYWxvZ0NvbmZpZygpXG4gICAgfVxuKTtcbiJdfQ==
@@ -7,35 +7,41 @@ import { ENTRY_DIALOG_CONFIG } from './entry-dialog-config.model';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/material/dialog";
9
9
  import * as i2 from "./entry-dialog-config.model";
10
+ /**
11
+ * Used to open built-in and custom entry dialogs.
12
+ */
10
13
  export class EntryDialogService {
11
14
  constructor(config, matDialog) {
12
15
  this.config = config;
13
16
  this.matDialog = matDialog;
14
17
  /**
15
- * Opens alert dialog
18
+ * Opens alert dialog.
16
19
  *
17
- * @param data - Contains title, message and optional confirm button text of IEntryAlertDialogData type
18
- * @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop
19
- * @returns Observable of any
20
+ * @param data - Contains title, message and optional confirm button text
21
+ * @returns `true` if confirmed, `undefined` if closed by clicking on backdrop or pressing escape
20
22
  */
21
- this.openAlert = (data, disableClose = undefined) => this.open(EntryAlertDialogComponent, data, disableClose);
23
+ this.openAlert = (data) => {
24
+ data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;
25
+ return this.open(EntryAlertDialogComponent, data, data.disableClose);
26
+ };
22
27
  /**
23
- * Opens confirm dialog
28
+ * Opens confirm dialog.
24
29
  *
25
- * @param data - Contains title, message and optional confirm/cancel buttons text of IEntryConfirmDialogData type
26
- * @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop
27
- * @returns Observable of bool or undefined, `true` if confirmed, `false` if canceled or closed
28
- * , `undefined` if closed by clicking on backdrop or pressing escape
30
+ * @param data - Contains title, message and optional confirm/cancel buttons text
31
+ * @returns `true` if confirmed, `false` if canceled or closed, `undefined` if closed by clicking on backdrop or pressing escape
29
32
  */
30
- this.openConfirm = (data, disableClose = true) => this.open(EntryConfirmDialogComponent, data, disableClose);
33
+ this.openConfirm = (data) => {
34
+ data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;
35
+ return this.open(EntryConfirmDialogComponent, data, data.disableClose);
36
+ };
31
37
  /**
32
- * Opens dialog with custom component
38
+ * Opens dialog with custom component.
33
39
  *
34
40
  * @param component - Dialog custom component implementation
35
41
  * @param data - Optional parameter used to supply component with input parameters
36
42
  * @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop
37
43
  * @param cssClass - Optional parameter used to set custom class to Material overlay pane
38
- * @returns Observable of any containing result of dialog with custom component
44
+ * @returns Any result custom implementation provides
39
45
  */
40
46
  this.open = (component, data = undefined, disableClose = undefined, cssClass = '') => {
41
47
  const configuration = new MatDialogConfig();
@@ -49,7 +55,10 @@ export class EntryDialogService {
49
55
  .afterClosed()
50
56
  .pipe(take(1));
51
57
  };
52
- this.close = () => this.matDialog.closeAll();
58
+ /**
59
+ * Closes all opened dialogs.
60
+ */
61
+ this.closeAll = () => this.matDialog.closeAll();
53
62
  this.setPanelClassFor = (configuration, cssClass) => {
54
63
  configuration.panelClass = ['dialog-container', cssClass];
55
64
  };
@@ -66,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
66
75
  type: Inject,
67
76
  args: [ENTRY_DIALOG_CONFIG]
68
77
  }] }, { type: i1.MatDialog }]; } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbnRyeS1jb21wb25lbnRzL2RpYWxvZy9lbnRyeS1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRS9GLE9BQU8sRUFBRSxtQkFBbUIsRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUtyRixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ2tELE1BQXlCLEVBQ3hELFNBQW9CO1FBRFcsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDeEQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUV2Qzs7Ozs7O1dBTUc7UUFDSCxjQUFTLEdBQUcsQ0FDVixJQUEyQixFQUMzQixlQUFvQyxTQUFTLEVBQW1CLEVBQUUsQ0FDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFM0Q7Ozs7Ozs7V0FPRztRQUNILGdCQUFXLEdBQUcsQ0FDWixJQUE2QixFQUM3QixlQUFvQyxJQUFJLEVBQW1DLEVBQUUsQ0FDN0UsSUFBSSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFN0Q7Ozs7Ozs7O1dBUUc7UUFDSCxTQUFJLEdBQUcsQ0FDTCxTQUFxQyxFQUNyQyxPQUFnQixTQUFTLEVBQ3pCLGVBQW9DLFNBQVMsRUFDN0MsV0FBbUIsRUFBRSxFQUFtQixFQUFFO1lBQzFDLE1BQU0sYUFBYSxHQUFHLElBQUksZUFBZSxFQUFXLENBQUM7WUFDckQsYUFBYSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDMUIsYUFBYSxDQUFDLFlBQVksR0FBRyxZQUFZLEtBQUssU0FBUztnQkFDckQsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWTtnQkFDMUIsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUNqQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRS9DLE9BQU8sSUFBSSxDQUFDLFNBQVM7aUJBQ2xCLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDO2lCQUM5QixXQUFXLEVBQUU7aUJBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQztRQUVGLFVBQUssR0FBRyxHQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXRDLHFCQUFnQixHQUFHLENBQUksYUFBaUMsRUFBRSxRQUFnQixFQUFFLEVBQUU7WUFDcEYsYUFBYSxDQUFDLFVBQVUsR0FBRyxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQztJQTFEeUMsQ0FBQzs7Z0hBSGpDLGtCQUFrQixrQkFFbkIsbUJBQW1CO29IQUZsQixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRW50cnlEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvZW50cnktZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSUVudHJ5QWxlcnREaWFsb2dEYXRhIH0gZnJvbSAnLi9kaWFsb2dzL2FsZXJ0L2VudHJ5LWFsZXJ0LWRpYWxvZy1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFbnRyeUFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL2FsZXJ0L2VudHJ5LWFsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRW50cnlDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL2NvbmZpcm0vZW50cnktY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IElFbnRyeUNvbmZpcm1EaWFsb2dEYXRhIH0gZnJvbSAnLi9kaWFsb2dzL2NvbmZpcm0vZW50cnktY29uZmlybS1kaWFsb2ctZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRU5UUllfRElBTE9HX0NPTkZJRywgRW50cnlEaWFsb2dDb25maWcgfSBmcm9tICcuL2VudHJ5LWRpYWxvZy1jb25maWcubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFbnRyeURpYWxvZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEVOVFJZX0RJQUxPR19DT05GSUcpIHByb3RlY3RlZCByZWFkb25seSBjb25maWc6IEVudHJ5RGlhbG9nQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0RGlhbG9nOiBNYXREaWFsb2cpIHsgfVxuXG4gIC8qKlxuICAgKiBPcGVucyBhbGVydCBkaWFsb2dcbiAgICpcbiAgICogQHBhcmFtIGRhdGEgLSBDb250YWlucyB0aXRsZSwgbWVzc2FnZSBhbmQgb3B0aW9uYWwgY29uZmlybSBidXR0b24gdGV4dCBvZiBJRW50cnlBbGVydERpYWxvZ0RhdGEgdHlwZVxuICAgKiBAcGFyYW0gZGlzYWJsZUNsb3NlIC0gT3B0aW9uYWwgcGFyYW1ldGVyIHRoYXQgZGlzYWJsZSBjbG9zaW5nIGRpYWxvZyB3aGVuIHByZXNzaW5nIGVzY2FwZSBvciBjbGlja2luZyBvbiBiYWNrZHJvcFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIGFueVxuICAgKi9cbiAgb3BlbkFsZXJ0ID0gKFxuICAgIGRhdGE6IElFbnRyeUFsZXJ0RGlhbG9nRGF0YSxcbiAgICBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPGFueT4gPT5cbiAgICB0aGlzLm9wZW4oRW50cnlBbGVydERpYWxvZ0NvbXBvbmVudCwgZGF0YSwgZGlzYWJsZUNsb3NlKTtcblxuICAvKipcbiAgICogT3BlbnMgY29uZmlybSBkaWFsb2dcbiAgICpcbiAgICogQHBhcmFtIGRhdGEgLSBDb250YWlucyB0aXRsZSwgbWVzc2FnZSBhbmQgb3B0aW9uYWwgY29uZmlybS9jYW5jZWwgYnV0dG9ucyB0ZXh0IG9mIElFbnRyeUNvbmZpcm1EaWFsb2dEYXRhIHR5cGVcbiAgICogQHBhcmFtIGRpc2FibGVDbG9zZSAtIE9wdGlvbmFsIHBhcmFtZXRlciB0aGF0IGRpc2FibGUgY2xvc2luZyBkaWFsb2cgd2hlbiBwcmVzc2luZyBlc2NhcGUgb3IgY2xpY2tpbmcgb24gYmFja2Ryb3BcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiBib29sIG9yIHVuZGVmaW5lZCwgYHRydWVgIGlmIGNvbmZpcm1lZCwgYGZhbHNlYCBpZiBjYW5jZWxlZCBvciBjbG9zZWRcbiAgICogLCBgdW5kZWZpbmVkYCBpZiBjbG9zZWQgYnkgY2xpY2tpbmcgb24gYmFja2Ryb3Agb3IgcHJlc3NpbmcgZXNjYXBlXG4gICAqL1xuICBvcGVuQ29uZmlybSA9IChcbiAgICBkYXRhOiBJRW50cnlDb25maXJtRGlhbG9nRGF0YSxcbiAgICBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB0cnVlKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgdW5kZWZpbmVkPiA9PlxuICAgIHRoaXMub3BlbihFbnRyeUNvbmZpcm1EaWFsb2dDb21wb25lbnQsIGRhdGEsIGRpc2FibGVDbG9zZSk7XG5cbiAgLyoqXG4gICAqIE9wZW5zIGRpYWxvZyB3aXRoIGN1c3RvbSBjb21wb25lbnRcbiAgICpcbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIERpYWxvZyBjdXN0b20gY29tcG9uZW50IGltcGxlbWVudGF0aW9uXG4gICAqIEBwYXJhbSBkYXRhIC0gT3B0aW9uYWwgcGFyYW1ldGVyIHVzZWQgdG8gc3VwcGx5IGNvbXBvbmVudCB3aXRoIGlucHV0IHBhcmFtZXRlcnNcbiAgICogQHBhcmFtIGRpc2FibGVDbG9zZSAtIE9wdGlvbmFsIHBhcmFtZXRlciB0aGF0IGRpc2FibGUgY2xvc2luZyBkaWFsb2cgd2hlbiBwcmVzc2luZyBlc2NhcGUgb3IgY2xpY2tpbmcgb24gYmFja2Ryb3BcbiAgICogQHBhcmFtIGNzc0NsYXNzIC0gT3B0aW9uYWwgcGFyYW1ldGVyIHVzZWQgdG8gc2V0IGN1c3RvbSBjbGFzcyB0byBNYXRlcmlhbCBvdmVybGF5IHBhbmVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiBhbnkgY29udGFpbmluZyByZXN1bHQgb2YgZGlhbG9nIHdpdGggY3VzdG9tIGNvbXBvbmVudFxuICAgKi9cbiAgb3BlbiA9IChcbiAgICBjb21wb25lbnQ6IFR5cGU8RW50cnlEaWFsb2dDb21wb25lbnQ+LFxuICAgIGRhdGE6IHVua25vd24gPSB1bmRlZmluZWQsXG4gICAgZGlzYWJsZUNsb3NlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIGNzc0NsYXNzOiBzdHJpbmcgPSAnJyk6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IG5ldyBNYXREaWFsb2dDb25maWc8dW5rbm93bj4oKTtcbiAgICBjb25maWd1cmF0aW9uLmRhdGEgPSBkYXRhO1xuICAgIGNvbmZpZ3VyYXRpb24uZGlzYWJsZUNsb3NlID0gZGlzYWJsZUNsb3NlID09PSB1bmRlZmluZWRcbiAgICAgID8gdGhpcy5jb25maWcuZGlzYWJsZUNsb3NlXG4gICAgICA6IGRpc2FibGVDbG9zZTtcbiAgICB0aGlzLnNldFBhbmVsQ2xhc3NGb3IoY29uZmlndXJhdGlvbiwgY3NzQ2xhc3MpO1xuXG4gICAgcmV0dXJuIHRoaXMubWF0RGlhbG9nXG4gICAgICAub3Blbihjb21wb25lbnQsIGNvbmZpZ3VyYXRpb24pXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnBpcGUodGFrZSgxKSk7XG4gIH07XG5cbiAgY2xvc2UgPSAoKTogdm9pZCA9PiB0aGlzLm1hdERpYWxvZy5jbG9zZUFsbCgpO1xuXG4gIHByaXZhdGUgc2V0UGFuZWxDbGFzc0ZvciA9IDxUPihjb25maWd1cmF0aW9uOiBNYXREaWFsb2dDb25maWc8VD4sIGNzc0NsYXNzOiBzdHJpbmcpID0+IHtcbiAgICBjb25maWd1cmF0aW9uLnBhbmVsQ2xhc3MgPSBbJ2RpYWxvZy1jb250YWluZXInLCBjc3NDbGFzc107XG4gIH07XG59XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbnRyeS1jb21wb25lbnRzL2RpYWxvZy9lbnRyeS1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRS9GLE9BQU8sRUFBRSxtQkFBbUIsRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUVyRjs7R0FFRztBQUlILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFDa0QsTUFBeUIsRUFDeEQsU0FBb0I7UUFEVyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN4RCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBRXZDOzs7OztXQUtHO1FBQ0gsY0FBUyxHQUFHLENBQUMsSUFBb0MsRUFBZ0MsRUFBRTtZQUNqRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNuRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUM7UUFFRjs7Ozs7V0FLRztRQUNILGdCQUFXLEdBQUcsQ0FBQyxJQUFzQyxFQUFtQyxFQUFFO1lBQ3hGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ25HLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FBQztRQUVGOzs7Ozs7OztXQVFHO1FBQ0gsU0FBSSxHQUFHLENBQ0wsU0FBcUMsRUFDckMsT0FBZ0IsU0FBUyxFQUN6QixlQUFvQyxTQUFTLEVBQzdDLFdBQW1CLEVBQUUsRUFBbUIsRUFBRTtZQUMxQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGVBQWUsRUFBVyxDQUFDO1lBQ3JELGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQzFCLGFBQWEsQ0FBQyxZQUFZLEdBQUcsWUFBWSxLQUFLLFNBQVM7Z0JBQ3JELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVk7Z0JBQzFCLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUUvQyxPQUFPLElBQUksQ0FBQyxTQUFTO2lCQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQztpQkFDOUIsV0FBVyxFQUFFO2lCQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUM7UUFFRjs7V0FFRztRQUNILGFBQVEsR0FBRyxHQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXpDLHFCQUFnQixHQUFHLENBQUksYUFBaUMsRUFBRSxRQUFnQixFQUFFLEVBQUU7WUFDcEYsYUFBYSxDQUFDLFVBQVUsR0FBRyxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQztJQTFEeUMsQ0FBQzs7Z0hBSGpDLGtCQUFrQixrQkFFbkIsbUJBQW1CO29IQUZsQixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRW50cnlEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvZW50cnktZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSUVudHJ5QWxlcnREaWFsb2dEYXRhIH0gZnJvbSAnLi9kaWFsb2dzL2FsZXJ0L2VudHJ5LWFsZXJ0LWRpYWxvZy1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFbnRyeUFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL2FsZXJ0L2VudHJ5LWFsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRW50cnlDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL2NvbmZpcm0vZW50cnktY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IElFbnRyeUNvbmZpcm1EaWFsb2dEYXRhIH0gZnJvbSAnLi9kaWFsb2dzL2NvbmZpcm0vZW50cnktY29uZmlybS1kaWFsb2ctZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRU5UUllfRElBTE9HX0NPTkZJRywgRW50cnlEaWFsb2dDb25maWcgfSBmcm9tICcuL2VudHJ5LWRpYWxvZy1jb25maWcubW9kZWwnO1xuXG4vKipcbiAqIFVzZWQgdG8gb3BlbiBidWlsdC1pbiBhbmQgY3VzdG9tIGVudHJ5IGRpYWxvZ3MuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEVudHJ5RGlhbG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRU5UUllfRElBTE9HX0NPTkZJRykgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZzogRW50cnlEaWFsb2dDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXREaWFsb2c6IE1hdERpYWxvZykgeyB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGFsZXJ0IGRpYWxvZy5cbiAgICpcbiAgICogQHBhcmFtIGRhdGEgLSBDb250YWlucyB0aXRsZSwgbWVzc2FnZSBhbmQgb3B0aW9uYWwgY29uZmlybSBidXR0b24gdGV4dFxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgY29uZmlybWVkLCBgdW5kZWZpbmVkYCBpZiBjbG9zZWQgYnkgY2xpY2tpbmcgb24gYmFja2Ryb3Agb3IgcHJlc3NpbmcgZXNjYXBlXG4gICAqL1xuICBvcGVuQWxlcnQgPSAoZGF0YTogUGFydGlhbDxJRW50cnlBbGVydERpYWxvZ0RhdGE+KTogT2JzZXJ2YWJsZTx0cnVlIHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgZGF0YS5kaXNhYmxlQ2xvc2UgPSBkYXRhLmRpc2FibGVDbG9zZSA9PT0gdW5kZWZpbmVkID8gdGhpcy5jb25maWcuZGlzYWJsZUNsb3NlIDogZGF0YS5kaXNhYmxlQ2xvc2U7XG4gICAgcmV0dXJuIHRoaXMub3BlbihFbnRyeUFsZXJ0RGlhbG9nQ29tcG9uZW50LCBkYXRhLCBkYXRhLmRpc2FibGVDbG9zZSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIE9wZW5zIGNvbmZpcm0gZGlhbG9nLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSAtIENvbnRhaW5zIHRpdGxlLCBtZXNzYWdlIGFuZCBvcHRpb25hbCBjb25maXJtL2NhbmNlbCBidXR0b25zIHRleHRcbiAgICogQHJldHVybnMgYHRydWVgIGlmIGNvbmZpcm1lZCwgYGZhbHNlYCBpZiBjYW5jZWxlZCBvciBjbG9zZWQsIGB1bmRlZmluZWRgIGlmIGNsb3NlZCBieSBjbGlja2luZyBvbiBiYWNrZHJvcCBvciBwcmVzc2luZyBlc2NhcGVcbiAgICovXG4gIG9wZW5Db25maXJtID0gKGRhdGE6IFBhcnRpYWw8SUVudHJ5Q29uZmlybURpYWxvZ0RhdGE+KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgZGF0YS5kaXNhYmxlQ2xvc2UgPSBkYXRhLmRpc2FibGVDbG9zZSA9PT0gdW5kZWZpbmVkID8gdGhpcy5jb25maWcuZGlzYWJsZUNsb3NlIDogZGF0YS5kaXNhYmxlQ2xvc2U7XG4gICAgcmV0dXJuIHRoaXMub3BlbihFbnRyeUNvbmZpcm1EaWFsb2dDb21wb25lbnQsIGRhdGEsIGRhdGEuZGlzYWJsZUNsb3NlKTtcbiAgfTtcblxuICAvKipcbiAgICogT3BlbnMgZGlhbG9nIHdpdGggY3VzdG9tIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIERpYWxvZyBjdXN0b20gY29tcG9uZW50IGltcGxlbWVudGF0aW9uXG4gICAqIEBwYXJhbSBkYXRhIC0gT3B0aW9uYWwgcGFyYW1ldGVyIHVzZWQgdG8gc3VwcGx5IGNvbXBvbmVudCB3aXRoIGlucHV0IHBhcmFtZXRlcnNcbiAgICogQHBhcmFtIGRpc2FibGVDbG9zZSAtIE9wdGlvbmFsIHBhcmFtZXRlciB0aGF0IGRpc2FibGUgY2xvc2luZyBkaWFsb2cgd2hlbiBwcmVzc2luZyBlc2NhcGUgb3IgY2xpY2tpbmcgb24gYmFja2Ryb3BcbiAgICogQHBhcmFtIGNzc0NsYXNzIC0gT3B0aW9uYWwgcGFyYW1ldGVyIHVzZWQgdG8gc2V0IGN1c3RvbSBjbGFzcyB0byBNYXRlcmlhbCBvdmVybGF5IHBhbmVcbiAgICogQHJldHVybnMgQW55IHJlc3VsdCBjdXN0b20gaW1wbGVtZW50YXRpb24gcHJvdmlkZXNcbiAgICovXG4gIG9wZW4gPSAoXG4gICAgY29tcG9uZW50OiBUeXBlPEVudHJ5RGlhbG9nQ29tcG9uZW50PixcbiAgICBkYXRhOiB1bmtub3duID0gdW5kZWZpbmVkLFxuICAgIGRpc2FibGVDbG9zZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBjc3NDbGFzczogc3RyaW5nID0gJycpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBuZXcgTWF0RGlhbG9nQ29uZmlnPHVua25vd24+KCk7XG4gICAgY29uZmlndXJhdGlvbi5kYXRhID0gZGF0YTtcbiAgICBjb25maWd1cmF0aW9uLmRpc2FibGVDbG9zZSA9IGRpc2FibGVDbG9zZSA9PT0gdW5kZWZpbmVkXG4gICAgICA/IHRoaXMuY29uZmlnLmRpc2FibGVDbG9zZVxuICAgICAgOiBkaXNhYmxlQ2xvc2U7XG4gICAgdGhpcy5zZXRQYW5lbENsYXNzRm9yKGNvbmZpZ3VyYXRpb24sIGNzc0NsYXNzKTtcblxuICAgIHJldHVybiB0aGlzLm1hdERpYWxvZ1xuICAgICAgLm9wZW4oY29tcG9uZW50LCBjb25maWd1cmF0aW9uKVxuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC5waXBlKHRha2UoMSkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDbG9zZXMgYWxsIG9wZW5lZCBkaWFsb2dzLlxuICAgKi9cbiAgY2xvc2VBbGwgPSAoKTogdm9pZCA9PiB0aGlzLm1hdERpYWxvZy5jbG9zZUFsbCgpO1xuXG4gIHByaXZhdGUgc2V0UGFuZWxDbGFzc0ZvciA9IDxUPihjb25maWd1cmF0aW9uOiBNYXREaWFsb2dDb25maWc8VD4sIGNzc0NsYXNzOiBzdHJpbmcpID0+IHtcbiAgICBjb25maWd1cmF0aW9uLnBhbmVsQ2xhc3MgPSBbJ2RpYWxvZy1jb250YWluZXInLCBjc3NDbGFzc107XG4gIH07XG59XG4iXX0=
@@ -4,4 +4,4 @@ export { EntryDialogComponent } from './dialogs/entry-dialog.component';
4
4
  export { EntryDialogService } from './entry-dialog.service';
5
5
  export { EntryDialogModule } from './entry-dialog.module';
6
6
  export { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from './entry-dialog-config.model';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VudHJ5LWNvbXBvbmVudHMvZGlhbG9nL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCB7IEVudHJ5QWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvYWxlcnQvZW50cnktYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgeyBFbnRyeUNvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvY29uZmlybS9lbnRyeS1jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0IHsgRW50cnlEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvZW50cnktZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB7IEVudHJ5RGlhbG9nU2VydmljZSB9IGZyb20gJy4vZW50cnktZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0IHsgRW50cnlEaWFsb2dNb2R1bGUgfSBmcm9tICcuL2VudHJ5LWRpYWxvZy5tb2R1bGUnO1xuXG5leHBvcnQgeyBFTlRSWV9ESUFMT0dfQ09ORklHLCBFbnRyeURpYWxvZ0NvbmZpZyB9IGZyb20gJy4vZW50cnktZGlhbG9nLWNvbmZpZy5tb2RlbCc7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VudHJ5LWNvbXBvbmVudHMvZGlhbG9nL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFHekYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFHL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCB7IEVudHJ5QWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvYWxlcnQvZW50cnktYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgeyBJRW50cnlBbGVydERpYWxvZ0RhdGEgfSBmcm9tICcuL2RpYWxvZ3MvYWxlcnQvZW50cnktYWxlcnQtZGlhbG9nLWRhdGEuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgRW50cnlDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL2NvbmZpcm0vZW50cnktY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7IElFbnRyeUNvbmZpcm1EaWFsb2dEYXRhIH0gZnJvbSAnLi9kaWFsb2dzL2NvbmZpcm0vZW50cnktY29uZmlybS1kaWFsb2ctZGF0YS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgeyBFbnRyeURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9ncy9lbnRyeS1kaWFsb2cuY29tcG9uZW50JztcblxuZXhwb3J0IHsgRW50cnlEaWFsb2dCdXR0b25zQWxpZ25tZW50IH0gZnJvbSAnLi9lbnRyeS1kaWFsb2ctYnV0dG9ucy1hbGlnbm1lbnQudHlwZSc7XG5leHBvcnQgeyBFbnRyeURpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2VudHJ5LWRpYWxvZy5zZXJ2aWNlJztcbmV4cG9ydCB7IEVudHJ5RGlhbG9nTW9kdWxlIH0gZnJvbSAnLi9lbnRyeS1kaWFsb2cubW9kdWxlJztcblxuZXhwb3J0IHsgRU5UUllfRElBTE9HX0NPTkZJRywgRW50cnlEaWFsb2dDb25maWcgfSBmcm9tICcuL2VudHJ5LWRpYWxvZy1jb25maWcubW9kZWwnO1xuIl19
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Component, Inject, Input, HostListener, ChangeDetectionStrategy, Injectable, NgModule } from '@angular/core';
2
+ import { InjectionToken, Component, Inject, Input, ChangeDetectionStrategy, Injectable, NgModule } from '@angular/core';
3
3
  import { of } from 'rxjs';
4
4
  import * as i1 from '@angular/material/dialog';
5
5
  import { MAT_DIALOG_DATA, MatDialogConfig, MatDialogModule } from '@angular/material/dialog';
@@ -8,7 +8,7 @@ import { CommonModule } from '@angular/common';
8
8
  import { take } from 'rxjs/operators';
9
9
 
10
10
  /**
11
- * Used to provide default configurations on module level
11
+ * Used to provide default configurations on module level.
12
12
  */
13
13
  class EntryDialogConfig {
14
14
  constructor(config = {}) {
@@ -16,7 +16,7 @@ class EntryDialogConfig {
16
16
  this.confirmButtonText = (_a = config.confirmButtonText) !== null && _a !== void 0 ? _a : 'Ok';
17
17
  this.cancelButtonText = (_b = config.cancelButtonText) !== null && _b !== void 0 ? _b : 'Cancel';
18
18
  this.buttonsAlignment = (_c = config.buttonsAlignment) !== null && _c !== void 0 ? _c : 'align-right';
19
- this.hideClose = (_d = config.hideClose) !== null && _d !== void 0 ? _d : false;
19
+ this.hideClose = (_d = config.hideClose) !== null && _d !== void 0 ? _d : true;
20
20
  this.disableClose = (_e = config.disableClose) !== null && _e !== void 0 ? _e : false;
21
21
  }
22
22
  }
@@ -32,34 +32,37 @@ class EntryDialogComponent {
32
32
  constructor(mdDialogRef, config) {
33
33
  this.mdDialogRef = mdDialogRef;
34
34
  this.config = config;
35
- /** @property buttonsAlignment - Dialog buttons horizontal alignment */
35
+ /** Dialog buttons horizontal alignment */
36
36
  this.buttonsAlignment = this.config.buttonsAlignment;
37
- /** @property confirmButtonText - Confirm button label */
37
+ /** Confirm button label */
38
38
  this.confirmButtonText = this.config.confirmButtonText;
39
- /** @property cancelButtonText - Cancel button label */
39
+ /** Cancel button label */
40
40
  this.cancelButtonText = this.config.cancelButtonText;
41
- /** @property hideClose - Show or hide dialog close button */
41
+ /** Show or hide dialog close button */
42
42
  this.hideClose = this.config.hideClose;
43
43
  this.confirm = () => of(true);
44
44
  this.cancel = () => this.close(false);
45
- this.onEsc = () => this.cancel();
46
- this.onSubmit = () => {
47
- this.confirm().subscribe({
48
- next: closeDialog => {
49
- if (closeDialog) {
50
- this.close(closeDialog);
51
- }
45
+ // @HostListener('keydown.esc')
46
+ // onEsc = () => {
47
+ // if (!this.disableClose) {
48
+ // this.cancel();
49
+ // }
50
+ // };
51
+ this.onSubmit = () => this.confirm().subscribe({
52
+ next: closeDialog => {
53
+ if (closeDialog) {
54
+ this.close(closeDialog);
52
55
  }
53
- });
54
- };
56
+ }
57
+ });
55
58
  this.close = (value = true) => this.mdDialogRef.close(value);
56
59
  }
57
60
  }
58
61
  EntryDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EntryDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: ENTRY_DIALOG_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
59
- EntryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: EntryDialogComponent, selector: "entry-dialog", inputs: { title: "title", buttonsAlignment: "buttonsAlignment", confirmButtonText: "confirmButtonText", cancelButtonText: "cancelButtonText", hideButtons: "hideButtons", hideCancel: "hideCancel", hideClose: "hideClose", disableConfirm: "disableConfirm", buttonsTemplate: "buttonsTemplate", confirm: "confirm", cancel: "cancel" }, host: { listeners: { "keydown.esc": "onEsc()" } }, ngImport: i0, template: "<div class=\"dialog-form\">\n <div class=\"dialog-header\">\n <h1 class=\"dialog-title\">{{title}}</h1>\n\n <button *ngIf=\"!hideClose\" type=\"button\" class=\"dialog-close-button\" (click)=\"cancel()\">\n <span class=\"icon-close dialog-close-icon\"></span>\n </button>\n </div>\n\n <mat-dialog-content class=\"dialog-content\" [ngClass]=\"{'with-actions': !hideButtons}\">\n <ng-content></ng-content>\n </mat-dialog-content>\n\n <ng-template [ngIf]=\"buttonsTemplate\" [ngIfElse]=\"defaultButtonsTemplate\">\n <ng-template [ngTemplateOutlet]=\"buttonsTemplate\"></ng-template>\n </ng-template>\n\n <ng-template #defaultButtonsTemplate>\n <div *ngIf=\"!hideButtons\" class=\"dialog-footer {{ buttonsAlignment }}\">\n <button\n type=\"button\"\n class=\"button button-accent dialog-footer-button\"\n cdkFocusInitial\n (click)=\"onSubmit()\">{{confirmButtonText}}</button>\n <button\n type=\"button\"\n class=\"button button-primary dialog-footer-button\"\n *ngIf=\"!hideCancel\"\n (click)=\"cancel()\">{{cancelButtonText}}</button>\n </div>\n </ng-template>\n</div>", styles: [".align-center{margin:auto}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
62
+ EntryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: EntryDialogComponent, selector: "entry-dialog", inputs: { title: "title", buttonsAlignment: "buttonsAlignment", confirmButtonText: "confirmButtonText", cancelButtonText: "cancelButtonText", hideButtons: "hideButtons", hideCancel: "hideCancel", hideClose: "hideClose", disableConfirm: "disableConfirm", buttonsTemplate: "buttonsTemplate", confirm: "confirm", cancel: "cancel" }, ngImport: i0, template: "<div class=\"dialog-form\">\n <div class=\"dialog-header\">\n <h1 class=\"dialog-title\">{{title}}</h1>\n\n <button *ngIf=\"!hideClose\" type=\"button\" class=\"dialog-close-button\" (click)=\"cancel()\">\n <span class=\"icon-close dialog-close-icon\"></span>\n </button>\n </div>\n\n <mat-dialog-content class=\"dialog-content\" [ngClass]=\"{'with-actions': !hideButtons}\">\n <ng-content></ng-content>\n </mat-dialog-content>\n\n <ng-template [ngIf]=\"buttonsTemplate\" [ngIfElse]=\"defaultButtonsTemplate\">\n <ng-template [ngTemplateOutlet]=\"buttonsTemplate\"></ng-template>\n </ng-template>\n\n <ng-template #defaultButtonsTemplate>\n <div *ngIf=\"!hideButtons\" class=\"dialog-footer {{ buttonsAlignment }}\">\n <button\n cdkFocusInitial\n type=\"button\"\n class=\"button button-accent dialog-footer-button\"\n (click)=\"onSubmit()\">{{confirmButtonText}}</button>\n <button\n *ngIf=\"!hideCancel\"\n type=\"button\"\n class=\"button button-primary dialog-footer-button\"\n (click)=\"cancel()\">{{cancelButtonText}}</button>\n </div>\n </ng-template>\n</div>", styles: [".align-center{margin:auto}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
60
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EntryDialogComponent, decorators: [{
61
64
  type: Component,
62
- args: [{ selector: 'entry-dialog', template: "<div class=\"dialog-form\">\n <div class=\"dialog-header\">\n <h1 class=\"dialog-title\">{{title}}</h1>\n\n <button *ngIf=\"!hideClose\" type=\"button\" class=\"dialog-close-button\" (click)=\"cancel()\">\n <span class=\"icon-close dialog-close-icon\"></span>\n </button>\n </div>\n\n <mat-dialog-content class=\"dialog-content\" [ngClass]=\"{'with-actions': !hideButtons}\">\n <ng-content></ng-content>\n </mat-dialog-content>\n\n <ng-template [ngIf]=\"buttonsTemplate\" [ngIfElse]=\"defaultButtonsTemplate\">\n <ng-template [ngTemplateOutlet]=\"buttonsTemplate\"></ng-template>\n </ng-template>\n\n <ng-template #defaultButtonsTemplate>\n <div *ngIf=\"!hideButtons\" class=\"dialog-footer {{ buttonsAlignment }}\">\n <button\n type=\"button\"\n class=\"button button-accent dialog-footer-button\"\n cdkFocusInitial\n (click)=\"onSubmit()\">{{confirmButtonText}}</button>\n <button\n type=\"button\"\n class=\"button button-primary dialog-footer-button\"\n *ngIf=\"!hideCancel\"\n (click)=\"cancel()\">{{cancelButtonText}}</button>\n </div>\n </ng-template>\n</div>", styles: [".align-center{margin:auto}\n"] }]
65
+ args: [{ selector: 'entry-dialog', template: "<div class=\"dialog-form\">\n <div class=\"dialog-header\">\n <h1 class=\"dialog-title\">{{title}}</h1>\n\n <button *ngIf=\"!hideClose\" type=\"button\" class=\"dialog-close-button\" (click)=\"cancel()\">\n <span class=\"icon-close dialog-close-icon\"></span>\n </button>\n </div>\n\n <mat-dialog-content class=\"dialog-content\" [ngClass]=\"{'with-actions': !hideButtons}\">\n <ng-content></ng-content>\n </mat-dialog-content>\n\n <ng-template [ngIf]=\"buttonsTemplate\" [ngIfElse]=\"defaultButtonsTemplate\">\n <ng-template [ngTemplateOutlet]=\"buttonsTemplate\"></ng-template>\n </ng-template>\n\n <ng-template #defaultButtonsTemplate>\n <div *ngIf=\"!hideButtons\" class=\"dialog-footer {{ buttonsAlignment }}\">\n <button\n cdkFocusInitial\n type=\"button\"\n class=\"button button-accent dialog-footer-button\"\n (click)=\"onSubmit()\">{{confirmButtonText}}</button>\n <button\n *ngIf=\"!hideCancel\"\n type=\"button\"\n class=\"button button-primary dialog-footer-button\"\n (click)=\"cancel()\">{{cancelButtonText}}</button>\n </div>\n </ng-template>\n</div>", styles: [".align-center{margin:auto}\n"] }]
63
66
  }], ctorParameters: function () {
64
67
  return [{ type: i1.MatDialogRef }, { type: EntryDialogConfig, decorators: [{
65
68
  type: Inject,
@@ -87,9 +90,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
87
90
  type: Input
88
91
  }], cancel: [{
89
92
  type: Input
90
- }], onEsc: [{
91
- type: HostListener,
92
- args: ['keydown.esc']
93
93
  }] } });
94
94
 
95
95
  class EntryAlertDialogComponent extends EntryDialogComponent {
@@ -101,10 +101,10 @@ class EntryAlertDialogComponent extends EntryDialogComponent {
101
101
  }
102
102
  }
103
103
  EntryAlertDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EntryAlertDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: ENTRY_DIALOG_CONFIG }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
104
- EntryAlertDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: EntryAlertDialogComponent, selector: "entry-alert-dialog", usesInheritance: true, ngImport: i0, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"'align-center'\"\n [hideCancel]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>", styles: [""], components: [{ type: EntryDialogComponent, selector: "entry-dialog", inputs: ["title", "buttonsAlignment", "confirmButtonText", "cancelButtonText", "hideButtons", "hideCancel", "hideClose", "disableConfirm", "buttonsTemplate", "confirm", "cancel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
104
+ EntryAlertDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: EntryAlertDialogComponent, selector: "entry-alert-dialog", usesInheritance: true, ngImport: i0, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\"\n [hideCancel]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>", styles: [""], components: [{ type: EntryDialogComponent, selector: "entry-dialog", inputs: ["title", "buttonsAlignment", "confirmButtonText", "cancelButtonText", "hideButtons", "hideCancel", "hideClose", "disableConfirm", "buttonsTemplate", "confirm", "cancel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
105
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EntryAlertDialogComponent, decorators: [{
106
106
  type: Component,
107
- args: [{ selector: 'entry-alert-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"'align-center'\"\n [hideCancel]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>", styles: [""] }]
107
+ args: [{ selector: 'entry-alert-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\"\n [hideCancel]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>", styles: [""] }]
108
108
  }], ctorParameters: function () {
109
109
  return [{ type: i1.MatDialogRef }, { type: EntryDialogConfig, decorators: [{
110
110
  type: Inject,
@@ -124,10 +124,10 @@ class EntryConfirmDialogComponent extends EntryDialogComponent {
124
124
  }
125
125
  }
126
126
  EntryConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EntryConfirmDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: ENTRY_DIALOG_CONFIG }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
127
- EntryConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: EntryConfirmDialogComponent, selector: "entry-confirm-dialog", usesInheritance: true, ngImport: i0, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [cancelButtonText]=\"data.cancelText ?? config.cancelButtonText\"\n [buttonsAlignment]=\"'align-right'\"\n [hideClose]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>", styles: [""], components: [{ type: EntryDialogComponent, selector: "entry-dialog", inputs: ["title", "buttonsAlignment", "confirmButtonText", "cancelButtonText", "hideButtons", "hideCancel", "hideClose", "disableConfirm", "buttonsTemplate", "confirm", "cancel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
127
+ EntryConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: EntryConfirmDialogComponent, selector: "entry-confirm-dialog", usesInheritance: true, ngImport: i0, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [cancelButtonText]=\"data.cancelText ?? config.cancelButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\">\n <p>{{data.message}}</p>\n</entry-dialog>", styles: [""], components: [{ type: EntryDialogComponent, selector: "entry-dialog", inputs: ["title", "buttonsAlignment", "confirmButtonText", "cancelButtonText", "hideButtons", "hideCancel", "hideClose", "disableConfirm", "buttonsTemplate", "confirm", "cancel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
128
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EntryConfirmDialogComponent, decorators: [{
129
129
  type: Component,
130
- args: [{ selector: 'entry-confirm-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [cancelButtonText]=\"data.cancelText ?? config.cancelButtonText\"\n [buttonsAlignment]=\"'align-right'\"\n [hideClose]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>", styles: [""] }]
130
+ args: [{ selector: 'entry-confirm-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [cancelButtonText]=\"data.cancelText ?? config.cancelButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\">\n <p>{{data.message}}</p>\n</entry-dialog>", styles: [""] }]
131
131
  }], ctorParameters: function () {
132
132
  return [{ type: i1.MatDialogRef }, { type: EntryDialogConfig, decorators: [{
133
133
  type: Inject,
@@ -138,35 +138,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
138
138
  }] }];
139
139
  } });
140
140
 
141
+ /**
142
+ * Used to open built-in and custom entry dialogs.
143
+ */
141
144
  class EntryDialogService {
142
145
  constructor(config, matDialog) {
143
146
  this.config = config;
144
147
  this.matDialog = matDialog;
145
148
  /**
146
- * Opens alert dialog
149
+ * Opens alert dialog.
147
150
  *
148
- * @param data - Contains title, message and optional confirm button text of IEntryAlertDialogData type
149
- * @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop
150
- * @returns Observable of any
151
+ * @param data - Contains title, message and optional confirm button text
152
+ * @returns `true` if confirmed, `undefined` if closed by clicking on backdrop or pressing escape
151
153
  */
152
- this.openAlert = (data, disableClose = undefined) => this.open(EntryAlertDialogComponent, data, disableClose);
154
+ this.openAlert = (data) => {
155
+ data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;
156
+ return this.open(EntryAlertDialogComponent, data, data.disableClose);
157
+ };
153
158
  /**
154
- * Opens confirm dialog
159
+ * Opens confirm dialog.
155
160
  *
156
- * @param data - Contains title, message and optional confirm/cancel buttons text of IEntryConfirmDialogData type
157
- * @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop
158
- * @returns Observable of bool or undefined, `true` if confirmed, `false` if canceled or closed
159
- * , `undefined` if closed by clicking on backdrop or pressing escape
161
+ * @param data - Contains title, message and optional confirm/cancel buttons text
162
+ * @returns `true` if confirmed, `false` if canceled or closed, `undefined` if closed by clicking on backdrop or pressing escape
160
163
  */
161
- this.openConfirm = (data, disableClose = true) => this.open(EntryConfirmDialogComponent, data, disableClose);
164
+ this.openConfirm = (data) => {
165
+ data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;
166
+ return this.open(EntryConfirmDialogComponent, data, data.disableClose);
167
+ };
162
168
  /**
163
- * Opens dialog with custom component
169
+ * Opens dialog with custom component.
164
170
  *
165
171
  * @param component - Dialog custom component implementation
166
172
  * @param data - Optional parameter used to supply component with input parameters
167
173
  * @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop
168
174
  * @param cssClass - Optional parameter used to set custom class to Material overlay pane
169
- * @returns Observable of any containing result of dialog with custom component
175
+ * @returns Any result custom implementation provides
170
176
  */
171
177
  this.open = (component, data = undefined, disableClose = undefined, cssClass = '') => {
172
178
  const configuration = new MatDialogConfig();
@@ -180,7 +186,10 @@ class EntryDialogService {
180
186
  .afterClosed()
181
187
  .pipe(take(1));
182
188
  };
183
- this.close = () => this.matDialog.closeAll();
189
+ /**
190
+ * Closes all opened dialogs.
191
+ */
192
+ this.closeAll = () => this.matDialog.closeAll();
184
193
  this.setPanelClassFor = (configuration, cssClass) => {
185
194
  configuration.panelClass = ['dialog-container', cssClass];
186
195
  };
@@ -1 +1 @@
1
- {"version":3,"file":"enigmatry-entry-components-dialog.mjs","sources":["../../../../projects/entry-components/dialog/entry-dialog-config.model.ts","../../../../projects/entry-components/dialog/dialogs/entry-dialog.component.ts","../../../../projects/entry-components/dialog/dialogs/entry-dialog.component.html","../../../../projects/entry-components/dialog/dialogs/alert/entry-alert-dialog.component.ts","../../../../projects/entry-components/dialog/dialogs/alert/entry-alert-dialog.component.html","../../../../projects/entry-components/dialog/dialogs/confirm/entry-confirm-dialog.component.ts","../../../../projects/entry-components/dialog/dialogs/confirm/entry-confirm-dialog.component.html","../../../../projects/entry-components/dialog/entry-dialog.service.ts","../../../../projects/entry-components/dialog/entry-dialog.module.ts","../../../../projects/entry-components/dialog/enigmatry-entry-components-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\n/**\n * Used to provide default configurations on module level\n */\nexport class EntryDialogConfig {\n /** @property confirmButtonText - Confirm button label (default 'Ok') */\n confirmButtonText: string;\n /** @property cancelButtonText - Cancel button label (default 'Cancel') */\n cancelButtonText: string;\n /** @property buttonsAlignment - Buttons alignment on dialog (default 'align-right') */\n buttonsAlignment: 'align-right' | 'align-center' | '';\n /** @property hideClose - Determines if close button is visible (default is false) */\n hideClose: boolean;\n /** @property disableClose - Disable closing dialog when pressing escape or clicking on backdrop (default false) */\n disableClose: boolean;\n\n constructor(config: Partial<EntryDialogConfig> = {}) {\n this.confirmButtonText = config.confirmButtonText ?? 'Ok';\n this.cancelButtonText = config.cancelButtonText ?? 'Cancel';\n this.buttonsAlignment = config.buttonsAlignment ?? 'align-right';\n this.hideClose = config.hideClose ?? false;\n this.disableClose = config.disableClose ?? false;\n }\n}\nexport const ENTRY_DIALOG_CONFIG = new InjectionToken<EntryDialogConfig>('EntryDialogConfig',\n {\n providedIn: 'root',\n factory: () => new EntryDialogConfig()\n }\n);\n","import { Component, HostListener, Inject, Input, TemplateRef } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { Observable, of } from 'rxjs';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../entry-dialog-config.model';\n\n/**\n * Base Entry dialog component. Must be extended when building custom dialogs.\n */\n@Component({\n selector: 'entry-dialog',\n templateUrl: './entry-dialog.component.html',\n styleUrls: ['./entry-dialog.component.scss']\n})\nexport class EntryDialogComponent {\n /** @property title - Dialog header title */\n @Input() title: string;\n /** @property buttonsAlignment - Dialog buttons horizontal alignment */\n @Input() buttonsAlignment: 'align-right' | 'align-center' | '' = this.config.buttonsAlignment;\n /** @property confirmButtonText - Confirm button label */\n @Input() confirmButtonText = this.config.confirmButtonText;\n /** @property cancelButtonText - Cancel button label */\n @Input() cancelButtonText = this.config.cancelButtonText;\n /** @property hideButtons - Show or hide dialog buttons */\n @Input() hideButtons: boolean;\n /** @property hideCancel - Show or hide dialog cancel button */\n @Input() hideCancel: boolean;\n /** @property hideClose - Show or hide dialog close button */\n @Input() hideClose: boolean = this.config.hideClose;\n /** @property disableConfirm - Enable or disable dialog confirm button */\n @Input() disableConfirm: boolean;\n /** @property buttonsTemplate - Provide custom buttons template */\n @Input() buttonsTemplate: TemplateRef<any> | null | undefined;\n\n constructor(\n protected readonly mdDialogRef: MatDialogRef<EntryDialogComponent>,\n @Inject(ENTRY_DIALOG_CONFIG) protected readonly config: EntryDialogConfig) { }\n\n @Input() confirm: () => Observable<unknown> = () => of(true);\n @Input() cancel = () => this.close(false);\n\n @HostListener('keydown.esc')\n readonly onEsc = () => this.cancel();\n\n readonly onSubmit = () => {\n this.confirm().subscribe({\n next: closeDialog => {\n if (closeDialog) {\n this.close(closeDialog);\n }\n }\n });\n };\n\n readonly close = (value: unknown = true) => this.mdDialogRef.close(value);\n}\n","<div class=\"dialog-form\">\n <div class=\"dialog-header\">\n <h1 class=\"dialog-title\">{{title}}</h1>\n\n <button *ngIf=\"!hideClose\" type=\"button\" class=\"dialog-close-button\" (click)=\"cancel()\">\n <span class=\"icon-close dialog-close-icon\"></span>\n </button>\n </div>\n\n <mat-dialog-content class=\"dialog-content\" [ngClass]=\"{'with-actions': !hideButtons}\">\n <ng-content></ng-content>\n </mat-dialog-content>\n\n <ng-template [ngIf]=\"buttonsTemplate\" [ngIfElse]=\"defaultButtonsTemplate\">\n <ng-template [ngTemplateOutlet]=\"buttonsTemplate\"></ng-template>\n </ng-template>\n\n <ng-template #defaultButtonsTemplate>\n <div *ngIf=\"!hideButtons\" class=\"dialog-footer {{ buttonsAlignment }}\">\n <button\n type=\"button\"\n class=\"button button-accent dialog-footer-button\"\n cdkFocusInitial\n (click)=\"onSubmit()\">{{confirmButtonText}}</button>\n <button\n type=\"button\"\n class=\"button button-primary dialog-footer-button\"\n *ngIf=\"!hideCancel\"\n (click)=\"cancel()\">{{cancelButtonText}}</button>\n </div>\n </ng-template>\n</div>","import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';\nimport { EntryDialogComponent } from '../entry-dialog.component';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { IEntryAlertDialogData } from './entry-alert-dialog-data.interface';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../../entry-dialog-config.model';\n\n@Component({\n selector: 'entry-alert-dialog',\n templateUrl: './entry-alert-dialog.component.html',\n styleUrls: ['./entry-alert-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EntryAlertDialogComponent extends EntryDialogComponent {\n constructor(\n protected readonly mdDialogRef: MatDialogRef<EntryDialogComponent>,\n @Inject(ENTRY_DIALOG_CONFIG) public readonly config: EntryDialogConfig,\n @Inject(MAT_DIALOG_DATA) public data: IEntryAlertDialogData) {\n super(mdDialogRef, config);\n }\n}\n","<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"'align-center'\"\n [hideCancel]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>","import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { EntryDialogComponent } from '../entry-dialog.component';\nimport { IEntryConfirmDialogData } from './entry-confirm-dialog-data.interface';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../../entry-dialog-config.model';\n\n@Component({\n selector: 'entry-confirm-dialog',\n templateUrl: './entry-confirm-dialog.component.html',\n styleUrls: ['./entry-confirm-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EntryConfirmDialogComponent extends EntryDialogComponent {\n constructor(\n protected readonly mdDialogRef: MatDialogRef<EntryDialogComponent>,\n @Inject(ENTRY_DIALOG_CONFIG) public readonly config: EntryDialogConfig,\n @Inject(MAT_DIALOG_DATA) readonly data: IEntryConfirmDialogData) {\n super(mdDialogRef, config);\n }\n}\n","<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [cancelButtonText]=\"data.cancelText ?? config.cancelButtonText\"\n [buttonsAlignment]=\"'align-right'\"\n [hideClose]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>","import { Inject, Injectable, Type } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { EntryDialogComponent } from './dialogs/entry-dialog.component';\nimport { take } from 'rxjs/operators';\nimport { IEntryAlertDialogData } from './dialogs/alert/entry-alert-dialog-data.interface';\nimport { EntryAlertDialogComponent } from './dialogs/alert/entry-alert-dialog.component';\nimport { Observable } from 'rxjs';\nimport { EntryConfirmDialogComponent } from './dialogs/confirm/entry-confirm-dialog.component';\nimport { IEntryConfirmDialogData } from './dialogs/confirm/entry-confirm-dialog-data.interface';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from './entry-dialog-config.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EntryDialogService {\n constructor(\n @Inject(ENTRY_DIALOG_CONFIG) protected readonly config: EntryDialogConfig,\n private readonly matDialog: MatDialog) { }\n\n /**\n * Opens alert dialog\n *\n * @param data - Contains title, message and optional confirm button text of IEntryAlertDialogData type\n * @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop\n * @returns Observable of any\n */\n openAlert = (\n data: IEntryAlertDialogData,\n disableClose: boolean | undefined = undefined): Observable<any> =>\n this.open(EntryAlertDialogComponent, data, disableClose);\n\n /**\n * Opens confirm dialog\n *\n * @param data - Contains title, message and optional confirm/cancel buttons text of IEntryConfirmDialogData type\n * @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop\n * @returns Observable of bool or undefined, `true` if confirmed, `false` if canceled or closed\n * , `undefined` if closed by clicking on backdrop or pressing escape\n */\n openConfirm = (\n data: IEntryConfirmDialogData,\n disableClose: boolean | undefined = true): Observable<boolean | undefined> =>\n this.open(EntryConfirmDialogComponent, data, disableClose);\n\n /**\n * Opens dialog with custom component\n *\n * @param component - Dialog custom component implementation\n * @param data - Optional parameter used to supply component with input parameters\n * @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop\n * @param cssClass - Optional parameter used to set custom class to Material overlay pane\n * @returns Observable of any containing result of dialog with custom component\n */\n open = (\n component: Type<EntryDialogComponent>,\n data: unknown = undefined,\n disableClose: boolean | undefined = undefined,\n cssClass: string = ''): Observable<any> => {\n const configuration = new MatDialogConfig<unknown>();\n configuration.data = data;\n configuration.disableClose = disableClose === undefined\n ? this.config.disableClose\n : disableClose;\n this.setPanelClassFor(configuration, cssClass);\n\n return this.matDialog\n .open(component, configuration)\n .afterClosed()\n .pipe(take(1));\n };\n\n close = (): void => this.matDialog.closeAll();\n\n private setPanelClassFor = <T>(configuration: MatDialogConfig<T>, cssClass: string) => {\n configuration.panelClass = ['dialog-container', cssClass];\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { EntryAlertDialogComponent } from './dialogs/alert/entry-alert-dialog.component';\nimport { EntryConfirmDialogComponent } from './dialogs/confirm/entry-confirm-dialog.component';\nimport { EntryDialogComponent } from './dialogs/entry-dialog.component';\n\n@NgModule({\n declarations: [\n EntryDialogComponent,\n EntryAlertDialogComponent,\n EntryConfirmDialogComponent\n ],\n imports: [\n CommonModule,\n MatDialogModule\n ],\n exports: [\n EntryDialogComponent,\n EntryAlertDialogComponent,\n EntryConfirmDialogComponent\n ]\n})\nexport class EntryDialogModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.EntryDialogComponent"],"mappings":"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"}
1
+ {"version":3,"file":"enigmatry-entry-components-dialog.mjs","sources":["../../../../projects/entry-components/dialog/entry-dialog-config.model.ts","../../../../projects/entry-components/dialog/dialogs/entry-dialog.component.ts","../../../../projects/entry-components/dialog/dialogs/entry-dialog.component.html","../../../../projects/entry-components/dialog/dialogs/alert/entry-alert-dialog.component.ts","../../../../projects/entry-components/dialog/dialogs/alert/entry-alert-dialog.component.html","../../../../projects/entry-components/dialog/dialogs/confirm/entry-confirm-dialog.component.ts","../../../../projects/entry-components/dialog/dialogs/confirm/entry-confirm-dialog.component.html","../../../../projects/entry-components/dialog/entry-dialog.service.ts","../../../../projects/entry-components/dialog/entry-dialog.module.ts","../../../../projects/entry-components/dialog/enigmatry-entry-components-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { EntryDialogButtonsAlignment } from './entry-dialog-buttons-alignment.type';\n\n/**\n * Used to provide default configurations on module level.\n */\nexport class EntryDialogConfig {\n /** Confirm button label (default 'Ok') */\n confirmButtonText: string;\n /** Cancel button label (default 'Cancel') */\n cancelButtonText: string;\n /** Dialog buttons horizontal alignment (default 'align-right') */\n buttonsAlignment: EntryDialogButtonsAlignment;\n /** Determines if close button is visible (default is true) */\n hideClose: boolean;\n /** Disable closing dialog when pressing escape or clicking on backdrop (default false) */\n disableClose: boolean;\n\n constructor(config: Partial<EntryDialogConfig> = {}) {\n this.confirmButtonText = config.confirmButtonText ?? 'Ok';\n this.cancelButtonText = config.cancelButtonText ?? 'Cancel';\n this.buttonsAlignment = config.buttonsAlignment ?? 'align-right';\n this.hideClose = config.hideClose ?? true;\n this.disableClose = config.disableClose ?? false;\n }\n}\nexport const ENTRY_DIALOG_CONFIG = new InjectionToken<EntryDialogConfig>(\n 'EntryDialogConfig',\n {\n providedIn: 'root',\n factory: () => new EntryDialogConfig()\n }\n);\n","import { Component, Inject, Input, TemplateRef } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { Observable, of } from 'rxjs';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../entry-dialog-config.model';\nimport { EntryDialogButtonsAlignment } from '../entry-dialog-buttons-alignment.type';\n\n/**\n * Base Entry dialog component. Must be extended when building custom dialogs.\n */\n@Component({\n selector: 'entry-dialog',\n templateUrl: './entry-dialog.component.html',\n styleUrls: ['./entry-dialog.component.scss']\n})\nexport class EntryDialogComponent {\n /** Dialog header title */\n @Input() title: string;\n /** Dialog buttons horizontal alignment */\n @Input() buttonsAlignment: EntryDialogButtonsAlignment = this.config.buttonsAlignment;\n /** Confirm button label */\n @Input() confirmButtonText = this.config.confirmButtonText;\n /** Cancel button label */\n @Input() cancelButtonText = this.config.cancelButtonText;\n /** Show or hide dialog buttons */\n @Input() hideButtons: boolean;\n /** Show or hide dialog cancel button */\n @Input() hideCancel: boolean;\n /** Show or hide dialog close button */\n @Input() hideClose: boolean = this.config.hideClose;\n /** Enable or disable dialog confirm button */\n @Input() disableConfirm: boolean;\n /** Provide custom buttons template */\n @Input() buttonsTemplate: TemplateRef<any> | null | undefined;\n\n constructor(\n protected readonly mdDialogRef: MatDialogRef<EntryDialogComponent>,\n @Inject(ENTRY_DIALOG_CONFIG) protected readonly config: EntryDialogConfig) { }\n\n @Input() confirm: () => Observable<unknown> = () => of(true);\n @Input() cancel = () => this.close(false);\n\n // @HostListener('keydown.esc')\n // onEsc = () => {\n // if (!this.disableClose) {\n // this.cancel();\n // }\n // };\n\n onSubmit = () =>\n this.confirm().subscribe({\n next: closeDialog => {\n if (closeDialog) {\n this.close(closeDialog);\n }\n }\n });\n\n close = (value: unknown = true) => this.mdDialogRef.close(value);\n}\n","<div class=\"dialog-form\">\n <div class=\"dialog-header\">\n <h1 class=\"dialog-title\">{{title}}</h1>\n\n <button *ngIf=\"!hideClose\" type=\"button\" class=\"dialog-close-button\" (click)=\"cancel()\">\n <span class=\"icon-close dialog-close-icon\"></span>\n </button>\n </div>\n\n <mat-dialog-content class=\"dialog-content\" [ngClass]=\"{'with-actions': !hideButtons}\">\n <ng-content></ng-content>\n </mat-dialog-content>\n\n <ng-template [ngIf]=\"buttonsTemplate\" [ngIfElse]=\"defaultButtonsTemplate\">\n <ng-template [ngTemplateOutlet]=\"buttonsTemplate\"></ng-template>\n </ng-template>\n\n <ng-template #defaultButtonsTemplate>\n <div *ngIf=\"!hideButtons\" class=\"dialog-footer {{ buttonsAlignment }}\">\n <button\n cdkFocusInitial\n type=\"button\"\n class=\"button button-accent dialog-footer-button\"\n (click)=\"onSubmit()\">{{confirmButtonText}}</button>\n <button\n *ngIf=\"!hideCancel\"\n type=\"button\"\n class=\"button button-primary dialog-footer-button\"\n (click)=\"cancel()\">{{cancelButtonText}}</button>\n </div>\n </ng-template>\n</div>","import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';\nimport { EntryDialogComponent } from '../entry-dialog.component';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { IEntryAlertDialogData } from './entry-alert-dialog-data.interface';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../../entry-dialog-config.model';\n\n@Component({\n selector: 'entry-alert-dialog',\n templateUrl: './entry-alert-dialog.component.html',\n styleUrls: ['./entry-alert-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EntryAlertDialogComponent extends EntryDialogComponent {\n constructor(\n protected readonly mdDialogRef: MatDialogRef<EntryDialogComponent>,\n @Inject(ENTRY_DIALOG_CONFIG) public readonly config: EntryDialogConfig,\n @Inject(MAT_DIALOG_DATA) public data: IEntryAlertDialogData) {\n super(mdDialogRef, config);\n }\n}\n","<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\"\n [hideCancel]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>","import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { EntryDialogComponent } from '../entry-dialog.component';\nimport { IEntryConfirmDialogData } from './entry-confirm-dialog-data.interface';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../../entry-dialog-config.model';\n\n@Component({\n selector: 'entry-confirm-dialog',\n templateUrl: './entry-confirm-dialog.component.html',\n styleUrls: ['./entry-confirm-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EntryConfirmDialogComponent extends EntryDialogComponent {\n constructor(\n protected readonly mdDialogRef: MatDialogRef<EntryDialogComponent>,\n @Inject(ENTRY_DIALOG_CONFIG) public readonly config: EntryDialogConfig,\n @Inject(MAT_DIALOG_DATA) readonly data: IEntryConfirmDialogData) {\n super(mdDialogRef, config);\n }\n}\n","<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [cancelButtonText]=\"data.cancelText ?? config.cancelButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\">\n <p>{{data.message}}</p>\n</entry-dialog>","import { Inject, Injectable, Type } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { EntryDialogComponent } from './dialogs/entry-dialog.component';\nimport { take } from 'rxjs/operators';\nimport { IEntryAlertDialogData } from './dialogs/alert/entry-alert-dialog-data.interface';\nimport { EntryAlertDialogComponent } from './dialogs/alert/entry-alert-dialog.component';\nimport { Observable } from 'rxjs';\nimport { EntryConfirmDialogComponent } from './dialogs/confirm/entry-confirm-dialog.component';\nimport { IEntryConfirmDialogData } from './dialogs/confirm/entry-confirm-dialog-data.interface';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from './entry-dialog-config.model';\n\n/**\n * Used to open built-in and custom entry dialogs.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class EntryDialogService {\n constructor(\n @Inject(ENTRY_DIALOG_CONFIG) protected readonly config: EntryDialogConfig,\n private readonly matDialog: MatDialog) { }\n\n /**\n * Opens alert dialog.\n *\n * @param data - Contains title, message and optional confirm button text\n * @returns `true` if confirmed, `undefined` if closed by clicking on backdrop or pressing escape\n */\n openAlert = (data: Partial<IEntryAlertDialogData>): Observable<true | undefined> => {\n data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;\n return this.open(EntryAlertDialogComponent, data, data.disableClose);\n };\n\n /**\n * Opens confirm dialog.\n *\n * @param data - Contains title, message and optional confirm/cancel buttons text\n * @returns `true` if confirmed, `false` if canceled or closed, `undefined` if closed by clicking on backdrop or pressing escape\n */\n openConfirm = (data: Partial<IEntryConfirmDialogData>): Observable<boolean | undefined> => {\n data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;\n return this.open(EntryConfirmDialogComponent, data, data.disableClose);\n };\n\n /**\n * Opens dialog with custom component.\n *\n * @param component - Dialog custom component implementation\n * @param data - Optional parameter used to supply component with input parameters\n * @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop\n * @param cssClass - Optional parameter used to set custom class to Material overlay pane\n * @returns Any result custom implementation provides\n */\n open = (\n component: Type<EntryDialogComponent>,\n data: unknown = undefined,\n disableClose: boolean | undefined = undefined,\n cssClass: string = ''): Observable<any> => {\n const configuration = new MatDialogConfig<unknown>();\n configuration.data = data;\n configuration.disableClose = disableClose === undefined\n ? this.config.disableClose\n : disableClose;\n this.setPanelClassFor(configuration, cssClass);\n\n return this.matDialog\n .open(component, configuration)\n .afterClosed()\n .pipe(take(1));\n };\n\n /**\n * Closes all opened dialogs.\n */\n closeAll = (): void => this.matDialog.closeAll();\n\n private setPanelClassFor = <T>(configuration: MatDialogConfig<T>, cssClass: string) => {\n configuration.panelClass = ['dialog-container', cssClass];\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { EntryAlertDialogComponent } from './dialogs/alert/entry-alert-dialog.component';\nimport { EntryConfirmDialogComponent } from './dialogs/confirm/entry-confirm-dialog.component';\nimport { EntryDialogComponent } from './dialogs/entry-dialog.component';\n\n@NgModule({\n declarations: [\n EntryDialogComponent,\n EntryAlertDialogComponent,\n EntryConfirmDialogComponent\n ],\n imports: [\n CommonModule,\n MatDialogModule\n ],\n exports: [\n EntryDialogComponent,\n EntryAlertDialogComponent,\n EntryConfirmDialogComponent\n ]\n})\nexport class EntryDialogModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.EntryDialogComponent"],"mappings":"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"}