@alauda/ui 6.4.8-beta.47 → 6.4.8-beta.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -59
- package/core/animation/animation-consts.d.ts +2 -0
- package/dialog/confirm-dialog/confirm-dialog-config.d.ts +2 -1
- package/dialog/dialog-animations.d.ts +4 -0
- package/dialog/dialog-config.d.ts +35 -1
- package/dialog/dialog.component.d.ts +31 -4
- package/dialog/dialog.service.d.ts +0 -2
- package/esm2020/core/animation/animation-consts.mjs +6 -0
- package/esm2020/dialog/confirm-dialog/confirm-dialog-config.mjs +4 -2
- package/esm2020/dialog/dialog-animations.mjs +24 -0
- package/esm2020/dialog/dialog-config.mjs +48 -2
- package/esm2020/dialog/dialog-ref.mjs +11 -6
- package/esm2020/dialog/dialog.component.mjs +114 -10
- package/esm2020/dialog/dialog.service.mjs +8 -6
- package/esm2020/input/input.module.mjs +1 -5
- package/esm2020/input/number-input/number-input.component.mjs +6 -7
- package/esm2020/utils/fn.mjs +12 -1
- package/fesm2015/alauda-ui.mjs +221 -31
- package/fesm2015/alauda-ui.mjs.map +1 -1
- package/fesm2020/alauda-ui.mjs +221 -31
- package/fesm2020/alauda-ui.mjs.map +1 -1
- package/input/input.module.d.ts +5 -6
- package/package.json +1 -1
- package/theme/_base-var.scss +8 -1
- package/theme/_mixin.scss +39 -1
- package/utils/fn.d.ts +4 -0
package/README.md
CHANGED
|
@@ -7,15 +7,11 @@
|
|
|
7
7
|
- [Online Demo](#online-demo)
|
|
8
8
|
- [Getting Started](#getting-started)
|
|
9
9
|
- [Install](#install)
|
|
10
|
-
- [Project Config](#project-config)
|
|
11
10
|
- [Usage](#usage)
|
|
12
11
|
- [Development](#development)
|
|
13
12
|
- [Test](#test)
|
|
14
13
|
- [Build Storybook](#build-storybook)
|
|
15
14
|
- [Build Library](#build-library)
|
|
16
|
-
- [Incremental Builds](#incremental-builds)
|
|
17
|
-
- [Parameter](#parameter)
|
|
18
|
-
- [Config File](#config-file)
|
|
19
15
|
- [Read More](#read-more)
|
|
20
16
|
- [LICENCE](#licence)
|
|
21
17
|
|
|
@@ -35,24 +31,6 @@ npm i @alauda/ui
|
|
|
35
31
|
yarn add @alauda/ui
|
|
36
32
|
```
|
|
37
33
|
|
|
38
|
-
and also need to confirm the peer dependencies have been installed
|
|
39
|
-
|
|
40
|
-
yarn add dayjs @angular/cdk
|
|
41
|
-
|
|
42
|
-
### Project Config
|
|
43
|
-
|
|
44
|
-
```json
|
|
45
|
-
// tsconfig.json
|
|
46
|
-
{
|
|
47
|
-
"compilerOptions": {
|
|
48
|
-
"allowSyntheticDefaultImports": true,
|
|
49
|
-
"skipLibCheck": true,
|
|
50
|
-
...
|
|
51
|
-
},
|
|
52
|
-
...
|
|
53
|
-
}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
34
|
### Usage
|
|
57
35
|
|
|
58
36
|
```ts
|
|
@@ -99,43 +77,6 @@ yarn storybook:build
|
|
|
99
77
|
yarn build
|
|
100
78
|
```
|
|
101
79
|
|
|
102
|
-
## Incremental Builds
|
|
103
|
-
|
|
104
|
-
Develop and debug UI component libraries quickly and efficiently by incremental builds
|
|
105
|
-
|
|
106
|
-
### Parameter
|
|
107
|
-
|
|
108
|
-
```sh
|
|
109
|
-
yarn build:watch
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
Also can copy a dist to another project to debug
|
|
113
|
-
|
|
114
|
-
yarn build:watch <project_path>
|
|
115
|
-
|
|
116
|
-
In this way, after every incremental build completed, dist will be copied to `node_modules` which in specified project
|
|
117
|
-
|
|
118
|
-
### Config File
|
|
119
|
-
|
|
120
|
-
In order to incremental build dist to your project directly instead of adding parameter to specify project path every time, can use your own `ng-package.json` by
|
|
121
|
-
|
|
122
|
-
```sh
|
|
123
|
-
npm run debug
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
Edit you own build config by adding a new file called `ng-package.debug.json`, like
|
|
127
|
-
|
|
128
|
-
```json
|
|
129
|
-
// ng-package.debug.json
|
|
130
|
-
{
|
|
131
|
-
"$schema": "./node_modules/ng-packagr/ng-package.schema.json",
|
|
132
|
-
"dest": "/home/alauda/projects/<target_project_path>/node_modules/@alauda/ui",
|
|
133
|
-
"lib": {
|
|
134
|
-
"entryFile": "./src/index.ts"
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
```
|
|
138
|
-
|
|
139
80
|
## Read More
|
|
140
81
|
|
|
141
82
|
- [coding standards](./docs/CODING_STANDARDS.md)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TemplateRef, Type } from '@angular/core';
|
|
2
|
+
import { BaseDialogConfig } from '../dialog-config';
|
|
2
3
|
import { BeforeAction, ConfirmType } from '../dialog.types';
|
|
3
|
-
export declare class ConfirmDialogConfig<T = unknown, R = unknown> {
|
|
4
|
+
export declare class ConfirmDialogConfig<T = unknown, R = unknown> extends BaseDialogConfig {
|
|
4
5
|
title: string;
|
|
5
6
|
content?: string | TemplateRef<any> | Type<any>;
|
|
6
7
|
cancelButton?: boolean;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { DialogSize } from './dialog.types';
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class BaseDialogConfig {
|
|
4
|
+
noAnimation?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare class DialogConfig<D = any> extends BaseDialogConfig {
|
|
4
7
|
id?: number;
|
|
5
8
|
viewContainerRef?: ViewContainerRef;
|
|
6
9
|
data?: D;
|
|
@@ -8,3 +11,34 @@ export declare class DialogConfig<D = any> {
|
|
|
8
11
|
hasBackdrop?: boolean;
|
|
9
12
|
fitViewport?: boolean;
|
|
10
13
|
}
|
|
14
|
+
export declare const ZOOM_CLASS_NAME_MAP: {
|
|
15
|
+
enter: string;
|
|
16
|
+
enterActive: string;
|
|
17
|
+
leave: string;
|
|
18
|
+
leaveActive: string;
|
|
19
|
+
};
|
|
20
|
+
export declare const ZOOM_SLOW_CLASS_NAME_MAP: {
|
|
21
|
+
enter: string;
|
|
22
|
+
enterActive: string;
|
|
23
|
+
leave: string;
|
|
24
|
+
leaveActive: string;
|
|
25
|
+
};
|
|
26
|
+
export declare const FADE_CLASS_NAME_MAP: {
|
|
27
|
+
enter: string;
|
|
28
|
+
enterActive: string;
|
|
29
|
+
leave: string;
|
|
30
|
+
leaveActive: string;
|
|
31
|
+
};
|
|
32
|
+
export declare const FADE_SLOW_CLASS_NAME_MAP: {
|
|
33
|
+
enter: string;
|
|
34
|
+
enterActive: string;
|
|
35
|
+
leave: string;
|
|
36
|
+
leaveActive: string;
|
|
37
|
+
};
|
|
38
|
+
export declare const ANIMATION_DURATION_CLASS_MAP: {
|
|
39
|
+
base: string[];
|
|
40
|
+
slow: string[];
|
|
41
|
+
};
|
|
42
|
+
export declare const DIALOG_OVERLAY_PANE_CLASS = "aui-dialog-overlay-pane";
|
|
43
|
+
export declare const DIALOG_OVERLAY_PANE_FIT_VIEWPORT_CLASS = "aui-dialog-overlay-pane--fit-viewport";
|
|
44
|
+
export declare const DIALOG_BACKDROP_CLASS = "aui-dialog-backdrop";
|
|
@@ -1,27 +1,54 @@
|
|
|
1
|
+
import { AnimationEvent } from '@angular/animations';
|
|
2
|
+
import { OverlayRef } from '@angular/cdk/overlay';
|
|
1
3
|
import { CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
|
|
2
|
-
import { ComponentRef, ElementRef, EmbeddedViewRef } from '@angular/core';
|
|
4
|
+
import { ComponentRef, ElementRef, EmbeddedViewRef, EventEmitter, Renderer2 } from '@angular/core';
|
|
3
5
|
import { Bem } from '../utils';
|
|
4
6
|
import { DialogConfig } from './dialog-config';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
8
|
export declare class DialogComponent {
|
|
7
9
|
private readonly elementRef;
|
|
10
|
+
private readonly render;
|
|
8
11
|
portalOutlet: CdkPortalOutlet;
|
|
9
12
|
bem: Bem;
|
|
10
13
|
config: DialogConfig;
|
|
11
14
|
hidden: boolean;
|
|
15
|
+
state: 'void' | 'enter' | 'exit';
|
|
16
|
+
animationStateChanged: EventEmitter<AnimationEvent>;
|
|
17
|
+
elementFocusedBeforeModalWasOpened: HTMLElement;
|
|
18
|
+
overlayRef: OverlayRef;
|
|
12
19
|
get id(): string;
|
|
13
20
|
set id(value: string);
|
|
14
21
|
private readonly _id;
|
|
15
22
|
get rootClass(): string;
|
|
16
23
|
get customStyle(): {
|
|
17
|
-
|
|
24
|
+
opacity: number;
|
|
18
25
|
} | {
|
|
19
|
-
|
|
26
|
+
opacity?: undefined;
|
|
20
27
|
};
|
|
21
|
-
|
|
28
|
+
get zoomClassMap(): {
|
|
29
|
+
enter: string;
|
|
30
|
+
enterActive: string;
|
|
31
|
+
leave: string;
|
|
32
|
+
leaveActive: string;
|
|
33
|
+
};
|
|
34
|
+
get fadeClassMap(): {
|
|
35
|
+
enter: string;
|
|
36
|
+
enterActive: string;
|
|
37
|
+
leave: string;
|
|
38
|
+
leaveActive: string;
|
|
39
|
+
};
|
|
40
|
+
constructor(elementRef: ElementRef<HTMLElement>, render: Renderer2);
|
|
22
41
|
attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;
|
|
23
42
|
attachTemplatePortal<T>(portal: TemplatePortal<T>): EmbeddedViewRef<T>;
|
|
43
|
+
onAnimationDone(event: AnimationEvent): void;
|
|
44
|
+
onAnimationStart(event: AnimationEvent): void;
|
|
45
|
+
startExitAnimation(): void;
|
|
24
46
|
private blurActiveElement;
|
|
47
|
+
private cleanAnimationClass;
|
|
48
|
+
private setEnterAnimationClass;
|
|
49
|
+
private setExitAnimationClass;
|
|
50
|
+
private setMaskExitAnimationClass;
|
|
51
|
+
private setModalTransformOrigin;
|
|
25
52
|
static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponent, never>;
|
|
26
53
|
static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "aui-dialog", never, {}, {}, never, never>;
|
|
27
54
|
}
|
|
@@ -11,8 +11,6 @@ export declare class DialogService {
|
|
|
11
11
|
private readonly injector;
|
|
12
12
|
private readonly scrollDispatcher;
|
|
13
13
|
private readonly ngZone;
|
|
14
|
-
static readonly DIALOG_OVERLAY_PANE_CLASS = "aui-dialog-overlay-pane";
|
|
15
|
-
static readonly DIALOG_BACKDROP_CLASS = "aui-dialog-backdrop";
|
|
16
14
|
openDialogs: Array<DialogRef<any>>;
|
|
17
15
|
constructor(overlay: Overlay, injector: Injector, scrollDispatcher: ScrollDispatcher, ngZone: NgZone);
|
|
18
16
|
open<T, D = any, R = any>(compOrTempRef: ComponentType<T> | TemplateRef<T>, config?: DialogConfig<D>): DialogRef<T, R>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const AnimationDurationMap = {
|
|
2
|
+
slow: '0.3s',
|
|
3
|
+
base: '0.24s',
|
|
4
|
+
fast: '0.2s',
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWNvbnN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL2FuaW1hdGlvbi9hbmltYXRpb24tY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFzQztJQUNyRSxJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxPQUFPO0lBQ2IsSUFBSSxFQUFFLE1BQU07Q0FDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQW5pbWF0aW9uRHVyYXRpb24gPSAnc2xvdycgfCAnYmFzZScgfCAnZmFzdCc7XG5cbmV4cG9ydCBjb25zdCBBbmltYXRpb25EdXJhdGlvbk1hcDogUmVjb3JkPEFuaW1hdGlvbkR1cmF0aW9uLCBzdHJpbmc+ID0ge1xuICBzbG93OiAnMC4zcycsXG4gIGJhc2U6ICcwLjI0cycsXG4gIGZhc3Q6ICcwLjJzJyxcbn07XG4iXX0=
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { BaseDialogConfig } from '../dialog-config';
|
|
1
2
|
import { ConfirmType } from '../dialog.types';
|
|
2
|
-
export class ConfirmDialogConfig {
|
|
3
|
+
export class ConfirmDialogConfig extends BaseDialogConfig {
|
|
3
4
|
constructor() {
|
|
5
|
+
super(...arguments);
|
|
4
6
|
this.cancelButton = true;
|
|
5
7
|
this.confirmType = ConfirmType.Primary;
|
|
6
8
|
this.confirmText = 'OK';
|
|
7
9
|
this.cancelText = 'Cancel';
|
|
8
10
|
}
|
|
9
11
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2ctY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RpYWxvZy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFnQixXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1RCxNQUFNLE9BQU8sbUJBR1gsU0FBUSxnQkFBZ0I7SUFIMUI7O1FBTUUsaUJBQVksR0FBSSxJQUFJLENBQUM7UUFDckIsZ0JBQVcsR0FBaUIsV0FBVyxDQUFDLE9BQU8sQ0FBQztRQUNoRCxnQkFBVyxHQUFJLElBQUksQ0FBQztRQUNwQixlQUFVLEdBQUksUUFBUSxDQUFDO0lBSXpCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VEaWFsb2dDb25maWcgfSBmcm9tICcuLi9kaWFsb2ctY29uZmlnJztcbmltcG9ydCB7IEJlZm9yZUFjdGlvbiwgQ29uZmlybVR5cGUgfSBmcm9tICcuLi9kaWFsb2cudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQ29uZmlybURpYWxvZ0NvbmZpZzxcbiAgVCA9IHVua25vd24sXG4gIFIgPSB1bmtub3duLFxuPiBleHRlbmRzIEJhc2VEaWFsb2dDb25maWcge1xuICB0aXRsZTogc3RyaW5nO1xuICBjb250ZW50Pzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB8IFR5cGU8YW55PjtcbiAgY2FuY2VsQnV0dG9uPyA9IHRydWU7XG4gIGNvbmZpcm1UeXBlPzogQ29uZmlybVR5cGUgPSBDb25maXJtVHlwZS5QcmltYXJ5O1xuICBjb25maXJtVGV4dD8gPSAnT0snO1xuICBjYW5jZWxUZXh0PyA9ICdDYW5jZWwnO1xuXG4gIGJlZm9yZUNvbmZpcm0/OiBCZWZvcmVBY3Rpb248VD47XG4gIGJlZm9yZUNhbmNlbD86IEJlZm9yZUFjdGlvbjxSPjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { animate, query, state, style, transition, trigger, } from '@angular/animations';
|
|
2
|
+
import { AnimationDurationMap, } from '../core/animation/animation-consts';
|
|
3
|
+
import { ANIMATION_DURATION_CLASS_MAP } from './dialog-config';
|
|
4
|
+
const getAnimationQueryMetadatas = (config) => {
|
|
5
|
+
const animationMetadatas = [];
|
|
6
|
+
Object.keys(config).forEach(key => {
|
|
7
|
+
const classNames = config[key];
|
|
8
|
+
classNames.forEach(className => {
|
|
9
|
+
animationMetadatas.push(query(className, animate(AnimationDurationMap[key], style({})), {
|
|
10
|
+
optional: true,
|
|
11
|
+
}));
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
return animationMetadatas;
|
|
15
|
+
};
|
|
16
|
+
export const dialogAnimations = {
|
|
17
|
+
dialogContainer: trigger('dialogContainer', [
|
|
18
|
+
state('void, exit', style({})),
|
|
19
|
+
state('enter', style({})),
|
|
20
|
+
transition('* => enter', getAnimationQueryMetadatas(ANIMATION_DURATION_CLASS_MAP)),
|
|
21
|
+
transition('* => void, * => exit', getAnimationQueryMetadatas(ANIMATION_DURATION_CLASS_MAP)),
|
|
22
|
+
]),
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWFuaW1hdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGlhbG9nL2RpYWxvZy1hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBR1AsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFFTCxvQkFBb0IsR0FDckIsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvRCxNQUFNLDBCQUEwQixHQUFHLENBQ2pDLE1BQW9ELEVBQ3BELEVBQUU7SUFDRixNQUFNLGtCQUFrQixHQUE2QixFQUFFLENBQUM7SUFDdkQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQXlCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3pELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzdCLGtCQUFrQixDQUFDLElBQUksQ0FDckIsS0FBSyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlELFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxrQkFBa0IsQ0FBQztBQUM1QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FFekI7SUFDRixlQUFlLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixFQUFFO1FBQzFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLFVBQVUsQ0FDUixZQUFZLEVBQ1osMEJBQTBCLENBQUMsNEJBQTRCLENBQUMsQ0FDekQ7UUFDRCxVQUFVLENBQ1Isc0JBQXNCLEVBQ3RCLDBCQUEwQixDQUFDLDRCQUE0QixDQUFDLENBQ3pEO0tBQ0YsQ0FBQztDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBBbmltYXRpb25RdWVyeU1ldGFkYXRhLFxuICBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEsXG4gIHF1ZXJ5LFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5pbXBvcnQge1xuICBBbmltYXRpb25EdXJhdGlvbixcbiAgQW5pbWF0aW9uRHVyYXRpb25NYXAsXG59IGZyb20gJy4uL2NvcmUvYW5pbWF0aW9uL2FuaW1hdGlvbi1jb25zdHMnO1xuXG5pbXBvcnQgeyBBTklNQVRJT05fRFVSQVRJT05fQ0xBU1NfTUFQIH0gZnJvbSAnLi9kaWFsb2ctY29uZmlnJztcblxuY29uc3QgZ2V0QW5pbWF0aW9uUXVlcnlNZXRhZGF0YXMgPSAoXG4gIGNvbmZpZzogUGFydGlhbDxSZWNvcmQ8QW5pbWF0aW9uRHVyYXRpb24sIHN0cmluZ1tdPj4sXG4pID0+IHtcbiAgY29uc3QgYW5pbWF0aW9uTWV0YWRhdGFzOiBBbmltYXRpb25RdWVyeU1ldGFkYXRhW10gPSBbXTtcbiAgKE9iamVjdC5rZXlzKGNvbmZpZykgYXMgQW5pbWF0aW9uRHVyYXRpb25bXSkuZm9yRWFjaChrZXkgPT4ge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBjb25maWdba2V5XTtcbiAgICBjbGFzc05hbWVzLmZvckVhY2goY2xhc3NOYW1lID0+IHtcbiAgICAgIGFuaW1hdGlvbk1ldGFkYXRhcy5wdXNoKFxuICAgICAgICBxdWVyeShjbGFzc05hbWUsIGFuaW1hdGUoQW5pbWF0aW9uRHVyYXRpb25NYXBba2V5XSwgc3R5bGUoe30pKSwge1xuICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gYW5pbWF0aW9uTWV0YWRhdGFzO1xufTtcblxuZXhwb3J0IGNvbnN0IGRpYWxvZ0FuaW1hdGlvbnM6IHtcbiAgcmVhZG9ubHkgZGlhbG9nQ29udGFpbmVyOiBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGE7XG59ID0ge1xuICBkaWFsb2dDb250YWluZXI6IHRyaWdnZXIoJ2RpYWxvZ0NvbnRhaW5lcicsIFtcbiAgICBzdGF0ZSgndm9pZCwgZXhpdCcsIHN0eWxlKHt9KSksXG4gICAgc3RhdGUoJ2VudGVyJywgc3R5bGUoe30pKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgJyogPT4gZW50ZXInLFxuICAgICAgZ2V0QW5pbWF0aW9uUXVlcnlNZXRhZGF0YXMoQU5JTUFUSU9OX0RVUkFUSU9OX0NMQVNTX01BUCksXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgJyogPT4gdm9pZCwgKiA9PiBleGl0JyxcbiAgICAgIGdldEFuaW1hdGlvblF1ZXJ5TWV0YWRhdGFzKEFOSU1BVElPTl9EVVJBVElPTl9DTEFTU19NQVApLFxuICAgICksXG4gIF0pLFxufTtcbiJdfQ==
|
|
@@ -1,9 +1,55 @@
|
|
|
1
1
|
import { DialogSize } from './dialog.types';
|
|
2
|
-
export class
|
|
2
|
+
export class BaseDialogConfig {
|
|
3
3
|
constructor() {
|
|
4
|
+
this.noAnimation = false;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class DialogConfig extends BaseDialogConfig {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
4
10
|
this.size = DialogSize.Big;
|
|
5
11
|
this.hasBackdrop = true;
|
|
6
12
|
this.fitViewport = false;
|
|
7
13
|
}
|
|
8
14
|
}
|
|
9
|
-
|
|
15
|
+
export const ZOOM_CLASS_NAME_MAP = {
|
|
16
|
+
enter: 'aui-zoom-enter',
|
|
17
|
+
enterActive: 'aui-zoom-enter-active',
|
|
18
|
+
leave: 'aui-zoom-leave',
|
|
19
|
+
leaveActive: 'aui-zoom-leave-active',
|
|
20
|
+
};
|
|
21
|
+
export const ZOOM_SLOW_CLASS_NAME_MAP = {
|
|
22
|
+
enter: 'aui-zoom-slow-enter',
|
|
23
|
+
enterActive: 'aui-zoom-slow-enter-active',
|
|
24
|
+
leave: 'aui-zoom-slow-leave',
|
|
25
|
+
leaveActive: 'aui-zoom-slow-leave-active',
|
|
26
|
+
};
|
|
27
|
+
export const FADE_CLASS_NAME_MAP = {
|
|
28
|
+
enter: 'aui-fade-enter',
|
|
29
|
+
enterActive: 'aui-fade-enter-active',
|
|
30
|
+
leave: 'aui-fade-leave',
|
|
31
|
+
leaveActive: 'aui-fade-leave-active',
|
|
32
|
+
};
|
|
33
|
+
export const FADE_SLOW_CLASS_NAME_MAP = {
|
|
34
|
+
enter: 'aui-fade-slow-enter',
|
|
35
|
+
enterActive: 'aui-fade-slow-enter-active',
|
|
36
|
+
leave: 'aui-fade-slow-leave',
|
|
37
|
+
leaveActive: 'aui-fade-slow-leave-active',
|
|
38
|
+
};
|
|
39
|
+
export const ANIMATION_DURATION_CLASS_MAP = {
|
|
40
|
+
base: [
|
|
41
|
+
'.aui-dialog--small',
|
|
42
|
+
'.aui-dialog--medium',
|
|
43
|
+
'.aui-dialog--fit-content',
|
|
44
|
+
],
|
|
45
|
+
slow: [
|
|
46
|
+
'.aui-dialog--big',
|
|
47
|
+
'.aui-dialog--large',
|
|
48
|
+
'.aui-dialog--fullscreen',
|
|
49
|
+
'.aui-dialog--fit-viewport',
|
|
50
|
+
],
|
|
51
|
+
};
|
|
52
|
+
export const DIALOG_OVERLAY_PANE_CLASS = 'aui-dialog-overlay-pane';
|
|
53
|
+
export const DIALOG_OVERLAY_PANE_FIT_VIEWPORT_CLASS = 'aui-dialog-overlay-pane--fit-viewport';
|
|
54
|
+
export const DIALOG_BACKDROP_CLASS = 'aui-dialog-backdrop';
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kaWFsb2cvZGlhbG9nLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsTUFBTSxPQUFPLGdCQUFnQjtJQUE3QjtRQUNFLGdCQUFXLEdBQUksS0FBSyxDQUFDO0lBQ3ZCLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxZQUFzQixTQUFRLGdCQUFnQjtJQUEzRDs7UUFJRSxTQUFJLEdBQWdCLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDbkMsZ0JBQVcsR0FBSSxJQUFJLENBQUM7UUFDcEIsZ0JBQVcsR0FBSSxLQUFLLENBQUM7SUFDdkIsQ0FBQztDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixXQUFXLEVBQUUsdUJBQXVCO0lBQ3BDLEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsV0FBVyxFQUFFLHVCQUF1QjtDQUNyQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsS0FBSyxFQUFFLHFCQUFxQjtJQUM1QixXQUFXLEVBQUUsNEJBQTRCO0lBQ3pDLEtBQUssRUFBRSxxQkFBcUI7SUFDNUIsV0FBVyxFQUFFLDRCQUE0QjtDQUMxQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixXQUFXLEVBQUUsdUJBQXVCO0lBQ3BDLEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsV0FBVyxFQUFFLHVCQUF1QjtDQUNyQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsS0FBSyxFQUFFLHFCQUFxQjtJQUM1QixXQUFXLEVBQUUsNEJBQTRCO0lBQ3pDLEtBQUssRUFBRSxxQkFBcUI7SUFDNUIsV0FBVyxFQUFFLDRCQUE0QjtDQUMxQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUc7SUFDMUMsSUFBSSxFQUFFO1FBQ0osb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQiwwQkFBMEI7S0FDM0I7SUFDRCxJQUFJLEVBQUU7UUFDSixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLHlCQUF5QjtRQUN6QiwyQkFBMkI7S0FDNUI7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcseUJBQXlCLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQ2pELHVDQUF1QyxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEaWFsb2dTaXplIH0gZnJvbSAnLi9kaWFsb2cudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQmFzZURpYWxvZ0NvbmZpZyB7XG4gIG5vQW5pbWF0aW9uPyA9IGZhbHNlO1xufVxuXG5leHBvcnQgY2xhc3MgRGlhbG9nQ29uZmlnPEQgPSBhbnk+IGV4dGVuZHMgQmFzZURpYWxvZ0NvbmZpZyB7XG4gIGlkPzogbnVtYmVyO1xuICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcbiAgZGF0YT86IEQ7XG4gIHNpemU/OiBEaWFsb2dTaXplID0gRGlhbG9nU2l6ZS5CaWc7XG4gIGhhc0JhY2tkcm9wPyA9IHRydWU7XG4gIGZpdFZpZXdwb3J0PyA9IGZhbHNlO1xufVxuXG5leHBvcnQgY29uc3QgWk9PTV9DTEFTU19OQU1FX01BUCA9IHtcbiAgZW50ZXI6ICdhdWktem9vbS1lbnRlcicsXG4gIGVudGVyQWN0aXZlOiAnYXVpLXpvb20tZW50ZXItYWN0aXZlJyxcbiAgbGVhdmU6ICdhdWktem9vbS1sZWF2ZScsXG4gIGxlYXZlQWN0aXZlOiAnYXVpLXpvb20tbGVhdmUtYWN0aXZlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBaT09NX1NMT1dfQ0xBU1NfTkFNRV9NQVAgPSB7XG4gIGVudGVyOiAnYXVpLXpvb20tc2xvdy1lbnRlcicsXG4gIGVudGVyQWN0aXZlOiAnYXVpLXpvb20tc2xvdy1lbnRlci1hY3RpdmUnLFxuICBsZWF2ZTogJ2F1aS16b29tLXNsb3ctbGVhdmUnLFxuICBsZWF2ZUFjdGl2ZTogJ2F1aS16b29tLXNsb3ctbGVhdmUtYWN0aXZlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBGQURFX0NMQVNTX05BTUVfTUFQID0ge1xuICBlbnRlcjogJ2F1aS1mYWRlLWVudGVyJyxcbiAgZW50ZXJBY3RpdmU6ICdhdWktZmFkZS1lbnRlci1hY3RpdmUnLFxuICBsZWF2ZTogJ2F1aS1mYWRlLWxlYXZlJyxcbiAgbGVhdmVBY3RpdmU6ICdhdWktZmFkZS1sZWF2ZS1hY3RpdmUnLFxufTtcblxuZXhwb3J0IGNvbnN0IEZBREVfU0xPV19DTEFTU19OQU1FX01BUCA9IHtcbiAgZW50ZXI6ICdhdWktZmFkZS1zbG93LWVudGVyJyxcbiAgZW50ZXJBY3RpdmU6ICdhdWktZmFkZS1zbG93LWVudGVyLWFjdGl2ZScsXG4gIGxlYXZlOiAnYXVpLWZhZGUtc2xvdy1sZWF2ZScsXG4gIGxlYXZlQWN0aXZlOiAnYXVpLWZhZGUtc2xvdy1sZWF2ZS1hY3RpdmUnLFxufTtcblxuZXhwb3J0IGNvbnN0IEFOSU1BVElPTl9EVVJBVElPTl9DTEFTU19NQVAgPSB7XG4gIGJhc2U6IFtcbiAgICAnLmF1aS1kaWFsb2ctLXNtYWxsJyxcbiAgICAnLmF1aS1kaWFsb2ctLW1lZGl1bScsXG4gICAgJy5hdWktZGlhbG9nLS1maXQtY29udGVudCcsXG4gIF0sXG4gIHNsb3c6IFtcbiAgICAnLmF1aS1kaWFsb2ctLWJpZycsXG4gICAgJy5hdWktZGlhbG9nLS1sYXJnZScsXG4gICAgJy5hdWktZGlhbG9nLS1mdWxsc2NyZWVuJyxcbiAgICAnLmF1aS1kaWFsb2ctLWZpdC12aWV3cG9ydCcsXG4gIF0sXG59O1xuXG5leHBvcnQgY29uc3QgRElBTE9HX09WRVJMQVlfUEFORV9DTEFTUyA9ICdhdWktZGlhbG9nLW92ZXJsYXktcGFuZSc7XG5leHBvcnQgY29uc3QgRElBTE9HX09WRVJMQVlfUEFORV9GSVRfVklFV1BPUlRfQ0xBU1MgPVxuICAnYXVpLWRpYWxvZy1vdmVybGF5LXBhbmUtLWZpdC12aWV3cG9ydCc7XG5leHBvcnQgY29uc3QgRElBTE9HX0JBQ0tEUk9QX0NMQVNTID0gJ2F1aS1kaWFsb2ctYmFja2Ryb3AnO1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CdkScrollable, } from '@angular/cdk/overlay';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
2
|
+
import { filter, Subject, take } from 'rxjs';
|
|
3
3
|
let uniqueId = 0;
|
|
4
4
|
export class DialogRef {
|
|
5
5
|
constructor(overlayRef, dialogInstance, scrollDispatcher, ngZone) {
|
|
@@ -14,10 +14,15 @@ export class DialogRef {
|
|
|
14
14
|
}
|
|
15
15
|
close(result = null) {
|
|
16
16
|
this.scrollable.ngOnDestroy();
|
|
17
|
-
this.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
this.dialogInstance.animationStateChanged
|
|
18
|
+
.pipe(filter(event => event.phaseName === 'done' && event.toState === 'exit'), take(1))
|
|
19
|
+
.subscribe(() => {
|
|
20
|
+
this.overlayRef.detachBackdrop();
|
|
21
|
+
this.overlayRef.dispose();
|
|
22
|
+
this.afterClosed$.next(result);
|
|
23
|
+
this.afterClosed$.complete();
|
|
24
|
+
});
|
|
25
|
+
this.dialogInstance.startExitAnimation();
|
|
21
26
|
}
|
|
22
27
|
afterOpen() {
|
|
23
28
|
return this.afterOpen$.asObservable();
|
|
@@ -40,4 +45,4 @@ export class DialogRef {
|
|
|
40
45
|
.positionStrategy;
|
|
41
46
|
}
|
|
42
47
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kaWFsb2cvZGlhbG9nLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsYUFBYSxHQUtkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXpELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQUVqQixNQUFNLE9BQU8sU0FBUztJQVNwQixZQUNtQixVQUFzQixFQUNoQyxjQUErQixFQUN0QyxnQkFBa0MsRUFDbEMsTUFBYztRQUhHLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBVC9CLE9BQUUsR0FBRyxjQUFjLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFFeEIsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDakMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBSyxDQUFDO1FBVS9DLGNBQWMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksYUFBYSxDQUNqQyxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQzVDLGdCQUFnQixFQUNoQixNQUFNLENBQ1AsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFZLElBQUk7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU5QixJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQjthQUN0QyxJQUFJLENBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsRUFDdkUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFO2FBQy9CLGdCQUEwQyxDQUFDO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENka1Njcm9sbGFibGUsXG4gIENvbXBvbmVudFR5cGUsXG4gIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3ksXG4gIE92ZXJsYXlSZWYsXG4gIFNjcm9sbERpc3BhdGNoZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLmNvbXBvbmVudCc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbmV4cG9ydCBjbGFzcyBEaWFsb2dSZWY8VCA9IENvbXBvbmVudFR5cGU8YW55PiwgUiA9IGFueT4ge1xuICBjb21wb25lbnRJbnN0YW5jZT86IFQ7XG4gIHJlYWRvbmx5IGlkID0gYGF1aS1kaWFsb2ctJHt1bmlxdWVJZCsrfWA7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhZnRlck9wZW4kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhZnRlckNsb3NlZCQgPSBuZXcgU3ViamVjdDxSPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsYWJsZTogQ2RrU2Nyb2xsYWJsZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgcHVibGljIGRpYWxvZ0luc3RhbmNlOiBEaWFsb2dDb21wb25lbnQsXG4gICAgc2Nyb2xsRGlzcGF0Y2hlcjogU2Nyb2xsRGlzcGF0Y2hlcixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgZGlhbG9nSW5zdGFuY2UuaWQgPSB0aGlzLmlkO1xuICAgIHRoaXMuc2Nyb2xsYWJsZSA9IG5ldyBDZGtTY3JvbGxhYmxlKFxuICAgICAgeyBuYXRpdmVFbGVtZW50OiBvdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50IH0sXG4gICAgICBzY3JvbGxEaXNwYXRjaGVyLFxuICAgICAgbmdab25lLFxuICAgICk7XG4gICAgdGhpcy5zY3JvbGxhYmxlLm5nT25Jbml0KCk7XG4gIH1cblxuICBjbG9zZShyZXN1bHQ6IFIgPSBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5zY3JvbGxhYmxlLm5nT25EZXN0cm95KCk7XG5cbiAgICB0aGlzLmRpYWxvZ0luc3RhbmNlLmFuaW1hdGlvblN0YXRlQ2hhbmdlZFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudC5waGFzZU5hbWUgPT09ICdkb25lJyAmJiBldmVudC50b1N0YXRlID09PSAnZXhpdCcpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2hCYWNrZHJvcCgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLmFmdGVyQ2xvc2VkJC5uZXh0KHJlc3VsdCk7XG4gICAgICAgIHRoaXMuYWZ0ZXJDbG9zZWQkLmNvbXBsZXRlKCk7XG4gICAgICB9KTtcbiAgICB0aGlzLmRpYWxvZ0luc3RhbmNlLnN0YXJ0RXhpdEFuaW1hdGlvbigpO1xuICB9XG5cbiAgYWZ0ZXJPcGVuKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFmdGVyT3BlbiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBhZnRlckNsb3NlZCgpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5hZnRlckNsb3NlZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICB1cGRhdGVQb3NpdGlvbigpOiB0aGlzIHtcbiAgICB0aGlzLmdldFBvc2l0aW9uU3RyYXRlZ3koKS50b3AoJzAnKS5sZWZ0KCcwJyk7XG4gICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICB1cGRhdGVTaXplKCk6IHRoaXMge1xuICAgIHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneSgpO1xuICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQb3NpdGlvblN0cmF0ZWd5KCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKClcbiAgICAgIC5wb3NpdGlvblN0cmF0ZWd5IGFzIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3k7XG4gIH1cbn1cbiJdfQ==
|