ngx-edu-sharing-ui 9.0.2 → 9.1.1
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/actionbar/actionbar.component.mjs +5 -5
- package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +73 -62
- package/esm2022/lib/directives/check-text-overflow.directive.mjs +8 -2
- package/esm2022/lib/directives/icon.directive.mjs +15 -8
- package/esm2022/lib/directives/infinite-scroll.directive.mjs +85 -0
- package/esm2022/lib/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/lib/edu-sharing-ui-configuration.mjs +8 -1
- package/esm2022/lib/list-items/list-base/list-base.component.mjs +6 -6
- package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +3 -1
- package/esm2022/lib/list-items/list-text/list-text.component.mjs +15 -13
- package/esm2022/lib/node-entries/entries-model.mjs +2 -1
- package/esm2022/lib/node-entries/node-cache.mjs +9 -1
- package/esm2022/lib/node-entries/node-data-source.mjs +4 -2
- package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +13 -11
- package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +37 -22
- package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +5 -5
- package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +3 -3
- package/esm2022/lib/node-entries/node-entries-global.service.mjs +14 -1
- package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +3 -3
- package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +43 -34
- package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +10 -3
- package/esm2022/lib/node-entries/node-entries.component.mjs +2 -2
- package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +35 -12
- package/esm2022/lib/node-entries/option-button/option-button.component.mjs +18 -7
- package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +3 -3
- package/esm2022/lib/node-url/node-url.component.mjs +7 -3
- package/esm2022/lib/pipes/file-size.pipe.mjs +2 -2
- package/esm2022/lib/pipes/property-slug.pipe.mjs +16 -0
- package/esm2022/lib/services/abstract/options-helper.service.mjs +1 -1
- package/esm2022/lib/services/app-container.service.mjs +66 -0
- package/esm2022/lib/services/node-entries.service.mjs +47 -3
- package/esm2022/lib/services/node-helper.service.mjs +34 -11
- package/esm2022/lib/services/options-helper-data.service.mjs +4 -4
- package/esm2022/lib/services/repo-url.service.mjs +2 -1
- package/esm2022/lib/services/ui.service.mjs +7 -1
- package/esm2022/lib/spinner/spinner.component.mjs +4 -3
- package/esm2022/lib/translations/translation-loader.mjs +39 -8
- package/esm2022/lib/translations/translations.module.mjs +15 -4
- package/esm2022/lib/translations/translations.service.mjs +3 -3
- package/esm2022/lib/types/injection-tokens.mjs +9 -0
- package/esm2022/lib/types/option-item.mjs +4 -3
- package/esm2022/module.mjs +49 -43
- package/fesm2022/ngx-edu-sharing-ui.mjs +3955 -3568
- package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
- package/lib/common/edu-sharing-ui-common.module.d.ts +27 -25
- package/lib/directives/icon.directive.d.ts +2 -2
- package/lib/directives/infinite-scroll.directive.d.ts +22 -0
- package/lib/edu-sharing-ui-configuration.d.ts +5 -0
- package/lib/list-items/list-text/list-text.component.d.ts +1 -1
- package/lib/list-items/list-widget.d.ts +1 -1
- package/lib/node-entries/entries-model.d.ts +2 -1
- package/lib/node-entries/node-data-source.d.ts +1 -1
- package/lib/node-entries/node-entries-card/node-entries-card.component.d.ts +1 -1
- package/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.d.ts +6 -1
- package/lib/node-entries/node-entries-global.service.d.ts +7 -0
- package/lib/node-entries/node-entries-table/node-entries-table.component.d.ts +4 -1
- package/lib/node-entries/node-entries-wrapper.component.d.ts +8 -3
- package/lib/node-entries/node-rating/node-rating.component.d.ts +3 -3
- package/lib/node-entries/option-button/option-button.component.d.ts +6 -2
- package/lib/pipes/property-slug.pipe.d.ts +7 -0
- package/lib/services/abstract/options-helper.service.d.ts +3 -3
- package/lib/services/app-container.service.d.ts +43 -0
- package/lib/services/node-entries.service.d.ts +31 -6
- package/lib/services/node-helper.service.d.ts +5 -3
- package/lib/services/options-helper-data.service.d.ts +3 -3
- package/lib/services/ui.service.d.ts +8 -1
- package/lib/spinner/spinner.component.d.ts +1 -1
- package/lib/translations/translation-loader.d.ts +2 -1
- package/lib/types/injection-tokens.d.ts +8 -0
- package/lib/types/option-item.d.ts +3 -4
- package/module.d.ts +48 -42
- package/package.json +1 -1
- package/esm2022/lib/translations/languages.mjs +0 -5
- package/lib/translations/languages.d.ts +0 -4
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services/app-container.service";
|
|
5
|
+
export class InfiniteScrollDirective {
|
|
6
|
+
constructor(appContainer, element, zone) {
|
|
7
|
+
this.appContainer = appContainer;
|
|
8
|
+
this.element = element;
|
|
9
|
+
this.zone = zone;
|
|
10
|
+
this.scrolled = new EventEmitter();
|
|
11
|
+
this.infiniteScrollDistance = 1.5;
|
|
12
|
+
this.infiniteScrollThrottle = 1000;
|
|
13
|
+
this.scrollWindow = true;
|
|
14
|
+
this.lastEvent = 0;
|
|
15
|
+
this.lastScroll = 0;
|
|
16
|
+
this.destroyed$ = new Subject();
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.zone.runOutsideAngular(() => {
|
|
20
|
+
const handleScroll = () => this.handleOnScroll();
|
|
21
|
+
const eventTarget = this.scrollWindow
|
|
22
|
+
? this.appContainer.getScrollContainer({ fallback: window })
|
|
23
|
+
: this.element.nativeElement;
|
|
24
|
+
eventTarget.addEventListener('scroll', handleScroll);
|
|
25
|
+
this.destroyed$.subscribe(() => eventTarget.removeEventListener('scroll', handleScroll));
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
ngOnDestroy() {
|
|
29
|
+
this.destroyed$.next();
|
|
30
|
+
this.destroyed$.complete();
|
|
31
|
+
}
|
|
32
|
+
handleOnScroll() {
|
|
33
|
+
if (!this.element.nativeElement)
|
|
34
|
+
return;
|
|
35
|
+
if (this.scrollWindow) {
|
|
36
|
+
const scrollContainer = this.appContainer.getScrollContainer();
|
|
37
|
+
const height = scrollContainer.scrollHeight;
|
|
38
|
+
const scroll = scrollContainer.scrollTop;
|
|
39
|
+
if (scroll > this.lastScroll &&
|
|
40
|
+
height - scroll < scrollContainer.clientHeight * this.infiniteScrollDistance) {
|
|
41
|
+
const time = new Date().getTime();
|
|
42
|
+
if (time - this.lastEvent < this.infiniteScrollThrottle)
|
|
43
|
+
return;
|
|
44
|
+
this.lastEvent = time;
|
|
45
|
+
this.emitScrolled();
|
|
46
|
+
}
|
|
47
|
+
this.lastScroll = scroll;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const element = this.element.nativeElement;
|
|
51
|
+
const height = element.scrollHeight;
|
|
52
|
+
const scroll = element.scrollTop;
|
|
53
|
+
if (scroll > this.lastScroll &&
|
|
54
|
+
height - scroll <
|
|
55
|
+
element.getBoundingClientRect().height * this.infiniteScrollDistance) {
|
|
56
|
+
const time = new Date().getTime();
|
|
57
|
+
if (time - this.lastEvent < this.infiniteScrollThrottle)
|
|
58
|
+
return;
|
|
59
|
+
this.lastEvent = time;
|
|
60
|
+
this.emitScrolled();
|
|
61
|
+
}
|
|
62
|
+
this.lastScroll = scroll;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
emitScrolled() {
|
|
66
|
+
this.zone.run(() => this.scrolled.emit());
|
|
67
|
+
}
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: InfiniteScrollDirective, deps: [{ token: i1.AppContainerService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
69
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.6", type: InfiniteScrollDirective, selector: "[esInfiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: { infiniteScrollDistance: "infiniteScrollDistance", infiniteScrollThrottle: "infiniteScrollThrottle", scrollWindow: "scrollWindow" }, outputs: { scrolled: "scrolled" }, ngImport: i0 }); }
|
|
70
|
+
}
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: InfiniteScrollDirective, decorators: [{
|
|
72
|
+
type: Directive,
|
|
73
|
+
args: [{
|
|
74
|
+
selector: '[esInfiniteScroll], [infinite-scroll], [data-infinite-scroll]',
|
|
75
|
+
}]
|
|
76
|
+
}], ctorParameters: function () { return [{ type: i1.AppContainerService }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { scrolled: [{
|
|
77
|
+
type: Output
|
|
78
|
+
}], infiniteScrollDistance: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], infiniteScrollThrottle: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], scrollWindow: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}] } });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvZGlyZWN0aXZlcy9pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTS9CLE1BQU0sT0FBTyx1QkFBdUI7SUFVaEMsWUFDWSxZQUFpQyxFQUNqQyxPQUFtQixFQUNuQixJQUFZO1FBRlosaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQVpkLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJDLDJCQUFzQixHQUFXLEdBQUcsQ0FBQztRQUNyQywyQkFBc0IsR0FBVyxJQUFJLENBQUM7UUFDdEMsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDOUIsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU10QyxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQzdCLE1BQU0sWUFBWSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNqRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWTtnQkFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQzVELENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUNqQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUMzQixXQUFXLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUMxRCxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFBRSxPQUFPO1FBQ3hDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDL0QsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQztZQUM1QyxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDO1lBQ3pDLElBQ0ksTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVO2dCQUN4QixNQUFNLEdBQUcsTUFBTSxHQUFHLGVBQWUsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUM5RTtnQkFDRSxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxzQkFBc0I7b0JBQUUsT0FBTztnQkFDaEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUN2QjtZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1NBQzVCO2FBQU07WUFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUMzQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQ3BDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDakMsSUFDSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVU7Z0JBQ3hCLE1BQU0sR0FBRyxNQUFNO29CQUNYLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQzFFO2dCQUNFLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQjtvQkFBRSxPQUFPO2dCQUNoRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3ZCO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs4R0F0RVEsdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLCtEQUErRDtpQkFDNUU7d0pBRWEsUUFBUTtzQkFBakIsTUFBTTtnQkFFRSxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwQ29udGFpbmVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwcC1jb250YWluZXIuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VzSW5maW5pdGVTY3JvbGxdLCBbaW5maW5pdGUtc2Nyb2xsXSwgW2RhdGEtaW5maW5pdGUtc2Nyb2xsXScsXG59KVxuZXhwb3J0IGNsYXNzIEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBPdXRwdXQoKSBzY3JvbGxlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpIGluZmluaXRlU2Nyb2xsRGlzdGFuY2U6IG51bWJlciA9IDEuNTtcbiAgICBASW5wdXQoKSBpbmZpbml0ZVNjcm9sbFRocm90dGxlOiBudW1iZXIgPSAxMDAwO1xuICAgIEBJbnB1dCgpIHNjcm9sbFdpbmRvdzogYm9vbGVhbiA9IHRydWU7XG4gICAgcHJpdmF0ZSBsYXN0RXZlbnQgPSAwO1xuICAgIHByaXZhdGUgbGFzdFNjcm9sbCA9IDA7XG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwcENvbnRhaW5lcjogQXBwQ29udGFpbmVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHRoaXMuaGFuZGxlT25TY3JvbGwoKTtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50VGFyZ2V0ID0gdGhpcy5zY3JvbGxXaW5kb3dcbiAgICAgICAgICAgICAgICA/IHRoaXMuYXBwQ29udGFpbmVyLmdldFNjcm9sbENvbnRhaW5lcih7IGZhbGxiYWNrOiB3aW5kb3cgfSlcbiAgICAgICAgICAgICAgICA6IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgZXZlbnRUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveWVkJC5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgICAgICAgICBldmVudFRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGhhbmRsZU9uU2Nyb2xsKCkge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KSByZXR1cm47XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbFdpbmRvdykge1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyID0gdGhpcy5hcHBDb250YWluZXIuZ2V0U2Nyb2xsQ29udGFpbmVyKCk7XG4gICAgICAgICAgICBjb25zdCBoZWlnaHQgPSBzY3JvbGxDb250YWluZXIuc2Nyb2xsSGVpZ2h0O1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsID0gc2Nyb2xsQ29udGFpbmVyLnNjcm9sbFRvcDtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBzY3JvbGwgPiB0aGlzLmxhc3RTY3JvbGwgJiZcbiAgICAgICAgICAgICAgICBoZWlnaHQgLSBzY3JvbGwgPCBzY3JvbGxDb250YWluZXIuY2xpZW50SGVpZ2h0ICogdGhpcy5pbmZpbml0ZVNjcm9sbERpc3RhbmNlXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICAgICAgaWYgKHRpbWUgLSB0aGlzLmxhc3RFdmVudCA8IHRoaXMuaW5maW5pdGVTY3JvbGxUaHJvdHRsZSkgcmV0dXJuO1xuICAgICAgICAgICAgICAgIHRoaXMubGFzdEV2ZW50ID0gdGltZTtcbiAgICAgICAgICAgICAgICB0aGlzLmVtaXRTY3JvbGxlZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5sYXN0U2Nyb2xsID0gc2Nyb2xsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gZWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBzY3JvbGwgPSBlbGVtZW50LnNjcm9sbFRvcDtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBzY3JvbGwgPiB0aGlzLmxhc3RTY3JvbGwgJiZcbiAgICAgICAgICAgICAgICBoZWlnaHQgLSBzY3JvbGwgPFxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCAqIHRoaXMuaW5maW5pdGVTY3JvbGxEaXN0YW5jZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICAgICAgICAgIGlmICh0aW1lIC0gdGhpcy5sYXN0RXZlbnQgPCB0aGlzLmluZmluaXRlU2Nyb2xsVGhyb3R0bGUpIHJldHVybjtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RFdmVudCA9IHRpbWU7XG4gICAgICAgICAgICAgICAgdGhpcy5lbWl0U2Nyb2xsZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMubGFzdFNjcm9sbCA9IHNjcm9sbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZW1pdFNjcm9sbGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMuc2Nyb2xsZWQuZW1pdCgpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -7,8 +7,8 @@ import * as i3 from "@angular/material/menu";
|
|
|
7
7
|
import * as i4 from "@angular/material/tooltip";
|
|
8
8
|
import * as i5 from "../directives/icon.directive";
|
|
9
9
|
import * as i6 from "@ngx-translate/core";
|
|
10
|
-
import * as i7 from "../pipes/
|
|
11
|
-
import * as i8 from "../pipes/
|
|
10
|
+
import * as i7 from "../pipes/option-tooltip.pipe";
|
|
11
|
+
import * as i8 from "../pipes/replace-chars.pipe";
|
|
12
12
|
/**
|
|
13
13
|
* The dropdown is one base component of the action bar (showing more actions),
|
|
14
14
|
* but can also be used standalone.
|
|
@@ -45,7 +45,7 @@ export class DropdownComponent {
|
|
|
45
45
|
return this._options?.some((o) => o.isEnabled);
|
|
46
46
|
}
|
|
47
47
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: DropdownComponent, deps: [{ token: i1.UIService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: DropdownComponent, selector: "es-dropdown", inputs: { position: "position", options: "options", callbackObject: "callbackObject", showDisabled: "showDisabled", menuClass: "menuClass" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "menuTrigger", first: true, predicate: ["menuTrigger"], descendants: true }], ngImport: i0, template: "<mat-menu\n #dropdown=\"matMenu\"\n class=\"mat-dropdown-menu\"\n [class]=\"menuClass\"\n backdropClass=\"mat-dropdown-menu\"\n [xPosition]=\"position === 'right' ? 'after' : 'before'\"\n>\n <!-- MatMenu has role=\"menu\", so the only meaningful role of descendants is \"menuitem\" -->\n <ul role=\"none\">\n <ng-container *ngFor=\"let option of _options; let i = index\">\n <li *ngIf=\"option.isEnabled || showDisabled\" role=\"none\">\n <button\n mat-menu-item\n class=\"mat-menu-item collection-item-{{\n option.name | replaceChars : { search: '.', replace: '-' }\n }}\"\n matTooltip=\"{{ option | optionTooltip }}\"\n matTooltipPosition=\"right\"\n matTooltipTouchGestures=\"off\"\n [class.mat-menu-item-separate]=\"option.isSeparate || isNewGroup(i)\"\n [class.mat-menu-item-selected]=\"option.isSelected\"\n [disabled]=\"!option.isEnabled\"\n (click)=\"click(option)\"\n attr.data-test=\"menu-item-{{ option.name }}\"\n >\n <i [esIcon]=\"option.icon\"></i> {{ option.name | translate }}\n </button>\n </li>\n </ng-container>\n </ul>\n</mat-menu>\n<div #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"display-none\"></div>\n", styles: ["::ng-deep .mat-dropdown-menu .mat-mdc-menu-content{min-width:200px}::ng-deep .mat-dropdown-menu .mat-mdc-menu-content>ul>li>button{display:flex;align-items:center}::ng-deep .mat-dropdown-menu .mat-mdc-menu-content>ul>li>button:not(:disabled)>span{color:var(--primary)}::ng-deep .mat-dropdown-menu .mat-mdc-menu-content>ul>li>button>i{width:35px}::ng-deep .mat-dropdown-menu .mat-mdc-menu-content:not(:empty){padding:0!important}::ng-deep .mat-dropdown-menu ul{margin:0;list-style:none;padding-left:0}::ng-deep .mat-dropdown-menu ul li .mat-mdc-menu-item .mat-mdc-menu-item-text{display:flex;align-items:center}::ng-deep .mat-dropdown-menu ul li .mat-mdc-menu-item .mat-mdc-menu-item-text i{margin-right:10px}::ng-deep .mat-dropdown-menu ul li .mat-mdc-menu-item:hover:not([disabled]),::ng-deep .mat-dropdown-menu ul li .mat-mdc-menu-item.cdk-focused{color:var(--itemSelectedTextColor);background-color:var(--listItemSelectedBackground)}::ng-deep .mat-dropdown-menu ul li .mat-mdc-menu-item.cdk-keyboard-focused{outline:none;border:var(--focusWidth) solid var(--palette-primary-300)}::ng-deep .mat-dropdown-menu ul li .mat-menu-item-separate{border-top:1px solid #ccc}@media screen and (max-width: calc(var(--mobileWidth) - var(--mobileStage) * 1)){::ng-deep .mat-dropdown-menu ul li.cdk-overlay-backdrop{background:rgba(0,0,0,.8)}::ng-deep .mat-dropdown-menu ul li.mat-menu-panel{position:fixed;bottom:0;left:0;max-width:100%;width:100%;border-radius:0}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.IconDirective, selector: "i[esIcon], i.material-icons", inputs: ["altText", "aria", "esIcon"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: DropdownComponent, selector: "es-dropdown", inputs: { position: "position", options: "options", callbackObject: "callbackObject", showDisabled: "showDisabled", menuClass: "menuClass" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "menuTrigger", first: true, predicate: ["menuTrigger"], descendants: true }], ngImport: i0, template: "<mat-menu\n #dropdown=\"matMenu\"\n class=\"mat-dropdown-menu\"\n [class]=\"menuClass\"\n backdropClass=\"mat-dropdown-menu\"\n [xPosition]=\"position === 'right' ? 'after' : 'before'\"\n>\n <!-- MatMenu has role=\"menu\", so the only meaningful role of descendants is \"menuitem\" -->\n <ul role=\"none\">\n <ng-container *ngFor=\"let option of _options; let i = index\">\n <li *ngIf=\"option.isEnabled || showDisabled\" role=\"none\">\n <button\n mat-menu-item\n class=\"mat-menu-item collection-item-{{\n option.name | replaceChars : { search: '.', replace: '-' }\n }}\"\n matTooltip=\"{{ option | optionTooltip }}\"\n matTooltipPosition=\"right\"\n matTooltipTouchGestures=\"off\"\n [class.mat-menu-item-separate]=\"option.isSeparate || isNewGroup(i)\"\n [class.mat-menu-item-selected]=\"option.isSelected\"\n [disabled]=\"!option.isEnabled\"\n (click)=\"click(option)\"\n attr.data-test=\"menu-item-{{ option.name }}\"\n >\n <i [esIcon]=\"option.icon\"></i> {{ option.name | translate }}\n </button>\n </li>\n </ng-container>\n </ul>\n</mat-menu>\n<div #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"display-none\"></div>\n", styles: ["::ng-deep .mat-dropdown-menu .mat-mdc-menu-content{min-width:200px}::ng-deep .mat-dropdown-menu .mat-mdc-menu-content>ul>li>button{display:flex;align-items:center}::ng-deep .mat-dropdown-menu .mat-mdc-menu-content>ul>li>button:not(:disabled)>span{color:var(--primary)}::ng-deep .mat-dropdown-menu .mat-mdc-menu-content>ul>li>button>i{width:35px}::ng-deep .mat-dropdown-menu .mat-mdc-menu-content:not(:empty){padding:0!important}::ng-deep .mat-dropdown-menu ul{margin:0;list-style:none;padding-left:0}::ng-deep .mat-dropdown-menu ul li .mat-mdc-menu-item .mat-mdc-menu-item-text{display:flex;align-items:center}::ng-deep .mat-dropdown-menu ul li .mat-mdc-menu-item .mat-mdc-menu-item-text i{margin-right:10px}::ng-deep .mat-dropdown-menu ul li .mat-mdc-menu-item:hover:not([disabled]),::ng-deep .mat-dropdown-menu ul li .mat-mdc-menu-item.cdk-focused{color:var(--itemSelectedTextColor);background-color:var(--listItemSelectedBackground)}::ng-deep .mat-dropdown-menu ul li .mat-mdc-menu-item.cdk-keyboard-focused{outline:none;border:var(--focusWidth) solid var(--palette-primary-300)}::ng-deep .mat-dropdown-menu ul li .mat-menu-item-separate{border-top:1px solid #ccc}@media screen and (max-width: calc(var(--mobileWidth) - var(--mobileStage) * 1)){::ng-deep .mat-dropdown-menu ul li.cdk-overlay-backdrop{background:rgba(0,0,0,.8)}::ng-deep .mat-dropdown-menu ul li.mat-menu-panel{position:fixed;bottom:0;left:0;max-width:100%;width:100%;border-radius:0}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.IconDirective, selector: "i[esIcon], i.material-icons", inputs: ["altText", "aria", "esIcon"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.OptionTooltipPipe, name: "optionTooltip" }, { kind: "pipe", type: i8.ReplaceCharsPipe, name: "replaceChars" }] }); }
|
|
49
49
|
}
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
@@ -2,6 +2,13 @@ import { Injectable, InjectionToken } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export const EDU_SHARING_UI_CONFIG = new InjectionToken('EDU_SHARING_API_CONFIG');
|
|
4
4
|
export class EduSharingUiConfiguration {
|
|
5
|
+
constructor() {
|
|
6
|
+
/**
|
|
7
|
+
* Whether this Angular application is being used embedded as a web component by a third-party
|
|
8
|
+
* web page.
|
|
9
|
+
*/
|
|
10
|
+
this.isEmbedded = false;
|
|
11
|
+
}
|
|
5
12
|
static create(params = {}) {
|
|
6
13
|
return { ...new EduSharingUiConfiguration(), ...params };
|
|
7
14
|
}
|
|
@@ -38,4 +45,4 @@ export function getConfigProvider(params) {
|
|
|
38
45
|
},
|
|
39
46
|
];
|
|
40
47
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWR1LXNoYXJpbmctdWktY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvZWR1LXNoYXJpbmctdWktY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBWSxNQUFNLGVBQWUsQ0FBQzs7QUFFckUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQ25ELHdCQUF3QixDQUMzQixDQUFDO0FBS0YsTUFBTSxPQUFPLHlCQUF5QjtJQUh0QztRQUtJOzs7V0FHRztRQUNILGVBQVUsR0FBRyxLQUFLLENBQUM7S0FLdEI7SUFIRyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQTBDLEVBQUU7UUFDdEQsT0FBTyxFQUFFLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFDN0QsQ0FBQzs4R0FWUSx5QkFBeUI7a0hBQXpCLHlCQUF5QixjQUZ0QixNQUFNOzsyRkFFVCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOztBQWdCRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBd0M7SUFDdEUsT0FBTztRQUNILHlGQUF5RjtRQUN6Riw2Q0FBNkM7UUFDN0M7WUFDSSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsRUFBRSxNQUFNO1NBQ25CO1FBQ0QsK0ZBQStGO1FBQy9GLDBFQUEwRTtRQUMxRTtZQUNJLE9BQU8sRUFBRSx5QkFBeUI7WUFDbEMsSUFBSSxFQUFFLENBQUMscUJBQXFCLENBQUM7WUFDN0Isb0RBQW9EO1lBQ3BELFVBQVUsRUFBRSxDQUFDLFlBQTZDLEVBQUUsRUFBRSxDQUMxRCx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1NBQ3JEO1FBQ0Q7WUFDSSxPQUFPLEVBQUUseUJBQXlCO1lBQ2xDLElBQUksRUFBRSxDQUFDLHFCQUFxQixDQUFDO1lBQzdCLG9EQUFvRDtZQUNwRCxVQUFVLEVBQUUsQ0FBQyxZQUE2QyxFQUFFLEVBQUUsQ0FDMUQseUJBQXlCLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUNyRDtLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBFRFVfU0hBUklOR19VSV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RWR1U2hhcmluZ1VpQ29uZmlndXJhdGlvblBhcmFtcz4oXG4gICAgJ0VEVV9TSEFSSU5HX0FQSV9DT05GSUcnLFxuKTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRWR1U2hhcmluZ1VpQ29uZmlndXJhdGlvbiB7XG4gICAgcHJvZHVjdGlvbjogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoaXMgQW5ndWxhciBhcHBsaWNhdGlvbiBpcyBiZWluZyB1c2VkIGVtYmVkZGVkIGFzIGEgd2ViIGNvbXBvbmVudCBieSBhIHRoaXJkLXBhcnR5XG4gICAgICogd2ViIHBhZ2UuXG4gICAgICovXG4gICAgaXNFbWJlZGRlZCA9IGZhbHNlO1xuXG4gICAgc3RhdGljIGNyZWF0ZShwYXJhbXM6IEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb25QYXJhbXMgPSB7fSk6IEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb24ge1xuICAgICAgICByZXR1cm4geyAuLi5uZXcgRWR1U2hhcmluZ1VpQ29uZmlndXJhdGlvbigpLCAuLi5wYXJhbXMgfTtcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb25QYXJhbXMgPSBQYXJ0aWFsPEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb24+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uZmlnUHJvdmlkZXIocGFyYW1zPzogRWR1U2hhcmluZ1VpQ29uZmlndXJhdGlvblBhcmFtcyk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICAgIC8vIFByb3ZpZGUgdGhlIHBhcmFtcyBnaXZlbiB0byBgZm9yUm9vdCgpYC4gVGhlc2UgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGFwcGxpY2F0aW9uIGJ5XG4gICAgICAgIC8vIHByb3ZpZGluZyBgRURVX1NIQVJJTkdfQVBJX0NPTkZJR2AgaXRzZWxmLlxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBFRFVfU0hBUklOR19VSV9DT05GSUcsXG4gICAgICAgICAgICB1c2VWYWx1ZTogcGFyYW1zLFxuICAgICAgICB9LFxuICAgICAgICAvLyBJbmplY3QgYGNvbmZpZ3VyYXRpb25gIGFzIGJvdGgsIGBBcGlDb25maWd1cmF0aW9uYCBhbmQgYEVkdVNoYXJpbmdBcGlDb25maWd1cmF0aW9uYCwgdG8gcGFzc1xuICAgICAgICAvLyBgcm9vdFVybGAgb24gdG8gYEFwaU1vZHVsZWAgd2hpbGUgYWxzbyBhZGRpbmcgb3VyIGN1c3RvbSBjb25maWd1cmF0aW9uLlxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uLFxuICAgICAgICAgICAgZGVwczogW0VEVV9TSEFSSU5HX1VJX0NPTkZJR10sXG4gICAgICAgICAgICAvLyBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBFRFVfU0hBUklOR19BUElfQ09ORklHXV0sXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoY29uZmlnUGFyYW1zOiBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uUGFyYW1zKSA9PlxuICAgICAgICAgICAgICAgIEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb24uY3JlYXRlKGNvbmZpZ1BhcmFtcyksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICBkZXBzOiBbRURVX1NIQVJJTkdfVUlfQ09ORklHXSxcbiAgICAgICAgICAgIC8vIGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIEVEVV9TSEFSSU5HX0FQSV9DT05GSUddXSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChjb25maWdQYXJhbXM6IEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb25QYXJhbXMpID0+XG4gICAgICAgICAgICAgICAgRWR1U2hhcmluZ1VpQ29uZmlndXJhdGlvbi5jcmVhdGUoY29uZmlnUGFyYW1zKSxcbiAgICAgICAgfSxcbiAgICBdO1xufVxuIl19
|
|
@@ -22,15 +22,15 @@ export class ListBaseComponent extends ListWidget {
|
|
|
22
22
|
ngOnChanges(changes) {
|
|
23
23
|
if (this.node && this.item) {
|
|
24
24
|
this.customTemplate = this.nodeEntriesGlobalService.getCustomFieldTemplate(this.item, this.node);
|
|
25
|
+
this.widgetType = Object.entries(AVAILABLE_LIST_WIDGETS).find(([id, w]) => w?.supportedItems?.filter((i) => i.type === this.item.type &&
|
|
26
|
+
(i.name === this.item.name || i.name === '*')).length > 0)?.[0];
|
|
25
27
|
if (this.customTemplate) {
|
|
26
28
|
this.widgetType = ListWidgetType.Custom;
|
|
27
29
|
}
|
|
28
30
|
else if (this.forceText) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
this.widgetType = Object.entries(AVAILABLE_LIST_WIDGETS).find(([id, w]) => w?.supportedItems?.filter((i) => i.type === this.item.type &&
|
|
33
|
-
(i.name === this.item.name || i.name === '*')).length > 0)?.[0];
|
|
31
|
+
if (![ListWidgetType.NodeCounts, ListWidgetType.Text].includes(this.widgetType)) {
|
|
32
|
+
this.widgetType = ListWidgetType.Text;
|
|
33
|
+
}
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
43
43
|
}], ctorParameters: function () { return [{ type: i1.NodeEntriesGlobalService }]; }, propDecorators: { forceText: [{
|
|
44
44
|
type: Input
|
|
45
45
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LWJhc2UvbGlzdC1iYXNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LWJhc2UvbGlzdC1iYXNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF5QyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBUTVDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFVO0lBTzdDLFlBQW9CLHdCQUFrRDtRQUNsRSxLQUFLLEVBQUUsQ0FBQztRQURRLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFOdEU7O1dBRUc7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBSzNCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsc0JBQXNCLENBQ3RFLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLElBQVksQ0FDcEIsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLElBQUksQ0FDekQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ1IsQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQ3JCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDRixDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDekIsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQ3BELENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDbkIsRUFBRSxDQUFDLENBQUMsQ0FBbUIsQ0FBQztZQUN6QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQzthQUMzQztpQkFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQzdFLElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztpQkFDekM7YUFDSjtTQUNKO0lBQ0wsQ0FBQzs4R0FqQ1EsaUJBQWlCO2tHQUFqQixpQkFBaUIsb0lDVjlCLGk1Q0FvREE7OzJGRDFDYSxpQkFBaUI7a0JBSjdCLFNBQVM7K0JBQ0ksY0FBYzsrR0FPZixTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVZBSUxBQkxFX0xJU1RfV0lER0VUUywgTGlzdFdpZGdldFR5cGUgfSBmcm9tICcuLi9hdmFpbGFibGUtd2lkZ2V0cyc7XG5pbXBvcnQgeyBMaXN0V2lkZ2V0IH0gZnJvbSAnLi4vbGlzdC13aWRnZXQnO1xuaW1wb3J0IHsgTm9kZUVudHJpZXNHbG9iYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbm9kZS1lbnRyaWVzL25vZGUtZW50cmllcy1nbG9iYWwuc2VydmljZSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXMtbGlzdC1iYXNlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1iYXNlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdEJhc2VDb21wb25lbnQgZXh0ZW5kcyBMaXN0V2lkZ2V0IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiB1c2UgdGV4dCBvbmx5IHdpZGdldHMgKGZvciB0YWJsZSlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBmb3JjZVRleHQgPSBmYWxzZTtcbiAgICB3aWRnZXRUeXBlOiBMaXN0V2lkZ2V0VHlwZTtcbiAgICBjdXN0b21UZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBub2RlRW50cmllc0dsb2JhbFNlcnZpY2U6IE5vZGVFbnRyaWVzR2xvYmFsU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubm9kZSAmJiB0aGlzLml0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVGVtcGxhdGUgPSB0aGlzLm5vZGVFbnRyaWVzR2xvYmFsU2VydmljZS5nZXRDdXN0b21GaWVsZFRlbXBsYXRlKFxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbSxcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUgYXMgTm9kZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLndpZGdldFR5cGUgPSBPYmplY3QuZW50cmllcyhBVkFJTEFCTEVfTElTVF9XSURHRVRTKS5maW5kKFxuICAgICAgICAgICAgICAgIChbaWQsIHddKSA9PlxuICAgICAgICAgICAgICAgICAgICB3Py5zdXBwb3J0ZWRJdGVtcz8uZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGkpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaS50eXBlID09PSB0aGlzLml0ZW0udHlwZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpLm5hbWUgPT09IHRoaXMuaXRlbS5uYW1lIHx8IGkubmFtZSA9PT0gJyonKSxcbiAgICAgICAgICAgICAgICAgICAgKS5sZW5ndGggPiAwLFxuICAgICAgICAgICAgKT8uWzBdIGFzIExpc3RXaWRnZXRUeXBlO1xuICAgICAgICAgICAgaWYgKHRoaXMuY3VzdG9tVGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLndpZGdldFR5cGUgPSBMaXN0V2lkZ2V0VHlwZS5DdXN0b207XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZm9yY2VUZXh0KSB7XG4gICAgICAgICAgICAgICAgaWYgKCFbTGlzdFdpZGdldFR5cGUuTm9kZUNvdW50cywgTGlzdFdpZGdldFR5cGUuVGV4dF0uaW5jbHVkZXModGhpcy53aWRnZXRUeXBlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLndpZGdldFR5cGUgPSBMaXN0V2lkZ2V0VHlwZS5UZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIndpZGdldFR5cGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0N1c3RvbSdcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICBjdXN0b21UZW1wbGF0ZTtcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgIGl0ZW06IHRoaXMuaXRlbSxcbiAgICAgICAgICBub2RlOiB0aGlzLm5vZGUsXG4gICAgICAgICAgcHJvdmlkZUxhYmVsOiB0aGlzLnByb3ZpZGVMYWJlbCxcbiAgICAgICAgICBmb3JjZVRleHQ6IHRoaXMuZm9yY2VUZXh0XG4gICAgICAgIH1cbiAgICAgIFwiXG4gICAgPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGVzLWxpc3QtY29sbGVjdGlvbi1pbmZvXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidDb2xsZWN0aW9uSW5mbydcIlxuICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgIFtub2RlXT1cIm5vZGVcIlxuICAgIFtwcm92aWRlTGFiZWxdPVwicHJvdmlkZUxhYmVsXCJcbiAgPjwvZXMtbGlzdC1jb2xsZWN0aW9uLWluZm8+XG4gIDxlcy1saXN0LXRleHRcbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ1RleHQnXCJcbiAgICBbaXRlbV09XCJpdGVtXCJcbiAgICBbbm9kZV09XCJub2RlXCJcbiAgICBbcHJvdmlkZUxhYmVsXT1cInByb3ZpZGVMYWJlbFwiXG4gID48L2VzLWxpc3QtdGV4dD5cbiAgPGVzLWxpc3QtY291bnRzXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidOb2RlQ291bnRzJ1wiXG4gICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgW25vZGVdPVwibm9kZVwiXG4gICAgW3Byb3ZpZGVMYWJlbF09XCJwcm92aWRlTGFiZWxcIlxuICA+PC9lcy1saXN0LWNvdW50cz5cbiAgPGVzLWxpc3Qtbm9kZS1saWNlbnNlXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidOb2RlTGljZW5zZSdcIlxuICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgIFtub2RlXT1cIm5vZGVcIlxuICAgIFtwcm92aWRlTGFiZWxdPVwicHJvdmlkZUxhYmVsXCJcbiAgPjwvZXMtbGlzdC1ub2RlLWxpY2Vuc2U+XG4gIDxlcy1saXN0LW5vZGUtcmVwbGljYXRpb24tc291cmNlXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidOb2RlUmVwbGljYXRpb25Tb3VyY2UnXCJcbiAgICBbaXRlbV09XCJpdGVtXCJcbiAgICBbbm9kZV09XCJub2RlXCJcbiAgICBbcHJvdmlkZUxhYmVsXT1cInByb3ZpZGVMYWJlbFwiXG4gID48L2VzLWxpc3Qtbm9kZS1yZXBsaWNhdGlvbi1zb3VyY2U+XG4gIDxlcy1saXN0LW5vZGUtd29ya2Zsb3dcbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ05vZGVXb3JrZmxvdydcIlxuICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgIFtub2RlXT1cIm5vZGVcIlxuICAgIFtwcm92aWRlTGFiZWxdPVwicHJvdmlkZUxhYmVsXCJcbiAgPjwvZXMtbGlzdC1ub2RlLXdvcmtmbG93PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -6,8 +6,10 @@ export class ListCountsComponent extends ListWidget {
|
|
|
6
6
|
static { this.supportedItems = [
|
|
7
7
|
new ListItem('NODE', 'counts.OVERALL'),
|
|
8
8
|
new ListItem('NODE', 'counts.VIEW_MATERIAL'),
|
|
9
|
+
new ListItem('NODE', 'counts.VIEW_COLLECTION'),
|
|
9
10
|
new ListItem('NODE', 'counts.VIEW_MATERIAL_EMBEDDED'),
|
|
10
11
|
new ListItem('NODE', 'counts.VIEW_MATERIAL_PLAY_MEDIA'),
|
|
12
|
+
new ListItem('NODE', 'counts.OPEN_EXTERNAL_LINK'),
|
|
11
13
|
new ListItem('NODE', 'counts.DOWNLOAD_MATERIAL'),
|
|
12
14
|
]; }
|
|
13
15
|
static getCountSingle(node, id, group = null) {
|
|
@@ -51,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
51
53
|
type: Component,
|
|
52
54
|
args: [{ selector: 'es-list-counts', template: "{{ getCount() }}\n", styles: [":host{white-space:pre-line}\n"] }]
|
|
53
55
|
}] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb3VudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9saXN0LWl0ZW1zL2xpc3QtY291bnRzL2xpc3QtY291bnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LWNvdW50cy9saXN0LWNvdW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBUWpELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxVQUFVO2FBQ3hDLG1CQUFjLEdBQUc7UUFDcEIsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDO1FBQ3RDLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQztRQUM1QyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLENBQUM7UUFDOUMsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLCtCQUErQixDQUFDO1FBQ3JELElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxpQ0FBaUMsQ0FBQztRQUN2RCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLENBQUM7UUFDakQsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLDBCQUEwQixDQUFDO0tBQ25ELENBQUM7SUFFRixNQUFNLENBQUMsY0FBYyxDQUFDLElBQXFCLEVBQUUsRUFBVSxFQUFFLFFBQWdCLElBQUk7UUFDekUsTUFBTSxNQUFNLEdBQUksSUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNwQyxJQUFJLEVBQUUsS0FBSyxTQUFTLEVBQUU7WUFDbEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7aUJBQzVCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM5QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDaEM7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBcUIsRUFBRSxFQUFVO1FBQzdDLE1BQU0sTUFBTSxHQUFJLElBQVksQ0FBQyxNQUFNLENBQUM7UUFDcEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNkLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDbkIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzdDLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQzNCLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3lCQUMxQyxHQUFHLENBQ0EsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNOLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQzt3QkFDZCxJQUFJO3dCQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUN0RTt5QkFDQSxJQUFJLENBQUMsSUFBSSxDQUFDO3lCQUNWLElBQUksRUFBRSxDQUFDO2lCQUNmO2FBQ0o7U0FDSjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBdUIsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDOzhHQWpEUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw2RUNWaEMsb0JBQ0E7OzJGRFNhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3RXaWRnZXQgfSBmcm9tICcuLi9saXN0LXdpZGdldCc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uLy4uL3R5cGVzL2xpc3QtaXRlbSc7XG5pbXBvcnQgeyBTdGF0aXN0aWNzR3JvdXAgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1saXN0LWNvdW50cycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtY291bnRzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saXN0LWNvdW50cy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q291bnRzQ29tcG9uZW50IGV4dGVuZHMgTGlzdFdpZGdldCB7XG4gICAgc3RhdGljIHN1cHBvcnRlZEl0ZW1zID0gW1xuICAgICAgICBuZXcgTGlzdEl0ZW0oJ05PREUnLCAnY291bnRzLk9WRVJBTEwnKSxcbiAgICAgICAgbmV3IExpc3RJdGVtKCdOT0RFJywgJ2NvdW50cy5WSUVXX01BVEVSSUFMJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnTk9ERScsICdjb3VudHMuVklFV19DT0xMRUNUSU9OJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnTk9ERScsICdjb3VudHMuVklFV19NQVRFUklBTF9FTUJFRERFRCcpLFxuICAgICAgICBuZXcgTGlzdEl0ZW0oJ05PREUnLCAnY291bnRzLlZJRVdfTUFURVJJQUxfUExBWV9NRURJQScpLFxuICAgICAgICBuZXcgTGlzdEl0ZW0oJ05PREUnLCAnY291bnRzLk9QRU5fRVhURVJOQUxfTElOSycpLFxuICAgICAgICBuZXcgTGlzdEl0ZW0oJ05PREUnLCAnY291bnRzLkRPV05MT0FEX01BVEVSSUFMJyksXG4gICAgXTtcblxuICAgIHN0YXRpYyBnZXRDb3VudFNpbmdsZShub2RlOiBTdGF0aXN0aWNzR3JvdXAsIGlkOiBzdHJpbmcsIGdyb3VwOiBudW1iZXIgPSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGNvdW50cyA9IChub2RlIGFzIGFueSkuY291bnRzO1xuICAgICAgICBpZiAoaWQgPT09ICdPVkVSQUxMJykge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGNvdW50cy5jb3VudHMpXG4gICAgICAgICAgICAgICAgLm1hcCgoYykgPT4gKGdyb3VwID8gZ3JvdXAgOiBjb3VudHMuY291bnRzW2NdKSlcbiAgICAgICAgICAgICAgICAucmVkdWNlKChhLCBiKSA9PiBhICsgYik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChncm91cCA/IGdyb3VwIDogY291bnRzLmNvdW50c1tpZF0pIHx8IDA7XG4gICAgfVxuICAgIHN0YXRpYyBnZXRDb3VudChub2RlOiBTdGF0aXN0aWNzR3JvdXAsIGlkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgY291bnRzID0gKG5vZGUgYXMgYW55KS5jb3VudHM7XG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLmdldENvdW50U2luZ2xlKG5vZGUsIGlkKTtcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGNvdW50cy5ncm91cHMpPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBpMSA9IGlkO1xuICAgICAgICAgICAgaWYgKGNvdW50cy5ncm91cHNbaTFdKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaTIgPSBPYmplY3Qua2V5cyhjb3VudHMuZ3JvdXBzW2kxXSlbMF07XG4gICAgICAgICAgICAgICAgaWYgKGNvdW50cy5ncm91cHM/LltpMV0/LltpMl0pIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gT2JqZWN0LmtleXMoY291bnRzLmdyb3Vwcz8uW2kxXT8uW2kyXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdyb3VwKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ3JvdXAgfHwgJy0nKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6ICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldENvdW50U2luZ2xlKG5vZGUsIGlkLCBjb3VudHMuZ3JvdXBzPy5baTFdPy5baTJdW2dyb3VwXSksXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAuam9pbignXFxuJylcbiAgICAgICAgICAgICAgICAgICAgICAgIC50cmltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgZ2V0SWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW0ubmFtZS5zcGxpdCgnLicpWzFdO1xuICAgIH1cblxuICAgIGdldENvdW50KCkge1xuICAgICAgICByZXR1cm4gTGlzdENvdW50c0NvbXBvbmVudC5nZXRDb3VudCh0aGlzLm5vZGUgYXMgU3RhdGlzdGljc0dyb3VwLCB0aGlzLmdldElkKCkpO1xuICAgIH1cbn1cbiIsInt7IGdldENvdW50KCkgfX1cbiJdfQ==
|
|
@@ -9,15 +9,17 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
import * as i1 from "../../services/node-helper.service";
|
|
10
10
|
import * as i2 from "ngx-edu-sharing-api";
|
|
11
11
|
import * as i3 from "@angular/common";
|
|
12
|
-
import * as i4 from "
|
|
13
|
-
import * as i5 from "
|
|
14
|
-
import * as i6 from "
|
|
15
|
-
import * as i7 from "../../pipes/
|
|
16
|
-
import * as i8 from "../../pipes/
|
|
17
|
-
import * as i9 from "../../pipes/
|
|
18
|
-
import * as i10 from "
|
|
19
|
-
import * as i11 from "
|
|
20
|
-
import * as i12 from "
|
|
12
|
+
import * as i4 from "../../directives/check-text-overflow.directive";
|
|
13
|
+
import * as i5 from "@angular/material/tooltip";
|
|
14
|
+
import * as i6 from "../list-node-workflow/list-node-workflow.component";
|
|
15
|
+
import * as i7 from "../../pipes/format-date.pipe";
|
|
16
|
+
import * as i8 from "../../pipes/file-size.pipe";
|
|
17
|
+
import * as i9 from "../../pipes/node-image-size.pipe";
|
|
18
|
+
import * as i10 from "../../pipes/node-person-name.pipe";
|
|
19
|
+
import * as i11 from "../../pipes/vcard-name.pipe";
|
|
20
|
+
import * as i12 from "@ngx-translate/core";
|
|
21
|
+
import * as i13 from "../node-source.pipe";
|
|
22
|
+
import * as i14 from "../format-duration.pipe";
|
|
21
23
|
export class ListTextComponent extends ListWidget {
|
|
22
24
|
static { this.supportedItems = [
|
|
23
25
|
new ListItem('NODE', '*'),
|
|
@@ -79,7 +81,7 @@ export class ListTextComponent extends ListWidget {
|
|
|
79
81
|
: node.properties[this.item.name]?.join(', '));
|
|
80
82
|
const mds = await this.mds
|
|
81
83
|
.getMetadataSet({
|
|
82
|
-
repository: node.ref?.repo,
|
|
84
|
+
repository: node.ref?.repo || Constants.HOME_REPOSITORY,
|
|
83
85
|
metadataSet: node.metadataset || Constants.DEFAULT,
|
|
84
86
|
})
|
|
85
87
|
.toPromise();
|
|
@@ -97,10 +99,10 @@ export class ListTextComponent extends ListWidget {
|
|
|
97
99
|
*/
|
|
98
100
|
}
|
|
99
101
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ListTextComponent, deps: [{ token: i1.NodeHelperService }, { token: i2.MdsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ListTextComponent, selector: "es-list-text", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"item.config?.showLabel\">\n {{ getI18n(item) | translate }}\n</label>\n<ng-container *ngIf=\"item.type === 'ORG' || item.type === 'GROUP'\">\n <ng-container [ngSwitch]=\"item.name\">\n <span *ngSwitchCase=\"'displayName'\" [class.type-danger]=\"isDangerousGroup()\">\n {{ $any(getNode()).profile
|
|
102
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ListTextComponent, selector: "es-list-text", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"item.config?.showLabel\">\n {{ getI18n(item) | translate }}\n</label>\n<ng-container *ngIf=\"item.type === 'ORG' || item.type === 'GROUP'\">\n <ng-container [ngSwitch]=\"item.name\">\n <span *ngSwitchCase=\"'displayName'\" [class.type-danger]=\"isDangerousGroup()\">\n {{ $any(getNode()).profile?.displayName || $any(getNode()).authorityName }}\n </span>\n <span *ngSwitchCase=\"'groupType'\">\n {{ 'PERMISSIONS.GROUP_TYPE.' + $any(getNode()).profile?.groupType | translate }}\n </span>\n <span *ngSwitchDefault>\n {{ $any(getNode())[item.name] }}\n </span>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"item.type === 'USER'\">\n <span *ngIf=\"isUserProfileAttribute(item.name)\">\n {{ $any(getNode()).profile?.[item.name] }}\n </span>\n <span *ngIf=\"item.name === 'status'\">\n {{ 'PERMISSIONS.USER_STATUS.' + $any(getNode()).status.status | translate }}\n </span>\n <span *ngIf=\"!isUserProfileAttribute(item.name) && item.name !== 'status'\">\n {{ $any(getNode())[item.name] }}\n </span>\n</ng-container>\n<ng-container\n [ngSwitch]=\"item.name\"\n *ngIf=\"item.type === 'NODE' || item.type === 'NODE_PROPOSAL' || item.type === 'COLLECTION'\"\n>\n <span *ngSwitchCase=\"'name'\">\n {{ $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'mediatype'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'MEDIATYPE.' + $any(getNode()).mediatype | translate }}\n </span>\n <span *ngSwitchCase=\"'size'\" [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\">\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).size | formatSize }}\n </span>\n <span\n *ngSwitchCase=\"'dimensions'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()) | NodeImageSize }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:wf_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <es-list-node-workflow\n [item]=\"item\"\n [node]=\"node\"\n [provideLabel]=\"false\"\n ></es-list-node-workflow>\n <!--<span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'WORKFLOW.' + getWorkflowStatus().id | translate }}-->\n </span>\n <span\n *ngSwitchCase=\"'cm:creator'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).createdBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'cm:modifier'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cm:modifier' | translate }}:</span\n >\n {{ $any(getNode()).modifiedBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:replicationsource'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:replicationsource' | translate }}:</span\n >\n {{ $any(getNode()).properties['ccm:replicationsource'] | appNodeSource : { mode: 'text' } }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:commonlicense_key'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:commonlicense_key' | translate }}:</span\n >\n <ng-container *ngIf=\"$any(getNode()).properties['ccm:commonlicense_key'] as license\">\n {{\n license[0] === 'CUSTOM'\n ? $any(getNode()).properties['cclom:rights_description']\n : ('LICENSE.NAMES.' + $any(getNode()).properties['ccm:commonlicense_key']\n | translate : { fallback: $any(getNode()).properties['ccm:commonlicense_key'] })\n }}\n </ng-container>\n <ng-container *ngIf=\"!$any(getNode()).properties['ccm:commonlicense_key']\">\n {{ 'LICENSE.NAMES.NONE' | translate }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'ccm:educationaltypicalagerange'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:educationaltypicalagerange' | translate }}:</span\n >\n <ng-container\n *ngIf=\"\n $any(getNode()).properties['ccm:educationaltypicalagerange_from'] ||\n $any(getNode()).properties['ccm:educationaltypicalagerange_to']\n \"\n >\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_from'] }} -\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_to'] }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'cclom:duration'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cclom:duration' | translate }}:</span\n >\n {{ $any(getNode()).properties['cclom:duration']?.[0] | formatDuration }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:collection_proposal_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:collection_proposal_status' | translate }}:</span\n >\n <!-- use node instead of getNode() to access the raw proposal data! -->\n {{ ('PROPOSAL_STATUS.' + $any(node).properties['ccm:collection_proposal_status']?.[0]) | translate:{fallback: ''} }}\n </span>\n <span\n *ngSwitchDefault\n esCheckTextOverflow\n #text=\"esCheckTextOverflow\"\n [matTooltip]=\"\n provideLabel ? (getI18n(item) | translate) : text.hasTextOverflow() ? content.innerText : null\n \"\n #content\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n <ng-container *ngIf=\"['title', 'cm:title', 'cclom:title'].includes(item.name)\">\n {{ $any(getNode()).title || $any(getNode()).name }}\n </ng-container>\n <ng-container *ngIf=\"!['title', 'cm:title', 'cclom:title'].includes(item.name)\">\n <ng-container\n *ngIf=\"DATE_FIELDS.indexOf(item.name) === -1 && VCARD_FIELDS.indexOf(item.name) === -1\"\n >\n {{ displayName$ | async }}\n </ng-container>\n <ng-container *ngIf=\"DATE_FIELDS.includes(item.name)\">\n {{ $any(getNode()).properties[item.name]?.[0] | formatDate: { async: true, time: true, relative: true } | async }}\n </ng-container>\n <ng-container *ngIf=\"VCARD_FIELDS.includes(item.name)\">\n {{\n $any(getNode()).properties[item.name]\n ? ($any(getNode()).properties[item.name][0] | vcardName)\n : ''\n }}\n </ng-container>\n </ng-container>\n </span>\n</ng-container>\n", styles: [".type-danger{color:var(--warning)}span{display:block}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.CheckTextOverflowDirective, selector: "[esCheckTextOverflow]", inputs: ["esCheckTextOverflow"], exportAs: ["esCheckTextOverflow"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.ListNodeWorkflowComponent, selector: "es-list-node-workflow" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.FormatDatePipe, name: "formatDate" }, { kind: "pipe", type: i8.FormatSizePipe, name: "formatSize" }, { kind: "pipe", type: i9.NodeImageSizePipe, name: "NodeImageSize" }, { kind: "pipe", type: i10.NodePersonNamePipe, name: "nodePersonName" }, { kind: "pipe", type: i11.VCardNamePipe, name: "vcardName" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.NodeSourcePipe, name: "appNodeSource" }, { kind: "pipe", type: i14.FormatDurationPipe, name: "formatDuration" }] }); }
|
|
101
103
|
}
|
|
102
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ListTextComponent, decorators: [{
|
|
103
105
|
type: Component,
|
|
104
|
-
args: [{ selector: 'es-list-text', template: "<label *ngIf=\"item.config?.showLabel\">\n {{ getI18n(item) | translate }}\n</label>\n<ng-container *ngIf=\"item.type === 'ORG' || item.type === 'GROUP'\">\n <ng-container [ngSwitch]=\"item.name\">\n <span *ngSwitchCase=\"'displayName'\" [class.type-danger]=\"isDangerousGroup()\">\n {{ $any(getNode()).profile
|
|
106
|
+
args: [{ selector: 'es-list-text', template: "<label *ngIf=\"item.config?.showLabel\">\n {{ getI18n(item) | translate }}\n</label>\n<ng-container *ngIf=\"item.type === 'ORG' || item.type === 'GROUP'\">\n <ng-container [ngSwitch]=\"item.name\">\n <span *ngSwitchCase=\"'displayName'\" [class.type-danger]=\"isDangerousGroup()\">\n {{ $any(getNode()).profile?.displayName || $any(getNode()).authorityName }}\n </span>\n <span *ngSwitchCase=\"'groupType'\">\n {{ 'PERMISSIONS.GROUP_TYPE.' + $any(getNode()).profile?.groupType | translate }}\n </span>\n <span *ngSwitchDefault>\n {{ $any(getNode())[item.name] }}\n </span>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"item.type === 'USER'\">\n <span *ngIf=\"isUserProfileAttribute(item.name)\">\n {{ $any(getNode()).profile?.[item.name] }}\n </span>\n <span *ngIf=\"item.name === 'status'\">\n {{ 'PERMISSIONS.USER_STATUS.' + $any(getNode()).status.status | translate }}\n </span>\n <span *ngIf=\"!isUserProfileAttribute(item.name) && item.name !== 'status'\">\n {{ $any(getNode())[item.name] }}\n </span>\n</ng-container>\n<ng-container\n [ngSwitch]=\"item.name\"\n *ngIf=\"item.type === 'NODE' || item.type === 'NODE_PROPOSAL' || item.type === 'COLLECTION'\"\n>\n <span *ngSwitchCase=\"'name'\">\n {{ $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'mediatype'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'MEDIATYPE.' + $any(getNode()).mediatype | translate }}\n </span>\n <span *ngSwitchCase=\"'size'\" [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\">\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).size | formatSize }}\n </span>\n <span\n *ngSwitchCase=\"'dimensions'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()) | NodeImageSize }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:wf_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <es-list-node-workflow\n [item]=\"item\"\n [node]=\"node\"\n [provideLabel]=\"false\"\n ></es-list-node-workflow>\n <!--<span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'WORKFLOW.' + getWorkflowStatus().id | translate }}-->\n </span>\n <span\n *ngSwitchCase=\"'cm:creator'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).createdBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'cm:modifier'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cm:modifier' | translate }}:</span\n >\n {{ $any(getNode()).modifiedBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:replicationsource'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:replicationsource' | translate }}:</span\n >\n {{ $any(getNode()).properties['ccm:replicationsource'] | appNodeSource : { mode: 'text' } }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:commonlicense_key'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:commonlicense_key' | translate }}:</span\n >\n <ng-container *ngIf=\"$any(getNode()).properties['ccm:commonlicense_key'] as license\">\n {{\n license[0] === 'CUSTOM'\n ? $any(getNode()).properties['cclom:rights_description']\n : ('LICENSE.NAMES.' + $any(getNode()).properties['ccm:commonlicense_key']\n | translate : { fallback: $any(getNode()).properties['ccm:commonlicense_key'] })\n }}\n </ng-container>\n <ng-container *ngIf=\"!$any(getNode()).properties['ccm:commonlicense_key']\">\n {{ 'LICENSE.NAMES.NONE' | translate }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'ccm:educationaltypicalagerange'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:educationaltypicalagerange' | translate }}:</span\n >\n <ng-container\n *ngIf=\"\n $any(getNode()).properties['ccm:educationaltypicalagerange_from'] ||\n $any(getNode()).properties['ccm:educationaltypicalagerange_to']\n \"\n >\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_from'] }} -\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_to'] }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'cclom:duration'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cclom:duration' | translate }}:</span\n >\n {{ $any(getNode()).properties['cclom:duration']?.[0] | formatDuration }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:collection_proposal_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:collection_proposal_status' | translate }}:</span\n >\n <!-- use node instead of getNode() to access the raw proposal data! -->\n {{ ('PROPOSAL_STATUS.' + $any(node).properties['ccm:collection_proposal_status']?.[0]) | translate:{fallback: ''} }}\n </span>\n <span\n *ngSwitchDefault\n esCheckTextOverflow\n #text=\"esCheckTextOverflow\"\n [matTooltip]=\"\n provideLabel ? (getI18n(item) | translate) : text.hasTextOverflow() ? content.innerText : null\n \"\n #content\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n <ng-container *ngIf=\"['title', 'cm:title', 'cclom:title'].includes(item.name)\">\n {{ $any(getNode()).title || $any(getNode()).name }}\n </ng-container>\n <ng-container *ngIf=\"!['title', 'cm:title', 'cclom:title'].includes(item.name)\">\n <ng-container\n *ngIf=\"DATE_FIELDS.indexOf(item.name) === -1 && VCARD_FIELDS.indexOf(item.name) === -1\"\n >\n {{ displayName$ | async }}\n </ng-container>\n <ng-container *ngIf=\"DATE_FIELDS.includes(item.name)\">\n {{ $any(getNode()).properties[item.name]?.[0] | formatDate: { async: true, time: true, relative: true } | async }}\n </ng-container>\n <ng-container *ngIf=\"VCARD_FIELDS.includes(item.name)\">\n {{\n $any(getNode()).properties[item.name]\n ? ($any(getNode()).properties[item.name][0] | vcardName)\n : ''\n }}\n </ng-container>\n </ng-container>\n </span>\n</ng-container>\n", styles: [".type-danger{color:var(--warning)}span{display:block}\n"] }]
|
|
105
107
|
}], ctorParameters: function () { return [{ type: i1.NodeHelperService }, { type: i2.MdsService }, { type: i0.ChangeDetectorRef }]; } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQWtDLGFBQWEsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEtBQUssU0FBUyxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU9qRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsVUFBVTthQUN0QyxtQkFBYyxHQUFHO1FBQ3BCLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7UUFDekIsSUFBSSxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQztRQUNsQyxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO1FBQy9CLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7UUFDeEIsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQztRQUMxQixJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxD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SSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDcEQsQ0FBQztRQUVGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUc7YUFDckIsY0FBYyxDQUFDO1lBQ1osVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSTtZQUMxQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUMsT0FBTztTQUNyRCxDQUFDO2FBQ0QsU0FBUyxFQUFFLENBQUM7UUFDakIsUUFBUTtRQUNSOzs7Ozs7Ozs7O1dBVUc7SUFDUCxDQUFDOzhHQTNGUSxpQkFBaUI7a0dBQWpCLGlCQUFpQixnR0NkOUIsNmdPQWdMQTs7MkZEbEthLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDSSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZHNTZXJ2aWNlLCBOb2RlLCBPcmdhbml6YXRpb24sIFJlc3RDb25zdGFudHMsIFByb3Bvc2FsTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcy9saXN0LWl0ZW0nO1xuaW1wb3J0IHsgTGlzdFdpZGdldCB9IGZyb20gJy4uL2xpc3Qtd2lkZ2V0JztcbmltcG9ydCB7IE5vZGVIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBDb25zdGFudHMgZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXMtbGlzdC10ZXh0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC10ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saXN0LXRleHQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdFRleHRDb21wb25lbnQgZXh0ZW5kcyBMaXN0V2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzdGF0aWMgc3VwcG9ydGVkSXRlbXMgPSBbXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnTk9ERScsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnTk9ERV9QUk9QT1NBTCcsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnQ09MTEVDVElPTicsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnT1JHJywgJyonKSxcbiAgICAgICAgbmV3IExpc3RJdGVtKCdHUk9VUCcsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnVVNFUicsICcqJyksXG4gICAgXTtcbiAgICByZWFkb25seSBEQVRFX0ZJRUxEUyA9IFJlc3RDb25zdGFudHMuREFURV9GSUVMRFM7XG4gICAgcmVhZG9ubHkgVkNBUkRfRklFTERTID0gUmVzdENvbnN0YW50cy5nZXRBbGxWQ2FyZEZpZWxkcygpO1xuICAgIGRpc3BsYXlOYW1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5vZGVIZWxwZXI6IE5vZGVIZWxwZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1kczogTWRzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge31cblxuICAgIGFzeW5jIG5nT25Jbml0KCkge1xuICAgICAgICBtZXJnZShbdGhpcy5ub2RlU3ViamVjdCwgdGhpcy5pdGVtU3ViamVjdF0pXG4gICAgICAgICAgICAucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy51cGRhdGVEaXNwbGF5bmFtZSgpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRpc3BsYXlOYW1lKSA9PiB7fSk7XG4gICAgfVxuICAgIGdldE5vZGUoKSB7XG4gICAgICAgIGlmICh0aGlzLml0ZW0udHlwZSA9PT0gJ05PREVfUFJPUE9TQUwnKSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMubm9kZSBhcyBQcm9wb3NhbE5vZGUpLnByb3Bvc2FsIHx8IHRoaXMubm9kZTtcbiAgICAgICAgfSBlbHNlIGlmICgodGhpcy5ub2RlIGFzIE5vZGUpLnR5cGUgPT09IFJlc3RDb25zdGFudHMuQ0NNX1RZUEVfQ09MTEVDVElPTl9QUk9QT1NBTCkge1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzLm5vZGUgYXMgTm9kZSkucmVsYXRpb25zPy5PcmlnaW5hbCA/PyB0aGlzLm5vZGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgICB9XG5cbiAgICBpc1VzZXJQcm9maWxlQXR0cmlidXRlKGF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgUmVzdENvbnN0YW50cy5BVVRIT1JJVFlfRklSU1ROQU1FLFxuICAgICAgICAgICAgICAgIFJlc3RDb25zdGFudHMuQVVUSE9SSVRZX0xBU1ROQU1FLFxuICAgICAgICAgICAgICAgIFJlc3RDb25zdGFudHMuQVVUSE9SSVRZX0VNQUlMLFxuICAgICAgICAgICAgXS5pbmRleE9mKGF0dHJpYnV0ZSkgIT09IC0xXG4gICAgICAgICk7XG4gICAgfVxuICAgIGdldFdvcmtmbG93U3RhdHVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlSGVscGVyLmdldFdvcmtmbG93U3RhdHVzKHRoaXMubm9kZSBhcyBOb2RlKS5jdXJyZW50O1xuICAgIH1cblxuICAgIGdldEkxOG4oaXRlbTogTGlzdEl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIChpdGVtLnR5cGUgPT09ICdOT0RFX1BST1BPU0FMJyA/ICdOT0RFX1BST1BPU0FMJyA6ICdOT0RFJykgKyAnLicgKyBpdGVtLm5hbWU7XG4gICAgfVxuXG4gICAgaXNEYW5nZXJvdXNHcm91cCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICh0aGlzLm5vZGUgYXMgT3JnYW5pemF0aW9uKS5hdXRob3JpdHlOYW1lID09PVxuICAgICAgICAgICAgUmVzdENvbnN0YW50cy5HUk9VUF9BTEZSRVNDT19BRE1JTklTVFJBVE9SU1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgdXBkYXRlRGlzcGxheW5hbWUoKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSBhcyBOb2RlO1xuICAgICAgICBpZiAoIW5vZGUucHJvcGVydGllcykge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSQubmV4dCgnJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSQubmV4dChcbiAgICAgICAgICAgIG5vZGUucHJvcGVydGllc1t0aGlzLml0ZW0ubmFtZSArICdfRElTUExBWU5BTUUnXT8ubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgID8gbm9kZS5wcm9wZXJ0aWVzW3RoaXMuaXRlbS5uYW1lICsgJ19ESVNQTEFZTkFNRSddLmpvaW4oJywgJylcbiAgICAgICAgICAgICAgICA6IG5vZGUucHJvcGVydGllc1t0aGlzLml0ZW0ubmFtZV0/LmpvaW4oJywgJyksXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgbWRzID0gYXdhaXQgdGhpcy5tZHNcbiAgICAgICAgICAgIC5nZXRNZXRhZGF0YVNldCh7XG4gICAgICAgICAgICAgICAgcmVwb3NpdG9yeTogbm9kZS5yZWY/LnJlcG8sXG4gICAgICAgICAgICAgICAgbWV0YWRhdGFTZXQ6IG5vZGUubWV0YWRhdGFzZXQgfHwgQ29uc3RhbnRzLkRFRkFVTFQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgICAgICAvLyBAVE9ET1xuICAgICAgICAvKlxuICAgICAgICBjb25zdCB3aWRnZXQgPSBNZHNIZWxwZXIuZ2V0V2lkZ2V0KHRoaXMuaXRlbS5uYW1lLCBudWxsLCBtZHMud2lkZ2V0cyk7XG4gICAgICAgIGlmICh3aWRnZXQ/LnZhbHVlcykge1xuICAgICAgICAgICAgY29uc3QgaTE4biA9IG5vZGUucHJvcGVydGllc1t0aGlzLml0ZW0ubmFtZV1cbiAgICAgICAgICAgICAgICA/Lm1hcCgocHJvcCkgPT4gd2lkZ2V0LnZhbHVlcy5maWx0ZXIoKHYpID0+IHYuaWQgPT09IHByb3ApPy5bMF0/LmNhcHRpb24pXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoY2FwKSA9PiAhIWNhcCk7XG4gICAgICAgICAgICBpZiAoaTE4bikge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheU5hbWUkLm5leHQoaTE4bi5qb2luKCcsICcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgKi9cbiAgICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJpdGVtLmNvbmZpZz8uc2hvd0xhYmVsXCI+XG4gIHt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX1cbjwvbGFiZWw+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnT1JHJyB8fCBpdGVtLnR5cGUgPT09ICdHUk9VUCdcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaXRlbS5uYW1lXCI+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkaXNwbGF5TmFtZSdcIiBbY2xhc3MudHlwZS1kYW5nZXJdPVwiaXNEYW5nZXJvdXNHcm91cCgpXCI+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvZmlsZS5kaXNwbGF5TmFtZSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2dyb3VwVHlwZSdcIj5cbiAgICAgIHt7ICdQRVJNSVNTSU9OUy5HUk9VUF9UWVBFLicgKyAkYW55KGdldE5vZGUoKSkucHJvZmlsZS5ncm91cFR5cGUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKVtpdGVtLm5hbWVdIH19XG4gICAgPC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ1VTRVInXCI+XG4gIDxzcGFuICpuZ0lmPVwiaXNVc2VyUHJvZmlsZUF0dHJpYnV0ZShpdGVtLm5hbWUpXCI+XG4gICAge3sgJGFueShnZXROb2RlKCkpLnByb2ZpbGVbaXRlbS5uYW1lXSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiaXRlbS5uYW1lID09PSAnc3RhdHVzJ1wiPlxuICAgIHt7ICdQRVJNSVNTSU9OUy5VU0VSX1NUQVRVUy4nICsgJGFueShnZXROb2RlKCkpLnN0YXR1cy5zdGF0dXMgfCB0cmFuc2xhdGUgfX1cbiAgPC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cIiFpc1VzZXJQcm9maWxlQXR0cmlidXRlKGl0ZW0ubmFtZSkgJiYgaXRlbS5uYW1lICE9PSAnc3RhdHVzJ1wiPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKVtpdGVtLm5hbWVdIH19XG4gIDwvc3Bhbj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lclxuICBbbmdTd2l0Y2hdPVwiaXRlbS5uYW1lXCJcbiAgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdOT0RFJyB8fCBpdGVtLnR5cGUgPT09ICdOT0RFX1BST1BPU0FMJyB8fCBpdGVtLnR5cGUgPT09ICdDT0xMRUNUSU9OJ1wiXG4+XG4gIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInbmFtZSdcIj5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkubmFtZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIid0aXRsZSdcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/ICRhbnkoZ2V0Tm9kZSgpKS50aXRsZSB8fCAkYW55KGdldE5vZGUoKSkubmFtZSA6IG51bGxcIlxuICA+XG4gICAge3sgJGFueShnZXROb2RlKCkpLnRpdGxlIHx8ICRhbnkoZ2V0Tm9kZSgpKS5uYW1lIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NtOnRpdGxlJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gJGFueShnZXROb2RlKCkpLnRpdGxlIHx8ICRhbnkoZ2V0Tm9kZSgpKS5uYW1lIDogbnVsbFwiXG4gID5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkudGl0bGUgfHwgJGFueShnZXROb2RlKCkpLm5hbWUgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2Nsb206dGl0bGUnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAkYW55KGdldE5vZGUoKSkudGl0bGUgfHwgJGFueShnZXROb2RlKCkpLm5hbWUgOiBudWxsXCJcbiAgPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS50aXRsZSB8fCAkYW55KGdldE5vZGUoKSkubmFtZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidtZWRpYXR5cGUnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAge3sgJ01FRElBVFlQRS4nICsgJGFueShnZXROb2RlKCkpLm1lZGlhdHlwZSB8IHRyYW5zbGF0ZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInc2l6ZSdcIiBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyBnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlIH19Ojwvc3Bhbj5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkuc2l6ZSB8IGZvcm1hdFNpemUgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInZGltZW5zaW9ucydcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyBnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlIH19Ojwvc3Bhbj5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkgfCBOb2RlSW1hZ2VTaXplIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbTp3Zl9zdGF0dXMnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAge3sgJ1dPUktGTE9XLicgKyBnZXRXb3JrZmxvd1N0YXR1cygpLmlkIHwgdHJhbnNsYXRlIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NtOmNyZWF0b3InXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAge3sgJGFueShnZXROb2RlKCkpLmNyZWF0ZWRCeSB8IG5vZGVQZXJzb25OYW1lIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NtOm1vZGlmaWVyJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICA+e3sgJ05PREUuY206bW9kaWZpZXInIHwgdHJhbnNsYXRlIH19Ojwvc3BhblxuICAgID5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkubW9kaWZpZWRCeSB8IG5vZGVQZXJzb25OYW1lIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbTpyZXBsaWNhdGlvbnNvdXJjZSdcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgPnt7ICdOT0RFLmNjbTpyZXBsaWNhdGlvbnNvdXJjZScgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206cmVwbGljYXRpb25zb3VyY2UnXSB8IGFwcE5vZGVTb3VyY2UgOiB7IG1vZGU6ICd0ZXh0JyB9IH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbTpjb21tb25saWNlbnNlX2tleSdcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgPnt7ICdOT0RFLmNjbTpjb21tb25saWNlbnNlX2tleScgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J10gYXMgbGljZW5zZVwiPlxuICAgICAge3tcbiAgICAgICAgbGljZW5zZVswXSA9PT0gJ0NVU1RPTSdcbiAgICAgICAgICA/ICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY2xvbTpyaWdodHNfZGVzY3JpcHRpb24nXVxuICAgICAgICAgIDogKCdMSUNFTlNFLk5BTUVTLicgKyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J11cbiAgICAgICAgICAgIHwgdHJhbnNsYXRlIDogeyBmYWxsYmFjazogJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTpjb21tb25saWNlbnNlX2tleSddIH0pXG4gICAgICB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTpjb21tb25saWNlbnNlX2tleSddXCI+XG4gICAgICB7eyAnTElDRU5TRS5OQU1FUy5OT05FJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjY206ZWR1Y2F0aW9uYWx0eXBpY2FsYWdlcmFuZ2UnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jY206ZWR1Y2F0aW9uYWx0eXBpY2FsYWdlcmFuZ2UnIHwgdHJhbnNsYXRlIH19Ojwvc3BhblxuICAgID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIlxuICAgICAgICAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmVkdWNhdGlvbmFsdHlwaWNhbGFnZXJhbmdlX2Zyb20nXSB8fFxuICAgICAgICAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmVkdWNhdGlvbmFsdHlwaWNhbGFnZXJhbmdlX3RvJ11cbiAgICAgIFwiXG4gICAgPlxuICAgICAge3sgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTplZHVjYXRpb25hbHR5cGljYWxhZ2VyYW5nZV9mcm9tJ10gfX0gLVxuICAgICAge3sgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTplZHVjYXRpb25hbHR5cGljYWxhZ2VyYW5nZV90byddIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbG9tOmR1cmF0aW9uJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICA+e3sgJ05PREUuY2Nsb206ZHVyYXRpb24nIHwgdHJhbnNsYXRlIH19Ojwvc3BhblxuICAgID5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2Nsb206ZHVyYXRpb24nXT8uWzBdIHwgZm9ybWF0RHVyYXRpb24gfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2NtOmNvbGxlY3Rpb25fcHJvcG9zYWxfc3RhdHVzJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICA+e3sgJ05PREUuY2NtOmNvbGxlY3Rpb25fcHJvcG9zYWxfc3RhdHVzJyB8IHRyYW5zbGF0ZSB9fTo8L3NwYW5cbiAgICA+XG4gICAgPCEtLSB1c2Ugbm9kZSBpbnN0ZWFkIG9mIGdldE5vZGUoKSB0byBhY2Nlc3MgdGhlIHJhdyBwcm9wb3NhbCBkYXRhISAtLT5cbiAgICB7eyAoJ1BST1BPU0FMX1NUQVRVUy4nICsgJGFueShub2RlKS5wcm9wZXJ0aWVzWydjY206Y29sbGVjdGlvbl9wcm9wb3NhbF9zdGF0dXMnXT8uWzBdKSB8IHRyYW5zbGF0ZTp7ZmFsbGJhY2s6ICcnfSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuICpuZ1N3aXRjaERlZmF1bHQgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJEQVRFX0ZJRUxEUy5pbmRleE9mKGl0ZW0ubmFtZSkgPT09IC0xICYmIFZDQVJEX0ZJRUxEUy5pbmRleE9mKGl0ZW0ubmFtZSkgPT09IC0xXCJcbiAgICA+XG4gICAgICB7eyBkaXNwbGF5TmFtZSQgfCBhc3luYyB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEQVRFX0ZJRUxEUy5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1tpdGVtLm5hbWVdPy5bMF0gfCBmb3JtYXREYXRlOiB7IGFzeW5jOiB0cnVlIH0gfCBhc3luYyB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJWQ0FSRF9GSUVMRFMuaW5jbHVkZXMoaXRlbS5uYW1lKVwiPlxuICAgICAge3tcbiAgICAgICAgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbaXRlbS5uYW1lXVxuICAgICAgICAgID8gKCRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzW2l0ZW0ubmFtZV1bMF0gfCB2Y2FyZE5hbWUpXG4gICAgICAgICAgOiAnJ1xuICAgICAgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQWtDLGFBQWEsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEtBQUssU0FBUyxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBT2pELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFVO2FBQ3RDLG1CQUFjLEdBQUc7UUFDcEIsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztRQUN6QixJQUFJLFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDO1FBQ2xDLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUM7UUFDL0IsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztRQUN4QixJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO1FBQzFCLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFH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QUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUNwRCxDQUFDO1FBRUYsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRzthQUNyQixjQUFjLENBQUM7WUFDWixVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksU0FBUyxDQUFDLGVBQWU7WUFDdkQsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLE9BQU87U0FDckQsQ0FBQzthQUNELFNBQVMsRUFBRSxDQUFDO1FBQ2pCLFFBQVE7UUFDUjs7Ozs7Ozs7OztXQVVHO0lBQ1AsQ0FBQzs4R0EzRlEsaUJBQWlCO2tHQUFqQixpQkFBaUIsZ0dDZDlCLHlqT0FnTEE7OzJGRGxLYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWRzU2VydmljZSwgTm9kZSwgT3JnYW5pemF0aW9uLCBSZXN0Q29uc3RhbnRzLCBQcm9wb3NhbE5vZGUgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMvbGlzdC1pdGVtJztcbmltcG9ydCB7IExpc3RXaWRnZXQgfSBmcm9tICcuLi9saXN0LXdpZGdldCc7XG5pbXBvcnQgeyBOb2RlSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vZGUtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VzLWxpc3QtdGV4dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGlzdC10ZXh0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExpc3RUZXh0Q29tcG9uZW50IGV4dGVuZHMgTGlzdFdpZGdldCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgc3RhdGljIHN1cHBvcnRlZEl0ZW1zID0gW1xuICAgICAgICBuZXcgTGlzdEl0ZW0oJ05PREUnLCAnKicpLFxuICAgICAgICBuZXcgTGlzdEl0ZW0oJ05PREVfUFJPUE9TQUwnLCAnKicpLFxuICAgICAgICBuZXcgTGlzdEl0ZW0oJ0NPTExFQ1RJT04nLCAnKicpLFxuICAgICAgICBuZXcgTGlzdEl0ZW0oJ09SRycsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnR1JPVVAnLCAnKicpLFxuICAgICAgICBuZXcgTGlzdEl0ZW0oJ1VTRVInLCAnKicpLFxuICAgIF07XG4gICAgcmVhZG9ubHkgREFURV9GSUVMRFMgPSBSZXN0Q29uc3RhbnRzLkRBVEVfRklFTERTO1xuICAgIHJlYWRvbmx5IFZDQVJEX0ZJRUxEUyA9IFJlc3RDb25zdGFudHMuZ2V0QWxsVkNhcmRGaWVsZHMoKTtcbiAgICBkaXNwbGF5TmFtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4obnVsbCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBub2RlSGVscGVyOiBOb2RlSGVscGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBtZHM6IE1kc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHt9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgbWVyZ2UoW3RoaXMubm9kZVN1YmplY3QsIHRoaXMuaXRlbVN1YmplY3RdKVxuICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMudXBkYXRlRGlzcGxheW5hbWUoKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkaXNwbGF5TmFtZSkgPT4ge30pO1xuICAgIH1cbiAgICBnZXROb2RlKCkge1xuICAgICAgICBpZiAodGhpcy5pdGVtLnR5cGUgPT09ICdOT0RFX1BST1BPU0FMJykge1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzLm5vZGUgYXMgUHJvcG9zYWxOb2RlKS5wcm9wb3NhbCB8fCB0aGlzLm5vZGU7XG4gICAgICAgIH0gZWxzZSBpZiAoKHRoaXMubm9kZSBhcyBOb2RlKS50eXBlID09PSBSZXN0Q29uc3RhbnRzLkNDTV9UWVBFX0NPTExFQ1RJT05fUFJPUE9TQUwpIHtcbiAgICAgICAgICAgIHJldHVybiAodGhpcy5ub2RlIGFzIE5vZGUpLnJlbGF0aW9ucz8uT3JpZ2luYWwgPz8gdGhpcy5ub2RlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm5vZGU7XG4gICAgfVxuXG4gICAgaXNVc2VyUHJvZmlsZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIFJlc3RDb25zdGFudHMuQVVUSE9SSVRZX0ZJUlNUTkFNRSxcbiAgICAgICAgICAgICAgICBSZXN0Q29uc3RhbnRzLkFVVEhPUklUWV9MQVNUTkFNRSxcbiAgICAgICAgICAgICAgICBSZXN0Q29uc3RhbnRzLkFVVEhPUklUWV9FTUFJTCxcbiAgICAgICAgICAgIF0uaW5kZXhPZihhdHRyaWJ1dGUpICE9PSAtMVxuICAgICAgICApO1xuICAgIH1cbiAgICBnZXRXb3JrZmxvd1N0YXR1cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZUhlbHBlci5nZXRXb3JrZmxvd1N0YXR1cyh0aGlzLm5vZGUgYXMgTm9kZSkuY3VycmVudDtcbiAgICB9XG5cbiAgICBnZXRJMThuKGl0ZW06IExpc3RJdGVtKSB7XG4gICAgICAgIHJldHVybiAoaXRlbS50eXBlID09PSAnTk9ERV9QUk9QT1NBTCcgPyAnTk9ERV9QUk9QT1NBTCcgOiAnTk9ERScpICsgJy4nICsgaXRlbS5uYW1lO1xuICAgIH1cblxuICAgIGlzRGFuZ2Vyb3VzR3JvdXAoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAodGhpcy5ub2RlIGFzIE9yZ2FuaXphdGlvbikuYXV0aG9yaXR5TmFtZSA9PT1cbiAgICAgICAgICAgIFJlc3RDb25zdGFudHMuR1JPVVBfQUxGUkVTQ09fQURNSU5JU1RSQVRPUlNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIHVwZGF0ZURpc3BsYXluYW1lKCkge1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCkgYXMgTm9kZTtcbiAgICAgICAgaWYgKCFub2RlLnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheU5hbWUkLm5leHQoJycpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlzcGxheU5hbWUkLm5leHQoXG4gICAgICAgICAgICBub2RlLnByb3BlcnRpZXNbdGhpcy5pdGVtLm5hbWUgKyAnX0RJU1BMQVlOQU1FJ10/Lmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICA/IG5vZGUucHJvcGVydGllc1t0aGlzLml0ZW0ubmFtZSArICdfRElTUExBWU5BTUUnXS5qb2luKCcsICcpXG4gICAgICAgICAgICAgICAgOiBub2RlLnByb3BlcnRpZXNbdGhpcy5pdGVtLm5hbWVdPy5qb2luKCcsICcpLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG1kcyA9IGF3YWl0IHRoaXMubWRzXG4gICAgICAgICAgICAuZ2V0TWV0YWRhdGFTZXQoe1xuICAgICAgICAgICAgICAgIHJlcG9zaXRvcnk6IG5vZGUucmVmPy5yZXBvIHx8IENvbnN0YW50cy5IT01FX1JFUE9TSVRPUlksXG4gICAgICAgICAgICAgICAgbWV0YWRhdGFTZXQ6IG5vZGUubWV0YWRhdGFzZXQgfHwgQ29uc3RhbnRzLkRFRkFVTFQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgICAgICAvLyBAVE9ET1xuICAgICAgICAvKlxuICAgICAgICBjb25zdCB3aWRnZXQgPSBNZHNIZWxwZXIuZ2V0V2lkZ2V0KHRoaXMuaXRlbS5uYW1lLCBudWxsLCBtZHMud2lkZ2V0cyk7XG4gICAgICAgIGlmICh3aWRnZXQ/LnZhbHVlcykge1xuICAgICAgICAgICAgY29uc3QgaTE4biA9IG5vZGUucHJvcGVydGllc1t0aGlzLml0ZW0ubmFtZV1cbiAgICAgICAgICAgICAgICA/Lm1hcCgocHJvcCkgPT4gd2lkZ2V0LnZhbHVlcy5maWx0ZXIoKHYpID0+IHYuaWQgPT09IHByb3ApPy5bMF0/LmNhcHRpb24pXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoY2FwKSA9PiAhIWNhcCk7XG4gICAgICAgICAgICBpZiAoaTE4bikge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheU5hbWUkLm5leHQoaTE4bi5qb2luKCcsICcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgKi9cbiAgICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJpdGVtLmNvbmZpZz8uc2hvd0xhYmVsXCI+XG4gIHt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX1cbjwvbGFiZWw+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnT1JHJyB8fCBpdGVtLnR5cGUgPT09ICdHUk9VUCdcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaXRlbS5uYW1lXCI+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkaXNwbGF5TmFtZSdcIiBbY2xhc3MudHlwZS1kYW5nZXJdPVwiaXNEYW5nZXJvdXNHcm91cCgpXCI+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvZmlsZT8uZGlzcGxheU5hbWUgfHwgJGFueShnZXROb2RlKCkpLmF1dGhvcml0eU5hbWUgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidncm91cFR5cGUnXCI+XG4gICAgICB7eyAnUEVSTUlTU0lPTlMuR1JPVVBfVFlQRS4nICsgJGFueShnZXROb2RlKCkpLnByb2ZpbGU/Lmdyb3VwVHlwZSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAge3sgJGFueShnZXROb2RlKCkpW2l0ZW0ubmFtZV0gfX1cbiAgICA8L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnVVNFUidcIj5cbiAgPHNwYW4gKm5nSWY9XCJpc1VzZXJQcm9maWxlQXR0cmlidXRlKGl0ZW0ubmFtZSlcIj5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvZmlsZT8uW2l0ZW0ubmFtZV0gfX1cbiAgPC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cIml0ZW0ubmFtZSA9PT0gJ3N0YXR1cydcIj5cbiAgICB7eyAnUEVSTUlTU0lPTlMuVVNFUl9TVEFUVVMuJyArICRhbnkoZ2V0Tm9kZSgpKS5zdGF0dXMuc3RhdHVzIHwgdHJhbnNsYXRlIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCIhaXNVc2VyUHJvZmlsZUF0dHJpYnV0ZShpdGVtLm5hbWUpICYmIGl0ZW0ubmFtZSAhPT0gJ3N0YXR1cydcIj5cbiAgICB7eyAkYW55KGdldE5vZGUoKSlbaXRlbS5uYW1lXSB9fVxuICA8L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXJcbiAgW25nU3dpdGNoXT1cIml0ZW0ubmFtZVwiXG4gICpuZ0lmPVwiaXRlbS50eXBlID09PSAnTk9ERScgfHwgaXRlbS50eXBlID09PSAnTk9ERV9QUk9QT1NBTCcgfHwgaXRlbS50eXBlID09PSAnQ09MTEVDVElPTidcIlxuPlxuICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ25hbWUnXCI+XG4gICAge3sgJGFueShnZXROb2RlKCkpLm5hbWUgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInbWVkaWF0eXBlJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxuICAgIHt7ICdNRURJQVRZUEUuJyArICRhbnkoZ2V0Tm9kZSgpKS5tZWRpYXR5cGUgfCB0cmFuc2xhdGUgfX1cbiAgPC9zcGFuPlxuICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3NpemUnXCIgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAge3sgJGFueShnZXROb2RlKCkpLnNpemUgfCBmb3JtYXRTaXplIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2RpbWVuc2lvbnMnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAge3sgJGFueShnZXROb2RlKCkpIHwgTm9kZUltYWdlU2l6ZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjY206d2Zfc3RhdHVzJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8ZXMtbGlzdC1ub2RlLXdvcmtmbG93XG4gICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgIFtub2RlXT1cIm5vZGVcIlxuICAgICAgW3Byb3ZpZGVMYWJlbF09XCJmYWxzZVwiXG4gICAgPjwvZXMtbGlzdC1ub2RlLXdvcmtmbG93PlxuICAgIDwhLS08c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxuICAgIHt7ICdXT1JLRkxPVy4nICsgZ2V0V29ya2Zsb3dTdGF0dXMoKS5pZCB8IHRyYW5zbGF0ZSB9fS0tPlxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjbTpjcmVhdG9yJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5jcmVhdGVkQnkgfCBub2RlUGVyc29uTmFtZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjbTptb2RpZmllcidcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgPnt7ICdOT0RFLmNtOm1vZGlmaWVyJyB8IHRyYW5zbGF0ZSB9fTo8L3NwYW5cbiAgICA+XG4gICAge3sgJGFueShnZXROb2RlKCkpLm1vZGlmaWVkQnkgfCBub2RlUGVyc29uTmFtZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjY206cmVwbGljYXRpb25zb3VyY2UnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jY206cmVwbGljYXRpb25zb3VyY2UnIHwgdHJhbnNsYXRlIH19Ojwvc3BhblxuICAgID5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOnJlcGxpY2F0aW9uc291cmNlJ10gfCBhcHBOb2RlU291cmNlIDogeyBtb2RlOiAndGV4dCcgfSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjY206Y29tbW9ubGljZW5zZV9rZXknXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jY206Y29tbW9ubGljZW5zZV9rZXknIHwgdHJhbnNsYXRlIH19Ojwvc3BhblxuICAgID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTpjb21tb25saWNlbnNlX2tleSddIGFzIGxpY2Vuc2VcIj5cbiAgICAgIHt7XG4gICAgICAgIGxpY2Vuc2VbMF0gPT09ICdDVVNUT00nXG4gICAgICAgICAgPyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2Nsb206cmlnaHRzX2Rlc2NyaXB0aW9uJ11cbiAgICAgICAgICA6ICgnTElDRU5TRS5OQU1FUy4nICsgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTpjb21tb25saWNlbnNlX2tleSddXG4gICAgICAgICAgICB8IHRyYW5zbGF0ZSA6IHsgZmFsbGJhY2s6ICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206Y29tbW9ubGljZW5zZV9rZXknXSB9KVxuICAgICAgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206Y29tbW9ubGljZW5zZV9rZXknXVwiPlxuICAgICAge3sgJ0xJQ0VOU0UuTkFNRVMuTk9ORScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2NtOmVkdWNhdGlvbmFsdHlwaWNhbGFnZXJhbmdlJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICA+e3sgJ05PREUuY2NtOmVkdWNhdGlvbmFsdHlwaWNhbGFnZXJhbmdlJyB8IHRyYW5zbGF0ZSB9fTo8L3NwYW5cbiAgICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJcbiAgICAgICAgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTplZHVjYXRpb25hbHR5cGljYWxhZ2VyYW5nZV9mcm9tJ10gfHxcbiAgICAgICAgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTplZHVjYXRpb25hbHR5cGljYWxhZ2VyYW5nZV90byddXG4gICAgICBcIlxuICAgID5cbiAgICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206ZWR1Y2F0aW9uYWx0eXBpY2FsYWdlcmFuZ2VfZnJvbSddIH19IC1cbiAgICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206ZWR1Y2F0aW9uYWx0eXBpY2FsYWdlcmFuZ2VfdG8nXSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjY2xvbTpkdXJhdGlvbidcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgPnt7ICdOT0RFLmNjbG9tOmR1cmF0aW9uJyB8IHRyYW5zbGF0ZSB9fTo8L3NwYW5cbiAgICA+XG4gICAge3sgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbG9tOmR1cmF0aW9uJ10/LlswXSB8IGZvcm1hdER1cmF0aW9uIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbTpjb2xsZWN0aW9uX3Byb3Bvc2FsX3N0YXR1cydcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgPnt7ICdOT0RFLmNjbTpjb2xsZWN0aW9uX3Byb3Bvc2FsX3N0YXR1cycgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIDwhLS0gdXNlIG5vZGUgaW5zdGVhZCBvZiBnZXROb2RlKCkgdG8gYWNjZXNzIHRoZSByYXcgcHJvcG9zYWwgZGF0YSEgLS0+XG4gICAge3sgKCdQUk9QT1NBTF9TVEFUVVMuJyArICRhbnkobm9kZSkucHJvcGVydGllc1snY2NtOmNvbGxlY3Rpb25fcHJvcG9zYWxfc3RhdHVzJ10/LlswXSkgfCB0cmFuc2xhdGU6e2ZhbGxiYWNrOiAnJ30gfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaERlZmF1bHRcbiAgICBlc0NoZWNrVGV4dE92ZXJmbG93XG4gICAgI3RleHQ9XCJlc0NoZWNrVGV4dE92ZXJmbG93XCJcbiAgICBbbWF0VG9vbHRpcF09XCJcbiAgICAgIHByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IHRleHQuaGFzVGV4dE92ZXJmbG93KCkgPyBjb250ZW50LmlubmVyVGV4dCA6IG51bGxcbiAgICBcIlxuICAgICNjb250ZW50XG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJbJ3RpdGxlJywgJ2NtOnRpdGxlJywgJ2NjbG9tOnRpdGxlJ10uaW5jbHVkZXMoaXRlbS5uYW1lKVwiPlxuICAgICAge3sgJGFueShnZXROb2RlKCkpLnRpdGxlIHx8ICRhbnkoZ2V0Tm9kZSgpKS5uYW1lIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFbJ3RpdGxlJywgJ2NtOnRpdGxlJywgJ2NjbG9tOnRpdGxlJ10uaW5jbHVkZXMoaXRlbS5uYW1lKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIkRBVEVfRklFTERTLmluZGV4T2YoaXRlbS5uYW1lKSA9PT0gLTEgJiYgVkNBUkRfRklFTERTLmluZGV4T2YoaXRlbS5uYW1lKSA9PT0gLTFcIlxuICAgICAgPlxuICAgICAgICB7eyBkaXNwbGF5TmFtZSQgfCBhc3luYyB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiREFURV9GSUVMRFMuaW5jbHVkZXMoaXRlbS5uYW1lKVwiPlxuICAgICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1tpdGVtLm5hbWVdPy5bMF0gfCBmb3JtYXREYXRlOiB7IGFzeW5jOiB0cnVlLCB0aW1lOiB0cnVlLCByZWxhdGl2ZTogdHJ1ZSB9IHwgYXN5bmMgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlZDQVJEX0ZJRUxEUy5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICAgIHt7XG4gICAgICAgICAgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbaXRlbS5uYW1lXVxuICAgICAgICAgICAgPyAoJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbaXRlbS5uYW1lXVswXSB8IHZjYXJkTmFtZSlcbiAgICAgICAgICAgIDogJydcbiAgICAgICAgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -19,5 +19,6 @@ export var ClickSource;
|
|
|
19
19
|
ClickSource[ClickSource["Metadata"] = 2] = "Metadata";
|
|
20
20
|
ClickSource[ClickSource["Comments"] = 3] = "Comments";
|
|
21
21
|
ClickSource[ClickSource["Overlay"] = 4] = "Overlay";
|
|
22
|
+
ClickSource[ClickSource["Dropdown"] = 5] = "Dropdown";
|
|
22
23
|
})(ClickSource || (ClickSource = {}));
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cmllcy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbm9kZS1lbnRyaWVzL2VudHJpZXMtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JBLE1BQU0sQ0FBTixJQUFZLHNCQUlYO0FBSkQsV0FBWSxzQkFBc0I7SUFDOUIscUVBQUssQ0FBQTtJQUNMLG1FQUFJLENBQUE7SUFDSiw2RUFBUyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFJakM7QUFFRCxNQUFNLENBQU4sSUFBWSxlQU1YO0FBTkQsV0FBWSxlQUFlO0lBQ3ZCLHFCQUFxQjtJQUNyQiwrRUFBaUIsQ0FBQTtJQUNqQixnQkFBZ0I7SUFDaEIsMkRBQU8sQ0FBQTtJQUNQLHFEQUFJLENBQUE7QUFDUixDQUFDLEVBTlcsZUFBZSxLQUFmLGVBQWUsUUFNMUI7QUE2QkQsTUFBTSxDQUFOLElBQVksV0FPWDtBQVBELFdBQVksV0FBVztJQUNuQixtREFBTyxDQUFBO0lBQ1AsNkNBQUksQ0FBQTtJQUNKLHFEQUFRLENBQUE7SUFDUixxREFBUSxDQUFBO0lBQ1IsbURBQU8sQ0FBQTtJQUNQLHFEQUFRLENBQUE7QUFDWixDQUFDLEVBUFcsV0FBVyxLQUFYLFdBQVcsUUFPdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5cbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEN1c3RvbU9wdGlvbnMsIE9wdGlvbkl0ZW0sIFRhcmdldCB9IGZyb20gJy4uL3R5cGVzL29wdGlvbi1pdGVtJztcbmltcG9ydCB7IExpc3RJdGVtLCBMaXN0SXRlbVNvcnQgfSBmcm9tICcuLi90eXBlcy9saXN0LWl0ZW0nO1xuaW1wb3J0IHsgQ2FuRHJvcCwgRHJhZ0RhdGEsIERyb3BBY3Rpb24gfSBmcm9tICcuLi90eXBlcy9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgTm9kZSwgR2VuZXJpY0F1dGhvcml0eSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgQWN0aW9uYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBOb2RlUm9vdCA9XG4gICAgfCAnTVlfRklMRVMnXG4gICAgfCAnU0hBUkVEX0ZJTEVTJ1xuICAgIHwgJ01ZX1NIQVJFRF9GSUxFUydcbiAgICB8ICdUT19NRV9TSEFSRURfRklMRVMnXG4gICAgfCAnV09SS0ZMT1dfUkVDRUlWRSdcbiAgICB8ICdSRUNZQ0xFJ1xuICAgIHwgJ0FMTF9GSUxFUyc7XG5cbmV4cG9ydCBlbnVtIE5vZGVFbnRyaWVzRGlzcGxheVR5cGUge1xuICAgIFRhYmxlLFxuICAgIEdyaWQsXG4gICAgU21hbGxHcmlkLFxufVxuXG5leHBvcnQgZW51bSBJbnRlcmFjdGlvblR5cGUge1xuICAgIC8vIGNyZWF0ZSByb3V0ZXIgbGlua1xuICAgIERlZmF1bHRBY3Rpb25MaW5rLFxuICAgIC8vIGVtaXQgYW4gZXZlbnRcbiAgICBFbWl0dGVyLFxuICAgIE5vbmUsXG59XG5cbmV4cG9ydCB0eXBlIExpc3RPcHRpb25zID0geyBba2V5IGluIFRhcmdldF0/OiBPcHRpb25JdGVtW10gfTtcbmV4cG9ydCB0eXBlIExpc3RPcHRpb25zQ29uZmlnID0ge1xuICAgIGFjdGlvbmJhcj86IEFjdGlvbmJhckNvbXBvbmVudDtcbiAgICBwYXJlbnQ/OiBOb2RlO1xuICAgIGN1c3RvbU9wdGlvbnM/OiBDdXN0b21PcHRpb25zO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBMaXN0U29ydENvbmZpZyBleHRlbmRzIFNvcnQge1xuICAgIGNvbHVtbnM6IExpc3RJdGVtU29ydFtdO1xuICAgIGFsbG93ZWQ/OiBib29sZWFuO1xuICAgIGN1c3RvbVNvcnRpbmdJblByb2dyZXNzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgRHJvcFRhcmdldCA9IE5vZGUgfCBOb2RlUm9vdDtcblxuZXhwb3J0IGludGVyZmFjZSBEcm9wU291cmNlPFQgZXh0ZW5kcyBOb2RlRW50cmllc0RhdGFUeXBlPiB7XG4gICAgZWxlbWVudDogVFtdO1xuICAgIC8vIHNvdXJjZUxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxUPjtcbiAgICBtb2RlOiBEcm9wQWN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3REcmFnR3JvcENvbmZpZzxUIGV4dGVuZHMgTm9kZUVudHJpZXNEYXRhVHlwZT4ge1xuICAgIGRyYWdBbGxvd2VkOiBib29sZWFuO1xuICAgIGRyb3BBbGxvd2VkPzogKGRyYWdEYXRhOiBEcmFnRGF0YTxUPikgPT4gQ2FuRHJvcDtcbiAgICBkcm9wcGVkPzogKHRhcmdldDogTm9kZSwgc291cmNlOiBEcm9wU291cmNlPE5vZGVFbnRyaWVzRGF0YVR5cGU+KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgZW51bSBDbGlja1NvdXJjZSB7XG4gICAgUHJldmlldyxcbiAgICBJY29uLFxuICAgIE1ldGFkYXRhLFxuICAgIENvbW1lbnRzLFxuICAgIE92ZXJsYXksXG4gICAgRHJvcGRvd24sIC8vIGtlZXA6IHVzZWQgaW4gZXh0ZW5zaW9uc1xufVxuXG5leHBvcnQgdHlwZSBOb2RlQ2xpY2tFdmVudDxUIGV4dGVuZHMgTm9kZUVudHJpZXNEYXRhVHlwZT4gPSB7XG4gICAgZWxlbWVudDogVDtcbiAgICBzb3VyY2U6IENsaWNrU291cmNlO1xuICAgIGF0dHJpYnV0ZT86IExpc3RJdGVtOyAvLyBvbmx5IHdoZW4gc291cmNlID09PSBNZXRhZGF0YVxufTtcbmV4cG9ydCB0eXBlIEZldGNoRXZlbnQgPSB7XG4gICAgb2Zmc2V0OiBudW1iZXI7XG4gICAgYW1vdW50PzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIGlzIGEgcmVzZXQgb2YgdGhlIGN1cnJlbnQgZGF0YSByZXF1aXJlZD9cbiAgICAgKiB0aGlzIHNob3VsZCBiZSB0cnVlIGlmIHRoaXMgd2FzIGEgcGFnaW5hdGlvbiByZXF1ZXN0XG4gICAgICovXG4gICAgcmVzZXQ/OiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIE5vZGVFbnRyaWVzRGF0YVR5cGUgPSBOb2RlIHwgR2VuZXJpY0F1dGhvcml0eTtcbmV4cG9ydCB0eXBlIEdyaWRMYXlvdXQgPSAnZ3JpZCcgfCAnc2Nyb2xsJztcbmV4cG9ydCB0eXBlIEdyaWRDb25maWcgPSB7XG4gICAgLyoqXG4gICAgICogbWF4IGFtb3VudCBvZiByb3dzIHRoYXQgc2hvdWxkIGJlIHZpc2libGUsIHVuc2V0IGZvciBubyBsaW1pdFxuICAgICAqL1xuICAgIG1heFJvd3M/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogbGF5b3V0LCBkZWZhdWx0cyB0byAnZ3JpZCdcbiAgICAgKiAnc2Nyb2xsJyBtYXkgb25seSBiZSB1c2VkIHdoZW4gbWF4Um93cyBpcyBub3Qgc2V0XG4gICAgICovXG4gICAgbGF5b3V0PzogR3JpZExheW91dDtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEV2ZW50SW50ZXJmYWNlPFQgZXh0ZW5kcyBOb2RlRW50cmllc0RhdGFUeXBlPiB7XG4gICAgdXBkYXRlTm9kZXMobm9kZXM6IHZvaWQgfCBUW10pOiB2b2lkO1xuXG4gICAgZ2V0RGlzcGxheVR5cGUoKTogTm9kZUVudHJpZXNEaXNwbGF5VHlwZTtcblxuICAgIHNldERpc3BsYXlUeXBlKGRpc3BsYXlUeXBlOiBOb2RlRW50cmllc0Rpc3BsYXlUeXBlKTogdm9pZDtcblxuICAgIHNob3dSZW9yZGVyQ29sdW1uc0RpYWxvZygpOiB2b2lkO1xuXG4gICAgYWRkVmlydHVhbE5vZGVzKHZpcnR1YWw6IFRbXSk6IHZvaWQ7XG5cbiAgICBzZXRPcHRpb25zKG9wdGlvbnM6IExpc3RPcHRpb25zKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIGFjdGl2YXRlIG9wdGlvbiAoZHJvcGRvd24pIGdlbmVyYXRpb25cbiAgICAgKi9cbiAgICBpbml0T3B0aW9uc0dlbmVyYXRvcihjb25maWc6IExpc3RPcHRpb25zQ29uZmlnKTogdm9pZCB8IFByb21pc2U8dm9pZD47XG5cbiAgICBnZXRTZWxlY3Rpb24oKTogU2VsZWN0aW9uTW9kZWw8VD47XG5cbiAgICAvKipcbiAgICAgKiB0cmlnZ2VyZWQgd2hlbiBub2Rlcy9vYmplY3RzIGFyZSBkZWxldGVkIGFuZCBzaG91bGQgbm90IGJlIHNob3duIGluIHRoZSBsaXN0IGFueW1vcmVcbiAgICAgKi9cbiAgICBkZWxldGVOb2RlcyhvYmplY3RzOiBUW10pOiB2b2lkO1xufVxuIl19
|
|
@@ -18,6 +18,14 @@ export class NodeCache {
|
|
|
18
18
|
return slice.data.slice(range.startIndex - slice.startIndex, range.endIndex - slice.startIndex);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
// for the first request
|
|
22
|
+
console.warn('Requested range was not found in the slices cache, falling back to a smaller slice (the backend resolved too less data)', range, this._slices);
|
|
23
|
+
for (const slice of this._slices) {
|
|
24
|
+
if (slice.startIndex <= range.startIndex && slice.endIndex >= range.startIndex) {
|
|
25
|
+
return slice.data.slice(range.startIndex - slice.startIndex, range.endIndex - slice.startIndex);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
console.error('Could not find any slice for the range', range, this._slices);
|
|
21
29
|
return null;
|
|
22
30
|
}
|
|
23
31
|
getMissingRange(requestedRange) {
|
|
@@ -62,4 +70,4 @@ export class NodeCache {
|
|
|
62
70
|
};
|
|
63
71
|
}
|
|
64
72
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1jYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbm9kZS1lbnRyaWVzL25vZGUtY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBVzVDLE1BQU0sT0FBTyxTQUFTO0lBQXRCO1FBQ1ksWUFBTyxHQUFpQyxFQUFFLENBQUM7SUFtRnZELENBQUM7SUFqRkcsR0FBRyxDQUFDLEtBQXdCO1FBQ3hCLElBQUksS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3pELE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3BGO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBcUI7UUFDckIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzlCLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDMUUsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FDbkIsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxFQUNuQyxLQUFLLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxVQUFVLENB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QyxHQUFzQixFQUFFLEdBQXNCO1FBQ3pELE9BQU87WUFDSCxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7WUFDMUIsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRO1lBQ3RCLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3hFLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBub3ROdWxsIH0gZnJvbSAnLi4vdXRpbC9mdW5jdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVDYWNoZVJhbmdlIHtcbiAgICBzdGFydEluZGV4OiBudW1iZXI7XG4gICAgZW5kSW5kZXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb2RlQ2FjaGVTbGljZTxUPiBleHRlbmRzIE5vZGVDYWNoZVJhbmdlIHtcbiAgICBkYXRhOiByZWFkb25seSBUW107XG59XG5cbmV4cG9ydCBjbGFzcyBOb2RlQ2FjaGU8VD4ge1xuICAgIHByaXZhdGUgX3NsaWNlczogcmVhZG9ubHkgTm9kZUNhY2hlU2xpY2U8VD5bXSA9IFtdO1xuXG4gICAgYWRkKHNsaWNlOiBOb2RlQ2FjaGVTbGljZTxUPik6IHZvaWQge1xuICAgICAgICBpZiAoc2xpY2UuZW5kSW5kZXggLSBzbGljZS5zdGFydEluZGV4ICE9PSBzbGljZS5kYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUcmllZCB0byBhZGQgaW52YWxpZCBzbGljZSB0byBjYWNoZTogJyArIEpTT04uc3RyaW5naWZ5KHNsaWNlKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2xpY2VzID0gdGhpcy5fbm9ybWFsaXplU2xpY2VzKFsuLi50aGlzLl9zbGljZXMsIHNsaWNlXSk7XG4gICAgfVxuXG4gICAgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMuX3NsaWNlcyA9IFtdO1xuICAgIH1cblxuICAgIGdldChyYW5nZTogTm9kZUNhY2hlUmFuZ2UpOiBUW10gfCBudWxsIHtcbiAgICAgICAgZm9yIChjb25zdCBzbGljZSBvZiB0aGlzLl9zbGljZXMpIHtcbiAgICAgICAgICAgIGlmIChzbGljZS5zdGFydEluZGV4IDw9IHJhbmdlLnN0YXJ0SW5kZXggJiYgc2xpY2UuZW5kSW5kZXggPj0gcmFuZ2UuZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2xpY2UuZGF0YS5zbGljZShcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2Uuc3RhcnRJbmRleCAtIHNsaWNlLnN0YXJ0SW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIHJhbmdlLmVuZEluZGV4IC0gc2xpY2Uuc3RhcnRJbmRleCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGZvciB0aGUgZmlyc3QgcmVxdWVzdFxuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAnUmVxdWVzdGVkIHJhbmdlIHdhcyBub3QgZm91bmQgaW4gdGhlIHNsaWNlcyBjYWNoZSwgZmFsbGluZyBiYWNrIHRvIGEgc21hbGxlciBzbGljZSAodGhlIGJhY2tlbmQgcmVzb2x2ZWQgdG9vIGxlc3MgZGF0YSknLFxuICAgICAgICAgICAgcmFuZ2UsXG4gICAgICAgICAgICB0aGlzLl9zbGljZXMsXG4gICAgICAgICk7XG4gICAgICAgIGZvciAoY29uc3Qgc2xpY2Ugb2YgdGhpcy5fc2xpY2VzKSB7XG4gICAgICAgICAgICBpZiAoc2xpY2Uuc3RhcnRJbmRleCA8PSByYW5nZS5zdGFydEluZGV4ICYmIHNsaWNlLmVuZEluZGV4ID49IHJhbmdlLnN0YXJ0SW5kZXgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2xpY2UuZGF0YS5zbGljZShcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2Uuc3RhcnRJbmRleCAtIHNsaWNlLnN0YXJ0SW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIHJhbmdlLmVuZEluZGV4IC0gc2xpY2Uuc3RhcnRJbmRleCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0NvdWxkIG5vdCBmaW5kIGFueSBzbGljZSBmb3IgdGhlIHJhbmdlJywgcmFuZ2UsIHRoaXMuX3NsaWNlcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGdldE1pc3NpbmdSYW5nZShyZXF1ZXN0ZWRSYW5nZTogTm9kZUNhY2hlUmFuZ2UpOiBOb2RlQ2FjaGVSYW5nZSB8IG51bGwge1xuICAgICAgICBsZXQgZnJvbUluZGV4ID0gcmVxdWVzdGVkUmFuZ2Uuc3RhcnRJbmRleDtcbiAgICAgICAgbGV0IHRvSW5kZXggPSByZXF1ZXN0ZWRSYW5nZS5lbmRJbmRleDtcbiAgICAgICAgZm9yIChjb25zdCBzbGljZSBvZiB0aGlzLl9zbGljZXMpIHtcbiAgICAgICAgICAgIGlmIChzbGljZS5zdGFydEluZGV4IDw9IGZyb21JbmRleCAmJiBzbGljZS5lbmRJbmRleCA+IGZyb21JbmRleCkge1xuICAgICAgICAgICAgICAgIGZyb21JbmRleCA9IHNsaWNlLmVuZEluZGV4O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChzbGljZS5zdGFydEluZGV4IDwgdG9JbmRleCAmJiBzbGljZS5lbmRJbmRleCA+PSB0b0luZGV4KSB7XG4gICAgICAgICAgICAgICAgdG9JbmRleCA9IHNsaWNlLnN0YXJ0SW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZnJvbUluZGV4ID49IHRvSW5kZXgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBzdGFydEluZGV4OiBmcm9tSW5kZXgsIGVuZEluZGV4OiB0b0luZGV4IH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbm9ybWFsaXplU2xpY2VzKHNsaWNlczogTm9kZUNhY2hlU2xpY2U8VD5bXSk6IE5vZGVDYWNoZVNsaWNlPFQ+W10ge1xuICAgICAgICBzbGljZXMuc29ydCgobGhzLCByaHMpID0+IGxocy5zdGFydEluZGV4IC0gcmhzLnN0YXJ0SW5kZXgpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNsaWNlcy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IHNsaWNlcy5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jYW5NZXJnZShzbGljZXNbaV0sIHNsaWNlc1tqXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2xpY2VzW2ldID0gdGhpcy5fbWVyZ2Uoc2xpY2VzW2ldLCBzbGljZXNbal0pO1xuICAgICAgICAgICAgICAgICAgICBzbGljZXNbal0gPSBudWxsOyAvLyBNYXJrIGZvciBkZWxldGlvblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2xpY2VzLmZpbHRlcihub3ROdWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jYW5NZXJnZShsaHM6IE5vZGVDYWNoZVNsaWNlPFQ+LCByaHM6IE5vZGVDYWNoZVNsaWNlPFQ+KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghbGhzIHx8ICFyaHMpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGhzLmVuZEluZGV4ID49IHJocy5zdGFydEluZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgX21lcmdlKGxoczogTm9kZUNhY2hlU2xpY2U8VD4sIHJoczogTm9kZUNhY2hlU2xpY2U8VD4pOiBOb2RlQ2FjaGVTbGljZTxUPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzdGFydEluZGV4OiBsaHMuc3RhcnRJbmRleCxcbiAgICAgICAgICAgIGVuZEluZGV4OiByaHMuZW5kSW5kZXgsXG4gICAgICAgICAgICBkYXRhOiBbLi4ubGhzLmRhdGEsIC4uLnJocy5kYXRhLnNsaWNlKGxocy5lbmRJbmRleCAtIHJocy5zdGFydEluZGV4KV0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|