@ecodev/natural 60.1.0 → 61.0.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/classes/abstract-detail.mjs +6 -14
- package/esm2022/lib/classes/abstract-editable-list.mjs +5 -7
- package/esm2022/lib/classes/abstract-list.mjs +9 -8
- package/esm2022/lib/classes/abstract-navigable-list.mjs +7 -6
- package/esm2022/lib/classes/rxjs.mjs +11 -5
- package/esm2022/lib/directives/http-prefix.directive.mjs +3 -3
- package/esm2022/lib/modules/alert/alert.service.mjs +3 -3
- package/esm2022/lib/modules/alert/confirm.component.mjs +3 -3
- package/esm2022/lib/modules/avatar/component/avatar.component.mjs +3 -3
- package/esm2022/lib/modules/avatar/service/avatar.service.mjs +3 -3
- package/esm2022/lib/modules/columns-picker/columns-picker.component.mjs +8 -12
- package/esm2022/lib/modules/common/directives/background-density.directive.mjs +3 -3
- package/esm2022/lib/modules/common/directives/linkable-tab.directive.mjs +9 -11
- package/esm2022/lib/modules/common/directives/src-density.directive.mjs +3 -3
- package/esm2022/lib/modules/common/pipes/capitalize.pipe.mjs +3 -3
- package/esm2022/lib/modules/common/pipes/ellipsis.pipe.mjs +3 -3
- package/esm2022/lib/modules/common/pipes/enum.pipe.mjs +3 -3
- package/esm2022/lib/modules/common/pipes/time-ago.pipe.mjs +3 -3
- package/esm2022/lib/modules/common/services/memory-storage.mjs +3 -3
- package/esm2022/lib/modules/common/services/seo.service.mjs +5 -5
- package/esm2022/lib/modules/detail-header/detail-header.component.mjs +3 -3
- package/esm2022/lib/modules/dialog-trigger/dialog-trigger.component.mjs +3 -3
- package/esm2022/lib/modules/dropdown-components/abstract-association-select-component.directive.mjs +3 -3
- package/esm2022/lib/modules/dropdown-components/type-boolean/type-boolean.component.mjs +3 -3
- package/esm2022/lib/modules/dropdown-components/type-date/type-date.component.mjs +3 -3
- package/esm2022/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +3 -3
- package/esm2022/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +3 -3
- package/esm2022/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +3 -3
- package/esm2022/lib/modules/dropdown-components/type-number/type-number.component.mjs +3 -3
- package/esm2022/lib/modules/dropdown-components/type-options/type-options.component.mjs +3 -3
- package/esm2022/lib/modules/dropdown-components/type-select/type-select.component.mjs +12 -12
- package/esm2022/lib/modules/dropdown-components/type-text/type-text.component.mjs +5 -5
- package/esm2022/lib/modules/file/abstract-file.mjs +5 -8
- package/esm2022/lib/modules/file/component/file.component.mjs +3 -3
- package/esm2022/lib/modules/file/file-drop.directive.mjs +9 -7
- package/esm2022/lib/modules/file/file-select.directive.mjs +3 -3
- package/esm2022/lib/modules/file/file.service.mjs +3 -3
- package/esm2022/lib/modules/fixed-button/fixed-button.component.mjs +3 -3
- package/esm2022/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +3 -3
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +10 -10
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +3 -3
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +3 -3
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +3 -3
- package/esm2022/lib/modules/icon/icon.directive.mjs +3 -3
- package/esm2022/lib/modules/logger/error-handler.mjs +3 -3
- package/esm2022/lib/modules/matomo/matomo.service.mjs +3 -3
- package/esm2022/lib/modules/panels/abstract-panel.mjs +10 -10
- package/esm2022/lib/modules/panels/panels.component.mjs +3 -3
- package/esm2022/lib/modules/panels/panels.service.mjs +3 -3
- package/esm2022/lib/modules/relations/relations.component.mjs +10 -10
- package/esm2022/lib/modules/search/dropdown-container/dropdown-container.component.mjs +3 -3
- package/esm2022/lib/modules/search/dropdown-container/dropdown.service.mjs +3 -3
- package/esm2022/lib/modules/search/facet-selector/facet-selector.component.mjs +3 -3
- package/esm2022/lib/modules/search/group/group.component.mjs +3 -3
- package/esm2022/lib/modules/search/input/input.component.mjs +3 -3
- package/esm2022/lib/modules/search/search/search.component.mjs +3 -3
- package/esm2022/lib/modules/select/abstract-select.component.mjs +5 -7
- package/esm2022/lib/modules/select/select/select.component.mjs +10 -8
- package/esm2022/lib/modules/select/select-enum/select-enum.component.mjs +3 -3
- package/esm2022/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +4 -4
- package/esm2022/lib/modules/sidenav/sidenav/sidenav.component.mjs +3 -3
- package/esm2022/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +3 -3
- package/esm2022/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +3 -3
- package/esm2022/lib/modules/sidenav/sidenav-stack.service.mjs +3 -3
- package/esm2022/lib/modules/sidenav/sidenav.service.mjs +11 -11
- package/esm2022/lib/modules/stamp/stamp.component.mjs +3 -3
- package/esm2022/lib/modules/table-button/table-button.component.mjs +3 -3
- package/esm2022/lib/services/debounce.service.mjs +3 -3
- package/esm2022/lib/services/enum.service.mjs +3 -3
- package/esm2022/lib/services/link-mutation.service.mjs +3 -3
- package/esm2022/lib/services/persistence.service.mjs +3 -3
- package/esm2022/lib/services/swiss-parsing-date-adapter.service.mjs +3 -3
- package/esm2022/public-api.mjs +1 -2
- package/fesm2022/ecodev-natural.mjs +266 -305
- package/fesm2022/ecodev-natural.mjs.map +1 -1
- package/lib/classes/abstract-detail.d.ts +1 -10
- package/lib/classes/abstract-editable-list.d.ts +1 -2
- package/lib/classes/abstract-list.d.ts +2 -2
- package/lib/classes/abstract-navigable-list.d.ts +2 -2
- package/lib/classes/rxjs.d.ts +9 -2
- package/lib/modules/columns-picker/columns-picker.component.d.ts +3 -4
- package/lib/modules/common/directives/linkable-tab.directive.d.ts +2 -2
- package/lib/modules/dropdown-components/type-select/type-select.component.d.ts +3 -3
- package/lib/modules/file/abstract-file.d.ts +1 -2
- package/lib/modules/file/file-drop.directive.d.ts +1 -0
- package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.d.ts +2 -2
- package/lib/modules/panels/abstract-panel.d.ts +3 -2
- package/lib/modules/relations/relations.component.d.ts +2 -2
- package/lib/modules/select/abstract-select.component.d.ts +2 -3
- package/lib/modules/select/select/select.component.d.ts +3 -2
- package/lib/modules/select/select-hierarchic/select-hierarchic.component.d.ts +2 -2
- package/lib/modules/sidenav/sidenav.service.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/esm2022/lib/classes/abstract-controller.mjs +0 -31
- package/lib/classes/abstract-controller.d.ts +0 -21
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
1
|
+
import { DestroyRef, Inject, inject, Injectable } from '@angular/core';
|
|
2
2
|
import { NavigationEnd } from '@angular/router';
|
|
3
|
-
import { filter
|
|
4
|
-
import { NaturalAbstractController } from '../../classes/abstract-controller';
|
|
3
|
+
import { filter } from 'rxjs/operators';
|
|
5
4
|
import { SESSION_STORAGE } from '../common/services/memory-storage';
|
|
6
5
|
import { Breakpoints } from '@angular/cdk/layout';
|
|
6
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/cdk/layout";
|
|
9
9
|
import * as i2 from "@angular/router";
|
|
@@ -22,13 +22,13 @@ function assert(value) {
|
|
|
22
22
|
* https://github.com/angular/material2/issues/6743
|
|
23
23
|
* Maybe the better is to wait next release
|
|
24
24
|
*/
|
|
25
|
-
export class NaturalSidenavService
|
|
25
|
+
export class NaturalSidenavService {
|
|
26
26
|
constructor(breakpointObserver, router, sessionStorage, naturalSidenavStackService) {
|
|
27
|
-
super();
|
|
28
27
|
this.breakpointObserver = breakpointObserver;
|
|
29
28
|
this.router = router;
|
|
30
29
|
this.sessionStorage = sessionStorage;
|
|
31
30
|
this.naturalSidenavStackService = naturalSidenavStackService;
|
|
31
|
+
this.destroyRef = inject(DestroyRef);
|
|
32
32
|
/**
|
|
33
33
|
* Navigation modes
|
|
34
34
|
* First is for desktop view
|
|
@@ -90,7 +90,7 @@ export class NaturalSidenavService extends NaturalAbstractController {
|
|
|
90
90
|
let oldIsBig = null;
|
|
91
91
|
this.breakpointObserver
|
|
92
92
|
.observe([Breakpoints.XSmall, Breakpoints.Small])
|
|
93
|
-
.pipe(
|
|
93
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
94
94
|
.subscribe(r => {
|
|
95
95
|
this._isMobileView = r.matches;
|
|
96
96
|
const isBig = !this._isMobileView;
|
|
@@ -111,7 +111,7 @@ export class NaturalSidenavService extends NaturalAbstractController {
|
|
|
111
111
|
});
|
|
112
112
|
if (autoClose) {
|
|
113
113
|
this.router.events
|
|
114
|
-
.pipe(
|
|
114
|
+
.pipe(takeUntilDestroyed(this.destroyRef), filter(e => e instanceof NavigationEnd))
|
|
115
115
|
.subscribe(() => {
|
|
116
116
|
this.navItemClicked();
|
|
117
117
|
});
|
|
@@ -190,14 +190,14 @@ export class NaturalSidenavService extends NaturalAbstractController {
|
|
|
190
190
|
this.sessionStorage.setItem(this.openedStorageKeyWithName, this.opened ? 'true' : 'false');
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
194
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
193
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalSidenavService, deps: [{ token: i1.BreakpointObserver }, { token: i2.Router }, { token: SESSION_STORAGE }, { token: i3.NaturalSidenavStackService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
194
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalSidenavService, providedIn: 'root' }); }
|
|
195
195
|
}
|
|
196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
196
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalSidenavService, decorators: [{
|
|
197
197
|
type: Injectable,
|
|
198
198
|
args: [{ providedIn: 'root' }]
|
|
199
199
|
}], ctorParameters: () => [{ type: i1.BreakpointObserver }, { type: i2.Router }, { type: undefined, decorators: [{
|
|
200
200
|
type: Inject,
|
|
201
201
|
args: [SESSION_STORAGE]
|
|
202
202
|
}] }, { type: i3.NaturalSidenavStackService }] });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2lkZW5hdi9zaWRlbmF2LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFDLGFBQWEsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFNUUsT0FBTyxFQUFpQixlQUFlLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUVsRixPQUFPLEVBQXFCLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7OztBQUVwRTs7R0FFRztBQUNILFNBQVMsTUFBTSxDQUFJLEtBQVE7SUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEseUJBQXlCO0lBMkNoRSxZQUNvQixrQkFBc0MsRUFDckMsTUFBYyxFQUNXLGNBQThCLEVBQ3ZELDBCQUFzRDtRQUV2RSxLQUFLLEVBQUUsQ0FBQztRQUxRLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDckMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNXLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUN2RCwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBOUMzRTs7OztXQUlHO1FBQ0ssVUFBSyxHQUFvQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVsRDs7O1dBR0c7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RXBCLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQzthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9GLENBQUM7SUFDTCxDQUFDOzhHQTlNUSxxQkFBcUIsMEVBOENsQixlQUFlO2tIQTlDbEIscUJBQXFCLGNBRFQsTUFBTTs7MkZBQ2xCLHFCQUFxQjtrQkFEakMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7OzBCQStDdkIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXREcmF3ZXJNb2RlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7TmF2aWdhdGlvbkVuZCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtmaWx0ZXIsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RDb250cm9sbGVyfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Fic3RyYWN0LWNvbnRyb2xsZXInO1xuaW1wb3J0IHtOYXR1cmFsU2lkZW5hdkNvbnRhaW5lckNvbXBvbmVudH0gZnJvbSAnLi9zaWRlbmF2LWNvbnRhaW5lci9zaWRlbmF2LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtOYXR1cmFsU3RvcmFnZSwgU0VTU0lPTl9TVE9SQUdFfSBmcm9tICcuLi9jb21tb24vc2VydmljZXMvbWVtb3J5LXN0b3JhZ2UnO1xuaW1wb3J0IHtOYXR1cmFsU2lkZW5hdlN0YWNrU2VydmljZX0gZnJvbSAnLi9zaWRlbmF2LXN0YWNrLnNlcnZpY2UnO1xuaW1wb3J0IHtCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxuLyoqXG4gKiBBc3NlcnQgdGhhdCBnaXZlbiB2YWx1ZSBpcyBub3QgbnVsbFxuICovXG5mdW5jdGlvbiBhc3NlcnQ8VD4odmFsdWU6IFQpOiBhc3NlcnRzIHZhbHVlIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBjYWxsIE5hdHVyYWxTaWRlbmF2U2VydmljZS5pbml0KCkgYmVmb3JlIHVzaW5nIHRoZSBzZXJ2aWNlJyk7XG4gICAgfVxufVxuXG4vKipcbiAqIFRPRE86IEZpeCBuYXYgbWluaW1pemUgYW5kIG1heGltaXplIHJlc2l6ZVxuICogU2luY2UgTWF0ZXJpYWwgMiBiZXRhIDEwLCB3aGVuIG5hdiBpcyByZXNpemVkIHRoZSBib2R5IGlzIG5vdCByZXNpemVkXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvaXNzdWVzLzY3NDNcbiAqIE1heWJlIHRoZSBiZXR0ZXIgaXMgdG8gd2FpdCBuZXh0IHJlbGVhc2VcbiAqL1xuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNpZGVuYXZTZXJ2aWNlIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0Q29udHJvbGxlciB7XG4gICAgLyoqXG4gICAgICogTmF2aWdhdGlvbiBtb2Rlc1xuICAgICAqIEZpcnN0IGlzIGZvciBkZXNrdG9wIHZpZXdcbiAgICAgKiBTZWNvbmQgaXMgZm9yIG1vYmlsZSB2aWV3XG4gICAgICovXG4gICAgcHJpdmF0ZSBtb2RlczogTWF0RHJhd2VyTW9kZVtdID0gWydzaWRlJywgJ3B1c2gnXTtcblxuICAgIC8qKlxuICAgICAqIEFjdGl2YXRlZCBtb2RlXG4gICAgICogRGVmYXVsdCB0byBkZXNrdG9wIHZpZXdcbiAgICAgKi9cbiAgICBwcml2YXRlIG1vZGU6IE1hdERyYXdlck1vZGUgPSB0aGlzLm1vZGVzWzBdO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBuYXYgaXMgb3BlbmVkIG9yIG5vdFxuICAgICAqL1xuICAgIHByaXZhdGUgb3BlbmVkID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyB0aGUgb3BlbmVkIHN0YXR1cyBkdXJpbmcgbW9iaWxlIHZpZXcsIHRvIHJlc3RvcmUgaWYgd2UgY29tZSBiYWNrIHRvIGRlc2t0b3Agdmlld1xuICAgICAqL1xuICAgIHByaXZhdGUgdG1wT3BlbmVkOiBib29sZWFuID0gdGhpcy5vcGVuZWQ7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5hdiBpcyBtaW5pbWl6ZWQgb3Igbm90XG4gICAgICovXG4gICAgcHJpdmF0ZSBtaW5pbWl6ZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIExvY2FsU3RvcmFnZSBrZXkgdGhhdCBzdG9yZXMgdGhlIG1pbmltaXplZCBzdGF0dXNcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG1pbmltaXplZFN0b3JhZ2VLZXkgPSAnbWVudS1taW5pbWl6ZWQnO1xuXG4gICAgLyoqXG4gICAgICogTG9jYWxTdG9yYWdlIGtleSB0aGF0IHN0b3JlcyB0aGUgb3BlbmVkIHN0YXR1c1xuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlbmVkU3RvcmFnZUtleSA9ICdtZW51LW9wZW5lZCc7XG5cbiAgICBwcml2YXRlIG1pbmltaXplZFN0b3JhZ2VLZXlXaXRoTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBvcGVuZWRTdG9yYWdlS2V5V2l0aE5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgX2lzTW9iaWxlVmlldyA9IGZhbHNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIEBJbmplY3QoU0VTU0lPTl9TVE9SQUdFKSBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlOiBOYXR1cmFsU3RvcmFnZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBuYXR1cmFsU2lkZW5hdlN0YWNrU2VydmljZTogTmF0dXJhbFNpZGVuYXZTdGFja1NlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhY3RpdmVNb2RlKCk6IE1hdERyYXdlck1vZGUge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNPcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzTWluaW1pemVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW5pbWl6ZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koY29tcG9uZW50OiBOYXR1cmFsU2lkZW5hdkNvbnRhaW5lckNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdHVyYWxTaWRlbmF2U3RhY2tTZXJ2aWNlLnVucmVnaXN0ZXIoY29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdChuYW1lOiBzdHJpbmcsIGNvbXBvbmVudDogTmF0dXJhbFNpZGVuYXZDb250YWluZXJDb21wb25lbnQsIGF1dG9DbG9zZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICghbmFtZSB8fCBuYW1lID09PSAnJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBzaWRlbmF2IG5hbWUgcHJvdmlkZWQsIHVzZSA8bmF0dXJhbC1zaWRlbmF2LWNvbnRhaW5lciBuYW1lPVwibWVudVwiPicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXR1cmFsU2lkZW5hdlN0YWNrU2VydmljZS5yZWdpc3Rlcihjb21wb25lbnQpO1xuXG4gICAgICAgIHRoaXMubWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lID0gbmFtZSArICctJyArIHRoaXMubWluaW1pemVkU3RvcmFnZUtleTtcbiAgICAgICAgdGhpcy5vcGVuZWRTdG9yYWdlS2V5V2l0aE5hbWUgPSBuYW1lICsgJy0nICsgdGhpcy5vcGVuZWRTdG9yYWdlS2V5O1xuXG4gICAgICAgIC8vIEluaXQgZnJvbSBMb2NhbFN0b3JhZ2VcbiAgICAgICAgdGhpcy5taW5pbWl6ZWQgPSB0aGlzLmdldE1pbmltaXplZFN0YXR1cygpO1xuICAgICAgICB0aGlzLm9wZW5lZCA9IHRoaXMuZ2V0TWVudU9wZW5lZFN0YXR1cygpO1xuICAgICAgICB0aGlzLnRtcE9wZW5lZCA9IHRoaXMub3BlbmVkO1xuXG4gICAgICAgIGxldCBvbGRJc0JpZzogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAgICAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuWFNtYWxsLCBCcmVha3BvaW50cy5TbWFsbF0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUociA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5faXNNb2JpbGVWaWV3ID0gci5tYXRjaGVzO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzQmlnID0gIXRoaXMuX2lzTW9iaWxlVmlldztcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPSBpc0JpZyA/IHRoaXMubW9kZXNbMF0gOiB0aGlzLm1vZGVzWzFdO1xuXG4gICAgICAgICAgICAgICAgaWYgKG9sZElzQmlnID09PSBudWxsIHx8IGlzQmlnICE9PSBvbGRJc0JpZykge1xuICAgICAgICAgICAgICAgICAgICBvbGRJc0JpZyA9IGlzQmlnO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIElmIGRlY3JlYXNlIHdpbmRvdyBzaXplLCBzYXZlIHN0YXR1cyBvZiBtZW51IGJlZm9yZSBjbG9zaW5nIGl0XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNCaWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG1wT3BlbmVkID0gdGhpcy5vcGVuZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgaW5jcmVhc2Ugd2luZG93IHNpemUsIGFuZCBzaWRlYmFyIHdhcyBvcGVuIGJlZm9yZSwgcmUtb3BlbiBpdC5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzQmlnICYmIHRoaXMudG1wT3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1pbmltaXplZCA9IHRoaXMuZ2V0TWluaW1pemVkU3RhdHVzKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBpZiAoYXV0b0Nsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmF2SXRlbUNsaWNrZWQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc01vYmlsZVZpZXcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc01vYmlsZVZpZXc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2UgbmF2IG9uIG1vYmlsZSB2aWV3IGFmdGVyIGEgY2xpY2tcbiAgICAgKi9cbiAgICBwdWJsaWMgbmF2SXRlbUNsaWNrZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pc01vYmlsZVZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSBtaW5pbWl6ZWQgc3RhdHVzIGFuZCBzdG9yZXMgdGhlIG5ldyB2YWx1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRNaW5pbWl6ZWQodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5taW5pbWl6ZWQgPSB2YWx1ZTtcbiAgICAgICAgYXNzZXJ0KHRoaXMubWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lKTtcbiAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMubWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lLCB2YWx1ZSA/ICd0cnVlJyA6ICdmYWxzZScpO1xuICAgIH1cblxuICAgIHB1YmxpYyBtaW5pbWl6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNaW5pbWl6ZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cGFuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNaW5pbWl6ZWQoZmFsc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVNaW5pbWl6ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWluaW1pemVkKCF0aGlzLm1pbmltaXplZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBzdG9yZWQgbWluaW1pemVkIHN0YXR1c1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRNaW5pbWl6ZWRTdGF0dXMoKTogYm9vbGVhbiB7XG4gICAgICAgIGFzc2VydCh0aGlzLm1pbmltaXplZFN0b3JhZ2VLZXlXaXRoTmFtZSk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMubWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lKTtcblxuICAgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgPyBmYWxzZSA6IHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBzdG9yZWQgb3BlbmVkIHN0YXR1c1xuICAgICAqIERlZmF1bHQgb24gYW4gb3BlbmVkIHN0YXR1cyBpZiBub3RoaW5nIGlzIHN0b3JlZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRNZW51T3BlbmVkU3RhdHVzKCk6IGJvb2xlYW4ge1xuICAgICAgICBhc3NlcnQodGhpcy5vcGVuZWRTdG9yYWdlS2V5V2l0aE5hbWUpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLm9wZW5lZFN0b3JhZ2VLZXlXaXRoTmFtZSk7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gIXRoaXMuX2lzTW9iaWxlVmlldztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlIG1lbnUgYnV0IGV4cGFuZCBpdCBpZiBtb2JpbGUgbW9kZSBpcyBhY3RpdmF0ZWRcbiAgICAgKiBTdG9yZXMgdGhlIHN0YXR1cyBpbiBsb2NhbCBzdG9yYWdlXG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRPcGVuZWQoIXRoaXMub3BlbmVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0T3BlbmVkKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRPcGVuZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE9wZW5lZCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5lZCA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLm9wZW5lZCAmJiB0aGlzLl9pc01vYmlsZVZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMubWluaW1pemVkID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuX2lzTW9iaWxlVmlldykge1xuICAgICAgICAgICAgYXNzZXJ0KHRoaXMub3BlbmVkU3RvcmFnZUtleVdpdGhOYW1lKTtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLm9wZW5lZFN0b3JhZ2VLZXlXaXRoTmFtZSwgdGhpcy5vcGVuZWQgPyAndHJ1ZScgOiAnZmFsc2UnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2lkZW5hdi9zaWRlbmF2LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUMsYUFBYSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBaUIsZUFBZSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFbEYsT0FBTyxFQUFxQixXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFFOUQ7O0dBRUc7QUFDSCxTQUFTLE1BQU0sQ0FBSSxLQUFRO0lBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsaUVBQWlFLENBQUMsQ0FBQztJQUN2RixDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQTRDOUIsWUFDb0Isa0JBQXNDLEVBQ3JDLE1BQWMsRUFDVyxjQUE4QixFQUN2RCwwQkFBc0Q7UUFIdkQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNyQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ1csbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ3ZELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUEvQzFELGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakQ7Ozs7V0FJRztRQUNLLFVBQUssR0FBb0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFD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LE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0YsQ0FBQztJQUNMLENBQUM7OEdBN01RLHFCQUFxQiwwRUErQ2xCLGVBQWU7a0hBL0NsQixxQkFBcUIsY0FEVCxNQUFNOzsyRkFDbEIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7MEJBZ0R2QixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Rlc3Ryb3lSZWYsIEluamVjdCwgaW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0RHJhd2VyTW9kZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQge05hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7ZmlsdGVyfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge05hdHVyYWxTaWRlbmF2Q29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL3NpZGVuYXYtY29udGFpbmVyL3NpZGVuYXYtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge05hdHVyYWxTdG9yYWdlLCBTRVNTSU9OX1NUT1JBR0V9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy9tZW1vcnktc3RvcmFnZSc7XG5pbXBvcnQge05hdHVyYWxTaWRlbmF2U3RhY2tTZXJ2aWNlfSBmcm9tICcuL3NpZGVuYXYtc3RhY2suc2VydmljZSc7XG5pbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHN9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBBc3NlcnQgdGhhdCBnaXZlbiB2YWx1ZSBpcyBub3QgbnVsbFxuICovXG5mdW5jdGlvbiBhc3NlcnQ8VD4odmFsdWU6IFQpOiBhc3NlcnRzIHZhbHVlIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBjYWxsIE5hdHVyYWxTaWRlbmF2U2VydmljZS5pbml0KCkgYmVmb3JlIHVzaW5nIHRoZSBzZXJ2aWNlJyk7XG4gICAgfVxufVxuXG4vKipcbiAqIFRPRE86IEZpeCBuYXYgbWluaW1pemUgYW5kIG1heGltaXplIHJlc2l6ZVxuICogU2luY2UgTWF0ZXJpYWwgMiBiZXRhIDEwLCB3aGVuIG5hdiBpcyByZXNpemVkIHRoZSBib2R5IGlzIG5vdCByZXNpemVkXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvaXNzdWVzLzY3NDNcbiAqIE1heWJlIHRoZSBiZXR0ZXIgaXMgdG8gd2FpdCBuZXh0IHJlbGVhc2VcbiAqL1xuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNpZGVuYXZTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgLyoqXG4gICAgICogTmF2aWdhdGlvbiBtb2Rlc1xuICAgICAqIEZpcnN0IGlzIGZvciBkZXNrdG9wIHZpZXdcbiAgICAgKiBTZWNvbmQgaXMgZm9yIG1vYmlsZSB2aWV3XG4gICAgICovXG4gICAgcHJpdmF0ZSBtb2RlczogTWF0RHJhd2VyTW9kZVtdID0gWydzaWRlJywgJ3B1c2gnXTtcblxuICAgIC8qKlxuICAgICAqIEFjdGl2YXRlZCBtb2RlXG4gICAgICogRGVmYXVsdCB0byBkZXNrdG9wIHZpZXdcbiAgICAgKi9cbiAgICBwcml2YXRlIG1vZGU6IE1hdERyYXdlck1vZGUgPSB0aGlzLm1vZGVzWzBdO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBuYXYgaXMgb3BlbmVkIG9yIG5vdFxuICAgICAqL1xuICAgIHByaXZhdGUgb3BlbmVkID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyB0aGUgb3BlbmVkIHN0YXR1cyBkdXJpbmcgbW9iaWxlIHZpZXcsIHRvIHJlc3RvcmUgaWYgd2UgY29tZSBiYWNrIHRvIGRlc2t0b3Agdmlld1xuICAgICAqL1xuICAgIHByaXZhdGUgdG1wT3BlbmVkOiBib29sZWFuID0gdGhpcy5vcGVuZWQ7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5hdiBpcyBtaW5pbWl6ZWQgb3Igbm90XG4gICAgICovXG4gICAgcHJpdmF0ZSBtaW5pbWl6ZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIExvY2FsU3RvcmFnZSBrZXkgdGhhdCBzdG9yZXMgdGhlIG1pbmltaXplZCBzdGF0dXNcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG1pbmltaXplZFN0b3JhZ2VLZXkgPSAnbWVudS1taW5pbWl6ZWQnO1xuXG4gICAgLyoqXG4gICAgICogTG9jYWxTdG9yYWdlIGtleSB0aGF0IHN0b3JlcyB0aGUgb3BlbmVkIHN0YXR1c1xuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlbmVkU3RvcmFnZUtleSA9ICdtZW51LW9wZW5lZCc7XG5cbiAgICBwcml2YXRlIG1pbmltaXplZFN0b3JhZ2VLZXlXaXRoTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBvcGVuZWRTdG9yYWdlS2V5V2l0aE5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgX2lzTW9iaWxlVmlldyA9IGZhbHNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIEBJbmplY3QoU0VTU0lPTl9TVE9SQUdFKSBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlOiBOYXR1cmFsU3RvcmFnZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBuYXR1cmFsU2lkZW5hdlN0YWNrU2VydmljZTogTmF0dXJhbFNpZGVuYXZTdGFja1NlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGdldCBhY3RpdmVNb2RlKCk6IE1hdERyYXdlck1vZGUge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNPcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzTWluaW1pemVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW5pbWl6ZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koY29tcG9uZW50OiBOYXR1cmFsU2lkZW5hdkNvbnRhaW5lckNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdHVyYWxTaWRlbmF2U3RhY2tTZXJ2aWNlLnVucmVnaXN0ZXIoY29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdChuYW1lOiBzdHJpbmcsIGNvbXBvbmVudDogTmF0dXJhbFNpZGVuYXZDb250YWluZXJDb21wb25lbnQsIGF1dG9DbG9zZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICghbmFtZSB8fCBuYW1lID09PSAnJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBzaWRlbmF2IG5hbWUgcHJvdmlkZWQsIHVzZSA8bmF0dXJhbC1zaWRlbmF2LWNvbnRhaW5lciBuYW1lPVwibWVudVwiPicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXR1cmFsU2lkZW5hdlN0YWNrU2VydmljZS5yZWdpc3Rlcihjb21wb25lbnQpO1xuXG4gICAgICAgIHRoaXMubWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lID0gbmFtZSArICctJyArIHRoaXMubWluaW1pemVkU3RvcmFnZUtleTtcbiAgICAgICAgdGhpcy5vcGVuZWRTdG9yYWdlS2V5V2l0aE5hbWUgPSBuYW1lICsgJy0nICsgdGhpcy5vcGVuZWRTdG9yYWdlS2V5O1xuXG4gICAgICAgIC8vIEluaXQgZnJvbSBMb2NhbFN0b3JhZ2VcbiAgICAgICAgdGhpcy5taW5pbWl6ZWQgPSB0aGlzLmdldE1pbmltaXplZFN0YXR1cygpO1xuICAgICAgICB0aGlzLm9wZW5lZCA9IHRoaXMuZ2V0TWVudU9wZW5lZFN0YXR1cygpO1xuICAgICAgICB0aGlzLnRtcE9wZW5lZCA9IHRoaXMub3BlbmVkO1xuXG4gICAgICAgIGxldCBvbGRJc0JpZzogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAgICAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuWFNtYWxsLCBCcmVha3BvaW50cy5TbWFsbF0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUociA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5faXNNb2JpbGVWaWV3ID0gci5tYXRjaGVzO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzQmlnID0gIXRoaXMuX2lzTW9iaWxlVmlldztcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPSBpc0JpZyA/IHRoaXMubW9kZXNbMF0gOiB0aGlzLm1vZGVzWzFdO1xuXG4gICAgICAgICAgICAgICAgaWYgKG9sZElzQmlnID09PSBudWxsIHx8IGlzQmlnICE9PSBvbGRJc0JpZykge1xuICAgICAgICAgICAgICAgICAgICBvbGRJc0JpZyA9IGlzQmlnO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIElmIGRlY3JlYXNlIHdpbmRvdyBzaXplLCBzYXZlIHN0YXR1cyBvZiBtZW51IGJlZm9yZSBjbG9zaW5nIGl0XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNCaWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG1wT3BlbmVkID0gdGhpcy5vcGVuZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgaW5jcmVhc2Ugd2luZG93IHNpemUsIGFuZCBzaWRlYmFyIHdhcyBvcGVuIGJlZm9yZSwgcmUtb3BlbiBpdC5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzQmlnICYmIHRoaXMudG1wT3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1pbmltaXplZCA9IHRoaXMuZ2V0TWluaW1pemVkU3RhdHVzKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBpZiAoYXV0b0Nsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmF2SXRlbUNsaWNrZWQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc01vYmlsZVZpZXcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc01vYmlsZVZpZXc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2UgbmF2IG9uIG1vYmlsZSB2aWV3IGFmdGVyIGEgY2xpY2tcbiAgICAgKi9cbiAgICBwdWJsaWMgbmF2SXRlbUNsaWNrZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pc01vYmlsZVZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSBtaW5pbWl6ZWQgc3RhdHVzIGFuZCBzdG9yZXMgdGhlIG5ldyB2YWx1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRNaW5pbWl6ZWQodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5taW5pbWl6ZWQgPSB2YWx1ZTtcbiAgICAgICAgYXNzZXJ0KHRoaXMubWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lKTtcbiAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMubWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lLCB2YWx1ZSA/ICd0cnVlJyA6ICdmYWxzZScpO1xuICAgIH1cblxuICAgIHB1YmxpYyBtaW5pbWl6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNaW5pbWl6ZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cGFuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNaW5pbWl6ZWQoZmFsc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVNaW5pbWl6ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWluaW1pemVkKCF0aGlzLm1pbmltaXplZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBzdG9yZWQgbWluaW1pemVkIHN0YXR1c1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRNaW5pbWl6ZWRTdGF0dXMoKTogYm9vbGVhbiB7XG4gICAgICAgIGFzc2VydCh0aGlzLm1pbmltaXplZFN0b3JhZ2VLZXlXaXRoTmFtZSk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMubWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lKTtcblxuICAgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgPyBmYWxzZSA6IHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBzdG9yZWQgb3BlbmVkIHN0YXR1c1xuICAgICAqIERlZmF1bHQgb24gYW4gb3BlbmVkIHN0YXR1cyBpZiBub3RoaW5nIGlzIHN0b3JlZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRNZW51T3BlbmVkU3RhdHVzKCk6IGJvb2xlYW4ge1xuICAgICAgICBhc3NlcnQodGhpcy5vcGVuZWRTdG9yYWdlS2V5V2l0aE5hbWUpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLm9wZW5lZFN0b3JhZ2VLZXlXaXRoTmFtZSk7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gIXRoaXMuX2lzTW9iaWxlVmlldztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlIG1lbnUgYnV0IGV4cGFuZCBpdCBpZiBtb2JpbGUgbW9kZSBpcyBhY3RpdmF0ZWRcbiAgICAgKiBTdG9yZXMgdGhlIHN0YXR1cyBpbiBsb2NhbCBzdG9yYWdlXG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRPcGVuZWQoIXRoaXMub3BlbmVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0T3BlbmVkKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRPcGVuZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE9wZW5lZCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5lZCA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLm9wZW5lZCAmJiB0aGlzLl9pc01vYmlsZVZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMubWluaW1pemVkID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuX2lzTW9iaWxlVmlldykge1xuICAgICAgICAgICAgYXNzZXJ0KHRoaXMub3BlbmVkU3RvcmFnZUtleVdpdGhOYW1lKTtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLm9wZW5lZFN0b3JhZ2VLZXlXaXRoTmFtZSwgdGhpcy5vcGVuZWQgPyAndHJ1ZScgOiAnZmFsc2UnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -9,10 +9,10 @@ export class NaturalStampComponent {
|
|
|
9
9
|
this.item.updateDate === this.item.creationDate;
|
|
10
10
|
return !same && (!!this.item.updateDate || !!this.item.updater);
|
|
11
11
|
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalStampComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: NaturalStampComponent, isStandalone: true, selector: "natural-stamp", inputs: { item: "item" }, ngImport: i0, template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>, </span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | date }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>, </span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | date }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n", dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: NaturalTimeAgoPipe, name: "timeAgo" }] }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalStampComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
17
|
args: [{ selector: 'natural-stamp', standalone: true, imports: [DatePipe, NaturalTimeAgoPipe], template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>, </span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | date }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>, </span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | date }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n" }]
|
|
18
18
|
}], propDecorators: { item: [{
|
|
@@ -41,10 +41,10 @@ export class NaturalTableButtonComponent {
|
|
|
41
41
|
this.type = 'none';
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalTableButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: NaturalTableButtonComponent, isStandalone: true, selector: "natural-table-button", inputs: { queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", label: "label", icon: "icon", href: "href", navigate: "navigate", fragment: "fragment", preserveFragment: "preserveFragment", disabled: "disabled", raised: "raised", color: "color" }, outputs: { buttonClick: "buttonClick" }, usesOnChanges: true, ngImport: i0, template: "<!-- Because directives can't be applied conditionally (routerLink, mat-button and mat-icon-button), we have to use different elements -->\n\n<!-- Edge case of a button without any kind of link at all -->\n@if (type === 'none') {\n <span>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n @if (label) {\n <span>{{ label }}</span>\n }\n </span>\n}\n\n@if (!raised) {\n <!-- App routed link with label... -->\n @if (type === 'routerLink' && label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'routerLink' && !label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-icon-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- Click with label... -->\n @if (type === 'click' && label) {\n <a [color]=\"color\" (click)=\"buttonClick.emit($event)\" [disabled]=\"disabled\" mat-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'click' && !label) {\n <a (click)=\"buttonClick.emit($event)\" [disabled]=\"disabled\" mat-icon-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- External link with label... -->\n @if (type === 'href' && label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'href' && !label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-icon-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n}\n\n@if (raised) {\n <!-- App routed link with label... -->\n @if (type === 'routerLink' && label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-raised-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'routerLink' && !label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- Click with label... -->\n @if (type === 'click' && label) {\n <a [color]=\"color\" [disabled]=\"disabled\" (click)=\"buttonClick.emit($event)\" mat-raised-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'click' && !label) {\n <a\n [color]=\"color\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- External link with label... -->\n @if (type === 'href' && label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-raised-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'href' && !label) {\n <a\n [attr.href]=\"href\"\n [color]=\"color\"\n [disabled]=\"disabled\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n target=\"_blank\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n}\n", styles: ["natural-table-button{display:flex;flex:1;flex-direction:row;justify-content:flex-start;align-items:center}natural-table-button mat-icon:not(:last-child){margin-right:5px}natural-table-button a.mat-mdc-button{display:flex;flex:1;flex-direction:row;justify-content:flex-start;align-items:center}natural-table-button a.mat-mdc-button .mdc-button__label{display:flex;flex-direction:row;align-items:center}natural-table-button>span{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:0 8px}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NaturalIconDirective, selector: "mat-icon[naturalIcon]", inputs: ["naturalIcon", "size"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
46
46
|
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalTableButtonComponent, decorators: [{
|
|
48
48
|
type: Component,
|
|
49
49
|
args: [{ selector: 'natural-table-button', encapsulation: ViewEncapsulation.None, standalone: true, imports: [MatIconModule, NaturalIconDirective, MatButtonModule, RouterLink], template: "<!-- Because directives can't be applied conditionally (routerLink, mat-button and mat-icon-button), we have to use different elements -->\n\n<!-- Edge case of a button without any kind of link at all -->\n@if (type === 'none') {\n <span>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n @if (label) {\n <span>{{ label }}</span>\n }\n </span>\n}\n\n@if (!raised) {\n <!-- App routed link with label... -->\n @if (type === 'routerLink' && label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'routerLink' && !label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-icon-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- Click with label... -->\n @if (type === 'click' && label) {\n <a [color]=\"color\" (click)=\"buttonClick.emit($event)\" [disabled]=\"disabled\" mat-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'click' && !label) {\n <a (click)=\"buttonClick.emit($event)\" [disabled]=\"disabled\" mat-icon-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- External link with label... -->\n @if (type === 'href' && label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'href' && !label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-icon-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n}\n\n@if (raised) {\n <!-- App routed link with label... -->\n @if (type === 'routerLink' && label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-raised-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'routerLink' && !label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- Click with label... -->\n @if (type === 'click' && label) {\n <a [color]=\"color\" [disabled]=\"disabled\" (click)=\"buttonClick.emit($event)\" mat-raised-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'click' && !label) {\n <a\n [color]=\"color\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- External link with label... -->\n @if (type === 'href' && label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-raised-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'href' && !label) {\n <a\n [attr.href]=\"href\"\n [color]=\"color\"\n [disabled]=\"disabled\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n target=\"_blank\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n}\n", styles: ["natural-table-button{display:flex;flex:1;flex-direction:row;justify-content:flex-start;align-items:center}natural-table-button mat-icon:not(:last-child){margin-right:5px}natural-table-button a.mat-mdc-button{display:flex;flex:1;flex-direction:row;justify-content:flex-start;align-items:center}natural-table-button a.mat-mdc-button .mdc-button__label{display:flex;flex-direction:row;align-items:center}natural-table-button>span{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:0 8px}\n"] }]
|
|
50
50
|
}], propDecorators: { queryParams: [{
|
|
@@ -139,10 +139,10 @@ export class NaturalDebounceService {
|
|
|
139
139
|
this.allDebouncedUpdateCache.delete(modelService);
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
143
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalDebounceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
143
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalDebounceService, providedIn: 'root' }); }
|
|
144
144
|
}
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalDebounceService, decorators: [{
|
|
146
146
|
type: Injectable,
|
|
147
147
|
args: [{
|
|
148
148
|
providedIn: 'root',
|
|
@@ -55,10 +55,10 @@ export class NaturalEnumService {
|
|
|
55
55
|
return '';
|
|
56
56
|
}));
|
|
57
57
|
}
|
|
58
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
59
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalEnumService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
59
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalEnumService, providedIn: 'root' }); }
|
|
60
60
|
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalEnumService, decorators: [{
|
|
62
62
|
type: Injectable,
|
|
63
63
|
args: [{
|
|
64
64
|
providedIn: 'root',
|
|
@@ -141,10 +141,10 @@ export class NaturalLinkMutationService {
|
|
|
141
141
|
}
|
|
142
142
|
}`;
|
|
143
143
|
}
|
|
144
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
145
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
144
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalLinkMutationService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
145
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalLinkMutationService, providedIn: 'root' }); }
|
|
146
146
|
}
|
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalLinkMutationService, decorators: [{
|
|
148
148
|
type: Injectable,
|
|
149
149
|
args: [{
|
|
150
150
|
providedIn: 'root',
|
|
@@ -107,10 +107,10 @@ export class NaturalPersistenceService {
|
|
|
107
107
|
}
|
|
108
108
|
return this.isValid(key, storageKey, result) ? result : null;
|
|
109
109
|
}
|
|
110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
111
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalPersistenceService, deps: [{ token: i1.Router }, { token: SESSION_STORAGE }, { token: NATURAL_PERSISTENCE_VALIDATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
111
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalPersistenceService, providedIn: 'root' }); }
|
|
112
112
|
}
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalPersistenceService, decorators: [{
|
|
114
114
|
type: Injectable,
|
|
115
115
|
args: [{
|
|
116
116
|
providedIn: 'root',
|
|
@@ -51,10 +51,10 @@ export class NaturalSwissParsingDateAdapter extends NativeDateAdapter {
|
|
|
51
51
|
// Also see https://github.com/tc39/ecma402/issues/6
|
|
52
52
|
return 1;
|
|
53
53
|
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
55
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalSwissParsingDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
55
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalSwissParsingDateAdapter, providedIn: 'root' }); }
|
|
56
56
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalSwissParsingDateAdapter, decorators: [{
|
|
58
58
|
type: Injectable,
|
|
59
59
|
args: [{
|
|
60
60
|
providedIn: 'root',
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
/*
|
|
3
3
|
* Public API Surface of natural
|
|
4
4
|
*/
|
|
5
|
-
export * from './lib/classes/abstract-controller';
|
|
6
5
|
export * from './lib/classes/abstract-detail';
|
|
7
6
|
export * from './lib/classes/abstract-editable-list';
|
|
8
7
|
export * from './lib/classes/abstract-list';
|
|
@@ -44,4 +43,4 @@ export * from './lib/modules/logger/public-api';
|
|
|
44
43
|
export * from './lib/directives/http-prefix.directive';
|
|
45
44
|
export { naturalProviders } from './lib/classes/providers';
|
|
46
45
|
export { graphqlQuerySigner } from './lib/classes/signing';
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDO0FBRTNDOztHQUVHO0FBRUgsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTVDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsNkJBQTZCLEdBRWhDLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsY0FBYyxtREFBbUQsQ0FBQztBQW9CbEUsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwiQGFuZ3VsYXIvbG9jYWxpemVcIiAvPlxuXG4vKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5hdHVyYWxcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL2Fic3RyYWN0LWRldGFpbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL2Fic3RyYWN0LWVkaXRhYmxlLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy9hYnN0cmFjdC1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvYWJzdHJhY3QtbmF2aWdhYmxlLWxpc3QnO1xuZXhwb3J0IHtjcmVhdGVIdHRwTGlua30gZnJvbSAnLi9saWIvY2xhc3Nlcy9hcG9sbG8tdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy9kYXRhLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3F1ZXJ5LXZhcmlhYmxlLW1hbmFnZXInO1xuZXhwb3J0IHtjYW5jZWxsYWJsZVRpbWVvdXQsIGRlYnVnfSBmcm9tICcuL2xpYi9jbGFzc2VzL3J4anMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy91dGlsaXR5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdmFsaWRhdG9ycyc7XG5leHBvcnQge3ZhbGlkVGxkc30gZnJvbSAnLi9saWIvY2xhc3Nlcy90bGQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hYnN0cmFjdC1tb2RlbC5zZXJ2aWNlJztcbmV4cG9ydCB7TmF0dXJhbERlYm91bmNlU2VydmljZX0gZnJvbSAnLi9saWIvc2VydmljZXMvZGVib3VuY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9lbnVtLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGluay1tdXRhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCB7XG4gICAgTmF0dXJhbFBlcnNpc3RlbmNlU2VydmljZSxcbiAgICBOQVRVUkFMX1BFUlNJU1RFTkNFX1ZBTElEQVRPUixcbiAgICBQZXJzaXN0ZW5jZVZhbGlkYXRvcixcbn0gZnJvbSAnLi9saWIvc2VydmljZXMvcGVyc2lzdGVuY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zd2lzcy1wYXJzaW5nLWRhdGUtYWRhcHRlci5zZXJ2aWNlJztcblxuZXhwb3J0IHtcbiAgICBFeHRyYWN0UmVzb2x2ZSxcbiAgICBFeHRyYWN0VGFsbCxcbiAgICBFeHRyYWN0VGFsbE9uZSxcbiAgICBFeHRyYWN0VGNyZWF0ZSxcbiAgICBFeHRyYWN0VGRlbGV0ZSxcbiAgICBFeHRyYWN0VG9uZSxcbiAgICBFeHRyYWN0VHVwZGF0ZSxcbiAgICBFeHRyYWN0VmFsbCxcbiAgICBFeHRyYWN0VmNyZWF0ZSxcbiAgICBFeHRyYWN0VmRlbGV0ZSxcbiAgICBFeHRyYWN0Vm9uZSxcbiAgICBFeHRyYWN0VnVwZGF0ZSxcbiAgICBMaXRlcmFsLFxuICAgIE5hbWVPckZ1bGxOYW1lLFxuICAgIFJlc29sdmVkRGF0YSxcbn0gZnJvbSAnLi9saWIvdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FsZXJ0L3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9jb2x1bW5zLXBpY2tlci9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvY29tbW9uL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kZXRhaWwtaGVhZGVyL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9maXhlZC1idXR0b24vcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpeGVkLWJ1dHRvbi1kZXRhaWwvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2hpZXJhcmNoaWMtc2VsZWN0b3IvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2ljb24vcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3BhbmVscy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvcmVsYXRpb25zL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9zZWFyY2gvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3NlbGVjdC9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvc2lkZW5hdi9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvc3RhbXAvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3RhYmxlLWJ1dHRvbi9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZGlhbG9nLXRyaWdnZXIvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2F2YXRhci9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbWF0b21vL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb2dnZXIvcHVibGljLWFwaSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvaHR0cC1wcmVmaXguZGlyZWN0aXZlJztcbmV4cG9ydCB7bmF0dXJhbFByb3ZpZGVyc30gZnJvbSAnLi9saWIvY2xhc3Nlcy9wcm92aWRlcnMnO1xuZXhwb3J0IHtncmFwaHFsUXVlcnlTaWduZXJ9IGZyb20gJy4vbGliL2NsYXNzZXMvc2lnbmluZyc7XG4iXX0=
|