ngx-edu-sharing-metaqs2 0.9.30 → 0.9.32
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/README.md +19 -5
- package/esm2022/lib/collection-count-history/collection-count-history.component.mjs +6 -5
- package/esm2022/lib/components/collection-issues/collection-issues.component.mjs +2 -2
- package/esm2022/lib/components/editorial-link-service/editorial-link.service.mjs +108 -20
- package/esm2022/lib/components/loading_indicator/overlay/overlay.service.mjs +41 -0
- package/esm2022/lib/components/loading_indicator/progress-spinner/progress-spinner.component.mjs +65 -0
- package/esm2022/lib/components/material-issues/material-issues.component.mjs +2 -2
- package/esm2022/lib/components/node-entry/node-entry.component.mjs +2 -2
- package/esm2022/lib/components/node-list/node-list.component.mjs +2 -2
- package/esm2022/lib/components/quality-matrix/quality_matrix.mjs +6 -5
- package/esm2022/lib/counts-with-history/counts-with-history.component.mjs +26 -10
- package/esm2022/lib/java-api/api/filterAPI.service.mjs +43 -1
- package/esm2022/lib/materialtypes-by-sources/materialtypes-by-sources.component.mjs +3 -3
- package/esm2022/lib/meta-api.service.mjs +4 -1
- package/esm2022/lib/ng-meta-widgets-lib.module.mjs +7 -3
- package/esm2022/lib/tree-collection-details/tree-collection-details.component.mjs +17 -3
- package/esm2022/lib/tree-search-counts/tree-search-counts.component.mjs +5 -3
- package/fesm2022/ngx-edu-sharing-metaqs2.mjs +316 -57
- package/fesm2022/ngx-edu-sharing-metaqs2.mjs.map +1 -1
- package/lib/collection-count-history/collection-count-history.component.d.ts +2 -2
- package/lib/components/editorial-link-service/editorial-link.service.d.ts +14 -0
- package/lib/components/loading_indicator/overlay/overlay.service.d.ts +13 -0
- package/lib/components/loading_indicator/progress-spinner/progress-spinner.component.d.ts +21 -0
- package/lib/counts-with-history/counts-with-history.component.d.ts +10 -6
- package/lib/java-api/api/filterAPI.service.d.ts +25 -0
- package/lib/meta-api.service.d.ts +3 -0
- package/lib/ng-meta-widgets-lib.module.d.ts +2 -1
- package/lib/tree-search-counts/tree-search-counts.component.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -93,7 +93,12 @@ selector: `<metaqs2--quality-matrix-v2 />`
|
|
|
93
93
|
|
|
94
94
|
### Counts with History
|
|
95
95
|
[CountHistoryComponent](./src/lib/counts-with-history/counts-with-history.component.ts)
|
|
96
|
-
selector: `<metaqs2-counts-with-history />`.
|
|
96
|
+
- selector: `<metaqs2-counts-with-history />`.
|
|
97
|
+
- inputs:
|
|
98
|
+
- `apiMethod` (required) - the method to call on the MetaApiService
|
|
99
|
+
- `sourceType` (optional) - the type of the source ( 'replicationSource' | 'collection')
|
|
100
|
+
- `pageTitle` (optional) - translation key for the title
|
|
101
|
+
- `columnTranslationkey` (optional) - translation key for the columns
|
|
97
102
|
|
|
98
103
|
This is a generic component that can be used to display counts with a history.
|
|
99
104
|
It can be configered by providing the follwing data structure in it's routing configuration
|
|
@@ -106,6 +111,7 @@ or by providing it as an input to the component:
|
|
|
106
111
|
pageTitle: 'pageTitle.content-type-count', // translation key for the title (if not provided or empty, the page header will not be displayed)
|
|
107
112
|
apiMethod: 'getMaterialTypeCountsByReplicationSource', // the method to call on the MetaApiService (required)
|
|
108
113
|
columnTranslationkey: 'issues.', // translation key for the columns (optional)
|
|
114
|
+
sourceType: 'replicationSource' // the type of the source ( 'replicationSource' | 'collection')e
|
|
109
115
|
},
|
|
110
116
|
}
|
|
111
117
|
```
|
|
@@ -115,7 +121,9 @@ Currently the following manifestations are implemented:
|
|
|
115
121
|
{
|
|
116
122
|
path: 'content-type-count',
|
|
117
123
|
component: CountsWithHistoryComponent,
|
|
118
|
-
data: { pageTitle: 'pageTitle.content-type-count',
|
|
124
|
+
data: { pageTitle: 'pageTitle.content-type-count',
|
|
125
|
+
apiMethod: 'getMaterialTypeCountsByReplicationSource',
|
|
126
|
+
sourceType: 'replicationSource' }
|
|
119
127
|
}
|
|
120
128
|
```
|
|
121
129
|
#### Lizenzarten nach Quellen
|
|
@@ -124,7 +132,9 @@ Currently the following manifestations are implemented:
|
|
|
124
132
|
{
|
|
125
133
|
path: 'license-count-sources',
|
|
126
134
|
component: CountsWithHistoryComponent,
|
|
127
|
-
data: { pageTitle: 'pageTitle.license-count-sources',
|
|
135
|
+
data: { pageTitle: 'pageTitle.license-count-sources',
|
|
136
|
+
apiMethod: 'getLicenseCountsByReplicationSource',
|
|
137
|
+
sourceType: 'replicationSource' }
|
|
128
138
|
},
|
|
129
139
|
```
|
|
130
140
|
#### Lizenzarten nach Sammlungen
|
|
@@ -132,7 +142,9 @@ Currently the following manifestations are implemented:
|
|
|
132
142
|
{
|
|
133
143
|
path: 'license-count-collections',
|
|
134
144
|
component: CountsWithHistoryComponent,
|
|
135
|
-
data: { pageTitle: 'pageTitle.license-count-collections',
|
|
145
|
+
data: { pageTitle: 'pageTitle.license-count-collections',
|
|
146
|
+
apiMethod: 'getMaterialCountMatrixByLicenseGroup',
|
|
147
|
+
sourceType: 'collection' }
|
|
136
148
|
}
|
|
137
149
|
```
|
|
138
150
|
#### Quellen und ihre Qualitätsprobleme
|
|
@@ -142,7 +154,8 @@ Currently the following manifestations are implemented:
|
|
|
142
154
|
component: CountsWithHistoryComponent,
|
|
143
155
|
data: {
|
|
144
156
|
pageTitle: 'pageTitle.issues-replicationsources',
|
|
145
|
-
apiMethod: 'getCompletenessForReplicationSources',
|
|
157
|
+
apiMethod: 'getCompletenessForReplicationSources',
|
|
158
|
+
sourceType: 'replicationSource',
|
|
146
159
|
columnTranslationkey: 'issues.'},
|
|
147
160
|
},
|
|
148
161
|
```
|
|
@@ -154,6 +167,7 @@ Currently the following manifestations are implemented:
|
|
|
154
167
|
data: {
|
|
155
168
|
title: 'pageTitle.issues-collections',
|
|
156
169
|
apiMethod: 'getCompletenessForDisciplinaryPortals',
|
|
170
|
+
sourceType: 'collection',
|
|
157
171
|
columnTranslationkey: 'issues.',
|
|
158
172
|
}
|
|
159
173
|
},
|
|
@@ -8,6 +8,7 @@ import { BehaviorSubject } from 'rxjs';
|
|
|
8
8
|
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
|
9
9
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
10
10
|
import { distinctUntilChanged, finalize, take } from 'rxjs/operators';
|
|
11
|
+
import { ProgressSpinnerComponent } from '../components/loading_indicator/progress-spinner/progress-spinner.component';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "../meta-api.service";
|
|
13
14
|
export class CollectionCountHistoryComponent {
|
|
@@ -90,7 +91,7 @@ export class CollectionCountHistoryComponent {
|
|
|
90
91
|
});
|
|
91
92
|
}
|
|
92
93
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollectionCountHistoryComponent, deps: [{ token: i1.MetaApiService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
93
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CollectionCountHistoryComponent, isStandalone: true, selector: "metaqs2-collection-count-history", inputs: { pageTitle: "pageTitle" }, viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }], ngImport: i0, template: "<mat-card appearance=\"outlined\">\n <mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n {{ pageTitle }}{{ isLoading() ? \": Lade neue Daten.\" : \"\" }}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n
|
|
94
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CollectionCountHistoryComponent, isStandalone: true, selector: "metaqs2-collection-count-history", inputs: { pageTitle: "pageTitle" }, viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }], ngImport: i0, template: "<mat-card appearance=\"outlined\">\n <mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n {{ pageTitle }}{{ isLoading() ? \": Lade neue Daten.\" : \"\" }}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <metaqs2-monthpicker\n [inputGroup]=\"range\"></metaqs2-monthpicker>\n <metaqs2-progress-spinner [displayProgressSpinner]=\"isLoading()\"></metaqs2-progress-spinner>\n\n <div [ngClass]=\"{'while-loading': isLoading()}\">\n <canvas\n baseChart\n [datasets]=\"(datapoints$ | async) || []\"\n [options]=\"lineChartOptions\"\n [type]=\"'line'\"\n ></canvas>\n </div>\n </mat-card-content>\n</mat-card>", styles: [".while-loading{filter:blur(2px)}\n"], dependencies: [{ kind: "directive", type: BaseChartDirective, selector: "canvas[baseChart]", inputs: ["type", "legend", "data", "options", "plugins", "labels", "datasets"], outputs: ["chartClick", "chartHover"], exportAs: ["base-chart"] }, { kind: "component", type: MonthpickerComponent, selector: "metaqs2-monthpicker", inputs: ["startView", "inputGroup"] }, { kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: MatCardContent, selector: "mat-card-content" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ProgressSpinnerComponent, selector: "metaqs2-progress-spinner", inputs: ["color", "diameter", "strokeWidth", "backdropEnabled", "positionGloballyCenter", "displayProgressSpinner"] }] }); }
|
|
94
95
|
}
|
|
95
96
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollectionCountHistoryComponent, decorators: [{
|
|
96
97
|
type: Component,
|
|
@@ -105,12 +106,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
105
106
|
ReactiveFormsModule,
|
|
106
107
|
NgClass,
|
|
107
108
|
NgIf,
|
|
108
|
-
|
|
109
|
+
ProgressSpinnerComponent,
|
|
110
|
+
], template: "<mat-card appearance=\"outlined\">\n <mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n {{ pageTitle }}{{ isLoading() ? \": Lade neue Daten.\" : \"\" }}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <metaqs2-monthpicker\n [inputGroup]=\"range\"></metaqs2-monthpicker>\n <metaqs2-progress-spinner [displayProgressSpinner]=\"isLoading()\"></metaqs2-progress-spinner>\n\n <div [ngClass]=\"{'while-loading': isLoading()}\">\n <canvas\n baseChart\n [datasets]=\"(datapoints$ | async) || []\"\n [options]=\"lineChartOptions\"\n [type]=\"'line'\"\n ></canvas>\n </div>\n </mat-card-content>\n</mat-card>", styles: [".while-loading{filter:blur(2px)}\n"] }]
|
|
109
111
|
}], ctorParameters: () => [{ type: i1.MetaApiService }, { type: i0.DestroyRef }], propDecorators: { chart: [{
|
|
110
112
|
type: ViewChild,
|
|
111
113
|
args: [BaseChartDirective]
|
|
112
114
|
}], pageTitle: [{
|
|
113
|
-
type: Input
|
|
114
|
-
args: [{ required: true }]
|
|
115
|
+
type: Input
|
|
115
116
|
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnkvY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnkvY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7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RSxJQUFJLENBQUMsSUFBSTtpQkFDakIsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTVGVSwrQkFBK0I7bUdBQS9CLCtCQUErQix1S0FDL0Isa0JBQWtCLGdEQ25DL0Isb2xCQW9CVywwRERBUCxrQkFBa0IsK01BQ2xCLG9CQUFvQixxR0FDcEIsT0FBTyxvR0FDUCxhQUFhLDREQUNiLFlBQVksNkZBQ1osY0FBYyx3REFDZCxTQUFTLDZDQUNULG1CQUFtQiwrQkFDbkIsT0FBTyxvRkFDUCxJQUFJOzs0RkFLSywrQkFBK0I7a0JBbEIzQyxTQUFTOytCQUNFLGtDQUFrQyxjQUNoQyxJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsU0FBUzt3QkFDVCxtQkFBbUI7d0JBQ25CLE9BQU87d0JBQ1AsSUFBSTtxQkFDTDs0R0FLOEIsS0FBSztzQkFBbkMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBd0JuQixTQUFTO3NCQURsQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgSW5wdXQsIE9uSW5pdCwgc2lnbmFsLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYXJ0Q29uZmlndXJhdGlvbiwgQ2hhcnREYXRhc2V0IH0gZnJvbSAnY2hhcnQuanMnO1xuaW1wb3J0IHsgQmFzZUNoYXJ0RGlyZWN0aXZlIH0gZnJvbSAnbmcyLWNoYXJ0cyc7XG5pbXBvcnQgeyBEYXRlVGltZSwgRGF0ZVRpbWVVbml0IH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgTWF0Q2FyZCwgTWF0Q2FyZENvbnRlbnQsIE1hdENhcmRIZWFkZXIsIE1hdENhcmRUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTW9udGhwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL21vbnRocGlja2VyL21vbnRocGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3VudCB9IGZyb20gJy4uL2phdmEtYXBpJztcbmltcG9ydCB7IE1ldGFBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vbWV0YS1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmluYWxpemUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXRlcmlhbENvdW50RmlsdGVyIH0gZnJvbSAnLi4vamF2YS1hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZXRhcXMyLWNvbGxlY3Rpb24tY291bnQtaGlzdG9yeScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCYXNlQ2hhcnREaXJlY3RpdmUsXG4gICAgTW9udGhwaWNrZXJDb21wb25lbnQsXG4gICAgTWF0Q2FyZCxcbiAgICBNYXRDYXJkSGVhZGVyLFxuICAgIE1hdENhcmRUaXRsZSxcbiAgICBNYXRDYXJkQ29udGVudCxcbiAgICBBc3luY1BpcGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbkNvdW50SGlzdG9yeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoQmFzZUNoYXJ0RGlyZWN0aXZlKSBjaGFydD86IEJhc2VDaGFydERpcmVjdGl2ZTtcbiAgcHJvdGVjdGVkIGxpbmVDaGFydE9wdGlvbnM6IENoYXJ0Q29uZmlndXJhdGlvblsnb3B0aW9ucyddID0ge1xuICAgIHBhcnNpbmc6IHtcbiAgICAgIHhBeGlzS2V5OiAnZGF0ZScsXG4gICAgICB5QXhpc0tleTogJ2NvdW50JyxcbiAgICB9LFxuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogJ01vbnRzZXJyYXQnLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uOiBmYWxzZSxcbiAgfTtcbiAgcHJvdGVjdGVkIGRhdGFwb2ludHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDaGFydERhdGFzZXQ8J2xpbmUnLCBDb3VudFtdPltdPihbXSk7XG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBzaWduYWwodHJ1ZSk7XG4gIHJlYWRvbmx5IHJhbmdlOiBGb3JtR3JvdXA8e1xuICAgIHN0YXJ0OiBGb3JtQ29udHJvbDxEYXRlVGltZTxib29sZWFuPj47XG4gICAgZW5kOiBGb3JtQ29udHJvbDxEYXRlVGltZTxib29sZWFuPj47XG4gIH0+ID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgc3RhcnQ6IG5ldyBGb3JtQ29udHJvbCgpLFxuICAgIGVuZDogbmV3IEZvcm1Db250cm9sKCksXG4gIH0pO1xuICBwcm90ZWN0ZWQgZ3JhbnVsYXJpdGllczogRGF0ZVRpbWVVbml0W10gPSBbJ3llYXInLCAnbW9udGgnLCAnd2VlaycsICdkYXknXTtcbiAgcHJvdGVjdGVkIGdyYW51bGFyaXR5ID0gbmV3IEZvcm1Db250cm9sPERhdGVUaW1lVW5pdD4oJ21vbnRoJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgcGFnZVRpdGxlOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbWV0YUFwaTogTWV0YUFwaVNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVyRGF0ZVJhbmdlRmlsdGVyKCk7XG4gIH1cblxuICByZWdpc3RlckRhdGVSYW5nZUZpbHRlcigpIHtcbiAgICB0aGlzLnJhbmdlLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAvL3RoZSBNYXRlcmlhbCBEYXRlcGlja2VyIGVtaXRzIHRoZSBpbml0aWFsIHZhbHVlcyA0IHRpbWVzIHdoZW4gaXQgc3RhcnRzLCBzbyB3ZSBuZWVkIHRvIGRpc3RpbmN0IHRoZW1cbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgICAgICByZXR1cm4gcHJldi5zdGFydCA9PT0gY3Vyci5zdGFydCAmJiBwcmV2LmVuZCA9PT0gY3Vyci5lbmQ7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgICAgfSk7XG4gICAgdGhpcy5tZXRhQXBpXG4gICAgICAuZ2V0VGltZXJhbmdlRmlsdGVyKClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyYW5nZUZpbHRlcikgPT4ge1xuICAgICAgICBpZiAocmFuZ2VGaWx0ZXIpIHtcbiAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBEYXRlVGltZS5mcm9tSVNPKHJhbmdlRmlsdGVyLnZhbHVlcy5maW5kKCh2KSA9PiB2LmlkID09PSAncmFuZ2VTdGFydCcpPy5sYWJlbCEsIHtcbiAgICAgICAgICAgIHpvbmU6ICd1dGMnLFxuICAgICAgICAgIH0pLnN0YXJ0T2YodGhpcy5ncmFudWxhcml0eS52YWx1ZSk7XG4gICAgICAgICAgY29uc3QgZW5kRGF0ZSA9IERhdGVUaW1lLmZyb21JU08ocmFuZ2VGaWx0ZXIudmFsdWVzLmZpbmQoKHYpID0+IHYuaWQgPT09ICdyYW5nZUVuZCcpPy5sYWJlbCEsIHtcbiAgICAgICAgICAgIHpvbmU6ICd1dGMnLFxuICAgICAgICAgIH0pLmVuZE9mKHRoaXMuZ3JhbnVsYXJpdHkudmFsdWUpO1xuICAgICAgICAgIHRoaXMucmFuZ2Uuc2V0Q29udHJvbCgnc3RhcnQnLCBuZXcgRm9ybUNvbnRyb2w8RGF0ZVRpbWU+KHN0YXJ0RGF0ZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSwge1xuICAgICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLnJhbmdlLnNldENvbnRyb2woJ2VuZCcsIG5ldyBGb3JtQ29udHJvbDxEYXRlVGltZT4oZW5kRGF0ZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xuXG4gICAgY29uc3QgcmVxdWVzdDogTWF0ZXJpYWxDb3VudEZpbHRlciA9IHtcbiAgICAgIHN0YXJ0RGF0ZTogdGhpcy5yYW5nZS52YWx1ZS5zdGFydD8udG9JU08oKSEsXG4gICAgICBlbmREYXRlOiB0aGlzLnJhbmdlLnZhbHVlLmVuZD8udG9JU08oKSEsXG4gICAgICBncmFudWxhcml0eTogdGhpcy5ncmFudWxhcml0eS52YWx1ZSxcbiAgICB9O1xuXG4gICAgdGhpcy5tZXRhQXBpXG4gICAgICAuZ2V0RWRpdG9yaWFsTWF0ZXJpYWxDb3VudHMocmVxdWVzdClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YXBvaW50cyA9IHJlc3BvbnNlLm1hcCgoZGF0YSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRhOiBkYXRhLmNvdW50cy5tYXAoKGNvdW50KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZGF0ZTogRGF0ZVRpbWUuZnJvbUlTTyhjb3VudC5kYXRlKS50b0Zvcm1hdCgnTExMTCB5eXl5JykhLFxuICAgICAgICAgICAgICAgIGNvdW50OiBjb3VudC5jb3VudCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbGFiZWw6IGRhdGEubmFtZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kYXRhcG9pbnRzJC5uZXh0KGRhdGFwb2ludHMpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIj5cbiAgPG1hdC1jYXJkLWhlYWRlciAqbmdJZj1cInBhZ2VUaXRsZVwiPlxuICAgIDxtYXQtY2FyZC10aXRsZT5cbiAgICAgIHt7IHBhZ2VUaXRsZSB9fXt7IGlzTG9hZGluZygpID8gXCI6IExhZGUgbmV1ZSBEYXRlbi5cIiA6IFwiXCIgfX1cbiAgICA8L21hdC1jYXJkLXRpdGxlPlxuICA8L21hdC1jYXJkLWhlYWRlcj5cbiAgPG1hdC1jYXJkLWNvbnRlbnQ+XG5cbiAgICA8bWV0YXFzMi1tb250aHBpY2tlclxuICAgICAgW2lucHV0R3JvdXBdPVwicmFuZ2VcIj48L21ldGFxczItbW9udGhwaWNrZXI+XG5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnd2hpbGUtbG9hZGluZyc6IGlzTG9hZGluZygpfVwiPlxuICAgICAgPGNhbnZhc1xuICAgICAgICBiYXNlQ2hhcnRcbiAgICAgICAgW2RhdGFzZXRzXT1cIihkYXRhcG9pbnRzJCB8IGFzeW5jKSB8fCBbXVwiXG4gICAgICAgIFtvcHRpb25zXT1cImxpbmVDaGFydE9wdGlvbnNcIlxuICAgICAgICBbdHlwZV09XCInbGluZSdcIlxuICAgICAgPjwvY2FudmFzPlxuICAgIDwvZGl2PlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPiJdfQ==
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnkvY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnkvY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztB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QUs7eUJBQ25CLENBQUM7b0JBQ0osQ0FBQyxDQUFDO29CQUNGLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtpQkFDakIsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTVGVSwrQkFBK0I7bUdBQS9CLCtCQUErQix1S0FDL0Isa0JBQWtCLGdEQ3JDL0Isc3JCQW9CVyw0RkRDUCxrQkFBa0IsK01BQ2xCLG9CQUFvQixxR0FDcEIsT0FBTyxvR0FDUCxhQUFhLDREQUNiLFlBQVksNkZBQ1osY0FBYyx3REFDZCxTQUFTLDZDQUNULG1CQUFtQiwrQkFDbkIsT0FBTyxvRkFDUCxJQUFJLDZGQUNKLHdCQUF3Qjs7NEZBS2YsK0JBQStCO2tCQW5CM0MsU0FBUzsrQkFDRSxrQ0FBa0MsY0FDaEMsSUFBSSxXQUNQO3dCQUNQLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixPQUFPO3dCQUNQLElBQUk7d0JBQ0osd0JBQXdCO3FCQUN6Qjs0R0FLOEIsS0FBSztzQkFBbkMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBd0I3QixTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIElucHV0LCBPbkluaXQsIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFydENvbmZpZ3VyYXRpb24sIENoYXJ0RGF0YXNldCB9IGZyb20gJ2NoYXJ0LmpzJztcbmltcG9ydCB7IEJhc2VDaGFydERpcmVjdGl2ZSB9IGZyb20gJ25nMi1jaGFydHMnO1xuaW1wb3J0IHsgRGF0ZVRpbWUsIERhdGVUaW1lVW5pdCB9IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7IE1hdENhcmQsIE1hdENhcmRDb250ZW50LCBNYXRDYXJkSGVhZGVyLCBNYXRDYXJkVGl0bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE1vbnRocGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9tb250aHBpY2tlci9tb250aHBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ291bnQgfSBmcm9tICcuLi9qYXZhLWFwaSc7XG5pbXBvcnQgeyBNZXRhQXBpU2VydmljZSB9IGZyb20gJy4uL21ldGEtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbmFsaXplLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0ZXJpYWxDb3VudEZpbHRlciB9IGZyb20gJy4uL2phdmEtYXBpJztcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbG9hZGluZ19pbmRpY2F0b3IvcHJvZ3Jlc3Mtc3Bpbm5lci9wcm9ncmVzcy1zcGlubmVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21ldGFxczItY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEJhc2VDaGFydERpcmVjdGl2ZSxcbiAgICBNb250aHBpY2tlckNvbXBvbmVudCxcbiAgICBNYXRDYXJkLFxuICAgIE1hdENhcmRIZWFkZXIsXG4gICAgTWF0Q2FyZFRpdGxlLFxuICAgIE1hdENhcmRDb250ZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5nQ2xhc3MsXG4gICAgTmdJZixcbiAgICBQcm9ncmVzc1NwaW5uZXJDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbkNvdW50SGlzdG9yeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoQmFzZUNoYXJ0RGlyZWN0aXZlKSBjaGFydD86IEJhc2VDaGFydERpcmVjdGl2ZTtcbiAgcHJvdGVjdGVkIGxpbmVDaGFydE9wdGlvbnM6IENoYXJ0Q29uZmlndXJhdGlvblsnb3B0aW9ucyddID0ge1xuICAgIHBhcnNpbmc6IHtcbiAgICAgIHhBeGlzS2V5OiAnZGF0ZScsXG4gICAgICB5QXhpc0tleTogJ2NvdW50JyxcbiAgICB9LFxuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogJ01vbnRzZXJyYXQnLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uOiBmYWxzZSxcbiAgfTtcbiAgcHJvdGVjdGVkIGRhdGFwb2ludHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDaGFydERhdGFzZXQ8J2xpbmUnLCBDb3VudFtdPltdPihbXSk7XG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBzaWduYWwodHJ1ZSk7XG4gIHJlYWRvbmx5IHJhbmdlOiBGb3JtR3JvdXA8e1xuICAgIHN0YXJ0OiBGb3JtQ29udHJvbDxEYXRlVGltZTxib29sZWFuPj47XG4gICAgZW5kOiBGb3JtQ29udHJvbDxEYXRlVGltZTxib29sZWFuPj47XG4gIH0+ID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgc3RhcnQ6IG5ldyBGb3JtQ29udHJvbCgpLFxuICAgIGVuZDogbmV3IEZvcm1Db250cm9sKCksXG4gIH0pO1xuICBwcm90ZWN0ZWQgZ3JhbnVsYXJpdGllczogRGF0ZVRpbWVVbml0W10gPSBbJ3llYXInLCAnbW9udGgnLCAnd2VlaycsICdkYXknXTtcbiAgcHJvdGVjdGVkIGdyYW51bGFyaXR5ID0gbmV3IEZvcm1Db250cm9sPERhdGVUaW1lVW5pdD4oJ21vbnRoJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcblxuICBASW5wdXQoKVxuICBwYWdlVGl0bGU6IHN0cmluZztcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtZXRhQXBpOiBNZXRhQXBpU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmOiBEZXN0cm95UmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJEYXRlUmFuZ2VGaWx0ZXIoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyRGF0ZVJhbmdlRmlsdGVyKCkge1xuICAgIHRoaXMucmFuZ2UudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgIC8vdGhlIE1hdGVyaWFsIERhdGVwaWNrZXIgZW1pdHMgdGhlIGluaXRpYWwgdmFsdWVzIDQgdGltZXMgd2hlbiBpdCBzdGFydHMsIHNvIHdlIG5lZWQgdG8gZGlzdGluY3QgdGhlbVxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4ge1xuICAgICAgICAgIHJldHVybiBwcmV2LnN0YXJ0ID09PSBjdXJyLnN0YXJ0ICYmIHByZXYuZW5kID09PSBjdXJyLmVuZDtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgICB9KTtcbiAgICB0aGlzLm1ldGFBcGlcbiAgICAgIC5nZXRUaW1lcmFuZ2VGaWx0ZXIoKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJhbmdlRmlsdGVyKSA9PiB7XG4gICAgICAgIGlmIChyYW5nZUZpbHRlcikge1xuICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IERhdGVUaW1lLmZyb21JU08ocmFuZ2VGaWx0ZXIudmFsdWVzLmZpbmQoKHYpID0+IHYuaWQgPT09ICdyYW5nZVN0YXJ0Jyk/LmxhYmVsISwge1xuICAgICAgICAgICAgem9uZTogJ3V0YycsXG4gICAgICAgICAgfSkuc3RhcnRPZih0aGlzLmdyYW51bGFyaXR5LnZhbHVlKTtcbiAgICAgICAgICBjb25zdCBlbmREYXRlID0gRGF0ZVRpbWUuZnJvbUlTTyhyYW5nZUZpbHRlci52YWx1ZXMuZmluZCgodikgPT4gdi5pZCA9PT0gJ3JhbmdlRW5kJyk/LmxhYmVsISwge1xuICAgICAgICAgICAgem9uZTogJ3V0YycsXG4gICAgICAgICAgfSkuZW5kT2YodGhpcy5ncmFudWxhcml0eS52YWx1ZSk7XG4gICAgICAgICAgdGhpcy5yYW5nZS5zZXRDb250cm9sKCdzdGFydCcsIG5ldyBGb3JtQ29udHJvbDxEYXRlVGltZT4oc3RhcnREYXRlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLCB7XG4gICAgICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMucmFuZ2Uuc2V0Q29udHJvbCgnZW5kJywgbmV3IEZvcm1Db250cm9sPERhdGVUaW1lPihlbmREYXRlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBNYXRlcmlhbENvdW50RmlsdGVyID0ge1xuICAgICAgc3RhcnREYXRlOiB0aGlzLnJhbmdlLnZhbHVlLnN0YXJ0Py50b0lTTygpISxcbiAgICAgIGVuZERhdGU6IHRoaXMucmFuZ2UudmFsdWUuZW5kPy50b0lTTygpISxcbiAgICAgIGdyYW51bGFyaXR5OiB0aGlzLmdyYW51bGFyaXR5LnZhbHVlLFxuICAgIH07XG5cbiAgICB0aGlzLm1ldGFBcGlcbiAgICAgIC5nZXRFZGl0b3JpYWxNYXRlcmlhbENvdW50cyhyZXF1ZXN0KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSkpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhcG9pbnRzID0gcmVzcG9uc2UubWFwKChkYXRhKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhdGE6IGRhdGEuY291bnRzLm1hcCgoY291bnQpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBkYXRlOiBEYXRlVGltZS5mcm9tSVNPKGNvdW50LmRhdGUpLnRvRm9ybWF0KCdMTExMIHl5eXknKSEsXG4gICAgICAgICAgICAgICAgY291bnQ6IGNvdW50LmNvdW50LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBsYWJlbDogZGF0YS5uYW1lLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRhdGFwb2ludHMkLm5leHQoZGF0YXBvaW50cyk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiPlxuICA8bWF0LWNhcmQtaGVhZGVyICpuZ0lmPVwicGFnZVRpdGxlXCI+XG4gICAgPG1hdC1jYXJkLXRpdGxlPlxuICAgICAge3sgcGFnZVRpdGxlIH19e3sgaXNMb2FkaW5nKCkgPyBcIjogTGFkZSBuZXVlIERhdGVuLlwiIDogXCJcIiB9fVxuICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gIDwvbWF0LWNhcmQtaGVhZGVyPlxuICA8bWF0LWNhcmQtY29udGVudD5cbiAgICA8bWV0YXFzMi1tb250aHBpY2tlclxuICAgICAgW2lucHV0R3JvdXBdPVwicmFuZ2VcIj48L21ldGFxczItbW9udGhwaWNrZXI+XG4gICAgPG1ldGFxczItcHJvZ3Jlc3Mtc3Bpbm5lciBbZGlzcGxheVByb2dyZXNzU3Bpbm5lcl09XCJpc0xvYWRpbmcoKVwiPjwvbWV0YXFzMi1wcm9ncmVzcy1zcGlubmVyPlxuXG4gICAgPGRpdiBbbmdDbGFzc109XCJ7J3doaWxlLWxvYWRpbmcnOiBpc0xvYWRpbmcoKX1cIj5cbiAgICAgIDxjYW52YXNcbiAgICAgICAgYmFzZUNoYXJ0XG4gICAgICAgIFtkYXRhc2V0c109XCIoZGF0YXBvaW50cyQgfCBhc3luYykgfHwgW11cIlxuICAgICAgICBbb3B0aW9uc109XCJsaW5lQ2hhcnRPcHRpb25zXCJcbiAgICAgICAgW3R5cGVdPVwiJ2xpbmUnXCJcbiAgICAgID48L2NhbnZhcz5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD4iXX0=
|
|
@@ -14,10 +14,10 @@ export class CollectionIssuesComponent {
|
|
|
14
14
|
this.issues = await this.filterAPIService.getCollectionIssueFieldNames().toPromise();
|
|
15
15
|
}
|
|
16
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollectionIssuesComponent, deps: [{ token: i1.FilterAPIService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CollectionIssuesComponent, selector: "metaqs2-collection-issues", ngImport: i0, template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [collectionId]=\"collectionId\"\n [mode]=\"mode\"\n type=\"collection\"\n></metaqs2-node-list>\n", styles: [":host{padding:0 30px;display:flex;gap:30px;flex-wrap:wrap}:host>metaqs2-node-list{width:400px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.NodeListComponent, selector: "metaqs2-node-list", inputs: ["mode", "type", "collectionId"], outputs: ["countChanged"] }] }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CollectionIssuesComponent, selector: "metaqs2-collection-issues", ngImport: i0, template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [collectionId]=\"collectionId\"\n [mode]=\"mode\"\n type=\"collection\"\n></metaqs2-node-list>\n", styles: [".while-loading{filter:blur(2px)}:host{padding:0 30px;display:flex;gap:30px;flex-wrap:wrap}:host>metaqs2-node-list{width:400px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.NodeListComponent, selector: "metaqs2-node-list", inputs: ["mode", "type", "collectionId"], outputs: ["countChanged"] }] }); }
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollectionIssuesComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
args: [{ selector: 'metaqs2-collection-issues', template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [collectionId]=\"collectionId\"\n [mode]=\"mode\"\n type=\"collection\"\n></metaqs2-node-list>\n", styles: [":host{padding:0 30px;display:flex;gap:30px;flex-wrap:wrap}:host>metaqs2-node-list{width:400px}\n"] }]
|
|
21
|
+
args: [{ selector: 'metaqs2-collection-issues', template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [collectionId]=\"collectionId\"\n [mode]=\"mode\"\n type=\"collection\"\n></metaqs2-node-list>\n", styles: [".while-loading{filter:blur(2px)}:host{padding:0 30px;display:flex;gap:30px;flex-wrap:wrap}:host>metaqs2-node-list{width:400px}\n"] }]
|
|
22
22
|
}], ctorParameters: () => [{ type: i1.FilterAPIService }] });
|
|
23
23
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1pc3N1ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29sbGVjdGlvbi1pc3N1ZXMvY29sbGVjdGlvbi1pc3N1ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29sbGVjdGlvbi1pc3N1ZXMvY29sbGVjdGlvbi1pc3N1ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRbEQsTUFBTSxPQUFPLHlCQUF5QjtJQUtwQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUp0RCxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLHVFQUF1RTtRQUN2RSxpQkFBWSxHQUFXLHNDQUFzQyxDQUFDO0lBRUwsQ0FBQztJQUUxRCxLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN2RixDQUFDOytHQVRVLHlCQUF5QjttR0FBekIseUJBQXlCLGlFQ1J0QywySkFNQTs7NEZERWEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWx0ZXJBUElTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vamF2YS1hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZXRhcXMyLWNvbGxlY3Rpb24taXNzdWVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbGxlY3Rpb24taXNzdWVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sbGVjdGlvbi1pc3N1ZXMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbklzc3Vlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzc3Vlczogc3RyaW5nW10gPSBbXTtcbiAgLy8gQFRPRE86IElucHV0IGlzIGJyb2tlbiwgbWF5YmUgY2F1c2Ugb2Ygd2l0aENvbXBvbmVudElucHV0QmluZGluZygpPyFcbiAgY29sbGVjdGlvbklkOiBzdHJpbmcgPSAnOTRmMjJjOWItMGQzYS00YzFjLTg5ODctNGM4ZTgzZjNhOTJlJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbHRlckFQSVNlcnZpY2U6IEZpbHRlckFQSVNlcnZpY2UpIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc3N1ZXMgPSBhd2FpdCB0aGlzLmZpbHRlckFQSVNlcnZpY2UuZ2V0Q29sbGVjdGlvbklzc3VlRmllbGROYW1lcygpLnRvUHJvbWlzZSgpO1xuICB9XG59XG4iLCI8bWV0YXFzMi1ub2RlLWxpc3RcbiAgKm5nRm9yPVwibGV0IG1vZGUgb2YgaXNzdWVzXCJcbiAgW2NvbGxlY3Rpb25JZF09XCJjb2xsZWN0aW9uSWRcIlxuICBbbW9kZV09XCJtb2RlXCJcbiAgdHlwZT1cImNvbGxlY3Rpb25cIlxuPjwvbWV0YXFzMi1ub2RlLWxpc3Q+XG4iXX0=
|
|
@@ -1,41 +1,89 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { inject } from '@angular/core';
|
|
3
3
|
import { ConfigHelperService } from '../../config-helper.service';
|
|
4
|
+
import { MetaApiService } from '../../meta-api.service';
|
|
5
|
+
import { BehaviorSubject } from 'rxjs';
|
|
6
|
+
import { take } from 'rxjs/operators';
|
|
4
7
|
import * as i0 from "@angular/core";
|
|
8
|
+
/**
|
|
9
|
+
* This service provides methods to create links to the editorial desk with specific filters.
|
|
10
|
+
*/
|
|
11
|
+
/* This map makes it easier for me to keep track which issues are mapped to which filters */
|
|
12
|
+
const FilterNames2Issues = {
|
|
13
|
+
//Lizenzen
|
|
14
|
+
'virtual:editorial_license': ['oer', 'other_cc', 'copyright', 'without_license'],
|
|
15
|
+
//Materialtypen werden im Constructor gesetzt
|
|
16
|
+
'virtual:oeh_lrt': [],
|
|
17
|
+
'virtual:editorial_exclusion': [
|
|
18
|
+
'outdated',
|
|
19
|
+
'without_preview',
|
|
20
|
+
'without_title',
|
|
21
|
+
'without_description',
|
|
22
|
+
'without_url',
|
|
23
|
+
'without_type',
|
|
24
|
+
'without_taxonomy_id',
|
|
25
|
+
'without_education_level',
|
|
26
|
+
'without_target_group',
|
|
27
|
+
'without_license',
|
|
28
|
+
'without_publisher',
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
// Here we map back the issues to the filter names in the editorial desk, so we can look up the filter name for a given issue
|
|
32
|
+
const Issues2FilterNames = Object.entries(FilterNames2Issues).reduce((map, [key, value]) => {
|
|
33
|
+
value.forEach((issue) => map.set(issue, key));
|
|
34
|
+
return map;
|
|
35
|
+
}, new Map());
|
|
36
|
+
// maps our values to the values of the filter in the editorial desk
|
|
37
|
+
const MapValuesForFilter = {
|
|
38
|
+
'virtual:editorial_exclusion': {
|
|
39
|
+
outdated: null,
|
|
40
|
+
without_preview: null,
|
|
41
|
+
without_title: ['missing_title'],
|
|
42
|
+
without_description: ['missing_description'],
|
|
43
|
+
without_url: ['links'],
|
|
44
|
+
without_type: ['missing_oeh_lrt'],
|
|
45
|
+
without_taxonomy_id: ['without_taxonomy_id'],
|
|
46
|
+
without_education_level: ['missing_educationalcontext'],
|
|
47
|
+
without_target_group: ['missing_educationalintendedenduserrole'],
|
|
48
|
+
without_license: ['missing_license'],
|
|
49
|
+
without_publisher: ['missing_replicationsource'],
|
|
50
|
+
},
|
|
51
|
+
'virtual:editorial_license': {
|
|
52
|
+
oer: ['oer'],
|
|
53
|
+
copyright: ['none_oer'],
|
|
54
|
+
without_license: ['none'],
|
|
55
|
+
},
|
|
56
|
+
'virtual:oeh_lrt': {},
|
|
57
|
+
};
|
|
5
58
|
/*
|
|
6
59
|
This is a map from properties of a document to filter names
|
|
7
60
|
*/
|
|
8
61
|
const PROPERTIES2FILTERS = new Map([
|
|
9
62
|
['metadata.educationalContexts', 'ccm:educationalcontext'],
|
|
10
63
|
['metadata.disciplines', 'virtual:taxonid'],
|
|
11
|
-
['collections.nodeRef.id.keyword', 'virtual:collection_id_primary'],
|
|
12
64
|
//["responsibility", "virtual:collection_id_primary"] // das zeigt auf "sammlungszugehörigkeit" und ist falsch
|
|
13
65
|
]);
|
|
14
|
-
/*
|
|
15
|
-
This map our column "names" to the valid values of the virtual:editorial_exclusion Filter
|
|
16
|
-
*/
|
|
17
|
-
const ISSUETYPE2FILTERS = new Map([
|
|
18
|
-
['without_title', 'missing_title'],
|
|
19
|
-
['without_description', 'missing_description'],
|
|
20
|
-
['without_education_level', 'missing_educationalcontext'],
|
|
21
|
-
['without_target_group', 'missing_educationalintendedenduserrole'],
|
|
22
|
-
['without_taxonomy_id', 'missing_taxonid'],
|
|
23
|
-
['without_category', 'missing_oeh_lrt'],
|
|
24
|
-
['without_license', 'missing_license'],
|
|
25
|
-
]);
|
|
26
|
-
/*
|
|
27
|
-
interestingly it is not necessary to combine the nodeRef.id
|
|
28
|
-
with https://vocabs.openeduhub.de/w3id.org/openeduhub/vocabs/oeh-topics/{nodeRef.id}
|
|
29
|
-
*/
|
|
30
66
|
export class EditorialLinkService {
|
|
31
67
|
constructor() {
|
|
32
68
|
this.env = inject(ConfigHelperService);
|
|
69
|
+
this.api = inject(MetaApiService);
|
|
70
|
+
this.typesLoaded$ = new BehaviorSubject(false);
|
|
71
|
+
this.api
|
|
72
|
+
.getMaterialTypesMapping()
|
|
73
|
+
.pipe(take(1))
|
|
74
|
+
.subscribe((types) => {
|
|
75
|
+
for (const [key, value] of Object.entries(types)) {
|
|
76
|
+
Issues2FilterNames.set(key, 'virtual:oeh_lrt');
|
|
77
|
+
MapValuesForFilter['virtual:oeh_lrt'][key] = value;
|
|
78
|
+
}
|
|
79
|
+
this.typesLoaded$.next(true);
|
|
80
|
+
});
|
|
33
81
|
}
|
|
34
82
|
openByReplicationsourceAndIssueTypeWithFilters(source, issue, selectedFilters) {
|
|
35
83
|
const filters = {};
|
|
36
84
|
filters['virtual:audit_filter'] = ['all'];
|
|
37
85
|
filters['ccm:oeh_publisher_combined'] = [source];
|
|
38
|
-
filters['virtual:editorial_exclusion'] = [
|
|
86
|
+
filters['virtual:editorial_exclusion'] = MapValuesForFilter['virtual:editorial_exclusion'][issue];
|
|
39
87
|
for (const [field, values] of Object.entries(selectedFilters)) {
|
|
40
88
|
if (values && values.length) {
|
|
41
89
|
const editorialFiltername = PROPERTIES2FILTERS.get(field);
|
|
@@ -51,7 +99,7 @@ export class EditorialLinkService {
|
|
|
51
99
|
openByCollectionAndIssueType(collectionId, issueType, pageTitle) {
|
|
52
100
|
const filters = {};
|
|
53
101
|
filters['virtual:audit_filter'] = ['all'];
|
|
54
|
-
filters['virtual:editorial_exclusion'] = [
|
|
102
|
+
filters['virtual:editorial_exclusion'] = MapValuesForFilter['virtual:editorial_exclusion'][issueType];
|
|
55
103
|
filters['virtual:collection_id_primary'] = [collectionId];
|
|
56
104
|
const theUrl = this.env.eduSharingPath + '/components/editorial-desk';
|
|
57
105
|
const params = new URLSearchParams();
|
|
@@ -67,6 +115,46 @@ export class EditorialLinkService {
|
|
|
67
115
|
params.set('mode', 'render');
|
|
68
116
|
window.open(`${theUrl}?${params}`, 'editor_frontend');
|
|
69
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* This method creates a link to the editorial desk with specific filters.
|
|
120
|
+
* It returns the URL to the editorial desk with the filters applied or null if the issueId is not mapped to a filter.
|
|
121
|
+
* With this we can render a link with an href attribute to the editorial desk in the frontend.
|
|
122
|
+
* @see the counts-with-history.component.scss how we style links only if their hrefs are not null
|
|
123
|
+
*
|
|
124
|
+
* @param sourceType The type of the source, e.g. "replicationSource" or "collection"
|
|
125
|
+
* @param sourceId The id of the source. This is the first column in the table.
|
|
126
|
+
* @param issueId The id of the issue. These are the other columns in the table.
|
|
127
|
+
*/
|
|
128
|
+
createLinkForCountsWithHistory(sourceType, sourceId, issueId) {
|
|
129
|
+
const filters = {};
|
|
130
|
+
filters['virtual:audit_filter'] = ['all'];
|
|
131
|
+
// determine the "main" filter
|
|
132
|
+
if (sourceType === 'replicationSource') {
|
|
133
|
+
filters['ccm:oeh_publisher_combined'] = [sourceId];
|
|
134
|
+
}
|
|
135
|
+
else if (sourceType === 'collection') {
|
|
136
|
+
filters['virtual:collection_id_primary'] = [sourceId];
|
|
137
|
+
}
|
|
138
|
+
if (!Issues2FilterNames.has(issueId)) {
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
const filterName = Issues2FilterNames.get(issueId);
|
|
142
|
+
if (!filterName) {
|
|
143
|
+
// console.debug("No filter name found for issue id: " + issueId);
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
const filterValue = MapValuesForFilter[filterName][issueId];
|
|
147
|
+
if (!filterValue) {
|
|
148
|
+
// console.debug("No filter value found for issue id: " + issueId);
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
filters[filterName] = filterValue;
|
|
152
|
+
const theUrl = this.env.eduSharingPath + '/components/editorial-desk';
|
|
153
|
+
const params = new URLSearchParams();
|
|
154
|
+
params.set('mode', 'audit');
|
|
155
|
+
params.set('filters', JSON.stringify(filters));
|
|
156
|
+
return `${theUrl}?${params}`;
|
|
157
|
+
}
|
|
70
158
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditorialLinkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
71
159
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditorialLinkService, providedIn: 'root' }); }
|
|
72
160
|
}
|
|
@@ -76,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
76
164
|
providedIn: 'root',
|
|
77
165
|
}]
|
|
78
166
|
}], ctorParameters: () => [] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yaWFsLWxpbmsuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvcmlhbC1saW5rLXNlcnZpY2UvZWRpdG9yaWFsLWxpbmsuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRWxFOztHQUVHO0FBQ0gsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBaUI7SUFDakQsQ0FBQyw4QkFBOEIsRUFBRSx3QkFBd0IsQ0FBQztJQUMxRCxDQUFDLHNCQUFzQixFQUFFLGlCQUFpQixDQUFDO0lBQzNDLENBQUMsZ0NBQWdDLEVBQUUsK0JBQStCLENBQUM7SUFDbkUsOEdBQThHO0NBQy9HLENBQUMsQ0FBQztBQUNIOztFQUVFO0FBRUYsTUFBTSxpQkFBaUIsR0FBd0IsSUFBSSxHQUFHLENBQWlCO0lBQ3JFLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQztJQUNsQyxDQUFDLHFCQUFxQixFQUFFLHFCQUFxQixDQUFDO0lBQzlDLENBQUMseUJBQXlCLEVBQUUsNEJBQTRCLENBQUM7SUFDekQsQ0FBQyxzQkFBc0IsRUFBRSx3Q0FBd0MsQ0FBQztJQUNsRSxDQUFDLHFCQUFxQixFQUFFLGlCQUFpQixDQUFDO0lBQzFDLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUM7SUFDdkMsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQztDQUN2QyxDQUFDLENBQUM7QUFDSDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CO1FBRlEsUUFBRyxHQUFHLE1BQU0sQ0FBQyxt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OytHQTlDVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWdIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uZmlnLWhlbHBlci5zZXJ2aWNlJztcblxuLypcblRoaXMgaXMgYSBtYXAgZnJvbSBwcm9wZXJ0aWVzIG9mIGEgZG9jdW1lbnQgdG8gZmlsdGVyIG5hbWVzXG4gKi9cbmNvbnN0IFBST1BFUlRJRVMyRklMVEVSUyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcbiAgWydtZXRhZGF0YS5lZHVjYXRpb25hbENvbnRleHRzJywgJ2NjbTplZHVjYXRpb25hbGNvbnRleHQnXSxcbiAgWydtZXRhZGF0YS5kaXNjaXBsaW5lcycsICd2aXJ0dWFsOnRheG9uaWQnXSxcbiAgWydjb2xsZWN0aW9ucy5ub2RlUmVmLmlkLmtleXdvcmQnLCAndmlydHVhbDpjb2xsZWN0aW9uX2lkX3ByaW1hcnknXSxcbiAgLy9bXCJyZXNwb25zaWJpbGl0eVwiLCBcInZpcnR1YWw6Y29sbGVjdGlvbl9pZF9wcmltYXJ5XCJdIC8vIGRhcyB6ZWlndCBhdWYgXCJzYW1tbHVuZ3N6dWdlaMO2cmlna2VpdFwiIHVuZCBpc3QgZmFsc2NoXG5dKTtcbi8qXG5UaGlzIG1hcCBvdXIgY29sdW1uIFwibmFtZXNcIiB0byB0aGUgdmFsaWQgdmFsdWVzIG9mIHRoZSB2aXJ0dWFsOmVkaXRvcmlhbF9leGNsdXNpb24gRmlsdGVyXG4qL1xuXG5jb25zdCBJU1NVRVRZUEUyRklMVEVSUzogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcbiAgWyd3aXRob3V0X3RpdGxlJywgJ21pc3NpbmdfdGl0bGUnXSxcbiAgWyd3aXRob3V0X2Rlc2NyaXB0aW9uJywgJ21pc3NpbmdfZGVzY3JpcHRpb24nXSxcbiAgWyd3aXRob3V0X2VkdWNhdGlvbl9sZXZlbCcsICdtaXNzaW5nX2VkdWNhdGlvbmFsY29udGV4dCddLFxuICBbJ3dpdGhvdXRfdGFyZ2V0X2dyb3VwJywgJ21pc3NpbmdfZWR1Y2F0aW9uYWxpbnRlbmRlZGVuZHVzZXJyb2xlJ10sXG4gIFsnd2l0aG91dF90YXhvbm9teV9pZCcsICdtaXNzaW5nX3RheG9uaWQnXSxcbiAgWyd3aXRob3V0X2NhdGVnb3J5JywgJ21pc3Npbmdfb2VoX2xydCddLFxuICBbJ3dpdGhvdXRfbGljZW5zZScsICdtaXNzaW5nX2xpY2Vuc2UnXSxcbl0pO1xuLypcbmludGVyZXN0aW5nbHkgaXQgaXMgbm90IG5lY2Vzc2FyeSB0byBjb21iaW5lIHRoZSBub2RlUmVmLmlkXG53aXRoIGh0dHBzOi8vdm9jYWJzLm9wZW5lZHVodWIuZGUvdzNpZC5vcmcvb3BlbmVkdWh1Yi92b2NhYnMvb2VoLXRvcGljcy97bm9kZVJlZi5pZH1cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRvcmlhbExpbmtTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBlbnYgPSBpbmplY3QoQ29uZmlnSGVscGVyU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBvcGVuQnlSZXBsaWNhdGlvbnNvdXJjZUFuZElzc3VlVHlwZVdpdGhGaWx0ZXJzKFxuICAgIHNvdXJjZTogc3RyaW5nLFxuICAgIGlzc3VlOiBzdHJpbmcsXG4gICAgc2VsZWN0ZWRGaWx0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIHwgdW5kZWZpbmVkIH1cbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyczogYW55ID0ge307XG4gICAgZmlsdGVyc1sndmlydHVhbDphdWRpdF9maWx0ZXInXSA9IFsnYWxsJ107XG4gICAgZmlsdGVyc1snY2NtOm9laF9wdWJsaXNoZXJfY29tYmluZWQnXSA9IFtzb3VyY2VdO1xuICAgIGZpbHRlcnNbJ3ZpcnR1YWw6ZWRpdG9yaWFsX2V4Y2x1c2lvbiddID0gW0lTU1VFVFlQRTJGSUxURVJTLmdldChpc3N1ZSldO1xuICAgIGZvciAoY29uc3QgW2ZpZWxkLCB2YWx1ZXNdIG9mIE9iamVjdC5lbnRyaWVzKHNlbGVjdGVkRmlsdGVycykpIHtcbiAgICAgIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBlZGl0b3JpYWxGaWx0ZXJuYW1lID0gUFJPUEVSVElFUzJGSUxURVJTLmdldChmaWVsZCkgYXMgc3RyaW5nO1xuICAgICAgICBmaWx0ZXJzW2VkaXRvcmlhbEZpbHRlcm5hbWVdID0gdmFsdWVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHRoZVVybDogc3RyaW5nID0gdGhpcy5lbnYuZWR1U2hhcmluZ1BhdGggKyAnL2NvbXBvbmVudHMvZWRpdG9yaWFsLWRlc2snO1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICBwYXJhbXMuc2V0KCdtb2RlJywgJ2F1ZGl0Jyk7XG4gICAgcGFyYW1zLnNldCgnZmlsdGVycycsIEpTT04uc3RyaW5naWZ5KGZpbHRlcnMpKTtcbiAgICB3aW5kb3cub3BlbihgJHt0aGVVcmx9PyR7cGFyYW1zfWAsICdlZGl0b3JfZnJvbnRlbmQnKTtcbiAgfVxuICBwdWJsaWMgb3BlbkJ5Q29sbGVjdGlvbkFuZElzc3VlVHlwZShjb2xsZWN0aW9uSWQ6IHN0cmluZywgaXNzdWVUeXBlOiBzdHJpbmcsIHBhZ2VUaXRsZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyczogYW55ID0ge307XG4gICAgZmlsdGVyc1sndmlydHVhbDphdWRpdF9maWx0ZXInXSA9IFsnYWxsJ107XG4gICAgZmlsdGVyc1sndmlydHVhbDplZGl0b3JpYWxfZXhjbHVzaW9uJ10gPSBbSVNTVUVUWVBFMkZJTFRFUlMuZ2V0KGlzc3VlVHlwZSldO1xuICAgIGZpbHRlcnNbJ3ZpcnR1YWw6Y29sbGVjdGlvbl9pZF9wcmltYXJ5J10gPSBbY29sbGVjdGlvbklkXTtcbiAgICBjb25zdCB0aGVVcmw6IHN0cmluZyA9IHRoaXMuZW52LmVkdVNoYXJpbmdQYXRoICsgJy9jb21wb25lbnRzL2VkaXRvcmlhbC1kZXNrJztcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgcGFyYW1zLnNldCgndGl0bGUnLCBwYWdlVGl0bGUpO1xuICAgIHBhcmFtcy5zZXQoJ21vZGUnLCAnYXVkaXQnKTtcbiAgICBwYXJhbXMuc2V0KCdmaWx0ZXJzJywgSlNPTi5zdHJpbmdpZnkoZmlsdGVycykpO1xuICAgIHdpbmRvdy5vcGVuKGAke3RoZVVybH0/JHtwYXJhbXN9YCwgJ2VkaXRvcl9mcm9udGVuZCcpO1xuICB9XG5cbiAgcHVibGljIG9wZW5CeUNvbGxlY3Rpb25JZChjb2xsZWN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHRoZVVybDogc3RyaW5nID0gdGhpcy5lbnYuZWR1U2hhcmluZ1BhdGggKyAnL2NvbXBvbmVudHMvZWRpdG9yaWFsLWRlc2snO1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICBwYXJhbXMuc2V0KCdpZHMnLCBjb2xsZWN0aW9uSWQpO1xuICAgIHBhcmFtcy5zZXQoJ21vZGUnLCAncmVuZGVyJyk7XG4gICAgd2luZG93Lm9wZW4oYCR7dGhlVXJsfT8ke3BhcmFtc31gLCAnZWRpdG9yX2Zyb250ZW5kJyk7XG4gIH1cbn1cbiJdfQ==
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yaWFsLWxpbmsuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvcmlhbC1saW5rLXNlcnZpY2UvZWRpdG9yaWFsLWxpbmsuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV0Qzs7R0FFRztBQUNILDZGQUE2RjtBQUM3RixNQUFNLGtCQUFrQixHQUFnQztJQUN0RCxVQUFVO0lBQ1YsMkJBQTJCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQztJQUNoRiw2Q0FBNkM7SUFDN0MsaUJBQWlCLEVBQUUsRUFBRTtJQUNyQiw2QkFBNkIsRUFBRTtRQUM3QixVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsYUFBYTtRQUNiLGNBQWM7UUFDZCxxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLHNCQUFzQjtRQUN0QixpQkFBaUI7UUFDakIsbUJBQW1CO0tBQ3BCO0NBQ0YsQ0FBQztBQUNGLDZIQUE2SDtBQUM3SCxNQUFNLGtCQUFrQixHQUF3QixNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FB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QyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLGtFQUFrRTtZQUNsRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsbUVBQW1FO1lBQ25FLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxXQUFXLENBQUM7UUFFbEMsTUFBTSxNQUFNLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEdBQUcsNEJBQTRCLENBQUM7UUFDOUUsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNyQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1QixNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDL0MsT0FBTyxHQUFHLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQXJHVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWdIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uZmlnLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1ldGFBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWV0YS1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogVGhpcyBzZXJ2aWNlIHByb3ZpZGVzIG1ldGhvZHMgdG8gY3JlYXRlIGxpbmtzIHRvIHRoZSBlZGl0b3JpYWwgZGVzayB3aXRoIHNwZWNpZmljIGZpbHRlcnMuXG4gKi9cbi8qICBUaGlzIG1hcCBtYWtlcyBpdCBlYXNpZXIgZm9yIG1lIHRvIGtlZXAgdHJhY2sgd2hpY2ggaXNzdWVzIGFyZSBtYXBwZWQgdG8gd2hpY2ggZmlsdGVycyAqL1xuY29uc3QgRmlsdGVyTmFtZXMySXNzdWVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0gPSB7XG4gIC8vTGl6ZW56ZW5cbiAgJ3ZpcnR1YWw6ZWRpdG9yaWFsX2xpY2Vuc2UnOiBbJ29lcicsICdvdGhlcl9jYycsICdjb3B5cmlnaHQnLCAnd2l0aG91dF9saWNlbnNlJ10sXG4gIC8vTWF0ZXJpYWx0eXBlbiB3ZXJkZW4gaW0gQ29uc3RydWN0b3IgZ2VzZXR6dFxuICAndmlydHVhbDpvZWhfbHJ0JzogW10sXG4gICd2aXJ0dWFsOmVkaXRvcmlhbF9leGNsdXNpb24nOiBbXG4gICAgJ291dGRhdGVkJyxcbiAgICAnd2l0aG91dF9wcmV2aWV3JyxcbiAgICAnd2l0aG91dF90aXRsZScsXG4gICAgJ3dpdGhvdXRfZGVzY3JpcHRpb24nLFxuICAgICd3aXRob3V0X3VybCcsXG4gICAgJ3dpdGhvdXRfdHlwZScsXG4gICAgJ3dpdGhvdXRfdGF4b25vbXlfaWQnLFxuICAgICd3aXRob3V0X2VkdWNhdGlvbl9sZXZlbCcsXG4gICAgJ3dpdGhvdXRfdGFyZ2V0X2dyb3VwJyxcbiAgICAnd2l0aG91dF9saWNlbnNlJyxcbiAgICAnd2l0aG91dF9wdWJsaXNoZXInLFxuICBdLFxufTtcbi8vIEhlcmUgd2UgbWFwIGJhY2sgdGhlIGlzc3VlcyB0byB0aGUgZmlsdGVyIG5hbWVzIGluIHRoZSBlZGl0b3JpYWwgZGVzaywgc28gd2UgY2FuIGxvb2sgdXAgdGhlIGZpbHRlciBuYW1lIGZvciBhIGdpdmVuIGlzc3VlXG5jb25zdCBJc3N1ZXMyRmlsdGVyTmFtZXM6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBPYmplY3QuZW50cmllcyhGaWx0ZXJOYW1lczJJc3N1ZXMpLnJlZHVjZSgobWFwLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgdmFsdWUuZm9yRWFjaCgoaXNzdWUpID0+IG1hcC5zZXQoaXNzdWUsIGtleSkpO1xuICByZXR1cm4gbWFwO1xufSwgbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKSk7XG5cbi8vIG1hcHMgb3VyIHZhbHVlcyB0byB0aGUgdmFsdWVzIG9mIHRoZSBmaWx0ZXIgaW4gdGhlIGVkaXRvcmlhbCBkZXNrXG5jb25zdCBNYXBWYWx1ZXNGb3JGaWx0ZXI6IHsgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB8IG51bGwgfSB9ID0ge1xuICAndmlydHVhbDplZGl0b3JpYWxfZXhjbHVzaW9uJzoge1xuICAgIG91dGRhdGVkOiBudWxsLFxuICAgIHdpdGhvdXRfcHJldmlldzogbnVsbCxcbiAgICB3aXRob3V0X3RpdGxlOiBbJ21pc3NpbmdfdGl0bGUnXSxcbiAgICB3aXRob3V0X2Rlc2NyaXB0aW9uOiBbJ21pc3NpbmdfZGVzY3JpcHRpb24nXSxcbiAgICB3aXRob3V0X3VybDogWydsaW5rcyddLFxuICAgIHdpdGhvdXRfdHlwZTogWydtaXNzaW5nX29laF9scnQnXSxcbiAgICB3aXRob3V0X3RheG9ub215X2lkOiBbJ3dpdGhvdXRfdGF4b25vbXlfaWQnXSxcbiAgICB3aXRob3V0X2VkdWNhdGlvbl9sZXZlbDogWydtaXNzaW5nX2VkdWNhdGlvbmFsY29udGV4dCddLFxuICAgIHdpdGhvdXRfdGFyZ2V0X2dyb3VwOiBbJ21pc3NpbmdfZWR1Y2F0aW9uYWxpbnRlbmRlZGVuZHVzZXJyb2xlJ10sXG4gICAgd2l0aG91dF9saWNlbnNlOiBbJ21pc3NpbmdfbGljZW5zZSddLFxuICAgIHdpdGhvdXRfcHVibGlzaGVyOiBbJ21pc3NpbmdfcmVwbGljYXRpb25zb3VyY2UnXSxcbiAgfSxcbiAgJ3ZpcnR1YWw6ZWRpdG9yaWFsX2xpY2Vuc2UnOiB7XG4gICAgb2VyOiBbJ29lciddLFxuICAgIGNvcHlyaWdodDogWydub25lX29lciddLFxuICAgIHdpdGhvdXRfbGljZW5zZTogWydub25lJ10sXG4gIH0sXG4gICd2aXJ0dWFsOm9laF9scnQnOiB7fSxcbn07XG5cbi8qXG5UaGlzIGlzIGEgbWFwIGZyb20gcHJvcGVydGllcyBvZiBhIGRvY3VtZW50IHRvIGZpbHRlciBuYW1lc1xuICovXG5jb25zdCBQUk9QRVJUSUVTMkZJTFRFUlMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXG4gIFsnbWV0YWRhdGEuZWR1Y2F0aW9uYWxDb250ZXh0cycsICdjY206ZWR1Y2F0aW9uYWxjb250ZXh0J10sXG4gIFsnbWV0YWRhdGEuZGlzY2lwbGluZXMnLCAndmlydHVhbDp0YXhvbmlkJ10sXG4gIC8vW1wicmVzcG9uc2liaWxpdHlcIiwgXCJ2aXJ0dWFsOmNvbGxlY3Rpb25faWRfcHJpbWFyeVwiXSAvLyBkYXMgemVpZ3QgYXVmIFwic2FtbWx1bmdzenVnZWjDtnJpZ2tlaXRcIiB1bmQgaXN0IGZhbHNjaFxuXSk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0b3JpYWxMaW5rU2VydmljZSB7XG4gIHByaXZhdGUgZW52ID0gaW5qZWN0KENvbmZpZ0hlbHBlclNlcnZpY2UpO1xuICBwcml2YXRlIGFwaSA9IGluamVjdChNZXRhQXBpU2VydmljZSk7XG4gIHB1YmxpYyB0eXBlc0xvYWRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFwaVxuICAgICAgLmdldE1hdGVyaWFsVHlwZXNNYXBwaW5nKClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCh0eXBlcykgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0eXBlcykpIHtcbiAgICAgICAgICBJc3N1ZXMyRmlsdGVyTmFtZXMuc2V0KGtleSwgJ3ZpcnR1YWw6b2VoX2xydCcpO1xuICAgICAgICAgIE1hcFZhbHVlc0ZvckZpbHRlclsndmlydHVhbDpvZWhfbHJ0J11ba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudHlwZXNMb2FkZWQkLm5leHQodHJ1ZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuQnlSZXBsaWNhdGlvbnNvdXJjZUFuZElzc3VlVHlwZVdpdGhGaWx0ZXJzKFxuICAgIHNvdXJjZTogc3RyaW5nLFxuICAgIGlzc3VlOiBzdHJpbmcsXG4gICAgc2VsZWN0ZWRGaWx0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIHwgdW5kZWZpbmVkIH1cbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyczogYW55ID0ge307XG4gICAgZmlsdGVyc1sndmlydHVhbDphdWRpdF9maWx0ZXInXSA9IFsnYWxsJ107XG4gICAgZmlsdGVyc1snY2NtOm9laF9wdWJsaXNoZXJfY29tYmluZWQnXSA9IFtzb3VyY2VdO1xuICAgIGZpbHRlcnNbJ3ZpcnR1YWw6ZWRpdG9yaWFsX2V4Y2x1c2lvbiddID0gTWFwVmFsdWVzRm9yRmlsdGVyWyd2aXJ0dWFsOmVkaXRvcmlhbF9leGNsdXNpb24nXVtpc3N1ZV07XG4gICAgZm9yIChjb25zdCBbZmllbGQsIHZhbHVlc10gb2YgT2JqZWN0LmVudHJpZXMoc2VsZWN0ZWRGaWx0ZXJzKSkge1xuICAgICAgaWYgKHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGVkaXRvcmlhbEZpbHRlcm5hbWUgPSBQUk9QRVJUSUVTMkZJTFRFUlMuZ2V0KGZpZWxkKSBhcyBzdHJpbmc7XG4gICAgICAgIGZpbHRlcnNbZWRpdG9yaWFsRmlsdGVybmFtZV0gPSB2YWx1ZXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgdGhlVXJsOiBzdHJpbmcgPSB0aGlzLmVudi5lZHVTaGFyaW5nUGF0aCArICcvY29tcG9uZW50cy9lZGl0b3JpYWwtZGVzayc7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgIHBhcmFtcy5zZXQoJ21vZGUnLCAnYXVkaXQnKTtcbiAgICBwYXJhbXMuc2V0KCdmaWx0ZXJzJywgSlNPTi5zdHJpbmdpZnkoZmlsdGVycykpO1xuICAgIHdpbmRvdy5vcGVuKGAke3RoZVVybH0/JHtwYXJhbXN9YCwgJ2VkaXRvcl9mcm9udGVuZCcpO1xuICB9XG5cbiAgcHVibGljIG9wZW5CeUNvbGxlY3Rpb25BbmRJc3N1ZVR5cGUoY29sbGVjdGlvbklkOiBzdHJpbmcsIGlzc3VlVHlwZTogc3RyaW5nLCBwYWdlVGl0bGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlcnM6IGFueSA9IHt9O1xuICAgIGZpbHRlcnNbJ3ZpcnR1YWw6YXVkaXRfZmlsdGVyJ10gPSBbJ2FsbCddO1xuICAgIGZpbHRlcnNbJ3ZpcnR1YWw6ZWRpdG9yaWFsX2V4Y2x1c2lvbiddID0gTWFwVmFsdWVzRm9yRmlsdGVyWyd2aXJ0dWFsOmVkaXRvcmlhbF9leGNsdXNpb24nXVtpc3N1ZVR5cGVdO1xuICAgIGZpbHRlcnNbJ3ZpcnR1YWw6Y29sbGVjdGlvbl9pZF9wcmltYXJ5J10gPSBbY29sbGVjdGlvbklkXTtcbiAgICBjb25zdCB0aGVVcmw6IHN0cmluZyA9IHRoaXMuZW52LmVkdVNoYXJpbmdQYXRoICsgJy9jb21wb25lbnRzL2VkaXRvcmlhbC1kZXNrJztcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgcGFyYW1zLnNldCgndGl0bGUnLCBwYWdlVGl0bGUpO1xuICAgIHBhcmFtcy5zZXQoJ21vZGUnLCAnYXVkaXQnKTtcbiAgICBwYXJhbXMuc2V0KCdmaWx0ZXJzJywgSlNPTi5zdHJpbmdpZnkoZmlsdGVycykpO1xuICAgIHdpbmRvdy5vcGVuKGAke3RoZVVybH0/JHtwYXJhbXN9YCwgJ2VkaXRvcl9mcm9udGVuZCcpO1xuICB9XG5cbiAgcHVibGljIG9wZW5CeUNvbGxlY3Rpb25JZChjb2xsZWN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHRoZVVybDogc3RyaW5nID0gdGhpcy5lbnYuZWR1U2hhcmluZ1BhdGggKyAnL2NvbXBvbmVudHMvZWRpdG9yaWFsLWRlc2snO1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICBwYXJhbXMuc2V0KCdpZHMnLCBjb2xsZWN0aW9uSWQpO1xuICAgIHBhcmFtcy5zZXQoJ21vZGUnLCAncmVuZGVyJyk7XG4gICAgd2luZG93Lm9wZW4oYCR7dGhlVXJsfT8ke3BhcmFtc31gLCAnZWRpdG9yX2Zyb250ZW5kJyk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIGxpbmsgdG8gdGhlIGVkaXRvcmlhbCBkZXNrIHdpdGggc3BlY2lmaWMgZmlsdGVycy5cbiAgICogSXQgcmV0dXJucyB0aGUgVVJMIHRvIHRoZSBlZGl0b3JpYWwgZGVzayB3aXRoIHRoZSBmaWx0ZXJzIGFwcGxpZWQgb3IgbnVsbCBpZiB0aGUgaXNzdWVJZCBpcyBub3QgbWFwcGVkIHRvIGEgZmlsdGVyLlxuICAgKiBXaXRoIHRoaXMgd2UgY2FuIHJlbmRlciBhIGxpbmsgd2l0aCBhbiBocmVmIGF0dHJpYnV0ZSB0byB0aGUgZWRpdG9yaWFsIGRlc2sgaW4gdGhlIGZyb250ZW5kLlxuICAgKiBAc2VlIHRoZSBjb3VudHMtd2l0aC1oaXN0b3J5LmNvbXBvbmVudC5zY3NzIGhvdyB3ZSBzdHlsZSBsaW5rcyBvbmx5IGlmIHRoZWlyIGhyZWZzIGFyZSBub3QgbnVsbFxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlVHlwZSBUaGUgdHlwZSBvZiB0aGUgc291cmNlLCBlLmcuIFwicmVwbGljYXRpb25Tb3VyY2VcIiBvciBcImNvbGxlY3Rpb25cIlxuICAgKiBAcGFyYW0gc291cmNlSWQgVGhlIGlkIG9mIHRoZSBzb3VyY2UuIFRoaXMgaXMgdGhlIGZpcnN0IGNvbHVtbiBpbiB0aGUgdGFibGUuXG4gICAqIEBwYXJhbSBpc3N1ZUlkIFRoZSBpZCBvZiB0aGUgaXNzdWUuIFRoZXNlIGFyZSB0aGUgb3RoZXIgY29sdW1ucyBpbiB0aGUgdGFibGUuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlTGlua0ZvckNvdW50c1dpdGhIaXN0b3J5KHNvdXJjZVR5cGU6IHN0cmluZywgc291cmNlSWQ6IHN0cmluZywgaXNzdWVJZDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgZmlsdGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge307XG4gICAgZmlsdGVyc1sndmlydHVhbDphdWRpdF9maWx0ZXInXSA9IFsnYWxsJ107XG4gICAgLy8gZGV0ZXJtaW5lIHRoZSBcIm1haW5cIiBmaWx0ZXJcbiAgICBpZiAoc291cmNlVHlwZSA9PT0gJ3JlcGxpY2F0aW9uU291cmNlJykge1xuICAgICAgZmlsdGVyc1snY2NtOm9laF9wdWJsaXNoZXJfY29tYmluZWQnXSA9IFtzb3VyY2VJZF07XG4gICAgfSBlbHNlIGlmIChzb3VyY2VUeXBlID09PSAnY29sbGVjdGlvbicpIHtcbiAgICAgIGZpbHRlcnNbJ3ZpcnR1YWw6Y29sbGVjdGlvbl9pZF9wcmltYXJ5J10gPSBbc291cmNlSWRdO1xuICAgIH1cbiAgICBpZiAoIUlzc3VlczJGaWx0ZXJOYW1lcy5oYXMoaXNzdWVJZCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBmaWx0ZXJOYW1lID0gSXNzdWVzMkZpbHRlck5hbWVzLmdldChpc3N1ZUlkKTtcbiAgICBpZiAoIWZpbHRlck5hbWUpIHtcbiAgICAgIC8vIGNvbnNvbGUuZGVidWcoXCJObyBmaWx0ZXIgbmFtZSBmb3VuZCBmb3IgaXNzdWUgaWQ6IFwiICsgaXNzdWVJZCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSBNYXBWYWx1ZXNGb3JGaWx0ZXJbZmlsdGVyTmFtZV1baXNzdWVJZF07XG4gICAgaWYgKCFmaWx0ZXJWYWx1ZSkge1xuICAgICAgLy8gY29uc29sZS5kZWJ1ZyhcIk5vIGZpbHRlciB2YWx1ZSBmb3VuZCBmb3IgaXNzdWUgaWQ6IFwiICsgaXNzdWVJZCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZmlsdGVyc1tmaWx0ZXJOYW1lXSA9IGZpbHRlclZhbHVlO1xuXG4gICAgY29uc3QgdGhlVXJsOiBzdHJpbmcgPSB0aGlzLmVudi5lZHVTaGFyaW5nUGF0aCArICcvY29tcG9uZW50cy9lZGl0b3JpYWwtZGVzayc7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgIHBhcmFtcy5zZXQoJ21vZGUnLCAnYXVkaXQnKTtcbiAgICBwYXJhbXMuc2V0KCdmaWx0ZXJzJywgSlNPTi5zdHJpbmdpZnkoZmlsdGVycykpO1xuICAgIHJldHVybiBgJHt0aGVVcmx9PyR7cGFyYW1zfWA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
5
|
+
export class OverlayService {
|
|
6
|
+
constructor(overlay) {
|
|
7
|
+
this.overlay = overlay;
|
|
8
|
+
}
|
|
9
|
+
createOverlay(config) {
|
|
10
|
+
return this.overlay.create(config);
|
|
11
|
+
}
|
|
12
|
+
attachTemplatePortal(overlayRef, templateRef, vcRef) {
|
|
13
|
+
let templatePortal = new TemplatePortal(templateRef, vcRef);
|
|
14
|
+
overlayRef.attach(templatePortal);
|
|
15
|
+
}
|
|
16
|
+
positionGloballyCenter() {
|
|
17
|
+
return this.overlay.position().global().centerHorizontally().centerVertically();
|
|
18
|
+
}
|
|
19
|
+
// may be useful, if we only want to "grey-out" only the table
|
|
20
|
+
positionFlexibleConnected(parent) {
|
|
21
|
+
return this.overlay
|
|
22
|
+
.position()
|
|
23
|
+
.flexibleConnectedTo(parent)
|
|
24
|
+
.withPositions([
|
|
25
|
+
{
|
|
26
|
+
overlayX: 'center',
|
|
27
|
+
overlayY: 'center',
|
|
28
|
+
originX: 'center',
|
|
29
|
+
originY: 'center',
|
|
30
|
+
},
|
|
31
|
+
])
|
|
32
|
+
.withLockedPosition();
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OverlayService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OverlayService, providedIn: 'root' }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OverlayService, decorators: [{
|
|
38
|
+
type: Injectable,
|
|
39
|
+
args: [{ providedIn: 'root' }]
|
|
40
|
+
}], ctorParameters: () => [{ type: i1.Overlay }] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGluZ19pbmRpY2F0b3Ivb3ZlcmxheS9vdmVybGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBaUMsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFHckQsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBb0IsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztJQUFHLENBQUM7SUFDeEMsYUFBYSxDQUFDLE1BQXFCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNELG9CQUFvQixDQUFDLFVBQXNCLEVBQUUsV0FBNkIsRUFBRSxLQUF1QjtRQUNqRyxJQUFJLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0Qsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDbEYsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCx5QkFBeUIsQ0FBQyxNQUE0QjtRQUNwRCxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLFFBQVEsRUFBRTthQUNWLG1CQUFtQixDQUFDLE1BQU0sQ0FBQzthQUMzQixhQUFhLENBQUM7WUFDYjtnQkFDRSxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixPQUFPLEVBQUUsUUFBUTthQUNsQjtTQUNGLENBQUM7YUFDRCxrQkFBa0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBM0JVLGNBQWM7bUhBQWQsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmLCBQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBPdmVybGF5U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSkge31cbiAgY3JlYXRlT3ZlcmxheShjb25maWc6IE92ZXJsYXlDb25maWcpOiBPdmVybGF5UmVmIHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWcpO1xuICB9XG4gIGF0dGFjaFRlbXBsYXRlUG9ydGFsKG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LCB2Y1JlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgIGxldCB0ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZVJlZiwgdmNSZWYpO1xuICAgIG92ZXJsYXlSZWYuYXR0YWNoKHRlbXBsYXRlUG9ydGFsKTtcbiAgfVxuICBwb3NpdGlvbkdsb2JhbGx5Q2VudGVyKCk6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCk7XG4gIH1cblxuICAvLyBtYXkgYmUgdXNlZnVsLCBpZiB3ZSBvbmx5IHdhbnQgdG8gXCJncmV5LW91dFwiIG9ubHkgdGhlIHRhYmxlXG4gIHBvc2l0aW9uRmxleGlibGVDb25uZWN0ZWQocGFyZW50OiBFbGVtZW50IHwgRWxlbWVudFJlZik6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhwYXJlbnQpXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIHtcbiAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oKTtcbiAgfVxufVxuIl19
|
package/esm2022/lib/components/loading_indicator/progress-spinner/progress-spinner.component.mjs
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, } from '@angular/core';
|
|
2
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../overlay/overlay.service";
|
|
5
|
+
import * as i2 from "@angular/material/progress-spinner";
|
|
6
|
+
export class ProgressSpinnerComponent {
|
|
7
|
+
constructor(vcRef, overlayService, el) {
|
|
8
|
+
// we are doing this in the constructor because ngOnInit runs after the first ngOnChanges
|
|
9
|
+
// and we need to create the overlayRef before the first ngOnChanges
|
|
10
|
+
// ngDoCheck runs too often.
|
|
11
|
+
this.vcRef = vcRef;
|
|
12
|
+
this.overlayService = overlayService;
|
|
13
|
+
this.el = el;
|
|
14
|
+
this.color = 'primary';
|
|
15
|
+
this.diameter = 100;
|
|
16
|
+
this.strokeWidth = 10;
|
|
17
|
+
this.backdropEnabled = false;
|
|
18
|
+
this.positionGloballyCenter = true;
|
|
19
|
+
this.progressSpinnerOverlayConfig = {
|
|
20
|
+
hasBackdrop: this.backdropEnabled,
|
|
21
|
+
backdropClass: 'cdk-overlay-transparent-backdrop',
|
|
22
|
+
};
|
|
23
|
+
if (this.positionGloballyCenter) {
|
|
24
|
+
this.progressSpinnerOverlayConfig['positionStrategy'] = this.overlayService.positionGloballyCenter();
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
/*
|
|
28
|
+
see https://stackoverflow.com/questions/63579801/how-do-i-create-a-custom-overlay-container-for-angular-material
|
|
29
|
+
how to create a overlay container.
|
|
30
|
+
With such a directive we can have a spinner that greys-out only e.g. the table like seen here:
|
|
31
|
+
https://reppners.github.io/ngx-cdk-dynamic-overlay-container/
|
|
32
|
+
*/
|
|
33
|
+
this.progressSpinnerOverlayConfig['positionStrategy'] = this.overlayService.positionFlexibleConnected(this.el);
|
|
34
|
+
}
|
|
35
|
+
// Create Overlay for progress spinner
|
|
36
|
+
this.overlayRef = this.overlayService.createOverlay(this.progressSpinnerOverlayConfig);
|
|
37
|
+
}
|
|
38
|
+
ngOnChanges(changes) {
|
|
39
|
+
changes.displayProgressSpinner.currentValue
|
|
40
|
+
? this.overlayService.attachTemplatePortal(this.overlayRef, this.progressSpinnerRef, this.vcRef)
|
|
41
|
+
: this.overlayRef.detach();
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressSpinnerComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.OverlayService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProgressSpinnerComponent, isStandalone: true, selector: "metaqs2-progress-spinner", inputs: { color: "color", diameter: "diameter", strokeWidth: "strokeWidth", backdropEnabled: "backdropEnabled", positionGloballyCenter: "positionGloballyCenter", displayProgressSpinner: "displayProgressSpinner" }, viewQueries: [{ propertyName: "progressSpinnerRef", first: true, predicate: ["progressSpinnerRef"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #progressSpinnerRef>\n <mat-spinner [color]=\"color\" [diameter]=\"diameter\" [strokeWidth]=\"strokeWidth\">\n\t</mat-spinner>\n</ng-template>", styles: [""], dependencies: [{ kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressSpinnerComponent, decorators: [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{ selector: 'metaqs2-progress-spinner', standalone: true, imports: [MatProgressSpinnerModule], template: "<ng-template #progressSpinnerRef>\n <mat-spinner [color]=\"color\" [diameter]=\"diameter\" [strokeWidth]=\"strokeWidth\">\n\t</mat-spinner>\n</ng-template>" }]
|
|
49
|
+
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i1.OverlayService }, { type: i0.ElementRef }], propDecorators: { color: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], diameter: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], strokeWidth: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], backdropEnabled: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], positionGloballyCenter: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], displayProgressSpinner: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], progressSpinnerRef: [{
|
|
62
|
+
type: ViewChild,
|
|
63
|
+
args: ['progressSpinnerRef', { static: true }]
|
|
64
|
+
}] } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Mtc3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9sb2FkaW5nX2luZGljYXRvci9wcm9ncmVzcy1zcGlubmVyL3Byb2dyZXNzLXNwaW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGluZ19pbmRpY2F0b3IvcHJvZ3Jlc3Mtc3Bpbm5lci9wcm9ncmVzcy1zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsR0FNVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQVU5RSxNQUFNLE9BQU8sd0JBQXdCO0lBYW5DLFlBQW9CLEtBQXVCLEVBQVUsY0FBOEIsRUFBVSxFQUFjO1FBQ3pHLHlGQUF5RjtRQUN6RixvRUFBb0U7UUFDcEUsNEJBQTRCO1FBSFYsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBWmxHLFVBQUssR0FBWSxTQUFTLENBQUM7UUFDM0IsYUFBUSxHQUFZLEdBQUcsQ0FBQztRQUN4QixnQkFBVyxHQUFZLEVBQUUsQ0FBQztRQUMxQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QiwyQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFhckMsSUFBSSxDQUFDLDRCQUE0QixHQUFHO1lBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNqQyxhQUFhLEVBQUUsa0NBQWtDO1NBQ2xELENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN2RyxDQUFDO2FBQU0sQ0FBQztZQUNOOzs7OztjQUtFO1lBQ0YsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakgsQ0FBQztRQUNELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLFlBQVk7WUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNoRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQXpDVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix1Y0N0QnJDLDhKQUdjLHlERGlCRix3QkFBd0I7OzRGQUV2Qix3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBR3hCLElBQUksV0FDUCxDQUFDLHdCQUF3QixDQUFDOzJJQUcxQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFHRSxrQkFBa0I7c0JBRHpCLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBFbGVtZW50UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgT3ZlcmxheVNlcnZpY2UgfSBmcm9tICcuLi9vdmVybGF5L292ZXJsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21ldGFxczItcHJvZ3Jlc3Mtc3Bpbm5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy1zcGlubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3Mtc3Bpbm5lci5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc1NwaW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjb2xvcj86IHN0cmluZyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgZGlhbWV0ZXI/OiBudW1iZXIgPSAxMDA7XG4gIEBJbnB1dCgpIHN0cm9rZVdpZHRoPzogbnVtYmVyID0gMTA7XG4gIEBJbnB1dCgpIGJhY2tkcm9wRW5hYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwb3NpdGlvbkdsb2JhbGx5Q2VudGVyID0gdHJ1ZTtcbiAgQElucHV0KCkgZGlzcGxheVByb2dyZXNzU3Bpbm5lcjogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCdwcm9ncmVzc1NwaW5uZXJSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIHByb2dyZXNzU3Bpbm5lclJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSBwcm9ncmVzc1NwaW5uZXJPdmVybGF5Q29uZmlnOiBPdmVybGF5Q29uZmlnO1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2Y1JlZjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBvdmVybGF5U2VydmljZTogT3ZlcmxheVNlcnZpY2UsIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICAvLyB3ZSBhcmUgZG9pbmcgdGhpcyBpbiB0aGUgY29uc3RydWN0b3IgYmVjYXVzZSBuZ09uSW5pdCBydW5zIGFmdGVyIHRoZSBmaXJzdCBuZ09uQ2hhbmdlc1xuICAgIC8vIGFuZCB3ZSBuZWVkIHRvIGNyZWF0ZSB0aGUgb3ZlcmxheVJlZiBiZWZvcmUgdGhlIGZpcnN0IG5nT25DaGFuZ2VzXG4gICAgLy8gbmdEb0NoZWNrIHJ1bnMgdG9vIG9mdGVuLlxuXG4gICAgdGhpcy5wcm9ncmVzc1NwaW5uZXJPdmVybGF5Q29uZmlnID0ge1xuICAgICAgaGFzQmFja2Ryb3A6IHRoaXMuYmFja2Ryb3BFbmFibGVkLFxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICB9O1xuICAgIGlmICh0aGlzLnBvc2l0aW9uR2xvYmFsbHlDZW50ZXIpIHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NTcGlubmVyT3ZlcmxheUNvbmZpZ1sncG9zaXRpb25TdHJhdGVneSddID0gdGhpcy5vdmVybGF5U2VydmljZS5wb3NpdGlvbkdsb2JhbGx5Q2VudGVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8qXG4gICAgICBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNjM1Nzk4MDEvaG93LWRvLWktY3JlYXRlLWEtY3VzdG9tLW92ZXJsYXktY29udGFpbmVyLWZvci1hbmd1bGFyLW1hdGVyaWFsXG4gICAgICBob3cgdG8gY3JlYXRlIGEgb3ZlcmxheSBjb250YWluZXIuXG4gICAgICBXaXRoIHN1Y2ggYSBkaXJlY3RpdmUgd2UgY2FuIGhhdmUgYSBzcGlubmVyIHRoYXQgZ3JleXMtb3V0IG9ubHkgZS5nLiB0aGUgdGFibGUgbGlrZSBzZWVuIGhlcmU6XG4gICAgICBodHRwczovL3JlcHBuZXJzLmdpdGh1Yi5pby9uZ3gtY2RrLWR5bmFtaWMtb3ZlcmxheS1jb250YWluZXIvXG4gICAgICAqL1xuICAgICAgdGhpcy5wcm9ncmVzc1NwaW5uZXJPdmVybGF5Q29uZmlnWydwb3NpdGlvblN0cmF0ZWd5J10gPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLnBvc2l0aW9uRmxleGlibGVDb25uZWN0ZWQodGhpcy5lbCk7XG4gICAgfVxuICAgIC8vIENyZWF0ZSBPdmVybGF5IGZvciBwcm9ncmVzcyBzcGlubmVyXG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5U2VydmljZS5jcmVhdGVPdmVybGF5KHRoaXMucHJvZ3Jlc3NTcGlubmVyT3ZlcmxheUNvbmZpZyk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY2hhbmdlcy5kaXNwbGF5UHJvZ3Jlc3NTcGlubmVyLmN1cnJlbnRWYWx1ZVxuICAgICAgPyB0aGlzLm92ZXJsYXlTZXJ2aWNlLmF0dGFjaFRlbXBsYXRlUG9ydGFsKHRoaXMub3ZlcmxheVJlZiwgdGhpcy5wcm9ncmVzc1NwaW5uZXJSZWYsIHRoaXMudmNSZWYpXG4gICAgICA6IHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNwcm9ncmVzc1NwaW5uZXJSZWY+XG4gIDxtYXQtc3Bpbm5lciBbY29sb3JdPVwiY29sb3JcIiBbZGlhbWV0ZXJdPVwiZGlhbWV0ZXJcIiBbc3Ryb2tlV2lkdGhdPVwic3Ryb2tlV2lkdGhcIj5cblx0PC9tYXQtc3Bpbm5lcj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -14,10 +14,10 @@ export class MaterialIssuesComponent {
|
|
|
14
14
|
this.issues = await this.filterAPIService.getMaterialIssueFieldNames().toPromise();
|
|
15
15
|
}
|
|
16
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaterialIssuesComponent, deps: [{ token: i1.FilterAPIService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MaterialIssuesComponent, selector: "metaqs2-material-issues", ngImport: i0, template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [collectionId]=\"collectionId\"\n [mode]=\"mode\"\n type=\"material\"\n></metaqs2-node-list>\n", styles: [":host{padding:0 30px;display:flex;gap:30px;flex-wrap:wrap}:host>metaqs2-node-list{width:400px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.NodeListComponent, selector: "metaqs2-node-list", inputs: ["mode", "type", "collectionId"], outputs: ["countChanged"] }] }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MaterialIssuesComponent, selector: "metaqs2-material-issues", ngImport: i0, template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [collectionId]=\"collectionId\"\n [mode]=\"mode\"\n type=\"material\"\n></metaqs2-node-list>\n", styles: [".while-loading{filter:blur(2px)}:host{padding:0 30px;display:flex;gap:30px;flex-wrap:wrap}:host>metaqs2-node-list{width:400px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.NodeListComponent, selector: "metaqs2-node-list", inputs: ["mode", "type", "collectionId"], outputs: ["countChanged"] }] }); }
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaterialIssuesComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
args: [{ selector: 'metaqs2-material-issues', template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [collectionId]=\"collectionId\"\n [mode]=\"mode\"\n type=\"material\"\n></metaqs2-node-list>\n", styles: [":host{padding:0 30px;display:flex;gap:30px;flex-wrap:wrap}:host>metaqs2-node-list{width:400px}\n"] }]
|
|
21
|
+
args: [{ selector: 'metaqs2-material-issues', template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [collectionId]=\"collectionId\"\n [mode]=\"mode\"\n type=\"material\"\n></metaqs2-node-list>\n", styles: [".while-loading{filter:blur(2px)}:host{padding:0 30px;display:flex;gap:30px;flex-wrap:wrap}:host>metaqs2-node-list{width:400px}\n"] }]
|
|
22
22
|
}], ctorParameters: () => [{ type: i1.FilterAPIService }] });
|
|
23
23
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtaXNzdWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL21hdGVyaWFsLWlzc3Vlcy9tYXRlcmlhbC1pc3N1ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbWF0ZXJpYWwtaXNzdWVzL21hdGVyaWFsLWlzc3Vlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQVFsRCxNQUFNLE9BQU8sdUJBQXVCO0lBS2xDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSnRELFdBQU0sR0FBYSxFQUFFLENBQUM7UUFDdEIsdUVBQXVFO1FBQ3ZFLGlCQUFZLEdBQVcsc0NBQXNDLENBQUM7SUFFTCxDQUFDO0lBRTFELEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JGLENBQUM7K0dBVFUsdUJBQXVCO21HQUF2Qix1QkFBdUIsK0RDUnBDLHlKQU1BOzs0RkRFYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpbHRlckFQSVNlcnZpY2UgfSBmcm9tICcuLi8uLi9qYXZhLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21ldGFxczItbWF0ZXJpYWwtaXNzdWVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hdGVyaWFsLWlzc3Vlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hdGVyaWFsLWlzc3Vlcy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbElzc3Vlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzc3Vlczogc3RyaW5nW10gPSBbXTtcbiAgLy8gQFRPRE86IElucHV0IGlzIGJyb2tlbiwgbWF5YmUgY2F1c2Ugb2Ygd2l0aENvbXBvbmVudElucHV0QmluZGluZygpPyFcbiAgY29sbGVjdGlvbklkOiBzdHJpbmcgPSAnOTRmMjJjOWItMGQzYS00YzFjLTg5ODctNGM4ZTgzZjNhOTJlJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbHRlckFQSVNlcnZpY2U6IEZpbHRlckFQSVNlcnZpY2UpIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc3N1ZXMgPSBhd2FpdCB0aGlzLmZpbHRlckFQSVNlcnZpY2UuZ2V0TWF0ZXJpYWxJc3N1ZUZpZWxkTmFtZXMoKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIiwiPG1ldGFxczItbm9kZS1saXN0XG4gICpuZ0Zvcj1cImxldCBtb2RlIG9mIGlzc3Vlc1wiXG4gIFtjb2xsZWN0aW9uSWRdPVwiY29sbGVjdGlvbklkXCJcbiAgW21vZGVdPVwibW9kZVwiXG4gIHR5cGU9XCJtYXRlcmlhbFwiXG4+PC9tZXRhcXMyLW5vZGUtbGlzdD5cbiJdfQ==
|
|
@@ -22,11 +22,11 @@ export class NodeEntryComponent {
|
|
|
22
22
|
// return (this.node as MaterialCounts).materials_count !== undefined;
|
|
23
23
|
}
|
|
24
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NodeEntryComponent, selector: "metaqs2-node-entry", inputs: { node: "node" }, outputs: { edit: "edit" }, ngImport: i0, template: "<div class=\"node\">\n <img class=\"icon\" [src]=\"node | nodeImageUrl\" loading=\"lazy\" />\n <div class=\"text\">\n <span class=\"title\">{{ node.title }}</span>\n <span class=\"description\" *ngIf=\"!isCollectionCount()\">{{ node.description }}</span>\n <span class=\"count\" *ngIf=\"isCollectionCount()\">{{ $any(node).materials_count }} Materialien</span>\n </div>\n <div class=\"actions\">\n <button mat-icon-button color=\"primary\" (click)=\"openNode(node)\">\n <mat-icon>open_in_new</mat-icon>\n </button>\n <button *ngIf=\"$any(node).type === 'ccm:io'\" mat-icon-button color=\"primary\" (click)=\"edit.emit(node)\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".node{display:flex;align-items:center;padding:5px 0}.node .icon{width:50px;min-width:50px;height:50px;object-fit:cover;padding-right:10px}.node .text{flex-grow:1;display:flex;flex-direction:column}.node .text .title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.node .text .description,.node .text .count{font-size:90%;color:#555;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;word-break:break-word;-webkit-line-clamp:1;-webkit-box-orient:vertical}.node .actions{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: i4.NodeImageUrlPipe, name: "nodeImageUrl" }] }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NodeEntryComponent, selector: "metaqs2-node-entry", inputs: { node: "node" }, outputs: { edit: "edit" }, ngImport: i0, template: "<div class=\"node\">\n <img class=\"icon\" [src]=\"node | nodeImageUrl\" loading=\"lazy\" />\n <div class=\"text\">\n <span class=\"title\">{{ node.title }}</span>\n <span class=\"description\" *ngIf=\"!isCollectionCount()\">{{ node.description }}</span>\n <span class=\"count\" *ngIf=\"isCollectionCount()\">{{ $any(node).materials_count }} Materialien</span>\n </div>\n <div class=\"actions\">\n <button mat-icon-button color=\"primary\" (click)=\"openNode(node)\">\n <mat-icon>open_in_new</mat-icon>\n </button>\n <button *ngIf=\"$any(node).type === 'ccm:io'\" mat-icon-button color=\"primary\" (click)=\"edit.emit(node)\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".while-loading{filter:blur(2px)}.node{display:flex;align-items:center;padding:5px 0}.node .icon{width:50px;min-width:50px;height:50px;object-fit:cover;padding-right:10px}.node .text{flex-grow:1;display:flex;flex-direction:column}.node .text .title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.node .text .description,.node .text .count{font-size:90%;color:#555;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;word-break:break-word;-webkit-line-clamp:1;-webkit-box-orient:vertical}.node .actions{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: i4.NodeImageUrlPipe, name: "nodeImageUrl" }] }); }
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeEntryComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
|
-
args: [{ selector: 'metaqs2-node-entry', template: "<div class=\"node\">\n <img class=\"icon\" [src]=\"node | nodeImageUrl\" loading=\"lazy\" />\n <div class=\"text\">\n <span class=\"title\">{{ node.title }}</span>\n <span class=\"description\" *ngIf=\"!isCollectionCount()\">{{ node.description }}</span>\n <span class=\"count\" *ngIf=\"isCollectionCount()\">{{ $any(node).materials_count }} Materialien</span>\n </div>\n <div class=\"actions\">\n <button mat-icon-button color=\"primary\" (click)=\"openNode(node)\">\n <mat-icon>open_in_new</mat-icon>\n </button>\n <button *ngIf=\"$any(node).type === 'ccm:io'\" mat-icon-button color=\"primary\" (click)=\"edit.emit(node)\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".node{display:flex;align-items:center;padding:5px 0}.node .icon{width:50px;min-width:50px;height:50px;object-fit:cover;padding-right:10px}.node .text{flex-grow:1;display:flex;flex-direction:column}.node .text .title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.node .text .description,.node .text .count{font-size:90%;color:#555;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;word-break:break-word;-webkit-line-clamp:1;-webkit-box-orient:vertical}.node .actions{display:flex}\n"] }]
|
|
29
|
+
args: [{ selector: 'metaqs2-node-entry', template: "<div class=\"node\">\n <img class=\"icon\" [src]=\"node | nodeImageUrl\" loading=\"lazy\" />\n <div class=\"text\">\n <span class=\"title\">{{ node.title }}</span>\n <span class=\"description\" *ngIf=\"!isCollectionCount()\">{{ node.description }}</span>\n <span class=\"count\" *ngIf=\"isCollectionCount()\">{{ $any(node).materials_count }} Materialien</span>\n </div>\n <div class=\"actions\">\n <button mat-icon-button color=\"primary\" (click)=\"openNode(node)\">\n <mat-icon>open_in_new</mat-icon>\n </button>\n <button *ngIf=\"$any(node).type === 'ccm:io'\" mat-icon-button color=\"primary\" (click)=\"edit.emit(node)\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".while-loading{filter:blur(2px)}.node{display:flex;align-items:center;padding:5px 0}.node .icon{width:50px;min-width:50px;height:50px;object-fit:cover;padding-right:10px}.node .text{flex-grow:1;display:flex;flex-direction:column}.node .text .title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.node .text .description,.node .text .count{font-size:90%;color:#555;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;word-break:break-word;-webkit-line-clamp:1;-webkit-box-orient:vertical}.node .actions{display:flex}\n"] }]
|
|
30
30
|
}], ctorParameters: () => [], propDecorators: { node: [{
|
|
31
31
|
type: Input
|
|
32
32
|
}], edit: [{
|