@dbg-riskit/angular-testing 9999.9999.9999-rc.12148 → 9999.9999.9999-rc.1582647
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/definitions/data.table.definition.mjs +556 -0
- package/esm2022/lib/definitions/download.menu.page.mjs +90 -0
- package/{esm2020 → esm2022}/lib/definitions/highlighter.directive.page.mjs +5 -5
- package/{esm2020 → esm2022}/lib/definitions/layout.component.page.mjs +6 -6
- package/esm2022/lib/definitions/login.page.mjs +51 -0
- package/esm2022/lib/definitions/message.def.mjs +15 -0
- package/{esm2020 → esm2022}/lib/definitions/message.page.mjs +6 -6
- package/esm2022/lib/definitions/page.base.mjs +64 -0
- package/esm2022/lib/events.mjs +60 -0
- package/{esm2020 → esm2022}/lib/stubs/auth/auth.routing.flow.service.stub.mjs +6 -6
- package/{esm2020 → esm2022}/lib/stubs/auth/auth.service.stub.mjs +5 -5
- package/{esm2020 → esm2022}/lib/stubs/auth/well.known.service.stub.mjs +4 -4
- package/esm2022/lib/stubs/http.service.stub.mjs +54 -0
- package/{esm2020 → esm2022}/lib/stubs/login.menu.stub.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/stubs/router/activated.route.stub.mjs +4 -4
- package/esm2022/lib/stubs/router/router.link.stub.mjs +46 -0
- package/esm2022/lib/stubs/router/router.module.stub.mjs +44 -0
- package/{esm2020 → esm2022}/lib/stubs/router/router.outlet.stub.component.mjs +4 -4
- package/esm2022/lib/stubs/router/router.stub.mjs +79 -0
- package/esm2022/lib/testing.module.mjs +50 -0
- package/esm2022/lib/utils.mjs +48 -0
- package/esm2022/public_api.mjs +48 -0
- package/{fesm2020 → fesm2022}/dbg-riskit-angular-testing.mjs +83 -110
- package/fesm2022/dbg-riskit-angular-testing.mjs.map +1 -0
- package/lib/definitions/data.table.definition.d.ts +1 -1
- package/lib/definitions/download.menu.page.d.ts +1 -1
- package/lib/definitions/highlighter.directive.page.d.ts +1 -1
- package/lib/definitions/layout.component.page.d.ts +1 -1
- package/lib/definitions/message.page.d.ts +1 -1
- package/lib/stubs/login.menu.stub.component.d.ts +1 -1
- package/lib/stubs/router/router.link.stub.d.ts +1 -1
- package/lib/stubs/router/router.module.stub.d.ts +1 -1
- package/lib/stubs/router/router.outlet.stub.component.d.ts +1 -1
- package/package.json +21 -27
- package/esm2020/lib/cached.resource.provider.mjs +0 -17
- package/esm2020/lib/definitions/data.table.definition.mjs +0 -556
- package/esm2020/lib/definitions/download.menu.page.mjs +0 -90
- package/esm2020/lib/definitions/login.page.mjs +0 -51
- package/esm2020/lib/definitions/message.def.mjs +0 -15
- package/esm2020/lib/definitions/page.base.mjs +0 -64
- package/esm2020/lib/events.mjs +0 -60
- package/esm2020/lib/stubs/http.service.stub.mjs +0 -54
- package/esm2020/lib/stubs/router/router.link.stub.mjs +0 -46
- package/esm2020/lib/stubs/router/router.module.stub.mjs +0 -45
- package/esm2020/lib/stubs/router/router.stub.mjs +0 -79
- package/esm2020/lib/testing.module.mjs +0 -52
- package/esm2020/lib/utils.mjs +0 -48
- package/esm2020/public_api.mjs +0 -60
- package/fesm2015/dbg-riskit-angular-testing.mjs +0 -1568
- package/fesm2015/dbg-riskit-angular-testing.mjs.map +0 -1
- package/fesm2020/dbg-riskit-angular-testing.mjs.map +0 -1
- package/lib/cached.resource.provider.d.ts +0 -5
- /package/{esm2020 → esm2022}/dbg-riskit-angular-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/by.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/definitions/link.definition.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/definitions/link.only.page.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/definitions/login.menu.page.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/environment.mjs +0 -0
- /package/{dbg-riskit-angular-testing.d.ts → index.d.ts} +0 -0
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { MatMenuItem, MatMenuTrigger } from '@angular/material/menu';
|
|
3
|
-
import { By } from '@angular/platform-browser';
|
|
4
|
-
import { CSVFileDownloadDirective, FileDownloadDirective } from '@dbg-riskit/angular-file';
|
|
5
|
-
import * as fileSaver from 'file-saver';
|
|
6
|
-
import { click } from '../events';
|
|
7
|
-
import { Page } from './page.base';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@dbg-riskit/angular-file";
|
|
10
|
-
export class CSVDownloadMenuPage extends Page {
|
|
11
|
-
constructor(fixture) {
|
|
12
|
-
super(fixture);
|
|
13
|
-
}
|
|
14
|
-
get downloadWindowsLink() {
|
|
15
|
-
// Open the menu first
|
|
16
|
-
click(this.debugElement.query(By.directive(MatMenuTrigger)));
|
|
17
|
-
this.detectChanges(500);
|
|
18
|
-
return new DownloadLink(this.debugElement.queryAll(By.directive(MatMenuItem))[0], this);
|
|
19
|
-
}
|
|
20
|
-
get downloadUnixLink() {
|
|
21
|
-
// Open the menu first
|
|
22
|
-
click(this.debugElement.query(By.directive(MatMenuTrigger)));
|
|
23
|
-
this.detectChanges(500);
|
|
24
|
-
return new DownloadLink(this.debugElement.queryAll(By.directive(MatMenuItem))[1], this);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export class DownloadLink {
|
|
28
|
-
constructor(element, page) {
|
|
29
|
-
this.element = element;
|
|
30
|
-
this.page = page;
|
|
31
|
-
}
|
|
32
|
-
click() {
|
|
33
|
-
this.setupBlobConstructorSpy();
|
|
34
|
-
this.setupSaveBlobSpy();
|
|
35
|
-
click(this.element);
|
|
36
|
-
this.page.detectChanges();
|
|
37
|
-
}
|
|
38
|
-
get blobSpy() {
|
|
39
|
-
this.setupBlobConstructorSpy();
|
|
40
|
-
return this._blobSpy;
|
|
41
|
-
}
|
|
42
|
-
setupBlobConstructorSpy() {
|
|
43
|
-
if (!this._blobSpy) {
|
|
44
|
-
let downloadDirective;
|
|
45
|
-
try {
|
|
46
|
-
downloadDirective = this.element.injector.get(CSVFileDownloadDirective);
|
|
47
|
-
}
|
|
48
|
-
catch (_) {
|
|
49
|
-
downloadDirective = this.element.injector.get(FileDownloadDirective);
|
|
50
|
-
}
|
|
51
|
-
this._blobSpy = spyOn(downloadDirective, 'createBlob').and.callThrough();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
get saveSpy() {
|
|
55
|
-
this.setupSaveBlobSpy();
|
|
56
|
-
return this._saveBlobSpy;
|
|
57
|
-
}
|
|
58
|
-
setupSaveBlobSpy() {
|
|
59
|
-
if (!this._saveBlobSpy) {
|
|
60
|
-
this._saveBlobSpy = spyOn(fileSaver, 'saveAs');
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
export class DownloadTestComponent {
|
|
65
|
-
}
|
|
66
|
-
DownloadTestComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DownloadTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
DownloadTestComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: DownloadTestComponent, selector: "ng-component", ngImport: i0, template: `
|
|
68
|
-
<a [risk-download]="data"
|
|
69
|
-
[risk-download-content-type]="contentType"
|
|
70
|
-
[risk-download-filename]="filename">Download</a>
|
|
71
|
-
`, isInline: true, directives: [{ type: i1.FileDownloadDirective, selector: "[risk-download]", inputs: ["risk-download", "risk-download-content-type", "risk-download-filename"] }] });
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DownloadTestComponent, decorators: [{
|
|
73
|
-
type: Component,
|
|
74
|
-
args: [{
|
|
75
|
-
template: `
|
|
76
|
-
<a [risk-download]="data"
|
|
77
|
-
[risk-download-content-type]="contentType"
|
|
78
|
-
[risk-download-filename]="filename">Download</a>
|
|
79
|
-
`
|
|
80
|
-
}]
|
|
81
|
-
}] });
|
|
82
|
-
export class DownloadTestComponentPage extends Page {
|
|
83
|
-
constructor(fixture) {
|
|
84
|
-
super(fixture);
|
|
85
|
-
}
|
|
86
|
-
get downloadLink() {
|
|
87
|
-
return new DownloadLink(this.debugElement.query(By.directive(FileDownloadDirective)), this);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQubWVudS5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGtnL2RiZy1yaXNraXQvYW5ndWxhci10ZXN0aW5nL3NyYy9saWIvZGVmaW5pdGlvbnMvZG93bmxvYWQubWVudS5wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRSxPQUFPLEVBQUMsRUFBRSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDN0MsT0FBTyxFQUdILHdCQUF3QixFQUN4QixxQkFBcUIsRUFDeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEtBQUssU0FBUyxNQUFNLFlBQVksQ0FBQztBQUV4QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxhQUFhLENBQUM7OztBQUdqQyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsSUFBOEI7SUFFbkUsWUFBbUIsT0FBbUQ7UUFDbEUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUMxQixzQkFBc0I7UUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEIsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3ZCLHNCQUFzQjtRQUN0QixLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4QixPQUFPLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQUlyQixZQUEwQixPQUFxQixFQUFVLElBQW1DO1FBQWxFLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUErQjtJQUM1RixDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsUUFBUyxDQUFDO0lBQzFCLENBQUM7SUFFTyx1QkFBdUI7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxpQkFBeUQsQ0FBQztZQUM5RCxJQUFJO2dCQUNBLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2FBQzNFO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7YUFDeEU7WUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUU7SUFDTCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUMsWUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0wsQ0FBQztDQUNKO0FBU0QsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjtzR0FBckIscUJBQXFCLG9EQU5wQjs7OztLQUlUOzJGQUVRLHFCQUFxQjtrQkFQakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUU7Ozs7S0FJVDtpQkFDSjs7QUFTRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsSUFBMkI7SUFFdEUsWUFBbUIsT0FBZ0Q7UUFDL0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRGVidWdFbGVtZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50Rml4dHVyZX0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7TWF0TWVudUl0ZW0sIE1hdE1lbnVUcmlnZ2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7Qnl9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdEZpbGVEb3dubG9hZERpcmVjdGl2ZSxcbiAgICBDU1ZEb3dubG9hZE1lbnVDb21wb25lbnQsXG4gICAgQ1NWRmlsZURvd25sb2FkRGlyZWN0aXZlLFxuICAgIEZpbGVEb3dubG9hZERpcmVjdGl2ZVxufSBmcm9tICdAZGJnLXJpc2tpdC9hbmd1bGFyLWZpbGUnO1xuaW1wb3J0ICogYXMgZmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2xpY2t9IGZyb20gJy4uL2V2ZW50cyc7XG5pbXBvcnQge1BhZ2V9IGZyb20gJy4vcGFnZS5iYXNlJztcbmltcG9ydCBTcHkgPSBqYXNtaW5lLlNweTtcblxuZXhwb3J0IGNsYXNzIENTVkRvd25sb2FkTWVudVBhZ2UgZXh0ZW5kcyBQYWdlPENTVkRvd25sb2FkTWVudUNvbXBvbmVudD4ge1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8Q1NWRG93bmxvYWRNZW51Q29tcG9uZW50Pikge1xuICAgICAgICBzdXBlcihmaXh0dXJlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRvd25sb2FkV2luZG93c0xpbmsoKTogRG93bmxvYWRMaW5rIHtcbiAgICAgICAgLy8gT3BlbiB0aGUgbWVudSBmaXJzdFxuICAgICAgICBjbGljayh0aGlzLmRlYnVnRWxlbWVudC5xdWVyeShCeS5kaXJlY3RpdmUoTWF0TWVudVRyaWdnZXIpKSk7XG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcyg1MDApO1xuXG4gICAgICAgIHJldHVybiBuZXcgRG93bmxvYWRMaW5rKHRoaXMuZGVidWdFbGVtZW50LnF1ZXJ5QWxsKEJ5LmRpcmVjdGl2ZShNYXRNZW51SXRlbSkpWzBdLCB0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRvd25sb2FkVW5peExpbmsoKTogRG93bmxvYWRMaW5rIHtcbiAgICAgICAgLy8gT3BlbiB0aGUgbWVudSBmaXJzdFxuICAgICAgICBjbGljayh0aGlzLmRlYnVnRWxlbWVudC5xdWVyeShCeS5kaXJlY3RpdmUoTWF0TWVudVRyaWdnZXIpKSk7XG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcyg1MDApO1xuXG4gICAgICAgIHJldHVybiBuZXcgRG93bmxvYWRMaW5rKHRoaXMuZGVidWdFbGVtZW50LnF1ZXJ5QWxsKEJ5LmRpcmVjdGl2ZShNYXRNZW51SXRlbSkpWzFdLCB0aGlzKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEb3dubG9hZExpbmsge1xuICAgIHByaXZhdGUgX2Jsb2JTcHk/OiBqYXNtaW5lLlNweTtcbiAgICBwcml2YXRlIF9zYXZlQmxvYlNweT86IGphc21pbmUuU3B5O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50OiBEZWJ1Z0VsZW1lbnQsIHByaXZhdGUgcGFnZTogeyBkZXRlY3RDaGFuZ2VzOiAoKSA9PiB2b2lkIH0pIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0dXBCbG9iQ29uc3RydWN0b3JTcHkoKTtcbiAgICAgICAgdGhpcy5zZXR1cFNhdmVCbG9iU3B5KCk7XG4gICAgICAgIGNsaWNrKHRoaXMuZWxlbWVudCk7XG4gICAgICAgIHRoaXMucGFnZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBibG9iU3B5KCk6IFNweSB7XG4gICAgICAgIHRoaXMuc2V0dXBCbG9iQ29uc3RydWN0b3JTcHkoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Jsb2JTcHkhO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBCbG9iQ29uc3RydWN0b3JTcHkoKSB7XG4gICAgICAgIGlmICghdGhpcy5fYmxvYlNweSkge1xuICAgICAgICAgICAgbGV0IGRvd25sb2FkRGlyZWN0aXZlOiBBYnN0cmFjdEZpbGVEb3dubG9hZERpcmVjdGl2ZTx1bmtub3duPjtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgZG93bmxvYWREaXJlY3RpdmUgPSB0aGlzLmVsZW1lbnQuaW5qZWN0b3IuZ2V0KENTVkZpbGVEb3dubG9hZERpcmVjdGl2ZSk7XG4gICAgICAgICAgICB9IGNhdGNoIChfKSB7XG4gICAgICAgICAgICAgICAgZG93bmxvYWREaXJlY3RpdmUgPSB0aGlzLmVsZW1lbnQuaW5qZWN0b3IuZ2V0KEZpbGVEb3dubG9hZERpcmVjdGl2ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9ibG9iU3B5ID0gc3B5T24oZG93bmxvYWREaXJlY3RpdmUsICdjcmVhdGVCbG9iJykuYW5kLmNhbGxUaHJvdWdoKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNhdmVTcHkoKTogU3B5IHtcbiAgICAgICAgdGhpcy5zZXR1cFNhdmVCbG9iU3B5KCk7XG4gICAgICAgIHJldHVybiB0aGlzLl9zYXZlQmxvYlNweSE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cFNhdmVCbG9iU3B5KCkge1xuICAgICAgICBpZiAoIXRoaXMuX3NhdmVCbG9iU3B5KSB7XG4gICAgICAgICAgICB0aGlzLl9zYXZlQmxvYlNweSA9IHNweU9uKGZpbGVTYXZlciwgJ3NhdmVBcycpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8YSBbcmlzay1kb3dubG9hZF09XCJkYXRhXCJcbiAgICAgICAgICAgW3Jpc2stZG93bmxvYWQtY29udGVudC10eXBlXT1cImNvbnRlbnRUeXBlXCJcbiAgICAgICAgICAgW3Jpc2stZG93bmxvYWQtZmlsZW5hbWVdPVwiZmlsZW5hbWVcIj5Eb3dubG9hZDwvYT5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIERvd25sb2FkVGVzdENvbXBvbmVudCB7XG4gICAgcHVibGljIGRhdGE6IGFueSB8IE9ic2VydmFibGU8YW55PjtcblxuICAgIHB1YmxpYyBjb250ZW50VHlwZT86IHN0cmluZztcblxuICAgIHB1YmxpYyBmaWxlbmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIERvd25sb2FkVGVzdENvbXBvbmVudFBhZ2UgZXh0ZW5kcyBQYWdlPERvd25sb2FkVGVzdENvbXBvbmVudD4ge1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8RG93bmxvYWRUZXN0Q29tcG9uZW50Pikge1xuICAgICAgICBzdXBlcihmaXh0dXJlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRvd25sb2FkTGluaygpOiBEb3dubG9hZExpbmsge1xuICAgICAgICByZXR1cm4gbmV3IERvd25sb2FkTGluayh0aGlzLmRlYnVnRWxlbWVudC5xdWVyeShCeS5kaXJlY3RpdmUoRmlsZURvd25sb2FkRGlyZWN0aXZlKSksIHRoaXMpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { tick } from '@angular/core/testing';
|
|
2
|
-
import { MatButton } from '@angular/material/button';
|
|
3
|
-
import { By } from '@angular/platform-browser';
|
|
4
|
-
import { NoopAnimationMessageComponent, RISK_ERROR_SELECTOR, RISK_GOOD_SELECTOR } from '@dbg-riskit/angular-view';
|
|
5
|
-
import { ByUtil } from '../by.util';
|
|
6
|
-
import { click, setNgModelValue } from '../events';
|
|
7
|
-
import { MessageComponentDef } from './message.def';
|
|
8
|
-
import { Page } from './page.base';
|
|
9
|
-
export class LoginPage extends Page {
|
|
10
|
-
constructor(fixture) {
|
|
11
|
-
super(fixture);
|
|
12
|
-
}
|
|
13
|
-
get formElement() {
|
|
14
|
-
return this.debugElement.query(By.css('form'));
|
|
15
|
-
}
|
|
16
|
-
get usernameElement() {
|
|
17
|
-
return this.formElement.query(By.css('input[name=username]'));
|
|
18
|
-
}
|
|
19
|
-
set username(username) {
|
|
20
|
-
setNgModelValue(this.usernameElement, username);
|
|
21
|
-
}
|
|
22
|
-
get passwordElement() {
|
|
23
|
-
return this.formElement.query(By.css('input[name=password]'));
|
|
24
|
-
}
|
|
25
|
-
set password(password) {
|
|
26
|
-
setNgModelValue(this.passwordElement, password);
|
|
27
|
-
}
|
|
28
|
-
get loginButtonElement() {
|
|
29
|
-
return this.formElement.query(By.directive(MatButton));
|
|
30
|
-
}
|
|
31
|
-
get successMessage() {
|
|
32
|
-
const debugElement = this.debugElement.query(ByUtil.and(By.directive(NoopAnimationMessageComponent), By.css(RISK_GOOD_SELECTOR)));
|
|
33
|
-
if (!debugElement) {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
return new MessageComponentDef(debugElement);
|
|
37
|
-
}
|
|
38
|
-
get errorMessage() {
|
|
39
|
-
const debugElement = this.debugElement.query(ByUtil.or(ByUtil.and(By.directive(NoopAnimationMessageComponent), By.css(RISK_ERROR_SELECTOR)), By.css('h3')));
|
|
40
|
-
if (!debugElement) {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
return new MessageComponentDef(debugElement);
|
|
44
|
-
}
|
|
45
|
-
clickLogin() {
|
|
46
|
-
click(this.loginButtonElement.nativeElement);
|
|
47
|
-
tick();
|
|
48
|
-
this.detectChanges();
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4ucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BrZy9kYmctcmlza2l0L2FuZ3VsYXItdGVzdGluZy9zcmMvbGliL2RlZmluaXRpb25zL2xvZ2luLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFtQixJQUFJLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbkQsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTdDLE9BQU8sRUFBQyw2QkFBNkIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hILE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDbEMsT0FBTyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDakQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFakMsTUFBTSxPQUFPLFNBQVUsU0FBUSxJQUFvQjtJQUUvQyxZQUFtQixPQUF5QztRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLFFBQWdCO1FBQ2hDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBVyxRQUFRLENBQUMsUUFBZ0I7UUFDaEMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDckIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQ3hDLE1BQU0sQ0FBQyxHQUFHLENBQ04sRUFBRSxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxFQUMzQyxFQUFFLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxJQUFJLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDbkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQ3hDLE1BQU0sQ0FBQyxFQUFFLENBQ0wsTUFBTSxDQUFDLEdBQUcsQ0FDTixFQUFFLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLEVBQzNDLEVBQUUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxFQUNoQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sVUFBVTtRQUNiLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0MsSUFBSSxFQUFFLENBQUM7UUFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEZWJ1Z0VsZW1lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnRGaXh0dXJlLCB0aWNrfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHtNYXRCdXR0b259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge0J5fSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7TG9naW5Db21wb25lbnR9IGZyb20gJ0BkYmctcmlza2l0L2FuZ3VsYXItbG9naW4nO1xuaW1wb3J0IHtOb29wQW5pbWF0aW9uTWVzc2FnZUNvbXBvbmVudCwgUklTS19FUlJPUl9TRUxFQ1RPUiwgUklTS19HT09EX1NFTEVDVE9SfSBmcm9tICdAZGJnLXJpc2tpdC9hbmd1bGFyLXZpZXcnO1xuaW1wb3J0IHtCeVV0aWx9IGZyb20gJy4uL2J5LnV0aWwnO1xuaW1wb3J0IHtjbGljaywgc2V0TmdNb2RlbFZhbHVlfSBmcm9tICcuLi9ldmVudHMnO1xuaW1wb3J0IHtNZXNzYWdlQ29tcG9uZW50RGVmfSBmcm9tICcuL21lc3NhZ2UuZGVmJztcbmltcG9ydCB7UGFnZX0gZnJvbSAnLi9wYWdlLmJhc2UnO1xuXG5leHBvcnQgY2xhc3MgTG9naW5QYWdlIGV4dGVuZHMgUGFnZTxMb2dpbkNvbXBvbmVudD4ge1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8TG9naW5Db21wb25lbnQ+KSB7XG4gICAgICAgIHN1cGVyKGZpeHR1cmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9ybUVsZW1lbnQoKTogRGVidWdFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVidWdFbGVtZW50LnF1ZXJ5KEJ5LmNzcygnZm9ybScpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHVzZXJuYW1lRWxlbWVudCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtRWxlbWVudC5xdWVyeShCeS5jc3MoJ2lucHV0W25hbWU9dXNlcm5hbWVdJykpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdXNlcm5hbWUodXNlcm5hbWU6IHN0cmluZykge1xuICAgICAgICBzZXROZ01vZGVsVmFsdWUodGhpcy51c2VybmFtZUVsZW1lbnQsIHVzZXJuYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBhc3N3b3JkRWxlbWVudCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtRWxlbWVudC5xdWVyeShCeS5jc3MoJ2lucHV0W25hbWU9cGFzc3dvcmRdJykpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcGFzc3dvcmQocGFzc3dvcmQ6IHN0cmluZykge1xuICAgICAgICBzZXROZ01vZGVsVmFsdWUodGhpcy5wYXNzd29yZEVsZW1lbnQsIHBhc3N3b3JkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxvZ2luQnV0dG9uRWxlbWVudCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtRWxlbWVudC5xdWVyeShCeS5kaXJlY3RpdmUoTWF0QnV0dG9uKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzdWNjZXNzTWVzc2FnZSgpOiBNZXNzYWdlQ29tcG9uZW50RGVmIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGRlYnVnRWxlbWVudCA9IHRoaXMuZGVidWdFbGVtZW50LnF1ZXJ5KFxuICAgICAgICAgICAgQnlVdGlsLmFuZChcbiAgICAgICAgICAgICAgICBCeS5kaXJlY3RpdmUoTm9vcEFuaW1hdGlvbk1lc3NhZ2VDb21wb25lbnQpLFxuICAgICAgICAgICAgICAgIEJ5LmNzcyhSSVNLX0dPT0RfU0VMRUNUT1IpKSk7XG4gICAgICAgIGlmICghZGVidWdFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IE1lc3NhZ2VDb21wb25lbnREZWYoZGVidWdFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVycm9yTWVzc2FnZSgpOiBNZXNzYWdlQ29tcG9uZW50RGVmIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGRlYnVnRWxlbWVudCA9IHRoaXMuZGVidWdFbGVtZW50LnF1ZXJ5KFxuICAgICAgICAgICAgQnlVdGlsLm9yKFxuICAgICAgICAgICAgICAgIEJ5VXRpbC5hbmQoXG4gICAgICAgICAgICAgICAgICAgIEJ5LmRpcmVjdGl2ZShOb29wQW5pbWF0aW9uTWVzc2FnZUNvbXBvbmVudCksXG4gICAgICAgICAgICAgICAgICAgIEJ5LmNzcyhSSVNLX0VSUk9SX1NFTEVDVE9SKSksXG4gICAgICAgICAgICAgICAgQnkuY3NzKCdoMycpKSk7XG4gICAgICAgIGlmICghZGVidWdFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IE1lc3NhZ2VDb21wb25lbnREZWYoZGVidWdFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xpY2tMb2dpbigpIHtcbiAgICAgICAgY2xpY2sodGhpcy5sb2dpbkJ1dHRvbkVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRpY2soKTtcbiAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { MatCard } from '@angular/material/card';
|
|
2
|
-
import { By } from '@angular/platform-browser';
|
|
3
|
-
export class MessageComponentDef {
|
|
4
|
-
constructor(debugElement) {
|
|
5
|
-
this.debugElement = debugElement;
|
|
6
|
-
if (debugElement == null) {
|
|
7
|
-
throw new Error('Debug element not found!');
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
get text() {
|
|
11
|
-
return this.debugElement.query(By.directive(MatCard)).nativeElement.textContent.replace(/\n\s*/g, ' ')
|
|
12
|
-
.replace(/\r\s*/g, ' ').trim();
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5kZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wa2cvZGJnLXJpc2tpdC9hbmd1bGFyLXRlc3Rpbmcvc3JjL2xpYi9kZWZpbml0aW9ucy9tZXNzYWdlLmRlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTdDLE1BQU0sT0FBTyxtQkFBbUI7SUFFNUIsWUFBMEIsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDaEQsSUFBSSxZQUFZLElBQUksSUFBSSxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDO2FBQ2pHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEZWJ1Z0VsZW1lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRDYXJkfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7Qnl9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5leHBvcnQgY2xhc3MgTWVzc2FnZUNvbXBvbmVudERlZiB7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGRlYnVnRWxlbWVudDogRGVidWdFbGVtZW50KSB7XG4gICAgICAgIGlmIChkZWJ1Z0VsZW1lbnQgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEZWJ1ZyBlbGVtZW50IG5vdCBmb3VuZCEnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWJ1Z0VsZW1lbnQucXVlcnkoQnkuZGlyZWN0aXZlKE1hdENhcmQpKS5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50LnJlcGxhY2UoL1xcblxccyovZywgJyAnKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcclxccyovZywgJyAnKS50cmltKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { discardPeriodicTasks, tick } from '@angular/core/testing';
|
|
2
|
-
import { By } from '@angular/platform-browser';
|
|
3
|
-
import { RISK_INITIAL_LOAD_SELECTOR, RISK_NO_DATA_SELECTOR } from '@dbg-riskit/angular-view';
|
|
4
|
-
import { FAKE_HTTP_ASYNC_TIMEOUT } from '../stubs/http.service.stub';
|
|
5
|
-
import { MessageComponentDef } from './message.def';
|
|
6
|
-
export class Page {
|
|
7
|
-
constructor(fixture) {
|
|
8
|
-
this.fixture = fixture;
|
|
9
|
-
this._timeOffset = 0;
|
|
10
|
-
this.debugElement = fixture.debugElement;
|
|
11
|
-
this.component = this.debugElement.componentInstance;
|
|
12
|
-
}
|
|
13
|
-
detectChanges(millis = 0) {
|
|
14
|
-
this.fixture.detectChanges();
|
|
15
|
-
tick(millis);
|
|
16
|
-
this._timeOffset += millis;
|
|
17
|
-
}
|
|
18
|
-
advanceAndDetectChanges(millis = 0) {
|
|
19
|
-
tick(millis);
|
|
20
|
-
this._timeOffset += millis;
|
|
21
|
-
this.detectChanges();
|
|
22
|
-
}
|
|
23
|
-
advanceHTTP() {
|
|
24
|
-
this.advanceAndDetectChanges(FAKE_HTTP_ASYNC_TIMEOUT);
|
|
25
|
-
}
|
|
26
|
-
advanceAndDetectChangesUsingOffset(millis) {
|
|
27
|
-
this.advanceAndDetectChanges(millis - this._timeOffset);
|
|
28
|
-
this.resetTimeOffset();
|
|
29
|
-
}
|
|
30
|
-
resetTimeOffset() {
|
|
31
|
-
this._timeOffset = 0;
|
|
32
|
-
}
|
|
33
|
-
destroy() {
|
|
34
|
-
this.fixture.destroy();
|
|
35
|
-
try {
|
|
36
|
-
// Move a lot into fututre ;)
|
|
37
|
-
tick(60 * 60 * 1000);
|
|
38
|
-
discardPeriodicTasks();
|
|
39
|
-
}
|
|
40
|
-
catch (ignore) {
|
|
41
|
-
// Nothing to do...
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
export class PageWithLoading extends Page {
|
|
46
|
-
constructor(fixture) {
|
|
47
|
-
super(fixture);
|
|
48
|
-
}
|
|
49
|
-
get initialLoadComponent() {
|
|
50
|
-
const element = this.debugElement.query(By.css(RISK_INITIAL_LOAD_SELECTOR));
|
|
51
|
-
if (element) {
|
|
52
|
-
return new MessageComponentDef(element);
|
|
53
|
-
}
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
get noDataComponent() {
|
|
57
|
-
const element = this.debugElement.query(By.css(RISK_NO_DATA_SELECTOR));
|
|
58
|
-
if (element) {
|
|
59
|
-
return new MessageComponentDef(element);
|
|
60
|
-
}
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGtnL2RiZy1yaXNraXQvYW5ndWxhci10ZXN0aW5nL3NyYy9saWIvZGVmaW5pdGlvbnMvcGFnZS5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBbUIsb0JBQW9CLEVBQUUsSUFBSSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkYsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdDLE9BQU8sRUFBQywwQkFBMEIsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzNGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVsRCxNQUFNLE9BQU8sSUFBSTtJQU1iLFlBQTZCLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBRmpELGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBR3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7SUFDekQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsdUJBQXVCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sa0NBQWtDLENBQUMsTUFBYztRQUNwRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLElBQUk7WUFDQSw2QkFBNkI7WUFDN0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDckIsb0JBQW9CLEVBQUUsQ0FBQztTQUMxQjtRQUFDLE9BQU8sTUFBTSxFQUFFO1lBQ2IsbUJBQW1CO1NBQ3RCO0lBQ0wsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGVBQW1CLFNBQVEsSUFBTztJQUUzQyxZQUFtQixPQUE0QjtRQUMzQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVcsb0JBQW9CO1FBQzNCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO1FBQzVFLElBQUksT0FBTyxFQUFFO1lBQ1QsT0FBTyxJQUFJLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztRQUN2RSxJQUFJLE9BQU8sRUFBRTtZQUNULE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVidWdFbGVtZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50Rml4dHVyZSwgZGlzY2FyZFBlcmlvZGljVGFza3MsIHRpY2t9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQge0J5fSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7UklTS19JTklUSUFMX0xPQURfU0VMRUNUT1IsIFJJU0tfTk9fREFUQV9TRUxFQ1RPUn0gZnJvbSAnQGRiZy1yaXNraXQvYW5ndWxhci12aWV3JztcbmltcG9ydCB7RkFLRV9IVFRQX0FTWU5DX1RJTUVPVVR9IGZyb20gJy4uL3N0dWJzL2h0dHAuc2VydmljZS5zdHViJztcbmltcG9ydCB7TWVzc2FnZUNvbXBvbmVudERlZn0gZnJvbSAnLi9tZXNzYWdlLmRlZic7XG5cbmV4cG9ydCBjbGFzcyBQYWdlPFQ+IHtcblxuICAgIHB1YmxpYyBkZWJ1Z0VsZW1lbnQ6IERlYnVnRWxlbWVudDtcbiAgICBwdWJsaWMgY29tcG9uZW50OiBUO1xuICAgIHByaXZhdGUgX3RpbWVPZmZzZXQgPSAwO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPFQ+KSB7XG4gICAgICAgIHRoaXMuZGVidWdFbGVtZW50ID0gZml4dHVyZS5kZWJ1Z0VsZW1lbnQ7XG4gICAgICAgIHRoaXMuY29tcG9uZW50ID0gdGhpcy5kZWJ1Z0VsZW1lbnQuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHVibGljIGRldGVjdENoYW5nZXMobWlsbGlzID0gMCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aWNrKG1pbGxpcyk7XG4gICAgICAgIHRoaXMuX3RpbWVPZmZzZXQgKz0gbWlsbGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZHZhbmNlQW5kRGV0ZWN0Q2hhbmdlcyhtaWxsaXMgPSAwKTogdm9pZCB7XG4gICAgICAgIHRpY2sobWlsbGlzKTtcbiAgICAgICAgdGhpcy5fdGltZU9mZnNldCArPSBtaWxsaXM7XG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZHZhbmNlSFRUUCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZHZhbmNlQW5kRGV0ZWN0Q2hhbmdlcyhGQUtFX0hUVFBfQVNZTkNfVElNRU9VVCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkdmFuY2VBbmREZXRlY3RDaGFuZ2VzVXNpbmdPZmZzZXQobWlsbGlzOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZHZhbmNlQW5kRGV0ZWN0Q2hhbmdlcyhtaWxsaXMgLSB0aGlzLl90aW1lT2Zmc2V0KTtcbiAgICAgICAgdGhpcy5yZXNldFRpbWVPZmZzZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRUaW1lT2Zmc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90aW1lT2Zmc2V0ID0gMDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5maXh0dXJlLmRlc3Ryb3koKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIE1vdmUgYSBsb3QgaW50byBmdXR1dHJlIDspXG4gICAgICAgICAgICB0aWNrKDYwICogNjAgKiAxMDAwKTtcbiAgICAgICAgICAgIGRpc2NhcmRQZXJpb2RpY1Rhc2tzKCk7XG4gICAgICAgIH0gY2F0Y2ggKGlnbm9yZSkge1xuICAgICAgICAgICAgLy8gTm90aGluZyB0byBkby4uLlxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGFnZVdpdGhMb2FkaW5nPFQ+IGV4dGVuZHMgUGFnZTxUPiB7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxUPikge1xuICAgICAgICBzdXBlcihmaXh0dXJlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGluaXRpYWxMb2FkQ29tcG9uZW50KCk6IE1lc3NhZ2VDb21wb25lbnREZWYgfCBudWxsIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZGVidWdFbGVtZW50LnF1ZXJ5KEJ5LmNzcyhSSVNLX0lOSVRJQUxfTE9BRF9TRUxFQ1RPUikpO1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBNZXNzYWdlQ29tcG9uZW50RGVmKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbm9EYXRhQ29tcG9uZW50KCk6IE1lc3NhZ2VDb21wb25lbnREZWYgfCBudWxsIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZGVidWdFbGVtZW50LnF1ZXJ5KEJ5LmNzcyhSSVNLX05PX0RBVEFfU0VMRUNUT1IpKTtcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTWVzc2FnZUNvbXBvbmVudERlZihlbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iXX0=
|
package/esm2020/lib/events.mjs
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { tick } from '@angular/core/testing';
|
|
2
|
-
/** Button events to pass to `DebugElement.triggerEventHandler` for RouterLink event handler */
|
|
3
|
-
export const BUTTON_CLICK_EVENTS = {
|
|
4
|
-
left: { button: 0 },
|
|
5
|
-
right: { button: 2 }
|
|
6
|
-
};
|
|
7
|
-
/** Simulate element click. Defaults to mouse left-button click event. */
|
|
8
|
-
export function click(el, eventObj = BUTTON_CLICK_EVENTS.left) {
|
|
9
|
-
if (el instanceof HTMLElement) {
|
|
10
|
-
el.click();
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
el.triggerEventHandler('click', eventObj);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
export function setNgModelValue(element, value, realAsync = false) {
|
|
17
|
-
if (!(element.nativeElement instanceof HTMLInputElement)) {
|
|
18
|
-
throw new Error('Not an instance of HTMLInputElement');
|
|
19
|
-
}
|
|
20
|
-
const input = element.nativeElement;
|
|
21
|
-
input.value = value;
|
|
22
|
-
dispatchEvent(input, 'input'); // tell Angular
|
|
23
|
-
if (!realAsync) {
|
|
24
|
-
tick();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export function setNgModelSelectValue(element, selectedIndex, realAsync = false) {
|
|
28
|
-
if (!(element.nativeElement instanceof HTMLSelectElement)) {
|
|
29
|
-
throw new Error('Not an instance of HTMLInputElement');
|
|
30
|
-
}
|
|
31
|
-
const input = element.nativeElement;
|
|
32
|
-
input.selectedIndex = selectedIndex;
|
|
33
|
-
dispatchEvent(input, 'change'); // tell Angular
|
|
34
|
-
if (!realAsync) {
|
|
35
|
-
tick();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
export function dispatchEvent(element, eventName) {
|
|
39
|
-
if (element instanceof HTMLElement) {
|
|
40
|
-
element.dispatchEvent(newEvent(eventName));
|
|
41
|
-
}
|
|
42
|
-
else if (element instanceof Window) {
|
|
43
|
-
element.dispatchEvent(newEvent(eventName));
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
element.nativeElement.dispatchEvent(newEvent(eventName));
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Create custom DOM event the old fashioned way
|
|
51
|
-
*
|
|
52
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/Event/initEvent
|
|
53
|
-
* Although officially deprecated, some browsers (phantom) don't accept the preferred "new Event(eventName)"
|
|
54
|
-
*/
|
|
55
|
-
export function newEvent(eventName, bubbles = false, cancelable = false) {
|
|
56
|
-
const evt = document.createEvent('CustomEvent'); // MUST be 'CustomEvent'
|
|
57
|
-
evt.initCustomEvent(eventName, bubbles, cancelable, null);
|
|
58
|
-
return evt;
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGtnL2RiZy1yaXNraXQvYW5ndWxhci10ZXN0aW5nL3NyYy9saWIvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUzQywrRkFBK0Y7QUFDL0YsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDL0IsSUFBSSxFQUFHLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBQztJQUNsQixLQUFLLEVBQUUsRUFBQyxNQUFNLEVBQUUsQ0FBQyxFQUFDO0NBQ3JCLENBQUM7QUFFRix5RUFBeUU7QUFDekUsTUFBTSxVQUFVLEtBQUssQ0FBQyxFQUE4QixFQUFFLFdBQWdCLG1CQUFtQixDQUFDLElBQUk7SUFDMUYsSUFBSSxFQUFFLFlBQVksV0FBVyxFQUFFO1FBQzNCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztLQUNkO1NBQU07UUFDSCxFQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0tBQzdDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBcUIsRUFBRSxLQUFhLEVBQUUsU0FBUyxHQUFHLEtBQUs7SUFDbkYsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsWUFBWSxnQkFBZ0IsQ0FBQyxFQUFFO1FBQ3RELE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztLQUMxRDtJQUNELE1BQU0sS0FBSyxHQUFxQixPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3RELEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRXBCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlO0lBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDWixJQUFJLEVBQUUsQ0FBQztLQUNWO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxPQUFxQixFQUFFLGFBQXFCLEVBQUUsU0FBUyxHQUFHLEtBQUs7SUFDakcsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsWUFBWSxpQkFBaUIsQ0FBQyxFQUFFO1FBQ3ZELE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztLQUMxRDtJQUNELE1BQU0sS0FBSyxHQUFzQixPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3ZELEtBQUssQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBRXBDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxlQUFlO0lBQy9DLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDWixJQUFJLEVBQUUsQ0FBQztLQUNWO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBNEMsRUFBRSxTQUFpQjtJQUN6RixJQUFJLE9BQU8sWUFBWSxXQUFXLEVBQUU7UUFDaEMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUM5QztTQUFNLElBQUksT0FBTyxZQUFZLE1BQU0sRUFBRTtRQUNsQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0tBQzlDO1NBQU07UUFDSCxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUM1RDtBQUNMLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsU0FBaUIsRUFBRSxPQUFPLEdBQUcsS0FBSyxFQUFFLFVBQVUsR0FBRyxLQUFLO0lBQzNFLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBRSx3QkFBd0I7SUFDMUUsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRCxPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RlYnVnRWxlbWVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7dGlja30gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcblxuLyoqIEJ1dHRvbiBldmVudHMgdG8gcGFzcyB0byBgRGVidWdFbGVtZW50LnRyaWdnZXJFdmVudEhhbmRsZXJgIGZvciBSb3V0ZXJMaW5rIGV2ZW50IGhhbmRsZXIgKi9cbmV4cG9ydCBjb25zdCBCVVRUT05fQ0xJQ0tfRVZFTlRTID0ge1xuICAgIGxlZnQgOiB7YnV0dG9uOiAwfSxcbiAgICByaWdodDoge2J1dHRvbjogMn1cbn07XG5cbi8qKiBTaW11bGF0ZSBlbGVtZW50IGNsaWNrLiBEZWZhdWx0cyB0byBtb3VzZSBsZWZ0LWJ1dHRvbiBjbGljayBldmVudC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGljayhlbDogRGVidWdFbGVtZW50IHwgSFRNTEVsZW1lbnQsIGV2ZW50T2JqOiBhbnkgPSBCVVRUT05fQ0xJQ0tfRVZFTlRTLmxlZnQpOiB2b2lkIHtcbiAgICBpZiAoZWwgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICBlbC5jbGljaygpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGVsLnRyaWdnZXJFdmVudEhhbmRsZXIoJ2NsaWNrJywgZXZlbnRPYmopO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldE5nTW9kZWxWYWx1ZShlbGVtZW50OiBEZWJ1Z0VsZW1lbnQsIHZhbHVlOiBzdHJpbmcsIHJlYWxBc3luYyA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKCEoZWxlbWVudC5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgYW4gaW5zdGFuY2Ugb2YgSFRNTElucHV0RWxlbWVudCcpO1xuICAgIH1cbiAgICBjb25zdCBpbnB1dDogSFRNTElucHV0RWxlbWVudCA9IGVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICBpbnB1dC52YWx1ZSA9IHZhbHVlO1xuXG4gICAgZGlzcGF0Y2hFdmVudChpbnB1dCwgJ2lucHV0Jyk7IC8vIHRlbGwgQW5ndWxhclxuICAgIGlmICghcmVhbEFzeW5jKSB7XG4gICAgICAgIHRpY2soKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXROZ01vZGVsU2VsZWN0VmFsdWUoZWxlbWVudDogRGVidWdFbGVtZW50LCBzZWxlY3RlZEluZGV4OiBudW1iZXIsIHJlYWxBc3luYyA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKCEoZWxlbWVudC5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGFuIGluc3RhbmNlIG9mIEhUTUxJbnB1dEVsZW1lbnQnKTtcbiAgICB9XG4gICAgY29uc3QgaW5wdXQ6IEhUTUxTZWxlY3RFbGVtZW50ID0gZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIGlucHV0LnNlbGVjdGVkSW5kZXggPSBzZWxlY3RlZEluZGV4O1xuXG4gICAgZGlzcGF0Y2hFdmVudChpbnB1dCwgJ2NoYW5nZScpOyAvLyB0ZWxsIEFuZ3VsYXJcbiAgICBpZiAoIXJlYWxBc3luYykge1xuICAgICAgICB0aWNrKCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlzcGF0Y2hFdmVudChlbGVtZW50OiBEZWJ1Z0VsZW1lbnQgfCBIVE1MRWxlbWVudCB8IFdpbmRvdywgZXZlbnROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXdFdmVudChldmVudE5hbWUpKTtcbiAgICB9IGVsc2UgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBXaW5kb3cpIHtcbiAgICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ld0V2ZW50KGV2ZW50TmFtZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ld0V2ZW50KGV2ZW50TmFtZSkpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBDcmVhdGUgY3VzdG9tIERPTSBldmVudCB0aGUgb2xkIGZhc2hpb25lZCB3YXlcbiAqXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRXZlbnQvaW5pdEV2ZW50XG4gKiBBbHRob3VnaCBvZmZpY2lhbGx5IGRlcHJlY2F0ZWQsIHNvbWUgYnJvd3NlcnMgKHBoYW50b20pIGRvbid0IGFjY2VwdCB0aGUgcHJlZmVycmVkIFwibmV3IEV2ZW50KGV2ZW50TmFtZSlcIlxuICovXG5leHBvcnQgZnVuY3Rpb24gbmV3RXZlbnQoZXZlbnROYW1lOiBzdHJpbmcsIGJ1YmJsZXMgPSBmYWxzZSwgY2FuY2VsYWJsZSA9IGZhbHNlKTogQ3VzdG9tRXZlbnQge1xuICAgIGNvbnN0IGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdDdXN0b21FdmVudCcpOyAgLy8gTVVTVCBiZSAnQ3VzdG9tRXZlbnQnXG4gICAgZXZ0LmluaXRDdXN0b21FdmVudChldmVudE5hbWUsIGJ1YmJsZXMsIGNhbmNlbGFibGUsIG51bGwpO1xuICAgIHJldHVybiBldnQ7XG59XG4iXX0=
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
-
import { of, throwError as _throwError, timer } from 'rxjs';
|
|
3
|
-
import { switchMap } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export const FAKE_HTTP_ASYNC_TIMEOUT = 1000;
|
|
6
|
-
export class HttpServiceStub {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.value = [];
|
|
9
|
-
this.error = [];
|
|
10
|
-
this.unauthorized = new EventEmitter();
|
|
11
|
-
}
|
|
12
|
-
returnValue(value) {
|
|
13
|
-
this.value.push(value);
|
|
14
|
-
}
|
|
15
|
-
popReturnValue() {
|
|
16
|
-
return this.value.pop();
|
|
17
|
-
}
|
|
18
|
-
shiftReturnValue() {
|
|
19
|
-
return this.value.shift();
|
|
20
|
-
}
|
|
21
|
-
throwError(value) {
|
|
22
|
-
this.error.push(value);
|
|
23
|
-
}
|
|
24
|
-
get(request) {
|
|
25
|
-
if (this.error.length) {
|
|
26
|
-
const error = this.error.shift();
|
|
27
|
-
return _throwError(error);
|
|
28
|
-
}
|
|
29
|
-
const value = this.value.shift();
|
|
30
|
-
return of(value);
|
|
31
|
-
}
|
|
32
|
-
post(request) {
|
|
33
|
-
return this.get(request);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
HttpServiceStub.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
-
HttpServiceStub.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpServiceStub });
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpServiceStub, decorators: [{
|
|
39
|
-
type: Injectable
|
|
40
|
-
}] });
|
|
41
|
-
export class HttpAsyncServiceStub extends HttpServiceStub {
|
|
42
|
-
get(request, auth = true) {
|
|
43
|
-
return timer(FAKE_HTTP_ASYNC_TIMEOUT).pipe(switchMap(() => super.get(request)));
|
|
44
|
-
}
|
|
45
|
-
post(request) {
|
|
46
|
-
return this.get(request);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
HttpAsyncServiceStub.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpAsyncServiceStub, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
50
|
-
HttpAsyncServiceStub.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpAsyncServiceStub });
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpAsyncServiceStub, decorators: [{
|
|
52
|
-
type: Injectable
|
|
53
|
-
}] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLnN0dWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wa2cvZGJnLXJpc2tpdC9hbmd1bGFyLXRlc3Rpbmcvc3JjL2xpYi9zdHVicy9odHRwLnNlcnZpY2Uuc3R1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd2RCxPQUFPLEVBQWEsRUFBRSxFQUFFLFVBQVUsSUFBSSxXQUFXLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFekMsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDO0FBRzVDLE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBR1ksVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUNoQixVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUU1QixpQkFBWSxHQUErQixJQUFJLFlBQVksRUFBRSxDQUFDO0tBOEJ4RTtJQTVCVSxXQUFXLENBQUMsS0FBUTtRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sY0FBYztRQUNqQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLGdCQUFnQjtRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFtQjtRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sR0FBRyxDQUFDLE9BQW1CO1FBQzFCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQyxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM3QjtRQUNELE1BQU0sS0FBSyxHQUFrQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxJQUFJLENBQUMsT0FBMkI7UUFDbkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7OzRHQWxDUSxlQUFlO2dIQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7QUF1Q1gsTUFBTSxPQUFPLG9CQUF3QixTQUFRLGVBQWtCO0lBRXBELEdBQUcsQ0FBQyxPQUFtQixFQUFFLElBQUksR0FBRyxJQUFJO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUMsSUFBSSxDQUN0QyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUN0QyxDQUFDO0lBQ04sQ0FBQztJQUVNLElBQUksQ0FBQyxPQUEyQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7aUhBVlEsb0JBQW9CO3FIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UmVxdWVzdCwgUmVxdWVzdFdpdGhEYXRhfSBmcm9tICdAZGJnLXJpc2tpdC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQge0Vycm9yTWVzc2FnZX0gZnJvbSAnQGRiZy1yaXNraXQvY29tbW9uJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgYXMgX3Rocm93RXJyb3IsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBGQUtFX0hUVFBfQVNZTkNfVElNRU9VVCA9IDEwMDA7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIdHRwU2VydmljZVN0dWI8VD4ge1xuXG4gICAgcHJpdmF0ZSB2YWx1ZTogVFtdID0gW107XG4gICAgcHJpdmF0ZSBlcnJvcjogRXJyb3JNZXNzYWdlW10gPSBbXTtcblxuICAgIHB1YmxpYyB1bmF1dGhvcml6ZWQ6IEV2ZW50RW1pdHRlcjxFcnJvck1lc3NhZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIHJldHVyblZhbHVlKHZhbHVlOiBUKSB7XG4gICAgICAgIHRoaXMudmFsdWUucHVzaCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHBvcFJldHVyblZhbHVlKCk6IFQgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5wb3AoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hpZnRSZXR1cm5WYWx1ZSgpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuc2hpZnQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdGhyb3dFcnJvcih2YWx1ZTogRXJyb3JNZXNzYWdlKSB7XG4gICAgICAgIHRoaXMuZXJyb3IucHVzaCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldChyZXF1ZXN0OiBSZXF1ZXN0PFQ+KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmICh0aGlzLmVycm9yLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZXJyb3IgPSB0aGlzLmVycm9yLnNoaWZ0KCk7XG4gICAgICAgICAgICByZXR1cm4gX3Rocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbHVlOiBUIHwgdW5kZWZpbmVkID0gdGhpcy52YWx1ZS5zaGlmdCgpO1xuICAgICAgICByZXR1cm4gb2YodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwb3N0KHJlcXVlc3Q6IFJlcXVlc3RXaXRoRGF0YTxUPik6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQocmVxdWVzdCk7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSHR0cEFzeW5jU2VydmljZVN0dWI8VD4gZXh0ZW5kcyBIdHRwU2VydmljZVN0dWI8VD4ge1xuXG4gICAgcHVibGljIGdldChyZXF1ZXN0OiBSZXF1ZXN0PFQ+LCBhdXRoID0gdHJ1ZSk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGltZXIoRkFLRV9IVFRQX0FTWU5DX1RJTUVPVVQpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gc3VwZXIuZ2V0KHJlcXVlc3QpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBwb3N0KHJlcXVlc3Q6IFJlcXVlc3RXaXRoRGF0YTxUPik6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQocmVxdWVzdCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { Router } from '@angular/router';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class RouterLinkStubDirective {
|
|
5
|
-
constructor(injector) {
|
|
6
|
-
this.navigatedTo = null;
|
|
7
|
-
this._urlTree = null;
|
|
8
|
-
this.routerStub = injector.get(Router, null);
|
|
9
|
-
}
|
|
10
|
-
ngOnChanges() {
|
|
11
|
-
if (this.linkParams && this.routerStub) {
|
|
12
|
-
this._urlTree = this.routerStub.getURLTree(this.linkParams);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
onClick() {
|
|
16
|
-
this.navigatedTo = this.linkParams;
|
|
17
|
-
if (this.routerStub) {
|
|
18
|
-
if (Array.isArray(this.navigatedTo)) {
|
|
19
|
-
this.routerStub.navigate(this.navigatedTo);
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
this.routerStub.navigateByUrl(this.navigatedTo);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
get urlTree() {
|
|
27
|
-
return this._urlTree;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
RouterLinkStubDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: RouterLinkStubDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
31
|
-
RouterLinkStubDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: RouterLinkStubDirective, selector: "[routerLink]", inputs: { linkParams: ["routerLink", "linkParams"] }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 });
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: RouterLinkStubDirective, decorators: [{
|
|
33
|
-
type: Directive,
|
|
34
|
-
args: [{
|
|
35
|
-
/* eslint-disable @angular-eslint/directive-selector */
|
|
36
|
-
selector: '[routerLink]',
|
|
37
|
-
/* eslint-enable */
|
|
38
|
-
host: {
|
|
39
|
-
'(click)': 'onClick()'
|
|
40
|
-
}
|
|
41
|
-
}]
|
|
42
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { linkParams: [{
|
|
43
|
-
type: Input,
|
|
44
|
-
args: ['routerLink']
|
|
45
|
-
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmxpbmsuc3R1Yi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BrZy9kYmctcmlza2l0L2FuZ3VsYXItdGVzdGluZy9zcmMvbGliL3N0dWJzL3JvdXRlci9yb3V0ZXIubGluay5zdHViLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVksS0FBSyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxNQUFNLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFZaEQsTUFBTSxPQUFPLHVCQUF1QjtJQVVoQyxZQUFtQixRQUFrQjtRQUw5QixnQkFBVyxHQUFRLElBQUksQ0FBQztRQUN2QixhQUFRLEdBQW1CLElBQUksQ0FBQztRQUtwQyxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBUSxDQUFDO0lBQ3hELENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDL0Q7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzlDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNuRDtTQUNKO0lBQ0wsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDOztvSEFqQ1EsdUJBQXVCO3dHQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFSbkMsU0FBUzttQkFBQztvQkFDUCx1REFBdUQ7b0JBQ3ZELFFBQVEsRUFBRSxjQUFjO29CQUN4QixtQkFBbUI7b0JBQ25CLElBQUksRUFBTTt3QkFDTixTQUFTLEVBQUUsV0FBVztxQkFDekI7aUJBQ0o7K0ZBSVUsVUFBVTtzQkFEaEIsS0FBSzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCwgT25DaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyLCBVcmxUcmVlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1JvdXRlclN0dWJ9IGZyb20gJy4vcm91dGVyLnN0dWInO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yICovXG4gICAgc2VsZWN0b3I6ICdbcm91dGVyTGlua10nLFxuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgICBob3N0ICAgIDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdvbkNsaWNrKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSb3V0ZXJMaW5rU3R1YkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgICBASW5wdXQoJ3JvdXRlckxpbmsnKVxuICAgIHB1YmxpYyBsaW5rUGFyYW1zOiBhbnk7XG5cbiAgICBwdWJsaWMgbmF2aWdhdGVkVG86IGFueSA9IG51bGw7XG4gICAgcHJpdmF0ZSBfdXJsVHJlZTogVXJsVHJlZSB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSByb3V0ZXJTdHViOiBSb3V0ZXJTdHViO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICB0aGlzLnJvdXRlclN0dWIgPSBpbmplY3Rvci5nZXQoUm91dGVyLCBudWxsKSBhcyBhbnk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5saW5rUGFyYW1zICYmIHRoaXMucm91dGVyU3R1Yikge1xuICAgICAgICAgICAgdGhpcy5fdXJsVHJlZSA9IHRoaXMucm91dGVyU3R1Yi5nZXRVUkxUcmVlKHRoaXMubGlua1BhcmFtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZWRUbyA9IHRoaXMubGlua1BhcmFtcztcbiAgICAgICAgaWYgKHRoaXMucm91dGVyU3R1Yikge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5uYXZpZ2F0ZWRUbykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlclN0dWIubmF2aWdhdGUodGhpcy5uYXZpZ2F0ZWRUbyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyU3R1Yi5uYXZpZ2F0ZUJ5VXJsKHRoaXMubmF2aWdhdGVkVG8pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB1cmxUcmVlKCk6IFVybFRyZWUgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VybFRyZWU7XG4gICAgfVxufVxuIl19
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { TestBed } from '@angular/core/testing';
|
|
2
|
-
import { ActivatedRoute, Router, RouterModule } from '@angular/router';
|
|
3
|
-
import { ActivatedRouteStub } from './activated.route.stub';
|
|
4
|
-
import { RouterLinkStubDirective } from './router.link.stub';
|
|
5
|
-
import { RouterOutletStubComponent } from './router.outlet.stub.component';
|
|
6
|
-
import { RouterStub } from './router.stub';
|
|
7
|
-
export function stubRouter(customOverrides) {
|
|
8
|
-
const override = {
|
|
9
|
-
set: {
|
|
10
|
-
imports: [],
|
|
11
|
-
declarations: [
|
|
12
|
-
RouterLinkStubDirective,
|
|
13
|
-
RouterOutletStubComponent
|
|
14
|
-
],
|
|
15
|
-
providers: [
|
|
16
|
-
{
|
|
17
|
-
provide: Router,
|
|
18
|
-
useClass: RouterStub
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
provide: ActivatedRoute,
|
|
22
|
-
useClass: ActivatedRouteStub
|
|
23
|
-
}
|
|
24
|
-
],
|
|
25
|
-
exports: [
|
|
26
|
-
RouterLinkStubDirective,
|
|
27
|
-
RouterOutletStubComponent
|
|
28
|
-
],
|
|
29
|
-
entryComponents: []
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
if (customOverrides) {
|
|
33
|
-
if (customOverrides.add) {
|
|
34
|
-
override.add = customOverrides.add;
|
|
35
|
-
}
|
|
36
|
-
if (customOverrides.set) {
|
|
37
|
-
Object.assign(override.set, customOverrides.set);
|
|
38
|
-
}
|
|
39
|
-
if (customOverrides.remove) {
|
|
40
|
-
override.remove = customOverrides.remove;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return TestBed.overrideModule(RouterModule, override);
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLm1vZHVsZS5zdHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGtnL2RiZy1yaXNraXQvYW5ndWxhci10ZXN0aW5nL3NyYy9saWIvc3R1YnMvcm91dGVyL3JvdXRlci5tb2R1bGUuc3R1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQW1CLE9BQU8sRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxlQUE0QztJQUNuRSxNQUFNLFFBQVEsR0FBK0I7UUFDekMsR0FBRyxFQUFFO1lBQ0QsT0FBTyxFQUFVLEVBQUU7WUFDbkIsWUFBWSxFQUFLO2dCQUNiLHVCQUF1QjtnQkFDdkIseUJBQXlCO2FBQzVCO1lBQ0QsU0FBUyxFQUFRO2dCQUNiO29CQUNJLE9BQU8sRUFBRyxNQUFNO29CQUNoQixRQUFRLEVBQUUsVUFBVTtpQkFDdkI7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFHLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxrQkFBa0I7aUJBQy9CO2FBQ0o7WUFDRCxPQUFPLEVBQVU7Z0JBQ2IsdUJBQXVCO2dCQUN2Qix5QkFBeUI7YUFDNUI7WUFDRCxlQUFlLEVBQUUsRUFBRTtTQUN0QjtLQUNKLENBQUM7SUFDRixJQUFJLGVBQWUsRUFBRTtRQUNqQixJQUFJLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDckIsUUFBUSxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDcEQ7UUFDRCxJQUFJLGVBQWUsQ0FBQyxNQUFNLEVBQUU7WUFDeEIsUUFBUSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQzVDO0tBQ0o7SUFDRCxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWV0YWRhdGFPdmVycmlkZSwgVGVzdEJlZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZVN0dWJ9IGZyb20gJy4vYWN0aXZhdGVkLnJvdXRlLnN0dWInO1xuaW1wb3J0IHtSb3V0ZXJMaW5rU3R1YkRpcmVjdGl2ZX0gZnJvbSAnLi9yb3V0ZXIubGluay5zdHViJztcbmltcG9ydCB7Um91dGVyT3V0bGV0U3R1YkNvbXBvbmVudH0gZnJvbSAnLi9yb3V0ZXIub3V0bGV0LnN0dWIuY29tcG9uZW50JztcbmltcG9ydCB7Um91dGVyU3R1Yn0gZnJvbSAnLi9yb3V0ZXIuc3R1Yic7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHViUm91dGVyKGN1c3RvbU92ZXJyaWRlcz86IE1ldGFkYXRhT3ZlcnJpZGU8TmdNb2R1bGU+KTogdHlwZW9mIFRlc3RCZWQge1xuICAgIGNvbnN0IG92ZXJyaWRlOiBNZXRhZGF0YU92ZXJyaWRlPE5nTW9kdWxlPiA9IHtcbiAgICAgICAgc2V0OiB7XG4gICAgICAgICAgICBpbXBvcnRzICAgICAgICA6IFtdLFxuICAgICAgICAgICAgZGVjbGFyYXRpb25zICAgOiBbXG4gICAgICAgICAgICAgICAgUm91dGVyTGlua1N0dWJEaXJlY3RpdmUsXG4gICAgICAgICAgICAgICAgUm91dGVyT3V0bGV0U3R1YkNvbXBvbmVudFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHByb3ZpZGVycyAgICAgIDogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZSA6IFJvdXRlcixcbiAgICAgICAgICAgICAgICAgICAgdXNlQ2xhc3M6IFJvdXRlclN0dWJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZSA6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogQWN0aXZhdGVkUm91dGVTdHViXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGV4cG9ydHMgICAgICAgIDogW1xuICAgICAgICAgICAgICAgIFJvdXRlckxpbmtTdHViRGlyZWN0aXZlLFxuICAgICAgICAgICAgICAgIFJvdXRlck91dGxldFN0dWJDb21wb25lbnRcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBlbnRyeUNvbXBvbmVudHM6IFtdXG4gICAgICAgIH1cbiAgICB9O1xuICAgIGlmIChjdXN0b21PdmVycmlkZXMpIHtcbiAgICAgICAgaWYgKGN1c3RvbU92ZXJyaWRlcy5hZGQpIHtcbiAgICAgICAgICAgIG92ZXJyaWRlLmFkZCA9IGN1c3RvbU92ZXJyaWRlcy5hZGQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGN1c3RvbU92ZXJyaWRlcy5zZXQpIHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24ob3ZlcnJpZGUuc2V0LCBjdXN0b21PdmVycmlkZXMuc2V0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY3VzdG9tT3ZlcnJpZGVzLnJlbW92ZSkge1xuICAgICAgICAgICAgb3ZlcnJpZGUucmVtb3ZlID0gY3VzdG9tT3ZlcnJpZGVzLnJlbW92ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gVGVzdEJlZC5vdmVycmlkZU1vZHVsZShSb3V0ZXJNb2R1bGUsIG92ZXJyaWRlKTtcbn1cbiJdfQ==
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
-
import { NavigationEnd, UrlSegment, UrlSegmentGroup } from '@angular/router';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class Snapshot {
|
|
5
|
-
constructor(stub) {
|
|
6
|
-
this.stub = stub;
|
|
7
|
-
}
|
|
8
|
-
get url() {
|
|
9
|
-
return this.stub.getCurrentURL();
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
// @dynamic
|
|
13
|
-
export class RouterStub {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.id = 0;
|
|
16
|
-
this.navigated = true;
|
|
17
|
-
this.currentUrlTree = this.createUrlTree(['/dashboard']);
|
|
18
|
-
this.routerState = {
|
|
19
|
-
snapshot: new Snapshot(this)
|
|
20
|
-
};
|
|
21
|
-
this.events = new EventEmitter();
|
|
22
|
-
}
|
|
23
|
-
getURLTree(url) {
|
|
24
|
-
if (Array.isArray(url)) {
|
|
25
|
-
return this.createUrlTree(url);
|
|
26
|
-
}
|
|
27
|
-
if (url instanceof Object) {
|
|
28
|
-
return url;
|
|
29
|
-
}
|
|
30
|
-
return this.createUrlTree(url.split('/'));
|
|
31
|
-
}
|
|
32
|
-
navigateByUrl(url) {
|
|
33
|
-
this.currentUrlTree = this.getURLTree(url);
|
|
34
|
-
this.emitNavigate();
|
|
35
|
-
return url;
|
|
36
|
-
}
|
|
37
|
-
navigate(commands, extras) {
|
|
38
|
-
this.currentUrlTree = this.getURLTree(commands);
|
|
39
|
-
this.emitNavigate();
|
|
40
|
-
return [commands, extras];
|
|
41
|
-
}
|
|
42
|
-
emitNavigate() {
|
|
43
|
-
this.id++;
|
|
44
|
-
const urlString = this.getCurrentURL();
|
|
45
|
-
this.events.emit(new NavigationEnd(this.id, urlString, urlString));
|
|
46
|
-
}
|
|
47
|
-
isActive(url) {
|
|
48
|
-
return this.getCurrentURL().indexOf(RouterStub.serializeUrl(url)) !== -1;
|
|
49
|
-
}
|
|
50
|
-
getCurrentURL() {
|
|
51
|
-
return RouterStub.serializeUrl(this.currentUrlTree);
|
|
52
|
-
}
|
|
53
|
-
createUrlTree(commands, extras) {
|
|
54
|
-
const _b = extras || {};
|
|
55
|
-
const queryParams = _b.queryParams || {};
|
|
56
|
-
const fragment = _b.fragment || '';
|
|
57
|
-
return {
|
|
58
|
-
root: new UrlSegmentGroup(commands.map((command) => {
|
|
59
|
-
return new UrlSegment(command, {});
|
|
60
|
-
}), {}),
|
|
61
|
-
queryParams,
|
|
62
|
-
fragment,
|
|
63
|
-
queryParamMap: {
|
|
64
|
-
...new Map(),
|
|
65
|
-
getAll: () => [],
|
|
66
|
-
keys: []
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
static serializeUrl(url) {
|
|
71
|
-
return url.root.segments.map((segment) => segment.path).join('/');
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
RouterStub.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: RouterStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
-
RouterStub.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: RouterStub });
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: RouterStub, decorators: [{
|
|
77
|
-
type: Injectable
|
|
78
|
-
}] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnN0dWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wa2cvZGJnLXJpc2tpdC9hbmd1bGFyLXRlc3Rpbmcvc3JjL2xpYi9zdHVicy9yb3V0ZXIvcm91dGVyLnN0dWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBb0IsVUFBVSxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDOztBQUV0RyxNQUFNLE9BQU8sUUFBUTtJQUVqQixZQUEyQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQzNDLENBQUM7SUFFRCxJQUFXLEdBQUc7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDckMsQ0FBQztDQUNKO0FBRUQsV0FBVztBQUVYLE1BQU0sT0FBTyxVQUFVO0lBRHZCO1FBR1ksT0FBRSxHQUFHLENBQUMsQ0FBQztRQUVSLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFaEIsbUJBQWMsR0FBWSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUU5RCxnQkFBVyxHQUFHO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUM7U0FDL0IsQ0FBQztRQUVLLFdBQU0sR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7S0E2RGxGO0lBM0RVLFVBQVUsQ0FBQyxHQUE2QjtRQUMzQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQVksQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxHQUFHLFlBQVksTUFBTSxFQUFFO1lBQ3ZCLE9BQU8sR0FBYyxDQUFDO1NBQ3pCO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFFLEdBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sYUFBYSxDQUFDLEdBQXFCO1FBQ3RDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRU0sUUFBUSxDQUFDLFFBQWUsRUFBRSxNQUF5QjtRQUN0RCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLFlBQVk7UUFDaEIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ1YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLFFBQVEsQ0FBQyxHQUFZO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVNLGFBQWE7UUFDaEIsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sYUFBYSxDQUFDLFFBQWUsRUFBRSxNQUF5QjtRQUMzRCxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ3hCLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ25DLE9BQU87WUFDSCxJQUFJLEVBQVcsSUFBSSxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO2dCQUM3RCxPQUFPLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDUCxXQUFXO1lBQ1gsUUFBUTtZQUNSLGFBQWEsRUFBRTtnQkFDWCxHQUFHLElBQUksR0FBRyxFQUFFO2dCQUNaLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO2dCQUNoQixJQUFJLEVBQUksRUFBRTthQUNiO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVk7UUFDbkMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFtQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7O3VHQXhFUSxVQUFVOzJHQUFWLFVBQVU7MkZBQVYsVUFBVTtrQkFEdEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkV4dHJhcywgVXJsU2VnbWVudCwgVXJsU2VnbWVudEdyb3VwLCBVcmxUcmVlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5leHBvcnQgY2xhc3MgU25hcHNob3Qge1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgc3R1YjogUm91dGVyU3R1Yikge1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdXJsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0dWIuZ2V0Q3VycmVudFVSTCgpO1xuICAgIH1cbn1cblxuLy8gQGR5bmFtaWNcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSb3V0ZXJTdHViIHtcblxuICAgIHByaXZhdGUgaWQgPSAwO1xuXG4gICAgcHVibGljIG5hdmlnYXRlZCA9IHRydWU7XG5cbiAgICBwcml2YXRlIGN1cnJlbnRVcmxUcmVlOiBVcmxUcmVlID0gdGhpcy5jcmVhdGVVcmxUcmVlKFsnL2Rhc2hib2FyZCddKTtcblxuICAgIHB1YmxpYyByb3V0ZXJTdGF0ZSA9IHtcbiAgICAgICAgc25hcHNob3Q6IG5ldyBTbmFwc2hvdCh0aGlzKVxuICAgIH07XG5cbiAgICBwdWJsaWMgZXZlbnRzOiBFdmVudEVtaXR0ZXI8TmF2aWdhdGlvbkVuZD4gPSBuZXcgRXZlbnRFbWl0dGVyPE5hdmlnYXRpb25FbmQ+KCk7XG5cbiAgICBwdWJsaWMgZ2V0VVJMVHJlZSh1cmw6IHN0cmluZyB8IFVybFRyZWUgfCBhbnlbXSk6IFVybFRyZWUge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh1cmwpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVVcmxUcmVlKHVybCBhcyBhbnlbXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodXJsIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gdXJsIGFzIFVybFRyZWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVVcmxUcmVlKCh1cmwgYXMgc3RyaW5nKS5zcGxpdCgnLycpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmF2aWdhdGVCeVVybCh1cmw6IHN0cmluZyB8IFVybFRyZWUpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VXJsVHJlZSA9IHRoaXMuZ2V0VVJMVHJlZSh1cmwpO1xuICAgICAgICB0aGlzLmVtaXROYXZpZ2F0ZSgpO1xuICAgICAgICByZXR1cm4gdXJsO1xuICAgIH1cblxuICAgIHB1YmxpYyBuYXZpZ2F0ZShjb21tYW5kczogYW55W10sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VXJsVHJlZSA9IHRoaXMuZ2V0VVJMVHJlZShjb21tYW5kcyk7XG4gICAgICAgIHRoaXMuZW1pdE5hdmlnYXRlKCk7XG4gICAgICAgIHJldHVybiBbY29tbWFuZHMsIGV4dHJhc107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlbWl0TmF2aWdhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaWQrKztcbiAgICAgICAgY29uc3QgdXJsU3RyaW5nID0gdGhpcy5nZXRDdXJyZW50VVJMKCk7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQobmV3IE5hdmlnYXRpb25FbmQodGhpcy5pZCwgdXJsU3RyaW5nLCB1cmxTdHJpbmcpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNBY3RpdmUodXJsOiBVcmxUcmVlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRVUkwoKS5pbmRleE9mKFJvdXRlclN0dWIuc2VyaWFsaXplVXJsKHVybCkpICE9PSAtMTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3VycmVudFVSTCgpIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlclN0dWIuc2VyaWFsaXplVXJsKHRoaXMuY3VycmVudFVybFRyZWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGVVcmxUcmVlKGNvbW1hbmRzOiBhbnlbXSwgZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyk6IFVybFRyZWUge1xuICAgICAgICBjb25zdCBfYiA9IGV4dHJhcyB8fCB7fTtcbiAgICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSBfYi5xdWVyeVBhcmFtcyB8fCB7fTtcbiAgICAgICAgY29uc3QgZnJhZ21lbnQgPSBfYi5mcmFnbWVudCB8fCAnJztcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJvb3QgICAgICAgICA6IG5ldyBVcmxTZWdtZW50R3JvdXAoY29tbWFuZHMubWFwKChjb21tYW5kOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFVybFNlZ21lbnQoY29tbWFuZCwge30pO1xuICAgICAgICAgICAgfSksIHt9KSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgZnJhZ21lbnQsXG4gICAgICAgICAgICBxdWVyeVBhcmFtTWFwOiB7XG4gICAgICAgICAgICAgICAgLi4ubmV3IE1hcCgpLFxuICAgICAgICAgICAgICAgIGdldEFsbDogKCkgPT4gW10sXG4gICAgICAgICAgICAgICAga2V5cyAgOiBbXVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgc2VyaWFsaXplVXJsKHVybDogVXJsVHJlZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB1cmwucm9vdC5zZWdtZW50cy5tYXAoKHNlZ21lbnQ6IFVybFNlZ21lbnQpID0+IHNlZ21lbnQucGF0aCkuam9pbignLycpO1xuICAgIH1cbn1cbiJdfQ==
|