@dereekb/dbx-web 9.22.2 → 9.22.4
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/calendar/package.json +2 -2
- package/esm2020/lib/interaction/filter/filter.popover.button.component.mjs +52 -14
- package/esm2020/lib/interaction/filter/filter.preset.mjs +2 -2
- package/fesm2015/dereekb-dbx-web.mjs +90 -54
- package/fesm2015/dereekb-dbx-web.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-web.mjs +90 -54
- package/fesm2020/dereekb-dbx-web.mjs.map +1 -1
- package/lib/interaction/filter/filter.popover.button.component.d.ts +8 -1
- package/mapbox/package.json +3 -3
- package/package.json +3 -3
- package/table/package.json +3 -3
package/calendar/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-web/calendar",
|
|
3
|
-
"version": "9.22.
|
|
3
|
+
"version": "9.22.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^14.2.0",
|
|
6
6
|
"@angular/core": "^14.2.0",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"rxjs": "^7.5.0",
|
|
9
9
|
"@angular/material": "^14.2.0",
|
|
10
10
|
"angular-calendar": "^0.30.1",
|
|
11
|
-
"@dereekb/dbx-web": "9.22.
|
|
11
|
+
"@dereekb/dbx-web": "9.22.4"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"tslib": "^2.3.0"
|
|
@@ -1,32 +1,70 @@
|
|
|
1
|
-
import { Component, ElementRef, ViewChild } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild } from '@angular/core';
|
|
2
2
|
import { AbstractFilterPopoverButtonDirective } from './filter.popover.button.directive';
|
|
3
|
+
import { dbxButtonDisplayContentType } from '@dereekb/dbx-core';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/
|
|
5
|
-
import * as i2 from "@angular/material/
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/material/icon";
|
|
7
|
+
import * as i3 from "@angular/material/button";
|
|
8
|
+
const DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT = {
|
|
9
|
+
icon: 'filter_list'
|
|
10
|
+
};
|
|
6
11
|
export class DbxFilterPopoverButtonComponent extends AbstractFilterPopoverButtonDirective {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this._buttonDisplay = DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT;
|
|
15
|
+
this._buttonDisplayType = 'icon_button';
|
|
16
|
+
}
|
|
17
|
+
get buttonDisplay() {
|
|
18
|
+
return this._buttonDisplay;
|
|
19
|
+
}
|
|
20
|
+
set buttonDisplay(buttonDisplay) {
|
|
21
|
+
if (!buttonDisplay) {
|
|
22
|
+
buttonDisplay = DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT;
|
|
23
|
+
}
|
|
24
|
+
this._buttonDisplay = buttonDisplay;
|
|
25
|
+
this._buttonDisplayType = dbxButtonDisplayContentType(buttonDisplay);
|
|
26
|
+
}
|
|
27
|
+
get buttonDisplayType() {
|
|
28
|
+
return this._buttonDisplayType;
|
|
29
|
+
}
|
|
7
30
|
showFilterPopover() {
|
|
8
31
|
const origin = this.buttonElement.nativeElement;
|
|
9
32
|
this.showFilterPopoverAtOrigin(origin);
|
|
10
33
|
}
|
|
11
34
|
}
|
|
12
35
|
DbxFilterPopoverButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFilterPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
-
DbxFilterPopoverButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFilterPopoverButtonComponent, selector: "dbx-filter-popover-button", viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
|
|
14
|
-
<
|
|
15
|
-
<mat-
|
|
16
|
-
|
|
17
|
-
|
|
36
|
+
DbxFilterPopoverButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFilterPopoverButtonComponent, selector: "dbx-filter-popover-button", inputs: { buttonDisplay: "buttonDisplay" }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
|
|
37
|
+
<ng-container [ngSwitch]="buttonDisplayType">
|
|
38
|
+
<button *ngSwitchCase="'text_button'" #button mat-button (click)="showFilterPopover()" class="dbx-preset-filter-menu-button" aria-label="open filter">
|
|
39
|
+
<mat-icon class="dbx-icon-spacer" *ngIf="buttonDisplay.icon">{{ buttonDisplay.icon }}</mat-icon>
|
|
40
|
+
<span>{{ buttonDisplay.text }}</span>
|
|
41
|
+
</button>
|
|
42
|
+
<button *ngSwitchCase="'icon_button'" #button mat-icon-button (click)="showFilterPopover()" aria-label="open filter" matTooltip="Filter" matTooltipPosition="above">
|
|
43
|
+
<mat-icon>{{ buttonDisplay.icon }}</mat-icon>
|
|
44
|
+
</button>
|
|
45
|
+
</ng-container>
|
|
46
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
18
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFilterPopoverButtonComponent, decorators: [{
|
|
19
48
|
type: Component,
|
|
20
49
|
args: [{
|
|
21
50
|
selector: 'dbx-filter-popover-button',
|
|
22
51
|
template: `
|
|
23
|
-
<
|
|
24
|
-
<mat-
|
|
25
|
-
|
|
26
|
-
|
|
52
|
+
<ng-container [ngSwitch]="buttonDisplayType">
|
|
53
|
+
<button *ngSwitchCase="'text_button'" #button mat-button (click)="showFilterPopover()" class="dbx-preset-filter-menu-button" aria-label="open filter">
|
|
54
|
+
<mat-icon class="dbx-icon-spacer" *ngIf="buttonDisplay.icon">{{ buttonDisplay.icon }}</mat-icon>
|
|
55
|
+
<span>{{ buttonDisplay.text }}</span>
|
|
56
|
+
</button>
|
|
57
|
+
<button *ngSwitchCase="'icon_button'" #button mat-icon-button (click)="showFilterPopover()" aria-label="open filter" matTooltip="Filter" matTooltipPosition="above">
|
|
58
|
+
<mat-icon>{{ buttonDisplay.icon }}</mat-icon>
|
|
59
|
+
</button>
|
|
60
|
+
</ng-container>
|
|
61
|
+
`,
|
|
62
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
27
63
|
}]
|
|
28
|
-
}], propDecorators: {
|
|
64
|
+
}], propDecorators: { buttonDisplay: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], buttonElement: [{
|
|
29
67
|
type: ViewChild,
|
|
30
68
|
args: ['button', { read: ElementRef, static: false }]
|
|
31
69
|
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pGLE9BQU8sRUFBMkIsMkJBQTJCLEVBQXlELE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBR2hKLE1BQU0sNkNBQTZDLEdBQTRCO0lBQzdFLElBQUksRUFBRSxhQUFhO0NBQ3BCLENBQUM7QUFpQkYsTUFBTSxPQUFPLCtCQUEyRCxTQUFRLG9DQUF1QztJQWZ2SDs7UUFnQlUsbUJBQWMsR0FBNEIsNkNBQTZDLENBQUM7UUFDeEYsdUJBQWtCLEdBQWdDLGFBQWEsQ0FBQztLQTJCekU7SUF6QkMsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxhQUE2QztRQUM3RCxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2xCLGFBQWEsR0FBRyw2Q0FBNkMsQ0FBQztTQUMvRDtRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsR0FBRywyQkFBMkIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUtELGlCQUFpQjtRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQ2hELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs2SEE1QlUsK0JBQStCO2lIQUEvQiwrQkFBK0IsaU1Bc0JiLFVBQVUsb0RBbkM3Qjs7Ozs7Ozs7OztHQVVUOzRGQUdVLCtCQUErQjtrQkFmM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7R0FVVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBTUssYUFBYTtzQkFEaEIsS0FBSztnQkFtQk4sYUFBYTtzQkFEWixTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWx0ZXJQb3BvdmVyQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9maWx0ZXIucG9wb3Zlci5idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IERieEJ1dHRvbkRpc3BsYXlDb250ZW50LCBkYnhCdXR0b25EaXNwbGF5Q29udGVudFR5cGUsIERieEJ1dHRvbkRpc3BsYXlDb250ZW50VHlwZSwgRGJ4QnV0dG9uRGlzcGxheURlbGVnYXRlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuY29uc3QgREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9CVVRUT05fRElTUExBWV9DT05URU5UOiBEYnhCdXR0b25EaXNwbGF5Q29udGVudCA9IHtcbiAgaWNvbjogJ2ZpbHRlcl9saXN0J1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZpbHRlci1wb3BvdmVyLWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYnV0dG9uRGlzcGxheVR5cGVcIj5cbiAgICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cIid0ZXh0X2J1dHRvbidcIiAjYnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInNob3dGaWx0ZXJQb3BvdmVyKClcIiBjbGFzcz1cImRieC1wcmVzZXQtZmlsdGVyLW1lbnUtYnV0dG9uXCIgYXJpYS1sYWJlbD1cIm9wZW4gZmlsdGVyXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRieC1pY29uLXNwYWNlclwiICpuZ0lmPVwiYnV0dG9uRGlzcGxheS5pY29uXCI+e3sgYnV0dG9uRGlzcGxheS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgYnV0dG9uRGlzcGxheS50ZXh0IH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCInaWNvbl9idXR0b24nXCIgI2J1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNob3dGaWx0ZXJQb3BvdmVyKClcIiBhcmlhLWxhYmVsPVwib3BlbiBmaWx0ZXJcIiBtYXRUb29sdGlwPVwiRmlsdGVyXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cbiAgICAgICAgPG1hdC1pY29uPnt7IGJ1dHRvbkRpc3BsYXkuaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlsdGVyUG9wb3ZlckJ1dHRvbkNvbXBvbmVudDxGIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PiBleHRlbmRzIEFic3RyYWN0RmlsdGVyUG9wb3ZlckJ1dHRvbkRpcmVjdGl2ZTxGPiB7XG4gIHByaXZhdGUgX2J1dHRvbkRpc3BsYXk6IERieEJ1dHRvbkRpc3BsYXlDb250ZW50ID0gREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9CVVRUT05fRElTUExBWV9DT05URU5UO1xuICBwcml2YXRlIF9idXR0b25EaXNwbGF5VHlwZTogRGJ4QnV0dG9uRGlzcGxheUNvbnRlbnRUeXBlID0gJ2ljb25fYnV0dG9uJztcblxuICBASW5wdXQoKVxuICBnZXQgYnV0dG9uRGlzcGxheSgpOiBEYnhCdXR0b25EaXNwbGF5Q29udGVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2J1dHRvbkRpc3BsYXk7XG4gIH1cblxuICBzZXQgYnV0dG9uRGlzcGxheShidXR0b25EaXNwbGF5OiBNYXliZTxEYnhCdXR0b25EaXNwbGF5Q29udGVudD4pIHtcbiAgICBpZiAoIWJ1dHRvbkRpc3BsYXkpIHtcbiAgICAgIGJ1dHRvbkRpc3BsYXkgPSBERUZBVUxUX0ZJTFRFUl9QT1BPVkVSX0JVVFRPTl9ESVNQTEFZX0NPTlRFTlQ7XG4gICAgfVxuXG4gICAgdGhpcy5fYnV0dG9uRGlzcGxheSA9IGJ1dHRvbkRpc3BsYXk7XG4gICAgdGhpcy5fYnV0dG9uRGlzcGxheVR5cGUgPSBkYnhCdXR0b25EaXNwbGF5Q29udGVudFR5cGUoYnV0dG9uRGlzcGxheSk7XG4gIH1cblxuICBnZXQgYnV0dG9uRGlzcGxheVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2J1dHRvbkRpc3BsYXlUeXBlO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnYnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIGJ1dHRvbkVsZW1lbnQhOiBFbGVtZW50UmVmO1xuXG4gIHNob3dGaWx0ZXJQb3BvdmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuYnV0dG9uRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuc2hvd0ZpbHRlclBvcG92ZXJBdE9yaWdpbihvcmlnaW4pO1xuICB9XG59XG4iXX0=
|
|
@@ -34,7 +34,7 @@ export class AbstractDbxPresetFilterMenuComponent {
|
|
|
34
34
|
}
|
|
35
35
|
selectPreset(preset) {
|
|
36
36
|
const presetValue = preset.presetValue;
|
|
37
|
-
if (presetValue == null || objectHasNoKeys(presetValue)) {
|
|
37
|
+
if (presetValue == null || (typeof presetValue !== 'function' && objectHasNoKeys(presetValue))) {
|
|
38
38
|
this.filterSourceDirective.setFilter((presetValue ?? {}));
|
|
39
39
|
this.filterSourceDirective.resetFilter();
|
|
40
40
|
}
|
|
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
60
60
|
}], ctorParameters: function () { return [{ type: i1.FilterSourceDirective }]; }, propDecorators: { presets: [{
|
|
61
61
|
type: Input
|
|
62
62
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnByZXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnByZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNySCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQThDLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFTLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRzNFOztHQUVHO0FBRUgsTUFBTSxPQUFnQixvQ0FBb0M7SUFzQ3hELFlBQXFCLHFCQUErQztRQUEvQywwQkFBcUIsR0FBckIscUJBQXFCLENBQTBCO1FBckM1RCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQTZCLEVBQUUsQ0FBQyxDQUFDO1FBRTlELGNBQVMsR0FBeUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUN4SCwwQkFBcUIsR0FBOEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQzdFLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQzdFLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7UUFFTyxtQkFBYyxHQUFzQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxSCxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QixHQUFHLENBQUM7Z0JBQ0osUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssb0JBQW9CO2dCQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZCLENBQUM7YUFDRixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sb0JBQWUsR0FBZ0QsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckksR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxFQUFFO1lBQ3RDLE9BQU8sb0JBQW9CLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMzRyxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQVdxRSxDQUFDO0lBVHhFLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQW1DO1FBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFJRCxZQUFZLENBQUMsTUFBZ0M7UUFDM0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUV2QyxJQUFJLFdBQVcsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLFdBQVcsS0FBSyxVQUFVLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUU7WUFDOUYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQU0sQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBTSxDQUFDO1lBRXpELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNuQyxNQUFNLEdBQUc7b0JBQ1AsR0FBRyxNQUFNO29CQUNULE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtpQkFDdEIsQ0FBQzthQUNIO1lBRUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOztrSUE5RG1CLG9DQUFvQztzSEFBcEMsb0NBQW9DOzRGQUFwQyxvQ0FBb0M7a0JBRHpELFNBQVM7NEdBK0JKLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYXJlUmVwbGF5LCBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGlja2FibGVGaWx0ZXJQcmVzZXQsIENsaWNrYWJsZUFuY2hvckxpbmssIEZpbHRlclNvdXJjZURpcmVjdGl2ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IGdldFZhbHVlRnJvbUdldHRlciwgTWF5YmUsIG9iamVjdEhhc05vS2V5cyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRmlsdGVyV2l0aFByZXNldCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgYnV0dG9uIGFuZCBtZW51IGZvciBmaWx0ZXJpbmcgcHJlc2V0cy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYnhQcmVzZXRGaWx0ZXJNZW51Q29tcG9uZW50PEYgZXh0ZW5kcyBGaWx0ZXJXaXRoUHJlc2V0PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3ByZXNldHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENsaWNrYWJsZUZpbHRlclByZXNldDxGPltdPihbXSk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWQkOiBPYnNlcnZhYmxlPE1heWJlPEY+PiA9IHRoaXMuZmlsdGVyU291cmNlRGlyZWN0aXZlLmZpbHRlciQucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkUHJlc2V0U3RyaW5nJDogT2JzZXJ2YWJsZTxNYXliZTxzdHJpbmc+PiA9IHRoaXMuc2VsZWN0ZWQkLnBpcGUoXG4gICAgbWFwKChzZWxlY3RlZEZpbHRlcikgPT4gKHNlbGVjdGVkRmlsdGVyID8gc2VsZWN0ZWRGaWx0ZXIucHJlc2V0IDogdW5kZWZpbmVkKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICApO1xuXG4gIHJlYWRvbmx5IHByZXNldEFuY2hvcnMkOiBPYnNlcnZhYmxlPENsaWNrYWJsZUFuY2hvckxpbmtbXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9wcmVzZXRzLCB0aGlzLnNlbGVjdGVkUHJlc2V0U3RyaW5nJF0pLnBpcGUoXG4gICAgbWFwKChbcHJlc2V0cywgc2VsZWN0ZWRQcmVzZXRTdHJpbmddKSA9PiB7XG4gICAgICByZXR1cm4gcHJlc2V0cy5tYXAoKHgpID0+ICh7XG4gICAgICAgIC4uLngsXG4gICAgICAgIHNlbGVjdGVkOiB4LnByZXNldCA9PT0gc2VsZWN0ZWRQcmVzZXRTdHJpbmcsXG4gICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnNlbGVjdFByZXNldCh4KTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRQcmVzZXQkOiBPYnNlcnZhYmxlPE1heWJlPENsaWNrYWJsZUZpbHRlclByZXNldDxGPj4+ID0gY29tYmluZUxhdGVzdChbdGhpcy5fcHJlc2V0cywgdGhpcy5zZWxlY3RlZFByZXNldFN0cmluZyRdKS5waXBlKFxuICAgIG1hcCgoW3ByZXNldHMsIHNlbGVjdGVkUHJlc2V0U3RyaW5nXSkgPT4ge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkUHJlc2V0U3RyaW5nICE9IG51bGwgPyBwcmVzZXRzLmZpbmQoKHgpID0+IHgucHJlc2V0ID09PSBzZWxlY3RlZFByZXNldFN0cmluZykgOiB1bmRlZmluZWQ7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBASW5wdXQoKVxuICBnZXQgcHJlc2V0cygpOiBDbGlja2FibGVGaWx0ZXJQcmVzZXQ8Rj5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXNldHMudmFsdWU7XG4gIH1cblxuICBzZXQgcHJlc2V0cyhwcmVzZXRzOiBDbGlja2FibGVGaWx0ZXJQcmVzZXQ8Rj5bXSkge1xuICAgIHRoaXMuX3ByZXNldHMubmV4dChwcmVzZXRzKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZpbHRlclNvdXJjZURpcmVjdGl2ZTogRmlsdGVyU291cmNlRGlyZWN0aXZlPEY+KSB7fVxuXG4gIHNlbGVjdFByZXNldChwcmVzZXQ6IENsaWNrYWJsZUZpbHRlclByZXNldDxGPikge1xuICAgIGNvbnN0IHByZXNldFZhbHVlID0gcHJlc2V0LnByZXNldFZhbHVlO1xuXG4gICAgaWYgKHByZXNldFZhbHVlID09IG51bGwgfHwgKHR5cGVvZiBwcmVzZXRWYWx1ZSAhPT0gJ2Z1bmN0aW9uJyAmJiBvYmplY3RIYXNOb0tleXMocHJlc2V0VmFsdWUpKSkge1xuICAgICAgdGhpcy5maWx0ZXJTb3VyY2VEaXJlY3RpdmUuc2V0RmlsdGVyKChwcmVzZXRWYWx1ZSA/PyB7fSkgYXMgRik7XG4gICAgICB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5yZXNldEZpbHRlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgZmlsdGVyID0gZ2V0VmFsdWVGcm9tR2V0dGVyKHByZXNldC5wcmVzZXRWYWx1ZSkgYXMgRjtcblxuICAgICAgaWYgKGZpbHRlci5wcmVzZXQgIT09IHByZXNldC5wcmVzZXQpIHtcbiAgICAgICAgZmlsdGVyID0ge1xuICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICBwcmVzZXQ6IHByZXNldC5wcmVzZXRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5maWx0ZXJTb3VyY2VEaXJlY3RpdmUuc2V0RmlsdGVyKGZpbHRlcik7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcHJlc2V0cy5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
|