@ng-atomic/common 17.1.0 → 17.3.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/models/index.mjs +1 -1
- package/esm2022/pipes/auto-columns/auto-columns.pipe.mjs +20 -0
- package/esm2022/pipes/auto-columns/index.mjs +2 -0
- package/esm2022/pipes/auto-columns/ng-atomic-common-pipes-auto-columns.mjs +5 -0
- package/esm2022/pipes/columns/columns.pipe.mjs +17 -0
- package/esm2022/pipes/columns/index.mjs +2 -0
- package/esm2022/pipes/columns/ng-atomic-common-pipes-columns.mjs +5 -0
- package/esm2022/pipes/error/error.pipe.mjs +7 -4
- package/esm2022/pipes/map/index.mjs +2 -0
- package/esm2022/pipes/map/map.pipe.mjs +17 -0
- package/esm2022/pipes/map/ng-atomic-common-pipes-map.mjs +5 -0
- package/esm2022/pipes/resolve-columns/index.mjs +2 -0
- package/esm2022/pipes/resolve-columns/ng-atomic-common-pipes-resolve-columns.mjs +5 -0
- package/esm2022/pipes/resolve-columns/resolve-columns.pipe.mjs +24 -0
- package/esm2022/pipes/sort/index.mjs +2 -0
- package/esm2022/pipes/sort/ng-atomic-common-pipes-sort.mjs +5 -0
- package/esm2022/pipes/sort/sort.pipe.mjs +14 -0
- package/esm2022/services/breakpoint/breakpoint.service.mjs +57 -0
- package/esm2022/services/breakpoint/index.mjs +2 -0
- package/esm2022/services/breakpoint/ng-atomic-common-services-breakpoint.mjs +5 -0
- package/esm2022/services/ui/ui.helpers.mjs +24 -11
- package/esm2022/services/ui/ui.service.mjs +4 -55
- package/esm2022/stores/entities/di.mjs +22 -14
- package/esm2022/stores/entities/entity-store-adapter.mjs +31 -0
- package/esm2022/stores/entities/entity-store-manager.mjs +8 -25
- package/esm2022/stores/entities/entity-store.mjs +17 -35
- package/esm2022/stores/entities/index.mjs +2 -1
- package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs +27 -0
- package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-pipes-columns.mjs +24 -0
- package/fesm2022/ng-atomic-common-pipes-columns.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-pipes-error.mjs +6 -3
- package/fesm2022/ng-atomic-common-pipes-error.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-map.mjs +24 -0
- package/fesm2022/ng-atomic-common-pipes-map.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs +31 -0
- package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-pipes-sort.mjs +21 -0
- package/fesm2022/ng-atomic-common-pipes-sort.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-services-breakpoint.mjs +64 -0
- package/fesm2022/ng-atomic-common-services-breakpoint.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-services-ui.mjs +27 -65
- package/fesm2022/ng-atomic-common-services-ui.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-entities.mjs +43 -41
- package/fesm2022/ng-atomic-common-stores-entities.mjs.map +1 -1
- package/models/index.d.ts +5 -2
- package/package.json +38 -2
- package/pipes/auto-columns/auto-columns.pipe.d.ts +7 -0
- package/pipes/auto-columns/index.d.ts +1 -0
- package/pipes/columns/columns.pipe.d.ts +8 -0
- package/pipes/columns/index.d.ts +1 -0
- package/pipes/map/index.d.ts +1 -0
- package/pipes/map/map.pipe.d.ts +7 -0
- package/pipes/resolve-columns/index.d.ts +1 -0
- package/pipes/resolve-columns/resolve-columns.pipe.d.ts +11 -0
- package/pipes/sort/index.d.ts +1 -0
- package/pipes/sort/sort.pipe.d.ts +8 -0
- package/services/breakpoint/breakpoint.service.d.ts +29 -0
- package/services/breakpoint/index.d.ts +1 -0
- package/services/ui/ui.helpers.d.ts +2 -3
- package/services/ui/ui.service.d.ts +2 -29
- package/stores/entities/entity-store-adapter.d.ts +31 -0
- package/stores/entities/entity-store-manager.d.ts +5 -5
- package/stores/entities/entity-store.d.ts +10 -29
- package/stores/entities/index.d.ts +1 -0
package/esm2022/models/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './menu-item';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbnMgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL21lbnUtaXRlbSc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBQYWdlIHtcbiAgcGFnZUluZGV4OiBudW1iZXI7XG4gIHBhZ2VTaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydCB7XG4gIGtleTogc3RyaW5nO1xuICBvcmRlcjogJ2FzYycgfCAnZGVzYyc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXgge1xuICBxdWVyeTogc3RyaW5nO1xuICBwYWdlOiBQYWdlO1xuICBzb3J0OiBTb3J0O1xufVxuXG5leHBvcnQgdHlwZSBDb2x1bW5UeXBlID0gJ3RleHQnIHwgJ2FjdGlvbnMnIHwgJ2NoZWNrYm94JyB8ICd0cmVlJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VDb2x1bW4ge1xuICB0eXBlOiBDb2x1bW5UeXBlO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlYWRlclRleHQ/OiBzdHJpbmc7XG4gIHNvcnQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbnNDb2x1bW4gZXh0ZW5kcyBCYXNlQ29sdW1uIHtcbiAgdHlwZTogJ2FjdGlvbnMnO1xuICBhY3Rpb25zPzogQWN0aW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0Q29sdW1uIGV4dGVuZHMgQmFzZUNvbHVtbiB7XG4gIHR5cGU6ICd0ZXh0Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVja2JveENvbHVtbiBleHRlbmRzIEJhc2VDb2x1bW4ge1xuICB0eXBlOiAnY2hlY2tib3gnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVDb2x1bW5Nb2xlY3VsZSBleHRlbmRzIEJhc2VDb2x1bW4ge1xuICB0eXBlOiAndHJlZSc7XG59XG5cbmV4cG9ydCB0eXBlIENvbHVtbiA9IEFjdGlvbnNDb2x1bW4gfCBUZXh0Q29sdW1uIHwgQ2hlY2tib3hDb2x1bW4gfCBUcmVlQ29sdW1uTW9sZWN1bGU7XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { flattenExcludeDayjs } from '@nx-ddd/core/util/walk-obj';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AutoColumnsPipe {
|
|
5
|
+
transform(items) {
|
|
6
|
+
const keys = new Set();
|
|
7
|
+
items.slice(0, 1).forEach(item => {
|
|
8
|
+
const obj = flattenExcludeDayjs(item);
|
|
9
|
+
Object.keys(obj).forEach(key => keys.add(key));
|
|
10
|
+
});
|
|
11
|
+
return [...keys, '__actions'];
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AutoColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
14
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: AutoColumnsPipe, isStandalone: true, name: "autoColumns" }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AutoColumnsPipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{ name: 'autoColumns', standalone: true, pure: true }]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb2x1bW5zLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3BpcGVzL2F1dG8tY29sdW1ucy9hdXRvLWNvbHVtbnMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHakUsTUFBTSxPQUFPLGVBQWU7SUFDMUIsU0FBUyxDQUFDLEtBQVU7UUFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUMvQixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDL0IsTUFBTSxHQUFHLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0FSVSxlQUFlOzRHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW5FeGNsdWRlRGF5anMgfSBmcm9tICdAbngtZGRkL2NvcmUvdXRpbC93YWxrLW9iaic7XG5cbkBQaXBlKHtuYW1lOiAnYXV0b0NvbHVtbnMnLCBzdGFuZGFsb25lOiB0cnVlLCBwdXJlOiB0cnVlfSlcbmV4cG9ydCBjbGFzcyBBdXRvQ29sdW1uc1BpcGU8VD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGl0ZW1zOiBUW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qga2V5cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIGl0ZW1zLnNsaWNlKDAsIDEpLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCBvYmogPSBmbGF0dGVuRXhjbHVkZURheWpzKGl0ZW0pO1xuICAgICAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKGtleSA9PiBrZXlzLmFkZChrZXkpKTtcbiAgICB9KVxuICAgIHJldHVybiBbLi4ua2V5cywgJ19fYWN0aW9ucyddO1xuICB9XG59Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './auto-columns.pipe';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3BpcGVzL2F1dG8tY29sdW1ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvLWNvbHVtbnMucGlwZSc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1waXBlcy1hdXRvLWNvbHVtbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3BpcGVzL2F1dG8tY29sdW1ucy9uZy1hdG9taWMtY29tbW9uLXBpcGVzLWF1dG8tY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ColumnsPipe {
|
|
4
|
+
transform(columns) {
|
|
5
|
+
return columns.filter(item => item.visible).map((column, i) => ({
|
|
6
|
+
...column,
|
|
7
|
+
name: ['checkbox', 'actions'].includes(column.type) ? `${column.name}_${i}` : column.name,
|
|
8
|
+
}));
|
|
9
|
+
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
11
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ColumnsPipe, isStandalone: true, name: "columns" }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ColumnsPipe, decorators: [{
|
|
14
|
+
type: Pipe,
|
|
15
|
+
args: [{ name: 'columns', standalone: true, pure: true }]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9waXBlcy9jb2x1bW5zL2NvbHVtbnMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFJcEQsTUFBTSxPQUFPLFdBQVc7SUFDdEIsU0FBUyxDQUFJLE9BQWlCO1FBQzVCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzlELEdBQUcsTUFBTTtZQUNULElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJO1NBQzFGLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs4R0FOVSxXQUFXOzRHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL21vZGVscyc7XG5cbkBQaXBlKHtuYW1lOiAnY29sdW1ucycsIHN0YW5kYWxvbmU6IHRydWUsIHB1cmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIENvbHVtbnNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTxUPihjb2x1bW5zOiBDb2x1bW5bXSk6IENvbHVtbltdIHtcbiAgICByZXR1cm4gY29sdW1ucy5maWx0ZXIoaXRlbSA9PiBpdGVtLnZpc2libGUpLm1hcCgoY29sdW1uLCBpKSA9PiAoe1xuICAgICAgLi4uY29sdW1uLFxuICAgICAgbmFtZTogWydjaGVja2JveCcsICdhY3Rpb25zJ10uaW5jbHVkZXMoY29sdW1uLnR5cGUpID8gYCR7Y29sdW1uLm5hbWV9XyR7aX1gIDogY29sdW1uLm5hbWUsXG4gICAgfSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './columns.pipe';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3BpcGVzL2NvbHVtbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29sdW1ucy5waXBlJztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1waXBlcy1jb2x1bW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9waXBlcy9jb2x1bW5zL25nLWF0b21pYy1jb21tb24tcGlwZXMtY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -2,15 +2,16 @@ import { InjectionToken, Pipe, inject } from "@angular/core";
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export const ERROR_MESSAGE_RESOLVER = new InjectionToken('[@ng-atomic/common] Error message resolver');
|
|
4
4
|
export const defaultErrorMessageResolver = (errors) => {
|
|
5
|
+
console.debug('errors:', errors);
|
|
5
6
|
if (!errors)
|
|
6
7
|
return '';
|
|
7
8
|
const value = Object.entries(errors)[0][0];
|
|
8
9
|
switch (value) {
|
|
9
10
|
case 'required':
|
|
10
11
|
return '必須項目です';
|
|
11
|
-
case '
|
|
12
|
+
case 'minLength':
|
|
12
13
|
return `最低${errors[value].requiredLength}文字以上で入力してください`;
|
|
13
|
-
case '
|
|
14
|
+
case 'maxLength':
|
|
14
15
|
return `最大${errors[value].requiredLength}文字以下で入力してください`;
|
|
15
16
|
case 'email':
|
|
16
17
|
return 'メールアドレスの形式で入力してください';
|
|
@@ -28,7 +29,9 @@ export class ErrorPipe {
|
|
|
28
29
|
this.resolver = inject(ERROR_MESSAGE_RESOLVER, { optional: true }) ?? defaultErrorMessageResolver;
|
|
29
30
|
}
|
|
30
31
|
transform(errors) {
|
|
31
|
-
|
|
32
|
+
const error = this.resolver(errors);
|
|
33
|
+
console.debug('error:', error?.length);
|
|
34
|
+
return error;
|
|
32
35
|
}
|
|
33
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ErrorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
34
37
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ErrorPipe, isStandalone: true, name: "error" }); }
|
|
@@ -41,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
41
44
|
pure: true,
|
|
42
45
|
}]
|
|
43
46
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvcGlwZXMvZXJyb3IvZXJyb3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUk1RSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsNENBQTRDLENBQUMsQ0FBQztBQUU3SCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBeUIsQ0FBQyxNQUF3QixFQUFVLEVBQUU7SUFDcEcsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFakMsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN2QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLFFBQVEsS0FBSyxFQUFFO1FBQ2IsS0FBSyxVQUFVO1lBQ2IsT0FBTyxRQUFRLENBQUM7UUFDbEIsS0FBSyxXQUFXO1lBQ2QsT0FBTyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLGVBQWUsQ0FBQztRQUMxRCxLQUFLLFdBQVc7WUFDZCxPQUFPLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsZUFBZSxDQUFDO1FBQzFELEtBQUssT0FBTztZQUNWLE9BQU8scUJBQXFCLENBQUM7UUFDL0IsS0FBSyxTQUFTO1lBQ1osT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQjtZQUNFLE9BQU8sWUFBWSxDQUFDO0tBQ3ZCO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLDJCQUEyQixDQUFDLFFBQThCO0lBQ3hFLE9BQU8sRUFBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDO0FBQy9ELENBQUM7QUFPRCxNQUFNLE9BQU8sU0FBUztJQUx0QjtRQU1ZLGFBQVEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsSUFBSSwyQkFBMkIsQ0FBQztLQU90RztJQUxDLFNBQVMsQ0FBQyxNQUF3QjtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBUFUsU0FBUzs0R0FBVCxTQUFTOzsyRkFBVCxTQUFTO2tCQUxyQixJQUFJO21CQUFDO29CQUNKLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsT0FBTztvQkFDYixJQUFJLEVBQUUsSUFBSTtpQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBQaXBlLCBpbmplY3QsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5leHBvcnQgdHlwZSBFcnJvck1lc3NhZ2VSZXNvbHZlciA9IChlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMpID0+IHN0cmluZztcbmV4cG9ydCBjb25zdCBFUlJPUl9NRVNTQUdFX1JFU09MVkVSID0gbmV3IEluamVjdGlvblRva2VuPEVycm9yTWVzc2FnZVJlc29sdmVyPignW0BuZy1hdG9taWMvY29tbW9uXSBFcnJvciBtZXNzYWdlIHJlc29sdmVyJyk7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0RXJyb3JNZXNzYWdlUmVzb2x2ZXI6IEVycm9yTWVzc2FnZVJlc29sdmVyID0gKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyk6IHN0cmluZyA9PiB7XG4gIGNvbnNvbGUuZGVidWcoJ2Vycm9yczonLCBlcnJvcnMpO1xuXG4gIGlmICghZXJyb3JzKSByZXR1cm4gJyc7XG4gIGNvbnN0IHZhbHVlID0gT2JqZWN0LmVudHJpZXMoZXJyb3JzKVswXVswXTtcbiAgc3dpdGNoICh2YWx1ZSkge1xuICAgIGNhc2UgJ3JlcXVpcmVkJzpcbiAgICAgIHJldHVybiAn5b+F6aCI6aCF55uu44Gn44GZJztcbiAgICBjYXNlICdtaW5MZW5ndGgnOlxuICAgICAgcmV0dXJuIGDmnIDkvY4ke2Vycm9yc1t2YWx1ZV0ucmVxdWlyZWRMZW5ndGh95paH5a2X5Lul5LiK44Gn5YWl5Yqb44GX44Gm44GP44Gg44GV44GEYDtcbiAgICBjYXNlICdtYXhMZW5ndGgnOlxuICAgICAgcmV0dXJuIGDmnIDlpKcke2Vycm9yc1t2YWx1ZV0ucmVxdWlyZWRMZW5ndGh95paH5a2X5Lul5LiL44Gn5YWl5Yqb44GX44Gm44GP44Gg44GV44GEYDtcbiAgICBjYXNlICdlbWFpbCc6XG4gICAgICByZXR1cm4gJ+ODoeODvOODq+OCouODieODrOOCueOBruW9ouW8j+OBp+WFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCc7XG4gICAgY2FzZSAncGF0dGVybic6XG4gICAgICByZXR1cm4gJ+WNiuinkuiLseaVsOWtl+OBp+WFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAn5YCk44KS56K66KqN44GX44Gm44GP44Gg44GV44GEJztcbiAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVFcnJvck1lc3NhZ2VSZXNvbHZlcihyZXNvbHZlcjogRXJyb3JNZXNzYWdlUmVzb2x2ZXIpIHtcbiAgcmV0dXJuIHtwcm92aWRlOiBFUlJPUl9NRVNTQUdFX1JFU09MVkVSLCB1c2VWYWx1ZTogcmVzb2x2ZXJ9O1xufVxuXG5AUGlwZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIG5hbWU6ICdlcnJvcicsXG4gIHB1cmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcm90ZWN0ZWQgcmVzb2x2ZXIgPSBpbmplY3QoRVJST1JfTUVTU0FHRV9SRVNPTFZFUiwge29wdGlvbmFsOiB0cnVlfSkgPz8gZGVmYXVsdEVycm9yTWVzc2FnZVJlc29sdmVyO1xuXG4gIHRyYW5zZm9ybShlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMpOiBzdHJpbmcge1xuICAgIGNvbnN0IGVycm9yID0gdGhpcy5yZXNvbHZlcihlcnJvcnMpO1xuICAgIGNvbnNvbGUuZGVidWcoJ2Vycm9yOicsIGVycm9yPy5sZW5ndGgpO1xuICAgIHJldHVybiBlcnJvcjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './map.pipe';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3BpcGVzL21hcC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwLnBpcGUnO1xuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { get } from 'lodash-es';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class MapPipe {
|
|
5
|
+
transform(itemOrItems, path) {
|
|
6
|
+
if (Array.isArray(itemOrItems))
|
|
7
|
+
return itemOrItems.map(item => get(item, path));
|
|
8
|
+
return get(itemOrItems, path);
|
|
9
|
+
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: MapPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
11
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: MapPipe, isStandalone: true, name: "map" }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: MapPipe, decorators: [{
|
|
14
|
+
type: Pipe,
|
|
15
|
+
args: [{ name: 'map', standalone: true, pure: true }]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3BpcGVzL21hcC9tYXAucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUdoQyxNQUFNLE9BQU8sT0FBTztJQUNsQixTQUFTLENBQUMsV0FBb0IsRUFBRSxJQUFZO1FBQzFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7WUFBRSxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEYsT0FBTyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBSlUsT0FBTzs0R0FBUCxPQUFPOzsyRkFBUCxPQUFPO2tCQURuQixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AUGlwZSh7bmFtZTogJ21hcCcsIHN0YW5kYWxvbmU6IHRydWUsIHB1cmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIE1hcFBpcGU8VD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGl0ZW1Pckl0ZW1zOiBUIHwgVFtdLCBwYXRoOiBzdHJpbmcpOiBhbnkgfCBhbnlbXSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbU9ySXRlbXMpKSByZXR1cm4gaXRlbU9ySXRlbXMubWFwKGl0ZW0gPT4gZ2V0KGl0ZW0sIHBhdGgpKTtcbiAgICByZXR1cm4gZ2V0KGl0ZW1Pckl0ZW1zLCBwYXRoKTtcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1waXBlcy1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3BpcGVzL21hcC9uZy1hdG9taWMtY29tbW9uLXBpcGVzLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './resolve-columns.pipe';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3BpcGVzL3Jlc29sdmUtY29sdW1ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXNvbHZlLWNvbHVtbnMucGlwZSc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1waXBlcy1yZXNvbHZlLWNvbHVtbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3BpcGVzL3Jlc29sdmUtY29sdW1ucy9uZy1hdG9taWMtY29tbW9uLXBpcGVzLXJlc29sdmUtY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ResolveColumnsPipe {
|
|
4
|
+
transform(columns) {
|
|
5
|
+
const data = columns.map((column, i) => {
|
|
6
|
+
if (typeof column === 'string') {
|
|
7
|
+
if (column === '__checkbox')
|
|
8
|
+
return { type: 'checkbox', name: `__checkbox_${i}` };
|
|
9
|
+
if (column === '__actions')
|
|
10
|
+
return { type: 'actions', name: `__actions_${i}` };
|
|
11
|
+
return { type: 'key', name: column };
|
|
12
|
+
}
|
|
13
|
+
return { type: 'actions', name: `__actions_${i}`, payload: column };
|
|
14
|
+
});
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ResolveColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
18
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ResolveColumnsPipe, isStandalone: true, name: "resolveColumns" }); }
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ResolveColumnsPipe, decorators: [{
|
|
21
|
+
type: Pipe,
|
|
22
|
+
args: [{ name: 'resolveColumns', standalone: true, pure: true }]
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1jb2x1bW5zLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3BpcGVzL3Jlc29sdmUtY29sdW1ucy9yZXNvbHZlLWNvbHVtbnMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixTQUFTLENBQUMsT0FBaUI7UUFDekIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtnQkFDOUIsSUFBSSxNQUFNLEtBQUssWUFBWTtvQkFBRSxPQUFPLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLEVBQUUsRUFBQyxDQUFDO2dCQUNoRixJQUFJLE1BQU0sS0FBSyxXQUFXO29CQUFFLE9BQU8sRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFDLENBQUM7Z0JBQzdFLE9BQU8sRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsQ0FBQzthQUNwQztZQUNELE9BQU8sRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBVyxDQUFDO0lBQ3JCLENBQUM7OEdBWFUsa0JBQWtCOzRHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7bmFtZTogJ3Jlc29sdmVDb2x1bW5zJywgc3RhbmRhbG9uZTogdHJ1ZSwgcHVyZTogdHJ1ZX0pXG5leHBvcnQgY2xhc3MgUmVzb2x2ZUNvbHVtbnNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShjb2x1bW5zOiBzdHJpbmdbXSk6IHt0eXBlOiAna2V5JyB8ICdhY3Rpb25zJyB8ICdjaGVja2JveCcsIG5hbWU6IHN0cmluZywgcGF5bG9hZD86IGFueX1bXSB7XG4gICAgY29uc3QgZGF0YSA9IGNvbHVtbnMubWFwKChjb2x1bW4sIGkpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgY29sdW1uID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAoY29sdW1uID09PSAnX19jaGVja2JveCcpIHJldHVybiB7dHlwZTogJ2NoZWNrYm94JywgbmFtZTogYF9fY2hlY2tib3hfJHtpfWB9O1xuICAgICAgICBpZiAoY29sdW1uID09PSAnX19hY3Rpb25zJykgcmV0dXJuIHt0eXBlOiAnYWN0aW9ucycsIG5hbWU6IGBfX2FjdGlvbnNfJHtpfWB9O1xuICAgICAgICByZXR1cm4ge3R5cGU6ICdrZXknLCBuYW1lOiBjb2x1bW59O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHt0eXBlOiAnYWN0aW9ucycsIG5hbWU6IGBfX2FjdGlvbnNfJHtpfWAsIHBheWxvYWQ6IGNvbHVtbn07XG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGEgYXMgYW55O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './sort.pipe';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3BpcGVzL3NvcnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NvcnQucGlwZSc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1waXBlcy1zb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9waXBlcy9zb3J0L25nLWF0b21pYy1jb21tb24tcGlwZXMtc29ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SortPipe {
|
|
4
|
+
transform(column, sort) {
|
|
5
|
+
return sort.key === column.name ? sort.order : 'none';
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: SortPipe, isStandalone: true, name: "sort" }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SortPipe, decorators: [{
|
|
11
|
+
type: Pipe,
|
|
12
|
+
args: [{ name: 'sort', standalone: true, pure: true }]
|
|
13
|
+
}] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9waXBlcy9zb3J0L3NvcnQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFJcEQsTUFBTSxPQUFPLFFBQVE7SUFDbkIsU0FBUyxDQUFJLE1BQWMsRUFBRSxJQUFVO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEdBQUcsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEQsQ0FBQzs4R0FIVSxRQUFROzRHQUFSLFFBQVE7OzJGQUFSLFFBQVE7a0JBRHBCLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbHVtbiwgU29ydCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL21vZGVscyc7XG5cbkBQaXBlKHtuYW1lOiAnc29ydCcsIHN0YW5kYWxvbmU6IHRydWUsIHB1cmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIFNvcnRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTxUPihjb2x1bW46IENvbHVtbiwgc29ydDogU29ydCk6ICdhc2MnIHwgJ2Rlc2MnIHwgJ25vbmUnIHtcbiAgICByZXR1cm4gc29ydC5rZXkgPT09IGNvbHVtbi5uYW1lID8gc29ydC5vcmRlciA6ICdub25lJztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { computed, inject, Injectable } from '@angular/core';
|
|
2
|
+
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
|
|
3
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { combineLatest } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class BreakpointService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.breakpointObserver = inject(BreakpointObserver);
|
|
9
|
+
this.breakpointMap$ = combineLatest({
|
|
10
|
+
xSmall: this.breakpointObserver.observe(Breakpoints.XSmall),
|
|
11
|
+
small: this.breakpointObserver.observe(Breakpoints.Small),
|
|
12
|
+
medium: this.breakpointObserver.observe(Breakpoints.Medium),
|
|
13
|
+
large: this.breakpointObserver.observe(Breakpoints.Large),
|
|
14
|
+
xLarge: this.breakpointObserver.observe(Breakpoints.XLarge),
|
|
15
|
+
handset: this.breakpointObserver.observe(Breakpoints.Handset),
|
|
16
|
+
tablet: this.breakpointObserver.observe(Breakpoints.Tablet),
|
|
17
|
+
web: this.breakpointObserver.observe(Breakpoints.Web),
|
|
18
|
+
});
|
|
19
|
+
this.breakpointMap = toSignal(this.breakpointMap$);
|
|
20
|
+
this.breakpoint = computed(() => {
|
|
21
|
+
const map = this.breakpointMap();
|
|
22
|
+
const test = {
|
|
23
|
+
xSmall: map.xSmall.matches ?? this.breakpointObserver.isMatched(Breakpoints.XSmall),
|
|
24
|
+
small: map.small.matches ?? this.breakpointObserver.isMatched(Breakpoints.Small),
|
|
25
|
+
medium: map.medium.matches ?? this.breakpointObserver.isMatched(Breakpoints.Medium),
|
|
26
|
+
large: map.large.matches ?? this.breakpointObserver.isMatched(Breakpoints.Large),
|
|
27
|
+
xLarge: map.xLarge.matches ?? this.breakpointObserver.isMatched(Breakpoints.XLarge),
|
|
28
|
+
handset: map.handset.matches ?? this.breakpointObserver.isMatched(Breakpoints.Handset),
|
|
29
|
+
tablet: map.tablet.matches ?? this.breakpointObserver.isMatched(Breakpoints.Tablet),
|
|
30
|
+
web: map.web.matches ?? this.breakpointObserver.isMatched(Breakpoints.Web),
|
|
31
|
+
};
|
|
32
|
+
if (test.xSmall)
|
|
33
|
+
return 'xSmall';
|
|
34
|
+
if (test.small)
|
|
35
|
+
return 'small';
|
|
36
|
+
if (test.medium)
|
|
37
|
+
return 'medium';
|
|
38
|
+
if (test.large)
|
|
39
|
+
return 'large';
|
|
40
|
+
if (test.xLarge)
|
|
41
|
+
return 'xLarge';
|
|
42
|
+
if (test.handset)
|
|
43
|
+
return 'handset';
|
|
44
|
+
if (test.tablet)
|
|
45
|
+
return 'tablet';
|
|
46
|
+
if (test.web)
|
|
47
|
+
return 'web';
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BreakpointService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
51
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BreakpointService, providedIn: 'root' }); }
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BreakpointService, decorators: [{
|
|
54
|
+
type: Injectable,
|
|
55
|
+
args: [{ providedIn: 'root' }]
|
|
56
|
+
}] });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9icmVha3BvaW50L2JyZWFrcG9pbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtyQyxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBRXFCLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzFELG1CQUFjLEdBQUcsYUFBYSxDQUFDO1lBQ3RDLE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDM0QsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUN6RCxNQUFNLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQzNELEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDekQsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUMzRCxPQUFPLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO1lBQzdELE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDM0QsR0FBRyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztTQUN0RCxDQUFDLENBQUM7UUFDTSxrQkFBYSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUMsZUFBVSxHQUFHLFFBQVEsQ0FBYSxHQUFHLEVBQUU7WUFDOUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxHQUFHO2dCQUNYLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7Z0JBQ25GLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hGLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7Z0JBQ25GLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hGLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7Z0JBQ25GLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7Z0JBQ3RGLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7Z0JBQ25GLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7YUFDM0UsQ0FBQztZQUVGLElBQUksSUFBSSxDQUFDLE1BQU07Z0JBQUUsT0FBTyxRQUFRLENBQUM7WUFDakMsSUFBSSxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPLE9BQU8sQ0FBQztZQUMvQixJQUFJLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU8sUUFBUSxDQUFDO1lBQ2pDLElBQUksSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTyxPQUFPLENBQUM7WUFDL0IsSUFBSSxJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPLFFBQVEsQ0FBQztZQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPO2dCQUFFLE9BQU8sU0FBUyxDQUFDO1lBQ25DLElBQUksSUFBSSxDQUFDLE1BQU07Z0JBQUUsT0FBTyxRQUFRLENBQUM7WUFDakMsSUFBSSxJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPLEtBQUssQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztLQUNKOzhHQW5DWSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURKLE1BQU07OzJGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEJyZWFrcG9pbnQgPSAneFNtYWxsJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAneExhcmdlJyB8ICdoYW5kc2V0JyB8ICd0YWJsZXQnIHwgJ3dlYic7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQnJlYWtwb2ludFNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYnJlYWtwb2ludE9ic2VydmVyID0gaW5qZWN0KEJyZWFrcG9pbnRPYnNlcnZlcik7XG4gIHJlYWRvbmx5IGJyZWFrcG9pbnRNYXAkID0gY29tYmluZUxhdGVzdCh7XG4gICAgeFNtYWxsOiB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKEJyZWFrcG9pbnRzLlhTbWFsbCksXG4gICAgc21hbGw6IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoQnJlYWtwb2ludHMuU21hbGwpLFxuICAgIG1lZGl1bTogdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShCcmVha3BvaW50cy5NZWRpdW0pLFxuICAgIGxhcmdlOiB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKEJyZWFrcG9pbnRzLkxhcmdlKSxcbiAgICB4TGFyZ2U6IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoQnJlYWtwb2ludHMuWExhcmdlKSxcbiAgICBoYW5kc2V0OiB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKEJyZWFrcG9pbnRzLkhhbmRzZXQpLFxuICAgIHRhYmxldDogdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShCcmVha3BvaW50cy5UYWJsZXQpLFxuICAgIHdlYjogdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShCcmVha3BvaW50cy5XZWIpLFxuICB9KTtcbiAgcmVhZG9ubHkgYnJlYWtwb2ludE1hcCA9IHRvU2lnbmFsKHRoaXMuYnJlYWtwb2ludE1hcCQpO1xuICByZWFkb25seSBicmVha3BvaW50ID0gY29tcHV0ZWQ8QnJlYWtwb2ludD4oKCkgPT4ge1xuICAgIGNvbnN0IG1hcCA9IHRoaXMuYnJlYWtwb2ludE1hcCgpO1xuICAgIGNvbnN0IHRlc3QgPSB7XG4gICAgICB4U21hbGw6IG1hcC54U21hbGwubWF0Y2hlcyA/PyB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5pc01hdGNoZWQoQnJlYWtwb2ludHMuWFNtYWxsKSxcbiAgICAgIHNtYWxsOiBtYXAuc21hbGwubWF0Y2hlcyA/PyB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5pc01hdGNoZWQoQnJlYWtwb2ludHMuU21hbGwpLFxuICAgICAgbWVkaXVtOiBtYXAubWVkaXVtLm1hdGNoZXMgPz8gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKEJyZWFrcG9pbnRzLk1lZGl1bSksXG4gICAgICBsYXJnZTogbWFwLmxhcmdlLm1hdGNoZXMgPz8gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKEJyZWFrcG9pbnRzLkxhcmdlKSxcbiAgICAgIHhMYXJnZTogbWFwLnhMYXJnZS5tYXRjaGVzID8/IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChCcmVha3BvaW50cy5YTGFyZ2UpLFxuICAgICAgaGFuZHNldDogbWFwLmhhbmRzZXQubWF0Y2hlcyA/PyB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5pc01hdGNoZWQoQnJlYWtwb2ludHMuSGFuZHNldCksXG4gICAgICB0YWJsZXQ6IG1hcC50YWJsZXQubWF0Y2hlcyA/PyB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5pc01hdGNoZWQoQnJlYWtwb2ludHMuVGFibGV0KSxcbiAgICAgIHdlYjogbWFwLndlYi5tYXRjaGVzID8/IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChCcmVha3BvaW50cy5XZWIpLFxuICAgIH07XG5cbiAgICBpZiAodGVzdC54U21hbGwpIHJldHVybiAneFNtYWxsJztcbiAgICBpZiAodGVzdC5zbWFsbCkgcmV0dXJuICdzbWFsbCc7XG4gICAgaWYgKHRlc3QubWVkaXVtKSByZXR1cm4gJ21lZGl1bSc7XG4gICAgaWYgKHRlc3QubGFyZ2UpIHJldHVybiAnbGFyZ2UnO1xuICAgIGlmICh0ZXN0LnhMYXJnZSkgcmV0dXJuICd4TGFyZ2UnO1xuICAgIGlmICh0ZXN0LmhhbmRzZXQpIHJldHVybiAnaGFuZHNldCc7XG4gICAgaWYgKHRlc3QudGFibGV0KSByZXR1cm4gJ3RhYmxldCc7XG4gICAgaWYgKHRlc3Qud2ViKSByZXR1cm4gJ3dlYic7XG4gIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './breakpoint.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2JyZWFrcG9pbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnJlYWtwb2ludC5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1zZXJ2aWNlcy1icmVha3BvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9icmVha3BvaW50L25nLWF0b21pYy1jb21tb24tc2VydmljZXMtYnJlYWtwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -11,9 +11,7 @@ export function scoped(source, path) {
|
|
|
11
11
|
effect(() => {
|
|
12
12
|
scopedSignal.set(get(source(), path, source()));
|
|
13
13
|
}, { allowSignalWrites: true });
|
|
14
|
-
return computed(() => scopedSignal()
|
|
15
|
-
// equal: (a, b) => JSON.stringify(a) === JSON.stringify(b),
|
|
16
|
-
});
|
|
14
|
+
return computed(() => scopedSignal());
|
|
17
15
|
}
|
|
18
16
|
export function injectBreakpoint() {
|
|
19
17
|
return inject(UiService).breakpoint.breakpoint;
|
|
@@ -98,6 +96,13 @@ export const UI_CONFIG_REDUCER = new InjectionToken('UI_CONFIG_REDUCER');
|
|
|
98
96
|
export function call(signalOrValue) {
|
|
99
97
|
return isSignal(signalOrValue) ? signalOrValue() : signalOrValue;
|
|
100
98
|
}
|
|
99
|
+
function setReducerPath(reducer, path) {
|
|
100
|
+
Object.defineProperty(reducer, 'path', { value: path, configurable: true });
|
|
101
|
+
return reducer;
|
|
102
|
+
}
|
|
103
|
+
function getReducerPath(reducer) {
|
|
104
|
+
return reducer['path'];
|
|
105
|
+
}
|
|
101
106
|
export function provideUiConfig(reducerFactory, path = [], name = 'name') {
|
|
102
107
|
return {
|
|
103
108
|
provide: UI_CONFIG_REDUCER,
|
|
@@ -112,30 +117,33 @@ export function provideUiConfig(reducerFactory, path = [], name = 'name') {
|
|
|
112
117
|
}
|
|
113
118
|
;
|
|
114
119
|
Object.defineProperty(_reducerFactory, 'name', { value: name, configurable: true });
|
|
120
|
+
setReducerPath(_reducerFactory, path);
|
|
115
121
|
return _reducerFactory;
|
|
116
122
|
},
|
|
117
123
|
deps: [Injector],
|
|
118
124
|
multi: true,
|
|
119
125
|
};
|
|
120
126
|
}
|
|
121
|
-
export function injectRootConfig() {
|
|
127
|
+
export function injectRootConfig(paths = []) {
|
|
122
128
|
const uiContext = injectUiContext();
|
|
123
|
-
const
|
|
129
|
+
const factories = injectReducerFactoiries(paths);
|
|
124
130
|
const hostInjector = inject(Injector);
|
|
125
|
-
const reducers =
|
|
126
|
-
return runInInjectionContext(hostInjector, () =>
|
|
131
|
+
const reducers = factories.map(factory => {
|
|
132
|
+
return runInInjectionContext(hostInjector, () => factory(hostInjector));
|
|
127
133
|
});
|
|
128
134
|
if (!reducers)
|
|
129
135
|
return undefined;
|
|
130
|
-
|
|
136
|
+
const rootConfig = computed(() => {
|
|
131
137
|
const context = uiContext();
|
|
132
138
|
return reducers.reduce((acc, reducer) => {
|
|
133
139
|
return runInInjectionContext(hostInjector, () => reducer(acc, context));
|
|
134
140
|
}, {});
|
|
135
141
|
});
|
|
142
|
+
return rootConfig;
|
|
136
143
|
}
|
|
144
|
+
// TODO(@nontangent): itemsなどの取得が全てのコンポーネントで行われるので計算を最適化する。
|
|
137
145
|
export function injectUiConfig(paths = []) {
|
|
138
|
-
const rootConfig = injectRootConfig();
|
|
146
|
+
const rootConfig = injectRootConfig(paths);
|
|
139
147
|
return scoped(rootConfig, paths);
|
|
140
148
|
}
|
|
141
149
|
export function makeConfig(defaultUseFactory, path) {
|
|
@@ -149,9 +157,14 @@ export function makeConfig(defaultUseFactory, path) {
|
|
|
149
157
|
},
|
|
150
158
|
};
|
|
151
159
|
}
|
|
152
|
-
|
|
160
|
+
function injectReducers() {
|
|
153
161
|
return injectDeepMulti(UI_CONFIG_REDUCER);
|
|
154
162
|
}
|
|
163
|
+
function injectReducerFactoiries(path = []) {
|
|
164
|
+
return injectReducers().filter(factory => {
|
|
165
|
+
return getReducerPath(factory).every((p, i) => path[i] === p);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
155
168
|
export function injectDeepMulti(token, injector = inject(Injector)) {
|
|
156
169
|
const valueOrArray = injector.get(token, [], { optional: true });
|
|
157
170
|
const items = Array.isArray(valueOrArray) ? valueOrArray : [valueOrArray];
|
|
@@ -183,4 +196,4 @@ export function debugInjector(injector = inject(Injector)) {
|
|
|
183
196
|
break;
|
|
184
197
|
}
|
|
185
198
|
}
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvdWkvdWkuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQW1DLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekssT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFekYsTUFBTSxVQUFVLE1BQU0sQ0FBeUMsTUFBaUIsRUFBRSxJQUFtQjtJQUNuRyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQVUsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUQsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUNWLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBWSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxFQUFFLEVBQUMsaUJBQWlCLEVBQUUsSUFB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SUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDN0Q7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUE7SUFFRCxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQWtCLEVBQVUsRUFBRTtRQUNyRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ25GLElBQUksSUFBSTtZQUFFLE9BQU8sSUFBSSxJQUFJLEdBQUcsQ0FBQztRQUM3QixPQUFPLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDakMsQ0FBQyxDQUFBO0lBRUQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFrQixFQUFXLEVBQUU7UUFDckQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUM7SUFDakQsQ0FBQyxDQUFBO0lBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwRixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzNCLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksUUFBUSxLQUFLLFFBQVEsQ0FBQyxJQUFJO1lBQUUsTUFBTTtLQUN2QztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIFByb3ZpZGVyLCBQcm92aWRlclRva2VuLCBTaWduYWwsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgaXNTaWduYWwsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFVJQ29udGV4dCwgVWlTZXJ2aWNlIH0gZnJvbSBcIi4vdWkuc2VydmljZVwiO1xuaW1wb3J0IHsgZ2V0LCBzZXQgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiQG5nLWF0b21pYy9jb3JlXCI7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuaW1wb3J0IHsgY29tcHV0ZWRBc3luYyB9IGZyb20gXCJuZ3h0ZW5zaW9uL2NvbXB1dGVkLWFzeW5jXCI7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uSGlzdG9yeVNlcnZpY2UgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvbmF2aWdhdGlvbi1oaXN0b3J5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzY29wZWQ8VCBleHRlbmRzIG9iamVjdCwgVEtleSBleHRlbmRzIGtleW9mIFQ+KHNvdXJjZTogU2lnbmFsPFQ+LCBwYXRoOiBUS2V5IHwgW1RLZXldKTogU2lnbmFsPFRbVEtleV0+IHtcbiAgY29uc3Qgc2NvcGVkU2lnbmFsID0gc2lnbmFsPFRbVEtleV0+KGdldChzb3VyY2UoKSwgcGF0aCkpO1xuICBlZmZlY3QoKCkgPT4ge1xuICAgIHNjb3BlZFNpZ25hbC5zZXQoZ2V0KHNvdXJjZSgpLCBwYXRoLCBzb3VyY2UoKSkgYXMgVFtUS2V5XSk7XG4gIH0sIHthbGxvd1NpZ25hbFdyaXRlczogdHJ1ZX0pO1xuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4gc2NvcGVkU2lnbmFsKCksIHtcbiAgICAvLyBlcXVhbDogKGEsIGIpID0+IEpTT04uc3RyaW5naWZ5KGEpID09PSBKU09OLnN0cmluZ2lmeShiKSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RCcmVha3BvaW50KCkge1xuICByZXR1cm4gaW5qZWN0KFVpU2VydmljZSkuYnJlYWtwb2ludC5icmVha3BvaW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0SXNNb2JpbGUoKSB7XG4gIGNvbnN0IGJyZWFrcG9pbnQgPSBpbmplY3RCcmVha3BvaW50KCk7XG4gIHJldHVybiBjb21wdXRlZCgoKSA9PiAgWyd4U21hbGwnLCAnc21hbGwnXS5pbmNsdWRlcyhicmVha3BvaW50KCkpKTtcbn1cblxuZXhwb3J0IGVudW0gTmF2QWN0aW9uSWQge1xuICBUT0dHTEVfU0lERV9OQVYgPSAnW0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpXSBUT0dHTEVfU0lERV9OQVYnLFxuICBCQUNLID0gJ1tAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy91aV0gQkFDSycsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RJc1Jvb3RQYWdlJCgpIHtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcmV0dXJuIHJvdXRlci5ldmVudHMucGlwZShcbiAgICBzdGFydFdpdGgobnVsbCksXG4gICAgbWFwKCgpID0+IHtcbiAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSBbXTtcbiAgICAgIGxldCByb3V0ZV8gPSByb3V0ZTsgXG4gICAgICB3aGlsZShyb3V0ZV8pIHtcbiAgICAgICAgaWYgKCFyb3V0ZV8ucGFyZW50KSBicmVhaztcbiAgICAgICAgcm91dGVfID0gcm91dGVfLnBhcmVudDtcbiAgICAgICAgaWYgKHJvdXRlXy5jb21wb25lbnQpIHtcbiAgICAgICAgICBjb21wb25lbnRzLnB1c2gocm91dGVfLmNvbXBvbmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiAhIShjb21wb25lbnRzPy5sZW5ndGggPT09IDEpO1xuICAgIH0pLFxuICAgIG1hcCgocm91dGUpID0+ICEhcm91dGUpLFxuICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0SXNSb290UGFnZSgpIHtcbiAgY29uc3QgaXNSb290UGFnZSQgPSBpbmplY3RJc1Jvb3RQYWdlJCgpO1xuICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHJldHVybiBjb21wdXRlZEFzeW5jKCgpID0+IGlzUm9vdFBhZ2UkLCB7aW5qZWN0b3J9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5hdlN0YXJ0QWN0aW9ucyhcbiAgaXNSb290UGFnZTogU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKSxcbik6IFNpZ25hbDxBY3Rpb25bXT4ge1xuICBjb25zdCBjb250ZXh0ID0gaW5qZWN0VWlDb250ZXh0KCk7XG4gIGNvbnN0IG5hdmlnYXRpb25IaXN0b3J5ID0gaW5qZWN0KE5hdmlnYXRpb25IaXN0b3J5U2VydmljZSk7XG4gIHJldHVybiBjb21wdXRlZCgoKSA9PiB7XG4gICAgc3dpdGNoKGNvbnRleHQoKS5icmVha3BvaW50KSB7XG4gICAgICBjYXNlICd4TGFyZ2UnOlxuICAgICAgY2FzZSAnbGFyZ2UnOlxuICAgICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgIGNhc2UgJ3NtYWxsJzoge1xuICAgICAgICBpZiAoaXNSb290UGFnZSgpKSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChuYXZpZ2F0aW9uSGlzdG9yeS5pc0luaXRpYWwoKSkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW3sgaWQ6IE5hdkFjdGlvbklkLkJBQ0ssIG5hbWU6ICdCQUNLJywgaWNvbjogJ2Fycm93X2JhY2snIH1dO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY2FzZSAneFNtYWxsJzoge1xuICAgICAgICBpZiAoaXNSb290UGFnZSgpKSB7XG4gICAgICAgICAgcmV0dXJuIFt7IGlkOiBOYXZBY3Rpb25JZC5UT0dHTEVfU0lERV9OQVYsIG5hbWU6ICfjg6Hjg4vjg6Xjg7wnLCBpY29uOiAnbWVudScgfV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKG5hdmlnYXRpb25IaXN0b3J5LmlzSW5pdGlhbCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gW3sgaWQ6IE5hdkFjdGlvbklkLlRPR0dMRV9TSURFX05BViwgbmFtZTogJ+ODoeODi+ODpeODvCcsIGljb246ICdtZW51JyB9XVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW3sgaWQ6IE5hdkFjdGlvbklkLkJBQ0ssIG5hbWU6ICdCQUNLJywgaWNvbjogJ2Fycm93X2JhY2snIH1dO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBpZiAoaXNSb290UGFnZSgpKSByZXR1cm4gW107XG4gICAgICAgIHJldHVybiBbeyBpZDogTmF2QWN0aW9uSWQuQkFDSywgbmFtZTogJ0JBQ0snLCBpY29uOiAnYXJyb3dfYmFjaycgfV07XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFVpQ29udGV4dCgpOiBTaWduYWw8VUlDb250ZXh0PiB7XG4gIHJldHVybiBpbmplY3QoVWlTZXJ2aWNlKS51aUNvbnRleHQ7XG59XG5cbmV4cG9ydCB0eXBlIFVpQ29uZmlnUmVkdWNlcjxUIGV4dGVuZHMgb2JqZWN0IHwgc3RyaW5nLCBDIGV4dGVuZHMgVUlDb250ZXh0ID0gYW55PiA9IChjb25maWc6IFQsIGNvbnRleHQ6IEMpID0+IFQ7XG5leHBvcnQgY29uc3QgVUlfQ09ORklHX1JFRFVDRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48VWlDb25maWdSZWR1Y2VyPGFueT4+KCdVSV9DT05GSUdfUkVEVUNFUicpO1xuZXhwb3J0IHR5cGUgUmVkdWNlckZhY3Rvcnk8VCBleHRlbmRzIG9iamVjdCB8IHN0cmluZywgSyBleHRlbmRzIFQgPSBhbnk+IFxuICA9IChpbmplY3RvcjogSW5qZWN0b3IsIGhvc3RJbmplY3RvcjogSW5qZWN0b3IpID0+IChjb25maWc6IEssIGNvbnRleHQ6IFVJQ29udGV4dCkgPT4gVDtcblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGw8VD4oc2lnbmFsT3JWYWx1ZTogU2lnbmFsPFQ+IHwgVCk6IFQge1xuICByZXR1cm4gaXNTaWduYWwoc2lnbmFsT3JWYWx1ZSkgPyBzaWduYWxPclZhbHVlKCkgOiBzaWduYWxPclZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVVpQ29uZmlnPFQgZXh0ZW5kcyBvYmplY3QgfCBzdHJpbmc+KFxuICByZWR1Y2VyRmFjdG9yeTogUmVkdWNlckZhY3Rvcnk8VD4sXG4gIHBhdGg6IHN0cmluZ1tdID0gW10sXG4gIG5hbWUgPSAnbmFtZScsXG4pOiBQcm92aWRlciB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogVUlfQ09ORklHX1JFRFVDRVIsXG4gICAgdXNlRmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgZnVuY3Rpb24gX3JlZHVjZXJGYWN0b3J5KGhvc3RJbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgY29uc3QgcmVkdWNlciA9IHJlZHVjZXJGYWN0b3J5KGluamVjdG9yLCBob3N0SW5qZWN0b3IpOyBcbiAgICAgICAgcmV0dXJuIChjb25maWc6IFQsIGNvbnRleHQ6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChwYXRoLmxlbmd0aCA9PT0gMCkgcmV0dXJuICByZWR1Y2VyKGNvbmZpZywgY29udGV4dCk7XG4gICAgICAgICAgcmV0dXJuIHNldChjb25maWcgYXMgb2JqZWN0LCBwYXRoLCByZWR1Y2VyKGdldDxhbnksIGFueT4oY29uZmlnLCBwYXRoKSwgY29udGV4dCkpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF9yZWR1Y2VyRmFjdG9yeSwgJ25hbWUnLCB7IHZhbHVlOiBuYW1lLCBjb25maWd1cmFibGU6IHRydWUgfSk7XG4gICAgICByZXR1cm4gX3JlZHVjZXJGYWN0b3J5O1xuICAgIH0sXG4gICAgZGVwczogW0luamVjdG9yXSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJvb3RDb25maWc8VCBleHRlbmRzIG9iamVjdD4oKTogU2lnbmFsPFQ+IHtcbiAgY29uc3QgdWlDb250ZXh0ID0gaW5qZWN0VWlDb250ZXh0KCk7XG4gIGNvbnN0IHJlZHVjZXJGYWN0b3JpZXMgPSBpbmplY3RSZWR1Y2VycygpO1xuICBjb25zdCBob3N0SW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBjb25zdCByZWR1Y2VycyA9IHJlZHVjZXJGYWN0b3JpZXMubWFwKHJlZHVjZXJGYWN0b3J5ID0+IHtcbiAgICByZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGhvc3RJbmplY3RvciwgKCkgPT4gcmVkdWNlckZhY3RvcnkoaG9zdEluamVjdG9yKSk7XG4gIH0pO1xuICBpZiAoIXJlZHVjZXJzKSByZXR1cm4gdW5kZWZpbmVkO1xuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB1aUNvbnRleHQoKTtcbiAgICByZXR1cm4gcmVkdWNlcnMucmVkdWNlKChhY2MsIHJlZHVjZXIpID0+IHtcbiAgICAgIHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoaG9zdEluamVjdG9yLCAoKSA9PiByZWR1Y2VyKGFjYywgY29udGV4dCkpO1xuICAgIH0sIHt9IGFzIFQpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFVpQ29uZmlnPFQgZXh0ZW5kcyBvYmplY3Q+KHBhdGhzOiBzdHJpbmdbXSA9IFtdKTogU2lnbmFsPFQ+IHtcbiAgY29uc3Qgcm9vdENvbmZpZyA9IGluamVjdFJvb3RDb25maWcoKTtcbiAgcmV0dXJuIHNjb3BlZChyb290Q29uZmlnLCBwYXRocyBhcyBhbnkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZUNvbmZpZzxUIGV4dGVuZHMgb2JqZWN0PihkZWZhdWx0VXNlRmFjdG9yeTogUmVkdWNlckZhY3Rvcnk8VD4sIHBhdGg6IHN0cmluZ1tdKSB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogZnVuY3Rpb24gcHJvdmlkZUNvbmZpZyh1c2VGYWN0b3J5PzogUmVkdWNlckZhY3Rvcnk8VD4sIGxhYmVsID0gdXNlRmFjdG9yeSA/ICdjdXN0b20nIDogJ2RlZmF1bHQnKSB7XG4gICAgICB1c2VGYWN0b3J5ID8/PSBkZWZhdWx0VXNlRmFjdG9yeTtcbiAgICAgIHJldHVybiBwcm92aWRlVWlDb25maWc8VD4odXNlRmFjdG9yeSwgcGF0aCwgYFske3BhdGguam9pbignLicpfV0gJHtsYWJlbH1gKTtcbiAgICB9LFxuICAgIGluamVjdDogZnVuY3Rpb24gaW5qZWN0Q29uZmlnKCkge1xuICAgICAgcmV0dXJuIGluamVjdFVpQ29uZmlnPFQ+KHBhdGgpO1xuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJlZHVjZXJzKCk6ICgoaG9zdEluamVjdG9yOiBJbmplY3RvcikgPT4gVWlDb25maWdSZWR1Y2VyPGFueT4pW10ge1xuICByZXR1cm4gaW5qZWN0RGVlcE11bHRpPChob3N0SW5qZWN0b3I6IEluamVjdG9yKSA9PiBVaUNvbmZpZ1JlZHVjZXI8YW55Pj4oVUlfQ09ORklHX1JFRFVDRVIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0RGVlcE11bHRpPFQ+KHRva2VuOiBQcm92aWRlclRva2VuPFQ+LCBpbmplY3RvcjogSW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpKTogVFtdIHtcbiAgY29uc3QgdmFsdWVPckFycmF5ID0gaW5qZWN0b3IuZ2V0KHRva2VuIGFzIFByb3ZpZGVyVG9rZW48VFtdPiwgW10sIHtvcHRpb25hbDogdHJ1ZX0pO1xuICBjb25zdCBpdGVtcyA9IEFycmF5LmlzQXJyYXkodmFsdWVPckFycmF5KSA/IHZhbHVlT3JBcnJheSA6IFt2YWx1ZU9yQXJyYXldO1xuICBjb25zdCBwYXJlbnRJbmplY3RvciA9IGluamVjdG9yLmdldChJbmplY3RvciwgbnVsbCwge3NraXBTZWxmOiB0cnVlfSk7XG4gIGlmICghcGFyZW50SW5qZWN0b3IpIHJldHVybiBpdGVtcztcbiAgcmV0dXJuIFsuLi5uZXcgU2V0KFsuLi5pbmplY3REZWVwTXVsdGkodG9rZW4sIHBhcmVudEluamVjdG9yKSwgLi4uaXRlbXNdKV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWJ1Z0luamVjdG9yKGluamVjdG9yOiBJbmplY3RvciB8IG51bGwgPSBpbmplY3QoSW5qZWN0b3IpKSB7XG4gICAgICBjb25zdCBnZXRQYXJlbnQgPSAoaW5qZWN0b3I6IEluamVjdG9yLCBuID0gMCk6IEluamVjdG9yIHwgbnVsbCA9PiB7XG4gICAgICB3aGlsZSAoaW5qZWN0b3IgJiYgbi0tID4gMCkge1xuICAgICAgICBpbmplY3RvciA9IGluamVjdG9yLmdldChJbmplY3RvciwgbnVsbCwgeyBza2lwU2VsZjogdHJ1ZSB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpbmplY3RvcjtcbiAgICB9XG5cbiAgICBjb25zdCBnZXRJbmplY3Rvck5hbWUgPSAoaW5qZWN0b3I6IEluamVjdG9yKTogc3RyaW5nID0+IHtcbiAgICAgIGNvbnN0IG5hbWUgPSBpbmplY3Rvci5nZXQoRWxlbWVudFJlZiwgbnVsbCk/Lm5hdGl2ZUVsZW1lbnQ/LnRhZ05hbWU/LnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAobmFtZSkgcmV0dXJuIGA8JHtuYW1lfT5gO1xuICAgICAgcmV0dXJuIGAke2luamVjdG9yWydzb3VyY2UnXX1gO1xuICAgIH1cblxuICAgIGNvbnN0IGlzTm9kZUluamVjdG9yID0gKGluamVjdG9yOiBJbmplY3Rvcik6IGJvb2xlYW4gPT4ge1xuICAgICAgcmV0dXJuIGluamVjdG9yLmdldChFbGVtZW50UmVmLCBudWxsKSAhPT0gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBtYXBUb05hbWVzID0gKHJlZHVjZXJzOiBhbnkpID0+IChyZWR1Y2VycyA/PyBbXSkubWFwKHJlZHVjZXIgPT4gcmVkdWNlci5uYW1lKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMjA7IGkrKykge1xuICAgICAgaW5qZWN0b3IgPSBnZXRQYXJlbnQoaW5qZWN0b3IsIGkpO1xuICAgICAgaWYgKGluamVjdG9yID09PSBJbmplY3Rvci5OVUxMKSBicmVhaztcbiAgICB9XG59XG4iXX0=
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvdWkvdWkuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQW1DLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekssT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFekYsTUFBTSxVQUFVLE1BQU0sQ0FBeUMsTUFBaUIsRUFBRSxJQUFtQjtJQUNuRyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQVUsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUQsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUNWLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBWSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxFQUFFLEVBQUMsaUJBQWlCLEVBQUUsSUFB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QyxDQUFBO0lBRUQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFrQixFQUFXLEVBQUU7UUFDckQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUM7SUFDakQsQ0FBQyxDQUFBO0lBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwRixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzNCLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksUUFBUSxLQUFLLFFBQVEsQ0FBQyxJQUFJO1lBQUUsTUFBTTtLQUN2QztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIFByb3ZpZGVyLCBQcm92aWRlclRva2VuLCBTaWduYWwsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgaXNTaWduYWwsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFVJQ29udGV4dCwgVWlTZXJ2aWNlIH0gZnJvbSBcIi4vdWkuc2VydmljZVwiO1xuaW1wb3J0IHsgZ2V0LCBzZXQgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiQG5nLWF0b21pYy9jb3JlXCI7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuaW1wb3J0IHsgY29tcHV0ZWRBc3luYyB9IGZyb20gXCJuZ3h0ZW5zaW9uL2NvbXB1dGVkLWFzeW5jXCI7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uSGlzdG9yeVNlcnZpY2UgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvbmF2aWdhdGlvbi1oaXN0b3J5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzY29wZWQ8VCBleHRlbmRzIG9iamVjdCwgVEtleSBleHRlbmRzIGtleW9mIFQ+KHNvdXJjZTogU2lnbmFsPFQ+LCBwYXRoOiBUS2V5IHwgW1RLZXldKTogU2lnbmFsPFRbVEtleV0+IHtcbiAgY29uc3Qgc2NvcGVkU2lnbmFsID0gc2lnbmFsPFRbVEtleV0+KGdldChzb3VyY2UoKSwgcGF0aCkpO1xuICBlZmZlY3QoKCkgPT4ge1xuICAgIHNjb3BlZFNpZ25hbC5zZXQoZ2V0KHNvdXJjZSgpLCBwYXRoLCBzb3VyY2UoKSkgYXMgVFtUS2V5XSk7XG4gIH0sIHthbGxvd1NpZ25hbFdyaXRlczogdHJ1ZX0pO1xuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4gc2NvcGVkU2lnbmFsKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QnJlYWtwb2ludCgpIHtcbiAgcmV0dXJuIGluamVjdChVaVNlcnZpY2UpLmJyZWFrcG9pbnQuYnJlYWtwb2ludDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdElzTW9iaWxlKCkge1xuICBjb25zdCBicmVha3BvaW50ID0gaW5qZWN0QnJlYWtwb2ludCgpO1xuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4gIFsneFNtYWxsJywgJ3NtYWxsJ10uaW5jbHVkZXMoYnJlYWtwb2ludCgpKSk7XG59XG5cbmV4cG9ydCBlbnVtIE5hdkFjdGlvbklkIHtcbiAgVE9HR0xFX1NJREVfTkFWID0gJ1tAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy91aV0gVE9HR0xFX1NJREVfTkFWJyxcbiAgQkFDSyA9ICdbQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWldIEJBQ0snLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0SXNSb290UGFnZSQoKSB7XG4gIGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBjb25zdCByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHJldHVybiByb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgc3RhcnRXaXRoKG51bGwpLFxuICAgIG1hcCgoKSA9PiB7XG4gICAgICBjb25zdCBjb21wb25lbnRzID0gW107XG4gICAgICBsZXQgcm91dGVfID0gcm91dGU7IFxuICAgICAgd2hpbGUocm91dGVfKSB7XG4gICAgICAgIGlmICghcm91dGVfLnBhcmVudCkgYnJlYWs7XG4gICAgICAgIHJvdXRlXyA9IHJvdXRlXy5wYXJlbnQ7XG4gICAgICAgIGlmIChyb3V0ZV8uY29tcG9uZW50KSB7XG4gICAgICAgICAgY29tcG9uZW50cy5wdXNoKHJvdXRlXy5jb21wb25lbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gISEoY29tcG9uZW50cz8ubGVuZ3RoID09PSAxKTtcbiAgICB9KSxcbiAgICBtYXAoKHJvdXRlKSA9PiAhIXJvdXRlKSxcbiAgICBzaGFyZVJlcGxheSgxKSxcbiAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdElzUm9vdFBhZ2UoKSB7XG4gIGNvbnN0IGlzUm9vdFBhZ2UkID0gaW5qZWN0SXNSb290UGFnZSQoKTtcbiAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICByZXR1cm4gY29tcHV0ZWRBc3luYygoKSA9PiBpc1Jvb3RQYWdlJCwge2luamVjdG9yfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROYXZTdGFydEFjdGlvbnMoXG4gIGlzUm9vdFBhZ2U6IFNpZ25hbDxib29sZWFuPiA9IHNpZ25hbDxib29sZWFuPihmYWxzZSksXG4pOiBTaWduYWw8QWN0aW9uW10+IHtcbiAgY29uc3QgY29udGV4dCA9IGluamVjdFVpQ29udGV4dCgpO1xuICBjb25zdCBuYXZpZ2F0aW9uSGlzdG9yeSA9IGluamVjdChOYXZpZ2F0aW9uSGlzdG9yeVNlcnZpY2UpO1xuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHN3aXRjaChjb250ZXh0KCkuYnJlYWtwb2ludCkge1xuICAgICAgY2FzZSAneExhcmdlJzpcbiAgICAgIGNhc2UgJ2xhcmdlJzpcbiAgICAgIGNhc2UgJ21lZGl1bSc6XG4gICAgICBjYXNlICdzbWFsbCc6IHtcbiAgICAgICAgaWYgKGlzUm9vdFBhZ2UoKSkge1xuICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAobmF2aWdhdGlvbkhpc3RvcnkuaXNJbml0aWFsKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFt7IGlkOiBOYXZBY3Rpb25JZC5CQUNLLCBuYW1lOiAnQkFDSycsIGljb246ICdhcnJvd19iYWNrJyB9XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNhc2UgJ3hTbWFsbCc6IHtcbiAgICAgICAgaWYgKGlzUm9vdFBhZ2UoKSkge1xuICAgICAgICAgIHJldHVybiBbeyBpZDogTmF2QWN0aW9uSWQuVE9HR0xFX1NJREVfTkFWLCBuYW1lOiAn44Oh44OL44Ol44O8JywgaWNvbjogJ21lbnUnIH1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChuYXZpZ2F0aW9uSGlzdG9yeS5pc0luaXRpYWwoKSkge1xuICAgICAgICAgICAgcmV0dXJuIFt7IGlkOiBOYXZBY3Rpb25JZC5UT0dHTEVfU0lERV9OQVYsIG5hbWU6ICfjg6Hjg4vjg6Xjg7wnLCBpY29uOiAnbWVudScgfV1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFt7IGlkOiBOYXZBY3Rpb25JZC5CQUNLLCBuYW1lOiAnQkFDSycsIGljb246ICdhcnJvd19iYWNrJyB9XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgaWYgKGlzUm9vdFBhZ2UoKSkgcmV0dXJuIFtdO1xuICAgICAgICByZXR1cm4gW3sgaWQ6IE5hdkFjdGlvbklkLkJBQ0ssIG5hbWU6ICdCQUNLJywgaWNvbjogJ2Fycm93X2JhY2snIH1dO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RVaUNvbnRleHQoKTogU2lnbmFsPFVJQ29udGV4dD4ge1xuICByZXR1cm4gaW5qZWN0KFVpU2VydmljZSkudWlDb250ZXh0O1xufVxuXG5leHBvcnQgdHlwZSBVaUNvbmZpZ1JlZHVjZXI8VCBleHRlbmRzIG9iamVjdCB8IHN0cmluZywgQyBleHRlbmRzIFVJQ29udGV4dCA9IGFueT4gPSAoY29uZmlnOiBULCBjb250ZXh0OiBDKSA9PiBUO1xuZXhwb3J0IGNvbnN0IFVJX0NPTkZJR19SRURVQ0VSID0gbmV3IEluamVjdGlvblRva2VuPFVpQ29uZmlnUmVkdWNlcjxhbnk+PignVUlfQ09ORklHX1JFRFVDRVInKTtcbmV4cG9ydCB0eXBlIFJlZHVjZXJGYWN0b3J5PFQgZXh0ZW5kcyBvYmplY3QgfCBzdHJpbmcsIEsgZXh0ZW5kcyBUID0gYW55PiBcbiAgPSAoaW5qZWN0b3I6IEluamVjdG9yLCBob3N0SW5qZWN0b3I6IEluamVjdG9yKSA9PiAoY29uZmlnOiBLLCBjb250ZXh0OiBVSUNvbnRleHQpID0+IFQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxsPFQ+KHNpZ25hbE9yVmFsdWU6IFNpZ25hbDxUPiB8IFQpOiBUIHtcbiAgcmV0dXJuIGlzU2lnbmFsKHNpZ25hbE9yVmFsdWUpID8gc2lnbmFsT3JWYWx1ZSgpIDogc2lnbmFsT3JWYWx1ZTtcbn1cblxuZnVuY3Rpb24gc2V0UmVkdWNlclBhdGgocmVkdWNlcjogRnVuY3Rpb24sIHBhdGg6IHN0cmluZ1tdKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZWR1Y2VyLCAncGF0aCcsIHsgdmFsdWU6IHBhdGgsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTtcbiAgcmV0dXJuIHJlZHVjZXI7XG59XG5cbmZ1bmN0aW9uIGdldFJlZHVjZXJQYXRoKHJlZHVjZXI6IEZ1bmN0aW9uKSB7XG4gIHJldHVybiByZWR1Y2VyWydwYXRoJ107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVWlDb25maWc8VCBleHRlbmRzIG9iamVjdCB8IHN0cmluZz4oXG4gIHJlZHVjZXJGYWN0b3J5OiBSZWR1Y2VyRmFjdG9yeTxUPixcbiAgcGF0aDogc3RyaW5nW10gPSBbXSxcbiAgbmFtZSA9ICduYW1lJyxcbik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBVSV9DT05GSUdfUkVEVUNFUixcbiAgICB1c2VGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBmdW5jdGlvbiBfcmVkdWNlckZhY3RvcnkoaG9zdEluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBjb25zdCByZWR1Y2VyID0gcmVkdWNlckZhY3RvcnkoaW5qZWN0b3IsIGhvc3RJbmplY3Rvcik7IFxuICAgICAgICByZXR1cm4gKGNvbmZpZzogVCwgY29udGV4dDogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHBhdGgubGVuZ3RoID09PSAwKSByZXR1cm4gIHJlZHVjZXIoY29uZmlnLCBjb250ZXh0KTtcbiAgICAgICAgICByZXR1cm4gc2V0KGNvbmZpZyBhcyBvYmplY3QsIHBhdGgsIHJlZHVjZXIoZ2V0PGFueSwgYW55Pihjb25maWcsIHBhdGgpLCBjb250ZXh0KSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoX3JlZHVjZXJGYWN0b3J5LCAnbmFtZScsIHsgdmFsdWU6IG5hbWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTtcbiAgICAgIHNldFJlZHVjZXJQYXRoKF9yZWR1Y2VyRmFjdG9yeSwgcGF0aCk7XG4gICAgICByZXR1cm4gX3JlZHVjZXJGYWN0b3J5O1xuICAgIH0sXG4gICAgZGVwczogW0luamVjdG9yXSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJvb3RDb25maWc8VCBleHRlbmRzIG9iamVjdD4ocGF0aHM6IHN0cmluZ1tdID0gW10pOiBTaWduYWw8VD4ge1xuICBjb25zdCB1aUNvbnRleHQgPSBpbmplY3RVaUNvbnRleHQoKTtcbiAgY29uc3QgZmFjdG9yaWVzID0gaW5qZWN0UmVkdWNlckZhY3RvaXJpZXMocGF0aHMpO1xuICBjb25zdCBob3N0SW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBjb25zdCByZWR1Y2VycyA9IGZhY3Rvcmllcy5tYXAoZmFjdG9yeSA9PiB7XG4gICAgcmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChob3N0SW5qZWN0b3IsICgpID0+IGZhY3RvcnkoaG9zdEluamVjdG9yKSk7XG4gIH0pO1xuICBpZiAoIXJlZHVjZXJzKSByZXR1cm4gdW5kZWZpbmVkO1xuICBjb25zdCByb290Q29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB1aUNvbnRleHQoKTtcbiAgICByZXR1cm4gcmVkdWNlcnMucmVkdWNlKChhY2MsIHJlZHVjZXIpID0+IHtcbiAgICAgIHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoaG9zdEluamVjdG9yLCAoKSA9PiByZWR1Y2VyKGFjYywgY29udGV4dCkpO1xuICAgIH0sIHt9IGFzIFQpO1xuICB9KTtcbiAgcmV0dXJuIHJvb3RDb25maWc7XG59XG5cbi8vIFRPRE8oQG5vbnRhbmdlbnQpOiBpdGVtc+OBquOBqeOBruWPluW+l+OBjOWFqOOBpuOBruOCs+ODs+ODneODvOODjeODs+ODiOOBp+ihjOOCj+OCjOOCi+OBruOBp+ioiOeul+OCkuacgOmBqeWMluOBmeOCi+OAglxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFVpQ29uZmlnPFQgZXh0ZW5kcyBvYmplY3Q+KHBhdGhzOiBzdHJpbmdbXSA9IFtdKTogU2lnbmFsPFQ+IHtcbiAgY29uc3Qgcm9vdENvbmZpZyA9IGluamVjdFJvb3RDb25maWc8VD4ocGF0aHMpO1xuICByZXR1cm4gc2NvcGVkKHJvb3RDb25maWcsIHBhdGhzIGFzIGFueSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlQ29uZmlnPFQgZXh0ZW5kcyBvYmplY3Q+KGRlZmF1bHRVc2VGYWN0b3J5OiBSZWR1Y2VyRmFjdG9yeTxUPiwgcGF0aDogc3RyaW5nW10pIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBmdW5jdGlvbiBwcm92aWRlQ29uZmlnKHVzZUZhY3Rvcnk/OiBSZWR1Y2VyRmFjdG9yeTxUPiwgbGFiZWwgPSB1c2VGYWN0b3J5ID8gJ2N1c3RvbScgOiAnZGVmYXVsdCcpIHtcbiAgICAgIHVzZUZhY3RvcnkgPz89IGRlZmF1bHRVc2VGYWN0b3J5O1xuICAgICAgcmV0dXJuIHByb3ZpZGVVaUNvbmZpZzxUPih1c2VGYWN0b3J5LCBwYXRoLCBgWyR7cGF0aC5qb2luKCcuJyl9XSAke2xhYmVsfWApO1xuICAgIH0sXG4gICAgaW5qZWN0OiBmdW5jdGlvbiBpbmplY3RDb25maWcoKSB7XG4gICAgICByZXR1cm4gaW5qZWN0VWlDb25maWc8VD4ocGF0aCk7XG4gICAgfSxcbiAgfVxufVxuXG5mdW5jdGlvbiBpbmplY3RSZWR1Y2VycygpOiAoKGhvc3RJbmplY3RvcjogSW5qZWN0b3IpID0+IFVpQ29uZmlnUmVkdWNlcjxhbnk+KVtdIHtcbiAgcmV0dXJuIGluamVjdERlZXBNdWx0aTwoaG9zdEluamVjdG9yOiBJbmplY3RvcikgPT4gVWlDb25maWdSZWR1Y2VyPGFueT4+KFVJX0NPTkZJR19SRURVQ0VSKTtcbn1cblxuZnVuY3Rpb24gaW5qZWN0UmVkdWNlckZhY3RvaXJpZXMocGF0aDogc3RyaW5nW10gPSBbXSk6ICgoaG9zdEluamVjdG9yOiBJbmplY3RvcikgPT4gVWlDb25maWdSZWR1Y2VyPGFueT4pW10ge1xuICByZXR1cm4gaW5qZWN0UmVkdWNlcnMoKS5maWx0ZXIoZmFjdG9yeSA9PiB7XG4gICAgcmV0dXJuIGdldFJlZHVjZXJQYXRoKGZhY3RvcnkpLmV2ZXJ5KChwLCBpKSA9PiBwYXRoW2ldID09PSBwKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3REZWVwTXVsdGk8VD4odG9rZW46IFByb3ZpZGVyVG9rZW48VD4sIGluamVjdG9yOiBJbmplY3RvciA9IGluamVjdChJbmplY3RvcikpOiBUW10ge1xuICBjb25zdCB2YWx1ZU9yQXJyYXkgPSBpbmplY3Rvci5nZXQodG9rZW4gYXMgUHJvdmlkZXJUb2tlbjxUW10+LCBbXSwge29wdGlvbmFsOiB0cnVlfSk7XG4gIGNvbnN0IGl0ZW1zID0gQXJyYXkuaXNBcnJheSh2YWx1ZU9yQXJyYXkpID8gdmFsdWVPckFycmF5IDogW3ZhbHVlT3JBcnJheV07XG4gIGNvbnN0IHBhcmVudEluamVjdG9yID0gaW5qZWN0b3IuZ2V0KEluamVjdG9yLCBudWxsLCB7c2tpcFNlbGY6IHRydWV9KTtcbiAgaWYgKCFwYXJlbnRJbmplY3RvcikgcmV0dXJuIGl0ZW1zO1xuICByZXR1cm4gWy4uLm5ldyBTZXQoWy4uLmluamVjdERlZXBNdWx0aSh0b2tlbiwgcGFyZW50SW5qZWN0b3IpLCAuLi5pdGVtc10pXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlYnVnSW5qZWN0b3IoaW5qZWN0b3I6IEluamVjdG9yIHwgbnVsbCA9IGluamVjdChJbmplY3RvcikpIHtcbiAgICAgIGNvbnN0IGdldFBhcmVudCA9IChpbmplY3RvcjogSW5qZWN0b3IsIG4gPSAwKTogSW5qZWN0b3IgfCBudWxsID0+IHtcbiAgICAgIHdoaWxlIChpbmplY3RvciAmJiBuLS0gPiAwKSB7XG4gICAgICAgIGluamVjdG9yID0gaW5qZWN0b3IuZ2V0KEluamVjdG9yLCBudWxsLCB7IHNraXBTZWxmOiB0cnVlIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGluamVjdG9yO1xuICAgIH1cblxuICAgIGNvbnN0IGdldEluamVjdG9yTmFtZSA9IChpbmplY3RvcjogSW5qZWN0b3IpOiBzdHJpbmcgPT4ge1xuICAgICAgY29uc3QgbmFtZSA9IGluamVjdG9yLmdldChFbGVtZW50UmVmLCBudWxsKT8ubmF0aXZlRWxlbWVudD8udGFnTmFtZT8udG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChuYW1lKSByZXR1cm4gYDwke25hbWV9PmA7XG4gICAgICByZXR1cm4gYCR7aW5qZWN0b3JbJ3NvdXJjZSddfWA7XG4gICAgfVxuXG4gICAgY29uc3QgaXNOb2RlSW5qZWN0b3IgPSAoaW5qZWN0b3I6IEluamVjdG9yKTogYm9vbGVhbiA9PiB7XG4gICAgICByZXR1cm4gaW5qZWN0b3IuZ2V0KEVsZW1lbnRSZWYsIG51bGwpICE9PSBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcFRvTmFtZXMgPSAocmVkdWNlcnM6IGFueSkgPT4gKHJlZHVjZXJzID8/IFtdKS5tYXAocmVkdWNlciA9PiByZWR1Y2VyLm5hbWUpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgaSsrKSB7XG4gICAgICBpbmplY3RvciA9IGdldFBhcmVudChpbmplY3RvciwgaSk7XG4gICAgICBpZiAoaW5qZWN0b3IgPT09IEluamVjdG9yLk5VTEwpIGJyZWFrO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,65 +1,14 @@
|
|
|
1
|
-
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
|
|
2
1
|
import { Injectable, PLATFORM_ID, computed, inject } from '@angular/core';
|
|
3
2
|
import { toSignal } from '@angular/core/rxjs-interop';
|
|
4
3
|
import { NavigationStart } from '@angular/router';
|
|
5
|
-
import {
|
|
4
|
+
import { filter, map, startWith } from 'rxjs';
|
|
6
5
|
import { isPlatformBrowser } from '@angular/common';
|
|
7
6
|
import { RouterService } from '@ng-atomic/common/services/router';
|
|
7
|
+
import { BreakpointService } from '@ng-atomic/common/services/breakpoint';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
export class BreakPointService {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.breakpointObserver = inject(BreakpointObserver);
|
|
12
|
-
this.breakpointMap$ = combineLatest({
|
|
13
|
-
xSmall: this.breakpointObserver.observe(Breakpoints.XSmall),
|
|
14
|
-
small: this.breakpointObserver.observe(Breakpoints.Small),
|
|
15
|
-
medium: this.breakpointObserver.observe(Breakpoints.Medium),
|
|
16
|
-
large: this.breakpointObserver.observe(Breakpoints.Large),
|
|
17
|
-
xLarge: this.breakpointObserver.observe(Breakpoints.XLarge),
|
|
18
|
-
handset: this.breakpointObserver.observe(Breakpoints.Handset),
|
|
19
|
-
tablet: this.breakpointObserver.observe(Breakpoints.Tablet),
|
|
20
|
-
web: this.breakpointObserver.observe(Breakpoints.Web),
|
|
21
|
-
});
|
|
22
|
-
this.breakpointMap = toSignal(this.breakpointMap$);
|
|
23
|
-
this.breakpoint = computed(() => {
|
|
24
|
-
const map = this.breakpointMap();
|
|
25
|
-
const test = {
|
|
26
|
-
xSmall: map.xSmall.matches ?? this.breakpointObserver.isMatched(Breakpoints.XSmall),
|
|
27
|
-
small: map.small.matches ?? this.breakpointObserver.isMatched(Breakpoints.Small),
|
|
28
|
-
medium: map.medium.matches ?? this.breakpointObserver.isMatched(Breakpoints.Medium),
|
|
29
|
-
large: map.large.matches ?? this.breakpointObserver.isMatched(Breakpoints.Large),
|
|
30
|
-
xLarge: map.xLarge.matches ?? this.breakpointObserver.isMatched(Breakpoints.XLarge),
|
|
31
|
-
handset: map.handset.matches ?? this.breakpointObserver.isMatched(Breakpoints.Handset),
|
|
32
|
-
tablet: map.tablet.matches ?? this.breakpointObserver.isMatched(Breakpoints.Tablet),
|
|
33
|
-
web: map.web.matches ?? this.breakpointObserver.isMatched(Breakpoints.Web),
|
|
34
|
-
};
|
|
35
|
-
if (test.xSmall)
|
|
36
|
-
return 'xSmall';
|
|
37
|
-
if (test.small)
|
|
38
|
-
return 'small';
|
|
39
|
-
if (test.medium)
|
|
40
|
-
return 'medium';
|
|
41
|
-
if (test.large)
|
|
42
|
-
return 'large';
|
|
43
|
-
if (test.xLarge)
|
|
44
|
-
return 'xLarge';
|
|
45
|
-
if (test.handset)
|
|
46
|
-
return 'handset';
|
|
47
|
-
if (test.tablet)
|
|
48
|
-
return 'tablet';
|
|
49
|
-
if (test.web)
|
|
50
|
-
return 'web';
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BreakPointService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
54
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BreakPointService, providedIn: 'root' }); }
|
|
55
|
-
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BreakPointService, decorators: [{
|
|
57
|
-
type: Injectable,
|
|
58
|
-
args: [{ providedIn: 'root' }]
|
|
59
|
-
}] });
|
|
60
9
|
export class UiService {
|
|
61
10
|
constructor() {
|
|
62
|
-
this.breakpoint = inject(
|
|
11
|
+
this.breakpoint = inject(BreakpointService);
|
|
63
12
|
this.router = inject(RouterService);
|
|
64
13
|
this.platformId = inject(PLATFORM_ID);
|
|
65
14
|
this.paths$ = this.router.events.pipe(filter(event => event instanceof NavigationStart), map((event) => event.url), startWith(isPlatformBrowser(this.platformId) ? window?.location?.pathname : ''), map(url => this.router.parseUrl(url)), map(urlTree => urlTree.root.children?.primary?.segments ?? []));
|
|
@@ -78,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
78
27
|
type: Injectable,
|
|
79
28
|
args: [{ providedIn: 'root' }]
|
|
80
29
|
}] });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvdWkvdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQWMsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFRdEYsTUFBTSxPQUFPLFNBQVM7SUFEdEI7UUFFVyxlQUFVLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdkMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQixlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWpDLFdBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3ZDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsRUFDakQsR0FBRyxDQUFDLENBQUMsS0FBc0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUMxQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQy9FLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDLENBQy9ELENBQUM7UUFDTyxVQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QixjQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUMxQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLEVBQ2pELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pELENBQUM7UUFDTyxhQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwQyxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFO1lBQ3hDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO1NBQ3BCLENBQUMsQ0FBQyxDQUFDO0tBQ0w7OEdBeEJZLFNBQVM7a0hBQVQsU0FBUyxjQURJLE1BQU07OzJGQUNuQixTQUFTO2tCQURyQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQsIGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlclNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9yb3V0ZXInO1xuaW1wb3J0IHsgQnJlYWtwb2ludCwgQnJlYWtwb2ludFNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9icmVha3BvaW50JztcblxuZXhwb3J0IGludGVyZmFjZSBVSUNvbnRleHQge1xuICBicmVha3BvaW50OiBCcmVha3BvaW50O1xuICBwYXRoczogYW55W107XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVWlTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgYnJlYWtwb2ludCA9IGluamVjdChCcmVha3BvaW50U2VydmljZSk7XG4gIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgcmVhZG9ubHkgcGF0aHMkID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSxcbiAgICBtYXAoKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpID0+IGV2ZW50LnVybCksXG4gICAgc3RhcnRXaXRoKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgPyB3aW5kb3c/LmxvY2F0aW9uPy5wYXRobmFtZSA6ICcnKSxcbiAgICBtYXAodXJsID0+IHRoaXMucm91dGVyLnBhcnNlVXJsKHVybCkpLFxuICAgIG1hcCh1cmxUcmVlID0+IHVybFRyZWUucm9vdC5jaGlsZHJlbj8ucHJpbWFyeT8uc2VnbWVudHMgPz8gW10pLFxuICApO1xuICByZWFkb25seSBwYXRocyA9IHRvU2lnbmFsKHRoaXMucGF0aHMkKTtcblxuICByZWFkb25seSBzbmFwc2hvdCQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLFxuICAgIG1hcCgoKSA9PiB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC5yb290KSxcbiAgKTtcbiAgcmVhZG9ubHkgc25hcHNob3QgPSB0b1NpZ25hbCh0aGlzLnNuYXBzaG90JCk7XG5cbiAgcmVhZG9ubHkgdWlDb250ZXh0ID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICBicmVha3BvaW50OiB0aGlzLmJyZWFrcG9pbnQuYnJlYWtwb2ludCgpLFxuICAgIHBhdGhzOiB0aGlzLnBhdGhzKCksXG4gIH0pKTtcbn1cbiJdfQ==
|