@dereekb/dbx-web 12.6.21 → 12.7.0
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/action/snackbar/action.snackbar.component.mjs +10 -14
- package/esm2022/lib/action/snackbar/action.snackbar.directive.mjs +8 -7
- package/esm2022/lib/action/transition/transition.safety.dialog.component.mjs +1 -1
- package/esm2022/lib/button/progress/abstract.progress.button.directive.mjs +5 -5
- package/esm2022/lib/error/error.action.directive.mjs +9 -9
- package/esm2022/lib/error/error.loading.directive.mjs +7 -6
- package/esm2022/lib/error/error.snackbar.action.directive.mjs +6 -7
- package/esm2022/lib/error/error.snackbar.component.mjs +9 -13
- package/esm2022/lib/extension/download/blob/download.blob.button.component.mjs +6 -10
- package/esm2022/lib/extension/download/text/download.text.component.mjs +1 -6
- package/esm2022/lib/extension/help/help.context.service.mjs +3 -5
- package/esm2022/lib/extension/model/model.tracker.view.storage.mjs +3 -5
- package/esm2022/lib/extension/zip/zip.blob.preview.component.mjs +4 -7
- package/esm2022/lib/extension/zip/zip.preview.component.mjs +4 -7
- package/esm2022/lib/interaction/dialog/dialog.action.directive.mjs +1 -1
- package/esm2022/lib/interaction/filter/filter.popover.component.mjs +9 -12
- package/esm2022/lib/interaction/filter/filter.wrapper.component.mjs +3 -2
- package/esm2022/lib/interaction/iframe/embed.component.mjs +7 -12
- package/esm2022/lib/interaction/iframe/iframe.component.mjs +7 -12
- package/esm2022/lib/interaction/popover/abstract.popover.ref.directive.mjs +8 -7
- package/esm2022/lib/interaction/popover/popover.action.directive.mjs +1 -1
- package/esm2022/lib/interaction/popover/popover.component.mjs +1 -3
- package/esm2022/lib/interaction/popover/popover.coordinator.component.mjs +5 -6
- package/esm2022/lib/interaction/popover/popover.coordinator.service.mjs +3 -5
- package/esm2022/lib/interaction/popup/popup.component.mjs +4 -9
- package/esm2022/lib/interaction/popup/popup.coordinator.component.mjs +5 -6
- package/esm2022/lib/interaction/popup/popup.coordinator.service.mjs +3 -5
- package/esm2022/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +1 -1
- package/esm2022/lib/interaction/upload/upload.action.directive.mjs +8 -15
- package/esm2022/lib/layout/column/two/two.column.back.directive.mjs +8 -8
- package/esm2022/lib/layout/column/two/two.column.component.mjs +4 -5
- package/esm2022/lib/layout/column/two/two.column.sref.showright.directive.mjs +5 -6
- package/esm2022/lib/layout/column/two/two.column.store.mjs +3 -7
- package/esm2022/lib/layout/flex/flex.group.directive.mjs +4 -5
- package/esm2022/lib/layout/list/list.view.directive.mjs +16 -21
- package/esm2022/lib/layout/list/modifier/list.view.value.modifier.directive.mjs +11 -15
- package/esm2022/lib/layout/list/modifier/list.view.value.modifier.ripple.directive.mjs +1 -1
- package/esm2022/lib/layout/list/modifier/list.view.value.modifier.selection.directive.mjs +1 -1
- package/esm2022/lib/layout/style/style.body.directive.mjs +9 -9
- package/esm2022/lib/layout/style/style.directive.mjs +9 -9
- package/esm2022/lib/layout/style/style.set.directive.mjs +10 -10
- package/esm2022/lib/loading/loading.action.directive.mjs +3 -7
- package/esm2022/mapbox/lib/mapbox.injection.store.mjs +1 -1
- package/esm2022/mapbox/lib/mapbox.layout.resize.sync.directive.mjs +8 -8
- package/esm2022/mapbox/lib/mapbox.menu.component.mjs +17 -19
- package/esm2022/mapbox/lib/mapbox.store.mjs +1 -1
- package/esm2022/table/lib/date/daterange.table.cell.input.component.mjs +8 -11
- package/esm2022/table/lib/table.column.size.directive.mjs +8 -9
- package/fesm2022/dereekb-dbx-web-mapbox.mjs +22 -24
- package/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-web-table.mjs +13 -19
- package/fesm2022/dereekb-dbx-web-table.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-web.mjs +150 -229
- package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
- package/lib/action/snackbar/action.snackbar.component.d.ts +4 -5
- package/lib/action/snackbar/action.snackbar.directive.d.ts +3 -2
- package/lib/action/transition/transition.safety.dialog.component.d.ts +1 -2
- package/lib/button/progress/abstract.progress.button.directive.d.ts +3 -3
- package/lib/error/error.action.directive.d.ts +3 -4
- package/lib/error/error.loading.directive.d.ts +2 -2
- package/lib/error/error.snackbar.action.directive.d.ts +2 -2
- package/lib/error/error.snackbar.component.d.ts +2 -4
- package/lib/extension/download/blob/download.blob.button.component.d.ts +3 -4
- package/lib/extension/download/text/download.text.component.d.ts +2 -4
- package/lib/extension/help/help.context.service.d.ts +1 -3
- package/lib/extension/model/model.tracker.view.storage.d.ts +2 -3
- package/lib/extension/zip/zip.blob.preview.component.d.ts +2 -3
- package/lib/extension/zip/zip.preview.component.d.ts +1 -3
- package/lib/interaction/dialog/dialog.action.directive.d.ts +2 -2
- package/lib/interaction/filter/filter.popover.component.d.ts +3 -5
- package/lib/interaction/filter/filter.wrapper.component.d.ts +1 -1
- package/lib/interaction/iframe/embed.component.d.ts +2 -4
- package/lib/interaction/iframe/iframe.component.d.ts +2 -4
- package/lib/interaction/popover/abstract.popover.ref.directive.d.ts +4 -4
- package/lib/interaction/popover/popover.action.directive.d.ts +2 -2
- package/lib/interaction/popover/popover.coordinator.component.d.ts +2 -4
- package/lib/interaction/popover/popover.coordinator.service.d.ts +2 -4
- package/lib/interaction/popup/popup.component.d.ts +2 -3
- package/lib/interaction/popup/popup.coordinator.component.d.ts +2 -4
- package/lib/interaction/popup/popup.coordinator.service.d.ts +1 -3
- package/lib/interaction/prompt/prompt.confirm.dialog.component.d.ts +1 -2
- package/lib/interaction/upload/upload.action.directive.d.ts +2 -6
- package/lib/layout/column/two/two.column.back.directive.d.ts +2 -4
- package/lib/layout/column/two/two.column.component.d.ts +1 -3
- package/lib/layout/column/two/two.column.sref.showright.directive.d.ts +1 -2
- package/lib/layout/column/two/two.column.store.d.ts +2 -3
- package/lib/layout/flex/flex.group.directive.d.ts +1 -2
- package/lib/layout/list/list.view.directive.d.ts +9 -10
- package/lib/layout/list/modifier/list.view.value.modifier.directive.d.ts +3 -6
- package/lib/layout/list/modifier/list.view.value.modifier.ripple.directive.d.ts +1 -2
- package/lib/layout/list/modifier/list.view.value.modifier.selection.directive.d.ts +1 -2
- package/lib/layout/style/style.body.directive.d.ts +2 -4
- package/lib/layout/style/style.directive.d.ts +2 -4
- package/lib/layout/style/style.set.directive.d.ts +2 -4
- package/lib/loading/loading.action.directive.d.ts +1 -3
- package/mapbox/lib/mapbox.injection.store.d.ts +1 -2
- package/mapbox/lib/mapbox.layout.resize.sync.directive.d.ts +2 -4
- package/mapbox/lib/mapbox.menu.component.d.ts +5 -6
- package/mapbox/lib/mapbox.store.d.ts +1 -2
- package/package.json +1 -1
- package/table/lib/date/daterange.table.cell.input.component.d.ts +2 -4
- package/table/lib/table.column.size.directive.d.ts +4 -5
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { DbxActionContextStoreSourceInstance } from '@dereekb/dbx-core';
|
|
1
|
+
import { cleanLoadingContext, DbxActionContextStoreSourceInstance } from '@dereekb/dbx-core';
|
|
2
2
|
import { Directive, inject } from '@angular/core';
|
|
3
3
|
import { DbxLoadingComponent } from './loading.component';
|
|
4
|
-
import { loadingStateContext } from '@dereekb/rxjs';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
/**
|
|
7
6
|
* Context used for linking a loadingComponent to an ActionContext by providing a LoadingContext.
|
|
@@ -9,13 +8,10 @@ import * as i0 from "@angular/core";
|
|
|
9
8
|
export class DbxActionLoadingContextDirective {
|
|
10
9
|
loadingComponent = inject(DbxLoadingComponent, { host: true });
|
|
11
10
|
source = inject(DbxActionContextStoreSourceInstance);
|
|
12
|
-
_context =
|
|
11
|
+
_context = cleanLoadingContext({ obs: this.source.loadingState$ });
|
|
13
12
|
constructor() {
|
|
14
13
|
this.loadingComponent.setContext(this._context);
|
|
15
14
|
}
|
|
16
|
-
ngOnDestroy() {
|
|
17
|
-
this._context.destroy();
|
|
18
|
-
}
|
|
19
15
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionLoadingContextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
16
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxActionLoadingContextDirective, isStandalone: true, selector: "[dbxActionLoadingContext]", ngImport: i0 });
|
|
21
17
|
}
|
|
@@ -26,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26
22
|
standalone: true
|
|
27
23
|
}]
|
|
28
24
|
}], ctorParameters: () => [] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xvYWRpbmcvbG9hZGluZy5hY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUUxRDs7R0FFRztBQUtILE1BQU0sT0FBTyxnQ0FBZ0M7SUFDbEMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFL0QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBRTdDLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFFcEY7UUFDRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO3dHQVRVLGdDQUFnQzs0RkFBaEMsZ0NBQWdDOzs0RkFBaEMsZ0NBQWdDO2tCQUo1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsZWFuTG9hZGluZ0NvbnRleHQsIERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieExvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuL2xvYWRpbmcuY29tcG9uZW50JztcblxuLyoqXG4gKiBDb250ZXh0IHVzZWQgZm9yIGxpbmtpbmcgYSBsb2FkaW5nQ29tcG9uZW50IHRvIGFuIEFjdGlvbkNvbnRleHQgYnkgcHJvdmlkaW5nIGEgTG9hZGluZ0NvbnRleHQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhBY3Rpb25Mb2FkaW5nQ29udGV4dF0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEFjdGlvbkxvYWRpbmdDb250ZXh0RGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgbG9hZGluZ0NvbXBvbmVudCA9IGluamVjdChEYnhMb2FkaW5nQ29tcG9uZW50LCB7IGhvc3Q6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgc291cmNlID0gaW5qZWN0KERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZXh0ID0gY2xlYW5Mb2FkaW5nQ29udGV4dCh7IG9iczogdGhpcy5zb3VyY2UubG9hZGluZ1N0YXRlJCB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvYWRpbmdDb21wb25lbnQuc2V0Q29udGV4dCh0aGlzLl9jb250ZXh0KTtcbiAgfVxufVxuIl19
|
|
@@ -36,4 +36,4 @@ export function updateDbxMapboxMapInjectionStoreStateWithRemovedKey(state, key)
|
|
|
36
36
|
}
|
|
37
37
|
return state;
|
|
38
38
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LmluamVjdGlvbi5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvbWFwYm94L3NyYy9saWIvbWFwYm94LmluamVjdGlvbi5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQTJCLE1BQU0sZUFBZSxDQUFDOztBQThCMUY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBK0M7SUFDMUY7UUFDRSxLQUFLLENBQUM7WUFDSixHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQW1EO1NBQ2hFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxJQUFJLEdBQXFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNoRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDakIsZ0NBQWdDLEVBQUUsRUFDbEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFFTyxvQkFBb0IsR0FBMkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3BGLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUNsQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVGLHNCQUFzQjtJQUNiLGtCQUFrQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsd0RBQXdELENBQUMsQ0FBQztJQUM1Riw0QkFBNEIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7d0dBcEIvRix1QkFBdUI7NEdBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7QUF3QlgsTUFBTSxVQUFVLHdEQUF3RCxDQUFDLEtBQXNDLEVBQUUsTUFBZ0M7SUFDL0ksTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1EQUFtRCxDQUFDLEtBQXNDLEVBQUUsR0FBMEI7SUFDcEksNkRBQTZEO0lBQzdELElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQixLQUFLLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnV2l0aG91dEluamVjdG9yIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbE1hcEhhc0RpZmZlcmVudEtleXMsIE9ic2VydmFibGVPclZhbHVlR2V0dGVyIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbmV4cG9ydCB0eXBlIERieE1hcGJveEluamVjdGlvbktleSA9IHN0cmluZztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhNYXBib3hJbmplY3Rpb25Db25maWcge1xuICAvKipcbiAgICogVW5pcXVlIGtleSB0aGF0IGlkZW50aWZpZXMgdGhpcyBjb25maWcgc3BlY2lmaWNhbGx5LlxuICAgKlxuICAgKiBLZXlzIHNob3VsZCBhbGwgYmUgdW5pcXVlLiBUaGUgc3lzdGVtIGRvZXMgbm90IGV4cGVjdCBkdXBsaWNhdGUga2V5cy4gTW9kaWZpY2F0aW9ucyB0byBpbmplY3Rpb25Db25maWcgc2hvdWxkIG9jY3VyIHRocm91Z2ggdGhlIG9ic2VydmFibGUgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSBrZXk6IERieE1hcGJveEluamVjdGlvbktleTtcbiAgLyoqXG4gICAqIEFyYml0cmFyeSBpbmplY3Rpb24gdHlwZS4gSXMgdXNlZCBmb3IgZmlsdGVyaW5nIG9uIGNvbmZpZ3VyYXRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEluamVjdGlvbiBjb25maWd1cmF0aW9uLiBUaGUgaW5qZWN0b3IgaXMgZGlzYWxsb3dlZCwgYXMgdGhlIHBhcmVudCBpbmplY3RvciBtdXN0IGluY2x1ZGUgdGhlIG1hcGJveCBjb21wb25lbnQuXG4gICAqL1xuICByZWFkb25seSBpbmplY3Rpb25Db25maWc6IE9ic2VydmFibGVPclZhbHVlR2V0dGVyPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZ1dpdGhvdXRJbmplY3Rvcj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TWFwYm94TWFwSW5qZWN0aW9uU3RvcmVTdGF0ZSB7XG4gIC8qKlxuICAgKiBDdXJyZW50IG1hcCBvZiBpbmplY3Rpb24ga2V5cyBhbmQgY29uZmlndXJhdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBtYXA6IE1hcDxEYnhNYXBib3hJbmplY3Rpb25LZXksIERieE1hcGJveEluamVjdGlvbkNvbmZpZz47XG5cbiAgLy8gVE9ETzogQWRkIGZpbHRlcnMgZm9yIHNob3dpbmcvaGlkaW5nIGVsZW1lbnRzIG9mIGRpZmZlcmVudCB0eXBlcy5cbn1cblxuLyoqXG4gKiBTdG9yZSB1c2VkIGZvciBzdG9yaW5nIGluamVjdGFibGUgY29udGVudCBpbnRvIHRoZSBtYXAuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYnhNYXBib3hJbmplY3Rpb25TdG9yZSBleHRlbmRzIENvbXBvbmVudFN0b3JlPERieE1hcGJveE1hcEluamVjdGlvblN0b3JlU3RhdGU+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoe1xuICAgICAgbWFwOiBuZXcgTWFwPERieE1hcGJveEluamVjdGlvbktleSwgRGJ4TWFwYm94SW5qZWN0aW9uQ29uZmlnPigpXG4gICAgfSk7XG4gIH1cblxuICByZWFkb25seSBtYXAkOiBPYnNlcnZhYmxlPE1hcDxEYnhNYXBib3hJbmplY3Rpb25LZXksIERieE1hcGJveEluamVjdGlvbkNvbmZpZz4+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHgubWFwKSxcbiAgICBkaXN0aW5jdFVudGlsTWFwSGFzRGlmZmVyZW50S2V5cygpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgYWxsSW5qZWN0aW9uQ29uZmlncyQ6IE9ic2VydmFibGU8RGJ4TWFwYm94SW5qZWN0aW9uQ29uZmlnW10+ID0gdGhpcy5tYXAkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBBcnJheS5mcm9tKHgudmFsdWVzKCkpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8vIE1BUks6IFN0YXRlIENoYW5nZXNcbiAgcmVhZG9ubHkgYWRkSW5qZWN0aW9uQ29uZmlnID0gdGhpcy51cGRhdGVyKHVwZGF0ZURieE1hcGJveE1hcEluamVjdGlvblN0b3JlU3RhdGVXaXRoSW5qZWN0aW9uQ29uZmlnKTtcbiAgcmVhZG9ubHkgcmVtb3ZlSW5qZWN0aW9uQ29uZmlnV2l0aEtleSA9IHRoaXMudXBkYXRlcih1cGRhdGVEYnhNYXBib3hNYXBJbmplY3Rpb25TdG9yZVN0YXRlV2l0aFJlbW92ZWRLZXkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlRGJ4TWFwYm94TWFwSW5qZWN0aW9uU3RvcmVTdGF0ZVdpdGhJbmplY3Rpb25Db25maWcoc3RhdGU6IERieE1hcGJveE1hcEluamVjdGlvblN0b3JlU3RhdGUsIGNvbmZpZzogRGJ4TWFwYm94SW5qZWN0aW9uQ29uZmlnKSB7XG4gIGNvbnN0IG1hcCA9IG5ldyBNYXAoc3RhdGUubWFwKS5zZXQoY29uZmlnLmtleSwgY29uZmlnKTtcbiAgcmV0dXJuIHsgLi4uc3RhdGUsIG1hcCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlRGJ4TWFwYm94TWFwSW5qZWN0aW9uU3RvcmVTdGF0ZVdpdGhSZW1vdmVkS2V5KHN0YXRlOiBEYnhNYXBib3hNYXBJbmplY3Rpb25TdG9yZVN0YXRlLCBrZXk6IERieE1hcGJveEluamVjdGlvbktleSkge1xuICAvLyBvbmx5IGNyZWF0ZSBhIG5ldyBzdGF0ZSBpZiB0aGUga2V5IGlzIGdvaW5nIHRvIGdldCByZW1vdmVkXG4gIGlmIChzdGF0ZS5tYXAuaGFzKGtleSkpIHtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwKHN0YXRlLm1hcCk7XG4gICAgbWFwLmRlbGV0ZShrZXkpO1xuICAgIHN0YXRlID0geyAuLi5zdGF0ZSwgbWFwIH07XG4gIH1cblxuICByZXR1cm4gc3RhdGU7XG59XG4iXX0=
|
|
@@ -2,12 +2,12 @@ import { shareReplay, map, distinctUntilChanged } from 'rxjs';
|
|
|
2
2
|
import { Directive, inject } from '@angular/core';
|
|
3
3
|
import { isSameVector } from '@dereekb/util';
|
|
4
4
|
import { DbxMapboxLayoutComponent } from './mapbox.layout.component';
|
|
5
|
-
import {
|
|
5
|
+
import { cleanSubscription } from '@dereekb/dbx-core';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
/**
|
|
8
8
|
* Directive that synchronizes a map's virtual size with the size of the element.
|
|
9
9
|
*/
|
|
10
|
-
export class DbxMapboxLayoutVirtualResizeSyncComponent
|
|
10
|
+
export class DbxMapboxLayoutVirtualResizeSyncComponent {
|
|
11
11
|
dbxMapboxLayoutComponent = inject(DbxMapboxLayoutComponent, { host: true });
|
|
12
12
|
resizedVector$ = this.dbxMapboxLayoutComponent.viewResized$.pipe(map(() => {
|
|
13
13
|
const element = this.dbxMapboxLayoutComponent.drawerContainerElement()?.nativeElement;
|
|
@@ -17,11 +17,11 @@ export class DbxMapboxLayoutVirtualResizeSyncComponent extends AbstractSubscript
|
|
|
17
17
|
y: clientHeight
|
|
18
18
|
};
|
|
19
19
|
}), distinctUntilChanged(isSameVector), shareReplay(1));
|
|
20
|
-
|
|
21
|
-
this.
|
|
20
|
+
constructor() {
|
|
21
|
+
cleanSubscription(this.dbxMapboxLayoutComponent.dbxMapboxMapStore.setMinimumVirtualViewportSize(this.resizedVector$));
|
|
22
22
|
}
|
|
23
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxLayoutVirtualResizeSyncComponent, deps:
|
|
24
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxMapboxLayoutVirtualResizeSyncComponent, isStandalone: true, selector: "[dbxMapboxLayoutVirtualResizeSync]",
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxLayoutVirtualResizeSyncComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
24
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxMapboxLayoutVirtualResizeSyncComponent, isStandalone: true, selector: "[dbxMapboxLayoutVirtualResizeSync]", ngImport: i0 });
|
|
25
25
|
}
|
|
26
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxLayoutVirtualResizeSyncComponent, decorators: [{
|
|
27
27
|
type: Directive,
|
|
@@ -29,5 +29,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
29
29
|
selector: '[dbxMapboxLayoutVirtualResizeSync]',
|
|
30
30
|
standalone: true
|
|
31
31
|
}]
|
|
32
|
-
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
}], ctorParameters: () => [] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LmxheW91dC5yZXNpemUuc3luYy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL21hcGJveC9zcmMvbGliL21hcGJveC5sYXlvdXQucmVzaXplLnN5bmMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUV0RDs7R0FFRztBQUtILE1BQU0sT0FBTyx5Q0FBeUM7SUFDM0Msd0JBQXdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFNUUsY0FBYyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN2RSxHQUFHLENBQUMsR0FBRyxFQUFFO1FBQ1AsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHNCQUFzQixFQUFFLEVBQUUsYUFBNEIsQ0FBQztRQUNyRyxNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUU5QyxPQUFPO1lBQ0wsQ0FBQyxFQUFFLFdBQVc7WUFDZCxDQUFDLEVBQUUsWUFBWTtTQUNoQixDQUFDO0lBQ0osQ0FBQyxDQUFDLEVBQ0Ysb0JBQW9CLENBQUMsWUFBWSxDQUFDLEVBQ2xDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRUY7UUFDRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBaUIsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7d0dBbkJVLHlDQUF5Qzs0RkFBekMseUNBQXlDOzs0RkFBekMseUNBQXlDO2tCQUpyRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQ0FBb0M7b0JBQzlDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYXJlUmVwbGF5LCBtYXAsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1NhbWVWZWN0b3IgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieE1hcGJveExheW91dENvbXBvbmVudCB9IGZyb20gJy4vbWFwYm94LmxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgY2xlYW5TdWJzY3JpcHRpb24gfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5cbi8qKlxuICogRGlyZWN0aXZlIHRoYXQgc3luY2hyb25pemVzIGEgbWFwJ3MgdmlydHVhbCBzaXplIHdpdGggdGhlIHNpemUgb2YgdGhlIGVsZW1lbnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhNYXBib3hMYXlvdXRWaXJ0dWFsUmVzaXplU3luY10nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieE1hcGJveExheW91dFZpcnR1YWxSZXNpemVTeW5jQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgZGJ4TWFwYm94TGF5b3V0Q29tcG9uZW50ID0gaW5qZWN0KERieE1hcGJveExheW91dENvbXBvbmVudCwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHJlc2l6ZWRWZWN0b3IkID0gdGhpcy5kYnhNYXBib3hMYXlvdXRDb21wb25lbnQudmlld1Jlc2l6ZWQkLnBpcGUoXG4gICAgbWFwKCgpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmRieE1hcGJveExheW91dENvbXBvbmVudC5kcmF3ZXJDb250YWluZXJFbGVtZW50KCk/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCB7IGNsaWVudFdpZHRoLCBjbGllbnRIZWlnaHQgfSA9IGVsZW1lbnQ7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IGNsaWVudFdpZHRoLFxuICAgICAgICB5OiBjbGllbnRIZWlnaHRcbiAgICAgIH07XG4gICAgfSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNTYW1lVmVjdG9yKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNsZWFuU3Vic2NyaXB0aW9uKHRoaXMuZGJ4TWFwYm94TGF5b3V0Q29tcG9uZW50LmRieE1hcGJveE1hcFN0b3JlLnNldE1pbmltdW1WaXJ0dWFsVmlld3BvcnRTaXplKHRoaXMucmVzaXplZFZlY3RvciQpIGFzIFN1YnNjcmlwdGlvbik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,7 +4,7 @@ import { DbxMapboxMapStore } from './mapbox.store';
|
|
|
4
4
|
import { ChangeDetectionStrategy, Component, inject, signal, input, effect } from '@angular/core';
|
|
5
5
|
import { DestroyFunctionObject, isNotFalse } from '@dereekb/util';
|
|
6
6
|
import { MatMenuTrigger } from '@angular/material/menu';
|
|
7
|
-
import {
|
|
7
|
+
import { clean, cleanSubscription } from '@dereekb/dbx-core';
|
|
8
8
|
import { disableRightClickInCdkBackdrop } from '@dereekb/dbx-web';
|
|
9
9
|
import { toObservable } from '@angular/core/rxjs-interop';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
@@ -13,7 +13,7 @@ import * as i0 from "@angular/core";
|
|
|
13
13
|
*
|
|
14
14
|
* The map dissapears if the mouse scrolls anywhere else on the map.
|
|
15
15
|
*/
|
|
16
|
-
export class DbxMapboxMenuComponent
|
|
16
|
+
export class DbxMapboxMenuComponent {
|
|
17
17
|
dbxMapboxMapStore = inject(DbxMapboxMapStore);
|
|
18
18
|
matMenuTrigger = inject(MatMenuTrigger, { host: true });
|
|
19
19
|
active = input(true, { transform: isNotFalse });
|
|
@@ -30,11 +30,12 @@ export class DbxMapboxMenuComponent extends AbstractSubscriptionDirective {
|
|
|
30
30
|
break;
|
|
31
31
|
}
|
|
32
32
|
});
|
|
33
|
+
active$ = toObservable(this.active);
|
|
34
|
+
_sub = cleanSubscription();
|
|
33
35
|
_menuCloseSub = new SubscriptionObject();
|
|
34
36
|
_preventRightClick = new DestroyFunctionObject();
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
this.sub = this.active$
|
|
37
|
+
constructor() {
|
|
38
|
+
cleanSubscription(this.active$
|
|
38
39
|
.pipe(switchMap((active) => {
|
|
39
40
|
if (active) {
|
|
40
41
|
return this.dbxMapboxMapStore.rightClickEvent$;
|
|
@@ -60,22 +61,19 @@ export class DbxMapboxMenuComponent extends AbstractSubscriptionDirective {
|
|
|
60
61
|
this.matMenuTrigger.closeMenu();
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
|
-
});
|
|
64
|
-
this.
|
|
64
|
+
}));
|
|
65
|
+
cleanSubscription(this.matMenuTrigger.menuClosed.subscribe(() => {
|
|
65
66
|
// destroy prevention when the menu is closed.
|
|
66
67
|
this._preventRightClick.destroy();
|
|
68
|
+
}));
|
|
69
|
+
clean(() => {
|
|
70
|
+
if (this.matMenuTrigger) {
|
|
71
|
+
this.matMenuTrigger.closeMenu();
|
|
72
|
+
}
|
|
67
73
|
});
|
|
68
74
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
this._menuCloseSub.destroy();
|
|
72
|
-
this._preventRightClick.destroy();
|
|
73
|
-
if (this.matMenuTrigger) {
|
|
74
|
-
this.matMenuTrigger.closeMenu();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxMapboxMenuComponent, isStandalone: true, selector: "dbx-mapbox-menu", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.top": "posSignal().y", "style.left": "posSignal().x" }, styleAttribute: "visibility: hidden; position: fixed" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
75
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxMapboxMenuComponent, isStandalone: true, selector: "dbx-mapbox-menu", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.top": "posSignal().y", "style.left": "posSignal().x" }, styleAttribute: "visibility: hidden; position: fixed" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
79
77
|
}
|
|
80
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxMenuComponent, decorators: [{
|
|
81
79
|
type: Component,
|
|
@@ -90,5 +88,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
90
88
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
91
89
|
standalone: true
|
|
92
90
|
}]
|
|
93
|
-
}] });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
}], ctorParameters: () => [] });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94Lm1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9tYXBib3gvc3JjL2xpYi9tYXBib3gubWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQVMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUUxRDs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixpQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5QyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXhELE1BQU0sR0FBRyxLQUFLLENBQTBCLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBRXpFLGVBQWUsR0FBRyxNQUFN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QUksRUFBRTt3QkFDSixLQUFLLEVBQUUscUNBQXFDO3dCQUM1QyxhQUFhLEVBQUUsZUFBZTt3QkFDOUIsY0FBYyxFQUFFLGVBQWU7cUJBQ2hDO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc3dpdGNoTWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4TWFwYm94TWFwU3RvcmUgfSBmcm9tICcuL21hcGJveC5zdG9yZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCwgaW5wdXQsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF5YmUsIERlc3Ryb3lGdW5jdGlvbk9iamVjdCwgaXNOb3RGYWxzZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IGNsZWFuLCBjbGVhblN1YnNjcmlwdGlvbiB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IGRpc2FibGVSaWdodENsaWNrSW5DZGtCYWNrZHJvcCB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IGNvbm5lY3RzIGEgaG9zdCBNYXRNZW51VHJpZ2dlciB0byBhIERieE1hcGJveE1hcFN0b3JlIGFuZCBsaXN0ZW5zIGZvciByaWdodC1jbGlja3Mgb24gdGhlIG1hcC5cbiAqXG4gKiBUaGUgbWFwIGRpc3NhcGVhcnMgaWYgdGhlIG1vdXNlIHNjcm9sbHMgYW55d2hlcmUgZWxzZSBvbiB0aGUgbWFwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtbWFwYm94LW1lbnUnLFxuICB0ZW1wbGF0ZTogJycsXG4gIGhvc3Q6IHtcbiAgICBzdHlsZTogJ3Zpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGZpeGVkJyxcbiAgICAnW3N0eWxlLnRvcF0nOiAncG9zU2lnbmFsKCkueScsXG4gICAgJ1tzdHlsZS5sZWZ0XSc6ICdwb3NTaWduYWwoKS54J1xuICB9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhNYXBib3hNZW51Q29tcG9uZW50IHtcbiAgcmVhZG9ubHkgZGJ4TWFwYm94TWFwU3RvcmUgPSBpbmplY3QoRGJ4TWFwYm94TWFwU3RvcmUpO1xuICByZWFkb25seSBtYXRNZW51VHJpZ2dlciA9IGluamVjdChNYXRNZW51VHJpZ2dlciwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZSA9IGlucHV0PGJvb2xlYW4sIE1heWJlPGJvb2xlYW4+Pih0cnVlLCB7IHRyYW5zZm9ybTogaXNOb3RGYWxzZSB9KTtcblxuICByZWFkb25seSBvcGVuQ2xvc2VTaWduYWwgPSBzaWduYWw8TWF5YmU8Ym9vbGVhbj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHBvc1NpZ25hbCA9IHNpZ25hbDx7IHg6IHN0cmluZzsgeTogc3RyaW5nIH0+KHsgeDogYDBgLCB5OiBgMGAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9vcGVuQ2xvc2VFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG9wZW5PckNsb3NlID0gdGhpcy5vcGVuQ2xvc2VTaWduYWwoKTtcblxuICAgIHN3aXRjaCAob3Blbk9yQ2xvc2UpIHtcbiAgICAgIGNhc2UgdHJ1ZTpcbiAgICAgICAgdGhpcy5tYXRNZW51VHJpZ2dlci5vcGVuTWVudSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgZmFsc2U6XG4gICAgICAgIHRoaXMubWF0TWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfSk7XG5cbiAgcmVhZG9ubHkgYWN0aXZlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmFjdGl2ZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdWIgPSBjbGVhblN1YnNjcmlwdGlvbigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZW51Q2xvc2VTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ByZXZlbnRSaWdodENsaWNrID0gbmV3IERlc3Ryb3lGdW5jdGlvbk9iamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNsZWFuU3Vic2NyaXB0aW9uKFxuICAgICAgdGhpcy5hY3RpdmUkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoYWN0aXZlKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmRieE1hcGJveE1hcFN0b3JlLnJpZ2h0Q2xpY2tFdmVudCQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBmaWx0ZXIoQm9vbGVhbilcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lbnUgPSB0aGlzLm1hdE1lbnVUcmlnZ2VyLm1lbnU7XG4gICAgICAgICAgY29uc3QgYnV0dG9uRXZlbnQgPSBldmVudC5vcmlnaW5hbEV2ZW50O1xuXG4gICAgICAgICAgaWYgKG1lbnUgJiYgYnV0dG9uRXZlbnQpIHtcbiAgICAgICAgICAgIGJ1dHRvbkV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIC8vIHVwZGF0ZSBwb3NpdGlvbiBvZiB0aGlzIGNvbXBvbmVudCBmb3IgbWVudSB0byBvcGVuIGF0XG4gICAgICAgICAgICB0aGlzLnBvc1NpZ25hbC5zZXQoe1xuICAgICAgICAgICAgICB4OiBgJHtidXR0b25FdmVudC54fXB4YCxcbiAgICAgICAgICAgICAgeTogYCR7YnV0dG9uRXZlbnQueX1weGBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBvcGVuIG1lbnVcbiAgICAgICAgICAgIHRoaXMubWF0TWVudVRyaWdnZXIub3Blbk1lbnUoKTtcblxuICAgICAgICAgICAgLy8gcHJldmVudCByaWdodCBjbGlja3MgaW4gdGhlIGNka092ZXJsYXkgd2hpbGUgdGhlIG1lbnUgaXMgb3BlblxuICAgICAgICAgICAgdGhpcy5fcHJldmVudFJpZ2h0Q2xpY2suZGVzdHJveSA9IGRpc2FibGVSaWdodENsaWNrSW5DZGtCYWNrZHJvcCh1bmRlZmluZWQsICgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5tYXRNZW51VHJpZ2dlci5jbG9zZU1lbnUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgY2xlYW5TdWJzY3JpcHRpb24oXG4gICAgICB0aGlzLm1hdE1lbnVUcmlnZ2VyLm1lbnVDbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gZGVzdHJveSBwcmV2ZW50aW9uIHdoZW4gdGhlIG1lbnUgaXMgY2xvc2VkLlxuICAgICAgICB0aGlzLl9wcmV2ZW50UmlnaHRDbGljay5kZXN0cm95KCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjbGVhbigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5tYXRNZW51VHJpZ2dlcikge1xuICAgICAgICB0aGlzLm1hdE1lbnVUcmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|