@igo2/context 18.0.0 → 18.0.1-next.1
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/fesm2022/igo2-context.mjs +118 -118
- package/fesm2022/igo2-context.mjs.map +1 -1
- package/package.json +12 -14
- package/esm2022/igo2-context.mjs +0 -5
- package/esm2022/lib/context-import-export/context-import-export/context-import-export.component.mjs +0 -156
- package/esm2022/lib/context-import-export/context-import-export.module.mjs +0 -24
- package/esm2022/lib/context-import-export/index.mjs +0 -3
- package/esm2022/lib/context-import-export/shared/context-export.errors.mjs +0 -15
- package/esm2022/lib/context-import-export/shared/context-export.interface.mjs +0 -2
- package/esm2022/lib/context-import-export/shared/context-export.service.mjs +0 -38
- package/esm2022/lib/context-import-export/shared/context-export.utils.mjs +0 -15
- package/esm2022/lib/context-import-export/shared/context-import.errors.mjs +0 -33
- package/esm2022/lib/context-import-export/shared/context-import.service.mjs +0 -82
- package/esm2022/lib/context-import-export/shared/context-import.utils.mjs +0 -148
- package/esm2022/lib/context-import-export/shared/index.mjs +0 -8
- package/esm2022/lib/context-manager/context-edit/context-edit-binding.directive.mjs +0 -56
- package/esm2022/lib/context-manager/context-edit/context-edit.component.mjs +0 -35
- package/esm2022/lib/context-manager/context-edit/index.mjs +0 -3
- package/esm2022/lib/context-manager/context-form/context-form.component.mjs +0 -117
- package/esm2022/lib/context-manager/context-form/index.mjs +0 -2
- package/esm2022/lib/context-manager/context-item/context-item.component.mjs +0 -96
- package/esm2022/lib/context-manager/context-item/index.mjs +0 -2
- package/esm2022/lib/context-manager/context-list/context-list-binding.directive.mjs +0 -259
- package/esm2022/lib/context-manager/context-list/context-list.component.mjs +0 -424
- package/esm2022/lib/context-manager/context-list/context-list.enum.mjs +0 -7
- package/esm2022/lib/context-manager/context-list/index.mjs +0 -3
- package/esm2022/lib/context-manager/context-manager.directive.mjs +0 -19
- package/esm2022/lib/context-manager/context-manager.module.mjs +0 -77
- package/esm2022/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +0 -109
- package/esm2022/lib/context-manager/context-permissions/context-permissions.component.mjs +0 -170
- package/esm2022/lib/context-manager/context-permissions/index.mjs +0 -3
- package/esm2022/lib/context-manager/index.mjs +0 -8
- package/esm2022/lib/context-manager/shared/context.enum.mjs +0 -13
- package/esm2022/lib/context-manager/shared/context.interface.mjs +0 -2
- package/esm2022/lib/context-manager/shared/context.service.mjs +0 -616
- package/esm2022/lib/context-manager/shared/index.mjs +0 -6
- package/esm2022/lib/context-manager/shared/layer-context.directive.mjs +0 -176
- package/esm2022/lib/context-manager/shared/map-context.directive.mjs +0 -68
- package/esm2022/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +0 -69
- package/esm2022/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +0 -37
- package/esm2022/lib/context-map-button/bookmark-button/index.mjs +0 -3
- package/esm2022/lib/context-map-button/context-map-button.directive.mjs +0 -10
- package/esm2022/lib/context-map-button/context-map-button.module.mjs +0 -48
- package/esm2022/lib/context-map-button/index.mjs +0 -5
- package/esm2022/lib/context-map-button/poi-button/index.mjs +0 -4
- package/esm2022/lib/context-map-button/poi-button/poi-button.component.mjs +0 -160
- package/esm2022/lib/context-map-button/poi-button/poi-dialog.component.mjs +0 -37
- package/esm2022/lib/context-map-button/poi-button/shared/index.mjs +0 -3
- package/esm2022/lib/context-map-button/poi-button/shared/poi.interface.mjs +0 -2
- package/esm2022/lib/context-map-button/poi-button/shared/poi.service.mjs +0 -38
- package/esm2022/lib/context-map-button/user-button/index.mjs +0 -3
- package/esm2022/lib/context-map-button/user-button/user-button.animation.mjs +0 -17
- package/esm2022/lib/context-map-button/user-button/user-button.component.mjs +0 -82
- package/esm2022/lib/context-map-button/user-button/user-dialog.component.mjs +0 -43
- package/esm2022/lib/context.module.mjs +0 -42
- package/esm2022/lib/environment/environment.interface.mjs +0 -2
- package/esm2022/lib/environment/index.mjs +0 -2
- package/esm2022/lib/share-map/index.mjs +0 -6
- package/esm2022/lib/share-map/share-map/share-map-api.component.mjs +0 -111
- package/esm2022/lib/share-map/share-map/share-map-url.component.mjs +0 -78
- package/esm2022/lib/share-map/share-map/share-map.component.mjs +0 -35
- package/esm2022/lib/share-map/share-map.module.mjs +0 -31
- package/esm2022/lib/share-map/shared/index.mjs +0 -2
- package/esm2022/lib/share-map/shared/share-map.service.mjs +0 -223
- package/esm2022/lib/sidenav/index.mjs +0 -2
- package/esm2022/lib/sidenav/sidenav.component.mjs +0 -122
- package/esm2022/lib/sidenav/sidenav.module.mjs +0 -24
- package/esm2022/public_api.mjs +0 -16
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@igo2/context",
|
|
3
|
-
"version": "18.0.
|
|
3
|
+
"version": "18.0.1-next.1",
|
|
4
4
|
"description": "IGO Library",
|
|
5
5
|
"author": "IGO Community",
|
|
6
6
|
"keywords": [
|
|
@@ -18,8 +18,6 @@
|
|
|
18
18
|
"exports": {
|
|
19
19
|
".": {
|
|
20
20
|
"types": "./index.d.ts",
|
|
21
|
-
"esm2022": "./esm2022/igo2-context.mjs",
|
|
22
|
-
"esm": "./esm2022/igo2-context.mjs",
|
|
23
21
|
"default": "./fesm2022/igo2-context.mjs"
|
|
24
22
|
},
|
|
25
23
|
"./theme": {
|
|
@@ -30,17 +28,17 @@
|
|
|
30
28
|
}
|
|
31
29
|
},
|
|
32
30
|
"peerDependencies": {
|
|
33
|
-
"@angular/animations": "^
|
|
34
|
-
"@angular/common": "^
|
|
35
|
-
"@angular/core": "^
|
|
36
|
-
"@angular/forms": "^
|
|
37
|
-
"@angular/material": "^
|
|
38
|
-
"@angular/platform-browser": "^
|
|
39
|
-
"@igo2/auth": "^18.0.
|
|
40
|
-
"@igo2/common": "^18.0.
|
|
41
|
-
"@igo2/core": "^18.0.
|
|
42
|
-
"@igo2/geo": "^18.0.
|
|
43
|
-
"@igo2/utils": "^18.0.
|
|
31
|
+
"@angular/animations": "^19.0.0",
|
|
32
|
+
"@angular/common": "^19.0.0",
|
|
33
|
+
"@angular/core": "^19.0.0",
|
|
34
|
+
"@angular/forms": "^19.0.0",
|
|
35
|
+
"@angular/material": "^19.0.0",
|
|
36
|
+
"@angular/platform-browser": "^19.0.0",
|
|
37
|
+
"@igo2/auth": "^18.0.1-next.1",
|
|
38
|
+
"@igo2/common": "^18.0.1-next.1",
|
|
39
|
+
"@igo2/core": "^18.0.1-next.1",
|
|
40
|
+
"@igo2/geo": "^18.0.1-next.1",
|
|
41
|
+
"@igo2/utils": "^18.0.1-next.1",
|
|
44
42
|
"ol": "9.1.0",
|
|
45
43
|
"rxjs": "^7.8.0"
|
|
46
44
|
},
|
package/esm2022/igo2-context.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvY29udGV4dC9zcmMvaWdvMi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
package/esm2022/lib/context-import-export/context-import-export/context-import-export.component.mjs
DELETED
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { AsyncPipe, NgFor, NgIf } from '@angular/common';
|
|
2
|
-
import { Component, Input } from '@angular/core';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule, UntypedFormBuilder, Validators } from '@angular/forms';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
6
|
-
import { MatOptionModule } from '@angular/material/core';
|
|
7
|
-
import { MatDividerModule } from '@angular/material/divider';
|
|
8
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
9
|
-
import { MatInputModule } from '@angular/material/input';
|
|
10
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
11
|
-
import { SpinnerComponent } from '@igo2/common/spinner';
|
|
12
|
-
import { ConfigService } from '@igo2/core/config';
|
|
13
|
-
import { IgoLanguageModule } from '@igo2/core/language';
|
|
14
|
-
import { MessageService } from '@igo2/core/message';
|
|
15
|
-
import { BehaviorSubject } from 'rxjs';
|
|
16
|
-
import { take } from 'rxjs/operators';
|
|
17
|
-
import { ContextService } from '../../context-manager/shared/context.service';
|
|
18
|
-
import { ContextExportService } from '../shared/context-export.service';
|
|
19
|
-
import { handleFileExportError } from '../shared/context-export.utils';
|
|
20
|
-
import { handleFileExportSuccess } from '../shared/context-export.utils';
|
|
21
|
-
import { ContextImportService } from '../shared/context-import.service';
|
|
22
|
-
import { handleFileImportError, handleFileImportSuccess } from '../shared/context-import.utils';
|
|
23
|
-
import * as i0 from "@angular/core";
|
|
24
|
-
import * as i1 from "../shared/context-import.service";
|
|
25
|
-
import * as i2 from "../shared/context-export.service";
|
|
26
|
-
import * as i3 from "@igo2/core/message";
|
|
27
|
-
import * as i4 from "@angular/forms";
|
|
28
|
-
import * as i5 from "@igo2/core/config";
|
|
29
|
-
import * as i6 from "../../context-manager/shared/context.service";
|
|
30
|
-
import * as i7 from "@angular/material/button-toggle";
|
|
31
|
-
import * as i8 from "@angular/material/button";
|
|
32
|
-
import * as i9 from "@angular/material/form-field";
|
|
33
|
-
import * as i10 from "@angular/material/input";
|
|
34
|
-
import * as i11 from "@angular/material/select";
|
|
35
|
-
import * as i12 from "@angular/material/core";
|
|
36
|
-
import * as i13 from "@angular/material/divider";
|
|
37
|
-
import * as i14 from "@ngx-translate/core";
|
|
38
|
-
export class ContextImportExportComponent {
|
|
39
|
-
contextImportService;
|
|
40
|
-
contextExportService;
|
|
41
|
-
messageService;
|
|
42
|
-
formBuilder;
|
|
43
|
-
config;
|
|
44
|
-
contextService;
|
|
45
|
-
form;
|
|
46
|
-
layers;
|
|
47
|
-
inputProj = 'EPSG:4326';
|
|
48
|
-
loading$ = new BehaviorSubject(false);
|
|
49
|
-
forceNaming = false;
|
|
50
|
-
layerList;
|
|
51
|
-
userControlledLayerList;
|
|
52
|
-
res;
|
|
53
|
-
clientSideFileSizeMax;
|
|
54
|
-
fileSizeMb;
|
|
55
|
-
activeImportExport = 'import';
|
|
56
|
-
map;
|
|
57
|
-
constructor(contextImportService, contextExportService, messageService, formBuilder, config, contextService) {
|
|
58
|
-
this.contextImportService = contextImportService;
|
|
59
|
-
this.contextExportService = contextExportService;
|
|
60
|
-
this.messageService = messageService;
|
|
61
|
-
this.formBuilder = formBuilder;
|
|
62
|
-
this.config = config;
|
|
63
|
-
this.contextService = contextService;
|
|
64
|
-
this.buildForm();
|
|
65
|
-
}
|
|
66
|
-
ngOnInit() {
|
|
67
|
-
const configFileSizeMb = this.config.getConfig('importExport.clientSideFileSizeMaxMb');
|
|
68
|
-
this.clientSideFileSizeMax =
|
|
69
|
-
(configFileSizeMb ? configFileSizeMb : 30) * Math.pow(1024, 2);
|
|
70
|
-
this.fileSizeMb = this.clientSideFileSizeMax / Math.pow(1024, 2);
|
|
71
|
-
this.layerList = this.map.layerController.all;
|
|
72
|
-
this.userControlledLayerList = this.map.layerController.treeLayers;
|
|
73
|
-
}
|
|
74
|
-
importFiles(files) {
|
|
75
|
-
this.loading$.next(true);
|
|
76
|
-
for (const file of files) {
|
|
77
|
-
this.contextImportService
|
|
78
|
-
.import(file)
|
|
79
|
-
.pipe(take(1))
|
|
80
|
-
.subscribe((context) => this.onFileImportSuccess(file, context), (error) => this.onFileImportError(file, error), () => {
|
|
81
|
-
this.loading$.next(false);
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
handleExportFormSubmit(contextOptions) {
|
|
86
|
-
this.loading$.next(true);
|
|
87
|
-
this.res = this.contextService.getContextFromLayers(this.map, contextOptions.layers, contextOptions.name, false);
|
|
88
|
-
this.res.imported = true;
|
|
89
|
-
this.contextExportService
|
|
90
|
-
.export(this.res)
|
|
91
|
-
.pipe(take(1))
|
|
92
|
-
.subscribe({
|
|
93
|
-
error: (error) => this.onFileExportError(error),
|
|
94
|
-
complete: () => {
|
|
95
|
-
this.onFileExportSuccess();
|
|
96
|
-
this.loading$.next(false);
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
buildForm() {
|
|
101
|
-
this.form = this.formBuilder.group({
|
|
102
|
-
layers: ['', [Validators.required]],
|
|
103
|
-
name: ['', [Validators.required]]
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
onFileImportSuccess(file, context) {
|
|
107
|
-
handleFileImportSuccess(file, context, this.messageService, this.contextService);
|
|
108
|
-
}
|
|
109
|
-
onFileImportError(file, error) {
|
|
110
|
-
this.loading$.next(false);
|
|
111
|
-
handleFileImportError(file, error, this.messageService, this.fileSizeMb);
|
|
112
|
-
}
|
|
113
|
-
onFileExportError(error) {
|
|
114
|
-
this.loading$.next(false);
|
|
115
|
-
handleFileExportError(error, this.messageService);
|
|
116
|
-
}
|
|
117
|
-
onFileExportSuccess() {
|
|
118
|
-
handleFileExportSuccess(this.messageService);
|
|
119
|
-
}
|
|
120
|
-
selectAll(e) {
|
|
121
|
-
if (e._selected) {
|
|
122
|
-
this.form.controls.layers.setValue(this.userControlledLayerList);
|
|
123
|
-
e._selected = true;
|
|
124
|
-
}
|
|
125
|
-
if (e._selected === false) {
|
|
126
|
-
this.form.controls.layers.setValue([]);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
onImportExportChange(event) {
|
|
130
|
-
this.activeImportExport = event.value;
|
|
131
|
-
}
|
|
132
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextImportExportComponent, deps: [{ token: i1.ContextImportService }, { token: i2.ContextExportService }, { token: i3.MessageService }, { token: i4.UntypedFormBuilder }, { token: i5.ConfigService }, { token: i6.ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContextImportExportComponent, isStandalone: true, selector: "igo-context-import-export", inputs: { map: "map" }, ngImport: i0, template: "<div class=\"import-export-toggle mat-typography\">\n <mat-button-toggle-group\n [value]=\"activeImportExport\"\n (change)=\"onImportExportChange($event)\"\n >\n <mat-button-toggle [value]=\"'import'\">\n {{ 'igo.geo.importExportForm.importTabTitle' | translate }}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"'export'\">\n {{ 'igo.geo.importExportForm.exportTabTitle' | translate }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n\n<div *ngIf=\"activeImportExport === 'import'\">\n <form class=\"igo-form\">\n <div class=\"igo-form-button-group\">\n <button\n mat-raised-button\n type=\"button\"\n (click)=\"fileInput.click()\"\n [disabled]=\"loading$ | async\"\n >\n {{ 'igo.geo.importExportForm.importButton' | translate }}\n </button>\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\n <input\n #fileInput\n type=\"file\"\n [style.display]=\"'none'\"\n (click)=\"fileInput.value = null\"\n (change)=\"importFiles($any($event.target).files)\"\n />\n </div>\n </form>\n <section class=\"mat-typography\">\n <h4>{{ 'igo.geo.importExportForm.importClarifications' | translate }}</h4>\n <ul>\n <li>\n {{\n 'igo.geo.importExportForm.importSizeMax'\n | translate: { size: fileSizeMb }\n }}\n </li>\n </ul>\n </section>\n</div>\n\n<form\n class=\"igo-form\"\n *ngIf=\"activeImportExport === 'export'\"\n [formGroup]=\"form\"\n>\n <div class=\"igo-input-container\">\n <mat-form-field class=\"example-full-width\">\n <mat-label>{{\n 'igo.context.contextImportExport.export.exportContextName' | translate\n }}</mat-label>\n <input formControlName=\"name\" matInput [value]=\"\" />\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.context.contextImportExport.export.exportPlaceHolder' | translate\n }}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{\n 'igo.context.contextImportExport.export.exportSelectAll' | translate\n }}\n </mat-option>\n <mat-divider></mat-divider>\n <mat-option\n *ngFor=\"let layer of userControlledLayerList\"\n [value]=\"layer\"\n >{{ layer.title }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"igo-form-button-group\">\n <button\n mat-raised-button\n type=\"button\"\n [disabled]=\"!form.valid || (loading$ | async)\"\n (click)=\"handleExportFormSubmit(form.value)\"\n >\n {{ 'igo.geo.importExportForm.exportButton' | translate }}\n </button>\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\n </div>\n</form>\n", styles: [".import-export-toggle{padding:10px;text-align:center}.import-export-toggle mat-button-toggle-group{width:100%}.import-export-toggle mat-button-toggle-group mat-button-toggle{width:50%}.igo-input-container{padding:10px}.igo-input-container mat-form-field{width:100%}h4{padding:0 5px}.igo-form{padding:15px 5px}.igo-form-button-group{text-align:center;padding-top:10px}igo-spinner{position:absolute;padding-left:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i7.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i7.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: SpinnerComponent, selector: "igo-spinner", inputs: ["shown"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i11.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i13.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] });
|
|
134
|
-
}
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextImportExportComponent, decorators: [{
|
|
136
|
-
type: Component,
|
|
137
|
-
args: [{ selector: 'igo-context-import-export', standalone: true, imports: [
|
|
138
|
-
MatButtonToggleModule,
|
|
139
|
-
NgIf,
|
|
140
|
-
FormsModule,
|
|
141
|
-
MatButtonModule,
|
|
142
|
-
SpinnerComponent,
|
|
143
|
-
ReactiveFormsModule,
|
|
144
|
-
MatFormFieldModule,
|
|
145
|
-
MatInputModule,
|
|
146
|
-
MatSelectModule,
|
|
147
|
-
MatOptionModule,
|
|
148
|
-
MatDividerModule,
|
|
149
|
-
NgFor,
|
|
150
|
-
AsyncPipe,
|
|
151
|
-
IgoLanguageModule
|
|
152
|
-
], template: "<div class=\"import-export-toggle mat-typography\">\n <mat-button-toggle-group\n [value]=\"activeImportExport\"\n (change)=\"onImportExportChange($event)\"\n >\n <mat-button-toggle [value]=\"'import'\">\n {{ 'igo.geo.importExportForm.importTabTitle' | translate }}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"'export'\">\n {{ 'igo.geo.importExportForm.exportTabTitle' | translate }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n\n<div *ngIf=\"activeImportExport === 'import'\">\n <form class=\"igo-form\">\n <div class=\"igo-form-button-group\">\n <button\n mat-raised-button\n type=\"button\"\n (click)=\"fileInput.click()\"\n [disabled]=\"loading$ | async\"\n >\n {{ 'igo.geo.importExportForm.importButton' | translate }}\n </button>\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\n <input\n #fileInput\n type=\"file\"\n [style.display]=\"'none'\"\n (click)=\"fileInput.value = null\"\n (change)=\"importFiles($any($event.target).files)\"\n />\n </div>\n </form>\n <section class=\"mat-typography\">\n <h4>{{ 'igo.geo.importExportForm.importClarifications' | translate }}</h4>\n <ul>\n <li>\n {{\n 'igo.geo.importExportForm.importSizeMax'\n | translate: { size: fileSizeMb }\n }}\n </li>\n </ul>\n </section>\n</div>\n\n<form\n class=\"igo-form\"\n *ngIf=\"activeImportExport === 'export'\"\n [formGroup]=\"form\"\n>\n <div class=\"igo-input-container\">\n <mat-form-field class=\"example-full-width\">\n <mat-label>{{\n 'igo.context.contextImportExport.export.exportContextName' | translate\n }}</mat-label>\n <input formControlName=\"name\" matInput [value]=\"\" />\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.context.contextImportExport.export.exportPlaceHolder' | translate\n }}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{\n 'igo.context.contextImportExport.export.exportSelectAll' | translate\n }}\n </mat-option>\n <mat-divider></mat-divider>\n <mat-option\n *ngFor=\"let layer of userControlledLayerList\"\n [value]=\"layer\"\n >{{ layer.title }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"igo-form-button-group\">\n <button\n mat-raised-button\n type=\"button\"\n [disabled]=\"!form.valid || (loading$ | async)\"\n (click)=\"handleExportFormSubmit(form.value)\"\n >\n {{ 'igo.geo.importExportForm.exportButton' | translate }}\n </button>\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\n </div>\n</form>\n", styles: [".import-export-toggle{padding:10px;text-align:center}.import-export-toggle mat-button-toggle-group{width:100%}.import-export-toggle mat-button-toggle-group mat-button-toggle{width:50%}.igo-input-container{padding:10px}.igo-input-container mat-form-field{width:100%}h4{padding:0 5px}.igo-form{padding:15px 5px}.igo-form-button-group{text-align:center;padding-top:10px}igo-spinner{position:absolute;padding-left:10px}\n"] }]
|
|
153
|
-
}], ctorParameters: () => [{ type: i1.ContextImportService }, { type: i2.ContextExportService }, { type: i3.MessageService }, { type: i4.UntypedFormBuilder }, { type: i5.ConfigService }, { type: i6.ContextService }], propDecorators: { map: [{
|
|
154
|
-
type: Input
|
|
155
|
-
}] } });
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbXBvcnQtZXhwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LWltcG9ydC1leHBvcnQvY29udGV4dC1pbXBvcnQtZXhwb3J0L2NvbnRleHQtaW1wb3J0LWV4cG9ydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1pbXBvcnQtZXhwb3J0L2NvbnRleHQtaW1wb3J0LWV4cG9ydC9jb250ZXh0LWltcG9ydC1leHBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUNMLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsa0JBQWtCLEVBRWxCLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FB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SSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQUs7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDeEMsQ0FBQzt3R0FySFUsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsNkdDM0R6Qyx5M0ZBNkZBLDBkRGxESSxxQkFBcUIsdW9CQUNyQixJQUFJLDRGQUNKLFdBQVcsKzBCQUNYLGVBQWUsNE5BQ2YsZ0JBQWdCLDBFQUNoQixtQkFBbUIsK1VBQ25CLGtCQUFrQiwwU0FDbEIsY0FBYywyV0FDZCxlQUFlLHFyQkFDZixlQUFlLDhCQUNmLGdCQUFnQixvSUFDaEIsS0FBSyw4R0FDTCxTQUFTLDZDQUNULGlCQUFpQjs7NEZBR1IsNEJBQTRCO2tCQXRCeEMsU0FBUzsrQkFDRSwyQkFBMkIsY0FHekIsSUFBSSxXQUNQO3dCQUNQLHFCQUFxQjt3QkFDckIsSUFBSTt3QkFDSixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixLQUFLO3dCQUNMLFNBQVM7d0JBQ1QsaUJBQWlCO3FCQUNsQjttUEFlUSxHQUFHO3NCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRm9ybXNNb2R1bGUsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuXG5pbXBvcnQgeyBTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uL3NwaW5uZXInO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XG5pbXBvcnQgeyB0eXBlIEFueUxheWVyLCB0eXBlIElnb01hcCwgVmVjdG9yTGF5ZXIgfSBmcm9tICdAaWdvMi9nZW8nO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERldGFpbGVkQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvY29udGV4dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250ZXh0LW1hbmFnZXIvc2hhcmVkL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZXh0RXhwb3J0U2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9jb250ZXh0LWV4cG9ydC5zZXJ2aWNlJztcbmltcG9ydCB7IGhhbmRsZUZpbGVFeHBvcnRFcnJvciB9IGZyb20gJy4uL3NoYXJlZC9jb250ZXh0LWV4cG9ydC51dGlscyc7XG5pbXBvcnQgeyBoYW5kbGVGaWxlRXhwb3J0U3VjY2VzcyB9IGZyb20gJy4uL3NoYXJlZC9jb250ZXh0LWV4cG9ydC51dGlscyc7XG5pbXBvcnQgeyBDb250ZXh0SW1wb3J0U2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9jb250ZXh0LWltcG9ydC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIGhhbmRsZUZpbGVJbXBvcnRFcnJvcixcbiAgaGFuZGxlRmlsZUltcG9ydFN1Y2Nlc3Ncbn0gZnJvbSAnLi4vc2hhcmVkL2NvbnRleHQtaW1wb3J0LnV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWNvbnRleHQtaW1wb3J0LWV4cG9ydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LWltcG9ydC1leHBvcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LWltcG9ydC1leHBvcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcbiAgICBOZ0lmLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBTcGlubmVyQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBOZ0ZvcixcbiAgICBBc3luY1BpcGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0SW1wb3J0RXhwb3J0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIHB1YmxpYyBsYXllcnM6IFZlY3RvckxheWVyW107XG4gIHB1YmxpYyBpbnB1dFByb2ogPSAnRVBTRzo0MzI2JztcbiAgcHVibGljIGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHB1YmxpYyBmb3JjZU5hbWluZyA9IGZhbHNlO1xuICBwdWJsaWMgbGF5ZXJMaXN0OiBBbnlMYXllcltdO1xuICBwdWJsaWMgdXNlckNvbnRyb2xsZWRMYXllckxpc3Q6IHJlYWRvbmx5IEFueUxheWVyW107XG4gIHB1YmxpYyByZXM6IERldGFpbGVkQ29udGV4dDtcbiAgcHJpdmF0ZSBjbGllbnRTaWRlRmlsZVNpemVNYXg6IG51bWJlcjtcbiAgcHVibGljIGZpbGVTaXplTWI6IG51bWJlcjtcbiAgcHVibGljIGFjdGl2ZUltcG9ydEV4cG9ydCA9ICdpbXBvcnQnO1xuXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGV4dEltcG9ydFNlcnZpY2U6IENvbnRleHRJbXBvcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dEV4cG9ydFNlcnZpY2U6IENvbnRleHRFeHBvcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZVxuICApIHtcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgY29uZmlnRmlsZVNpemVNYiA9IHRoaXMuY29uZmlnLmdldENvbmZpZyhcbiAgICAgICdpbXBvcnRFeHBvcnQuY2xpZW50U2lkZUZpbGVTaXplTWF4TWInXG4gICAgKTtcbiAgICB0aGlzLmNsaWVudFNpZGVGaWxlU2l6ZU1heCA9XG4gICAgICAoY29uZmlnRmlsZVNpemVNYiA/IGNvbmZpZ0ZpbGVTaXplTWIgOiAzMCkgKiBNYXRoLnBvdygxMDI0LCAyKTtcbiAgICB0aGlzLmZpbGVTaXplTWIgPSB0aGlzLmNsaWVudFNpZGVGaWxlU2l6ZU1heCAvIE1hdGgucG93KDEwMjQsIDIpO1xuXG4gICAgdGhpcy5sYXllckxpc3QgPSB0aGlzLm1hcC5sYXllckNvbnRyb2xsZXIuYWxsO1xuICAgIHRoaXMudXNlckNvbnRyb2xsZWRMYXllckxpc3QgPSB0aGlzLm1hcC5sYXllckNvbnRyb2xsZXIudHJlZUxheWVycztcbiAgfVxuXG4gIGltcG9ydEZpbGVzKGZpbGVzOiBGaWxlW10pIHtcbiAgICB0aGlzLmxvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICB0aGlzLmNvbnRleHRJbXBvcnRTZXJ2aWNlXG4gICAgICAgIC5pbXBvcnQoZmlsZSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAoY29udGV4dDogRGV0YWlsZWRDb250ZXh0KSA9PiB0aGlzLm9uRmlsZUltcG9ydFN1Y2Nlc3MoZmlsZSwgY29udGV4dCksXG4gICAgICAgICAgKGVycm9yOiBFcnJvcikgPT4gdGhpcy5vbkZpbGVJbXBvcnRFcnJvcihmaWxlLCBlcnJvciksXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRXhwb3J0Rm9ybVN1Ym1pdChjb250ZXh0T3B0aW9ucykge1xuICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICB0aGlzLnJlcyA9IHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q29udGV4dEZyb21MYXllcnMoXG4gICAgICB0aGlzLm1hcCxcbiAgICAgIGNvbnRleHRPcHRpb25zLmxheWVycyxcbiAgICAgIGNvbnRleHRPcHRpb25zLm5hbWUsXG4gICAgICBmYWxzZVxuICAgICk7XG4gICAgdGhpcy5yZXMuaW1wb3J0ZWQgPSB0cnVlO1xuICAgIHRoaXMuY29udGV4dEV4cG9ydFNlcnZpY2VcbiAgICAgIC5leHBvcnQodGhpcy5yZXMpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIGVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiB0aGlzLm9uRmlsZUV4cG9ydEVycm9yKGVycm9yKSxcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLm9uRmlsZUV4cG9ydFN1Y2Nlc3MoKTtcbiAgICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRGb3JtKCkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgbGF5ZXJzOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25GaWxlSW1wb3J0U3VjY2VzcyhmaWxlOiBGaWxlLCBjb250ZXh0OiBEZXRhaWxlZENvbnRleHQpIHtcbiAgICBoYW5kbGVGaWxlSW1wb3J0U3VjY2VzcyhcbiAgICAgIGZpbGUsXG4gICAgICBjb250ZXh0LFxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2VcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkZpbGVJbXBvcnRFcnJvcihmaWxlOiBGaWxlLCBlcnJvcjogRXJyb3IpIHtcbiAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgIGhhbmRsZUZpbGVJbXBvcnRFcnJvcihmaWxlLCBlcnJvciwgdGhpcy5tZXNzYWdlU2VydmljZSwgdGhpcy5maWxlU2l6ZU1iKTtcbiAgfVxuXG4gIHByaXZhdGUgb25GaWxlRXhwb3J0RXJyb3IoZXJyb3I6IEVycm9yKSB7XG4gICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICBoYW5kbGVGaWxlRXhwb3J0RXJyb3IoZXJyb3IsIHRoaXMubWVzc2FnZVNlcnZpY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkZpbGVFeHBvcnRTdWNjZXNzKCkge1xuICAgIGhhbmRsZUZpbGVFeHBvcnRTdWNjZXNzKHRoaXMubWVzc2FnZVNlcnZpY2UpO1xuICB9XG5cbiAgc2VsZWN0QWxsKGUpIHtcbiAgICBpZiAoZS5fc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5sYXllcnMuc2V0VmFsdWUodGhpcy51c2VyQ29udHJvbGxlZExheWVyTGlzdCk7XG4gICAgICBlLl9zZWxlY3RlZCA9IHRydWU7XG4gICAgfVxuICAgIGlmIChlLl9zZWxlY3RlZCA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5sYXllcnMuc2V0VmFsdWUoW10pO1xuICAgIH1cbiAgfVxuXG4gIG9uSW1wb3J0RXhwb3J0Q2hhbmdlKGV2ZW50KSB7XG4gICAgdGhpcy5hY3RpdmVJbXBvcnRFeHBvcnQgPSBldmVudC52YWx1ZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImltcG9ydC1leHBvcnQtdG9nZ2xlIG1hdC10eXBvZ3JhcGh5XCI+XG4gIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cFxuICAgIFt2YWx1ZV09XCJhY3RpdmVJbXBvcnRFeHBvcnRcIlxuICAgIChjaGFuZ2UpPVwib25JbXBvcnRFeHBvcnRDaGFuZ2UoJGV2ZW50KVwiXG4gID5cbiAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cIidpbXBvcnQnXCI+XG4gICAgICB7eyAnaWdvLmdlby5pbXBvcnRFeHBvcnRGb3JtLmltcG9ydFRhYlRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCInZXhwb3J0J1wiPlxuICAgICAge3sgJ2lnby5nZW8uaW1wb3J0RXhwb3J0Rm9ybS5leHBvcnRUYWJUaXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJhY3RpdmVJbXBvcnRFeHBvcnQgPT09ICdpbXBvcnQnXCI+XG4gIDxmb3JtIGNsYXNzPVwiaWdvLWZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZyQgfCBhc3luY1wiXG4gICAgICA+XG4gICAgICAgIHt7ICdpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0uaW1wb3J0QnV0dG9uJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8aWdvLXNwaW5uZXIgW3Nob3duXT1cImxvYWRpbmckIHwgYXN5bmNcIj48L2lnby1zcGlubmVyPlxuICAgICAgPGlucHV0XG4gICAgICAgICNmaWxlSW5wdXRcbiAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIlxuICAgICAgICAoY2xpY2spPVwiZmlsZUlucHV0LnZhbHVlID0gbnVsbFwiXG4gICAgICAgIChjaGFuZ2UpPVwiaW1wb3J0RmlsZXMoJGFueSgkZXZlbnQudGFyZ2V0KS5maWxlcylcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuICA8c2VjdGlvbiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XG4gICAgPGg0Pnt7ICdpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0uaW1wb3J0Q2xhcmlmaWNhdGlvbnMnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgICA8dWw+XG4gICAgICA8bGk+XG4gICAgICAgIHt7XG4gICAgICAgICAgJ2lnby5nZW8uaW1wb3J0RXhwb3J0Rm9ybS5pbXBvcnRTaXplTWF4J1xuICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsgc2l6ZTogZmlsZVNpemVNYiB9XG4gICAgICAgIH19XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuXG48Zm9ybVxuICBjbGFzcz1cImlnby1mb3JtXCJcbiAgKm5nSWY9XCJhY3RpdmVJbXBvcnRFeHBvcnQgPT09ICdleHBvcnQnXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbj5cbiAgPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJleGFtcGxlLWZ1bGwtd2lkdGhcIj5cbiAgICAgIDxtYXQtbGFiZWw+e3tcbiAgICAgICAgJ2lnby5jb250ZXh0LmNvbnRleHRJbXBvcnRFeHBvcnQuZXhwb3J0LmV4cG9ydENvbnRleHROYW1lJyB8IHRyYW5zbGF0ZVxuICAgICAgfX08L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgbWF0SW5wdXQgW3ZhbHVlXT1cIlwiIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD57e1xuICAgICAgICAnaWdvLmNvbnRleHQuY29udGV4dEltcG9ydEV4cG9ydC5leHBvcnQuZXhwb3J0UGxhY2VIb2xkZXInIHwgdHJhbnNsYXRlXG4gICAgICB9fTwvbWF0LWxhYmVsPlxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwibGF5ZXJzXCIgbXVsdGlwbGU+XG4gICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCIxXCIgKGNsaWNrKT1cInNlbGVjdEFsbChlKVwiICNlPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAnaWdvLmNvbnRleHQuY29udGV4dEltcG9ydEV4cG9ydC5leHBvcnQuZXhwb3J0U2VsZWN0QWxsJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGxheWVyIG9mIHVzZXJDb250cm9sbGVkTGF5ZXJMaXN0XCJcbiAgICAgICAgICBbdmFsdWVdPVwibGF5ZXJcIlxuICAgICAgICAgID57eyBsYXllci50aXRsZSB9fTwvbWF0LW9wdGlvblxuICAgICAgICA+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpZ28tZm9ybS1idXR0b24tZ3JvdXBcIj5cbiAgICA8YnV0dG9uXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWQgfHwgKGxvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVFeHBvcnRGb3JtU3VibWl0KGZvcm0udmFsdWUpXCJcbiAgICA+XG4gICAgICB7eyAnaWdvLmdlby5pbXBvcnRFeHBvcnRGb3JtLmV4cG9ydEJ1dHRvbicgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8aWdvLXNwaW5uZXIgW3Nob3duXT1cImxvYWRpbmckIHwgYXN5bmNcIj48L2lnby1zcGlubmVyPlxuICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { ContextImportExportComponent } from './context-import-export/context-import-export.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* @deprecated import the ContextImportExportComponent directly
|
|
6
|
-
*/
|
|
7
|
-
export class IgoContextImportExportModule {
|
|
8
|
-
static forRoot() {
|
|
9
|
-
return {
|
|
10
|
-
ngModule: IgoContextImportExportModule
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoContextImportExportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoContextImportExportModule, imports: [ContextImportExportComponent], exports: [ContextImportExportComponent] });
|
|
15
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoContextImportExportModule, imports: [ContextImportExportComponent] });
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoContextImportExportModule, decorators: [{
|
|
18
|
-
type: NgModule,
|
|
19
|
-
args: [{
|
|
20
|
-
imports: [ContextImportExportComponent],
|
|
21
|
-
exports: [ContextImportExportComponent]
|
|
22
|
-
}]
|
|
23
|
-
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbXBvcnQtZXhwb3J0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LWltcG9ydC1leHBvcnQvY29udGV4dC1pbXBvcnQtZXhwb3J0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQzs7QUFFdkc7O0dBRUc7QUFLSCxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSw0QkFBNEI7U0FDdkMsQ0FBQztJQUNKLENBQUM7d0dBTFUsNEJBQTRCO3lHQUE1Qiw0QkFBNEIsWUFIN0IsNEJBQTRCLGFBQzVCLDRCQUE0Qjt5R0FFM0IsNEJBQTRCLFlBSDdCLDRCQUE0Qjs7NEZBRzNCLDRCQUE0QjtrQkFKeEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29udGV4dEltcG9ydEV4cG9ydENvbXBvbmVudCB9IGZyb20gJy4vY29udGV4dC1pbXBvcnQtZXhwb3J0L2NvbnRleHQtaW1wb3J0LWV4cG9ydC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIGltcG9ydCB0aGUgQ29udGV4dEltcG9ydEV4cG9ydENvbXBvbmVudCBkaXJlY3RseVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29udGV4dEltcG9ydEV4cG9ydENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtDb250ZXh0SW1wb3J0RXhwb3J0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBJZ29Db250ZXh0SW1wb3J0RXhwb3J0TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29Db250ZXh0SW1wb3J0RXhwb3J0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29Db250ZXh0SW1wb3J0RXhwb3J0TW9kdWxlXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './shared';
|
|
2
|
-
export * from './context-import-export/context-import-export.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1pbXBvcnQtZXhwb3J0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMseURBQXlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQtaW1wb3J0LWV4cG9ydC9jb250ZXh0LWltcG9ydC1leHBvcnQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export class ExportError extends Error {
|
|
2
|
-
}
|
|
3
|
-
export class ExportInvalidFileError extends ExportError {
|
|
4
|
-
constructor() {
|
|
5
|
-
super('Invalid context');
|
|
6
|
-
Object.setPrototypeOf(this, ExportInvalidFileError.prototype);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export class ExportNothingToExportError extends ExportError {
|
|
10
|
-
constructor() {
|
|
11
|
-
super('Nothing to export');
|
|
12
|
-
Object.setPrototypeOf(this, ExportNothingToExportError.prototype);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1leHBvcnQuZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGV4dC9zcmMvbGliL2NvbnRleHQtaW1wb3J0LWV4cG9ydC9zaGFyZWQvY29udGV4dC1leHBvcnQuZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFZLFNBQVEsS0FBSztDQUFHO0FBRXpDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxXQUFXO0lBQ3JEO1FBQ0UsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDekIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLFdBQVc7SUFDekQ7UUFDRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRXhwb3J0RXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG5leHBvcnQgY2xhc3MgRXhwb3J0SW52YWxpZEZpbGVFcnJvciBleHRlbmRzIEV4cG9ydEVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0ludmFsaWQgY29udGV4dCcpO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBFeHBvcnRJbnZhbGlkRmlsZUVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEV4cG9ydE5vdGhpbmdUb0V4cG9ydEVycm9yIGV4dGVuZHMgRXhwb3J0RXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignTm90aGluZyB0byBleHBvcnQnKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgRXhwb3J0Tm90aGluZ1RvRXhwb3J0RXJyb3IucHJvdG90eXBlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1leHBvcnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGV4dC9zcmMvbGliL2NvbnRleHQtaW1wb3J0LWV4cG9ydC9zaGFyZWQvY29udGV4dC1leHBvcnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbnlMYXllciB9IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dEV4cG9ydE9wdGlvbnMge1xuICBsYXllcjogQW55TGF5ZXJbXTtcbiAgbmFtZTogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { downloadContent } from '@igo2/utils';
|
|
3
|
-
import { Observable } from 'rxjs';
|
|
4
|
-
import { ExportNothingToExportError } from './context-export.errors';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class ContextExportService {
|
|
7
|
-
export(res) {
|
|
8
|
-
return this.exportAsync(res);
|
|
9
|
-
}
|
|
10
|
-
exportAsync(res) {
|
|
11
|
-
const doExport = (observer) => {
|
|
12
|
-
const nothingToExport = this.nothingToExport(res);
|
|
13
|
-
if (nothingToExport === true) {
|
|
14
|
-
observer.error(new ExportNothingToExportError());
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const contextJSON = JSON.stringify(res);
|
|
18
|
-
downloadContent(contextJSON, 'text/json;charset=utf-8', `${res.uri}.json`);
|
|
19
|
-
observer.complete();
|
|
20
|
-
};
|
|
21
|
-
return new Observable(doExport);
|
|
22
|
-
}
|
|
23
|
-
nothingToExport(res) {
|
|
24
|
-
if (res.map === undefined) {
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextExportService, providedIn: 'root' });
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextExportService, decorators: [{
|
|
33
|
-
type: Injectable,
|
|
34
|
-
args: [{
|
|
35
|
-
providedIn: 'root'
|
|
36
|
-
}]
|
|
37
|
-
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1leHBvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LWltcG9ydC1leHBvcnQvc2hhcmVkL2NvbnRleHQtZXhwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBS3JFLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsTUFBTSxDQUFDLEdBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRVMsV0FBVyxDQUFDLEdBQW9CO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLENBQUMsUUFBd0IsRUFBRSxFQUFFO1lBQzVDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEQsSUFBSSxlQUFlLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQzdCLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSwwQkFBMEIsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QyxlQUFlLENBQ2IsV0FBVyxFQUNYLHlCQUF5QixFQUN6QixHQUFHLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FDbEIsQ0FBQztZQUNGLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUM7UUFDRixPQUFPLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFUyxlQUFlLENBQUMsR0FBb0I7UUFDNUMsSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt3R0E1QlUsb0JBQW9COzRHQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZG93bmxvYWRDb250ZW50IH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEZXRhaWxlZENvbnRleHQgfSBmcm9tICcuLi8uLi9jb250ZXh0LW1hbmFnZXIvc2hhcmVkL2NvbnRleHQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEV4cG9ydE5vdGhpbmdUb0V4cG9ydEVycm9yIH0gZnJvbSAnLi9jb250ZXh0LWV4cG9ydC5lcnJvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0RXhwb3J0U2VydmljZSB7XG4gIGV4cG9ydChyZXM6IERldGFpbGVkQ29udGV4dCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmV4cG9ydEFzeW5jKHJlcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZXhwb3J0QXN5bmMocmVzOiBEZXRhaWxlZENvbnRleHQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBkb0V4cG9ydCA9IChvYnNlcnZlcjogT2JzZXJ2ZXI8dm9pZD4pID0+IHtcbiAgICAgIGNvbnN0IG5vdGhpbmdUb0V4cG9ydCA9IHRoaXMubm90aGluZ1RvRXhwb3J0KHJlcyk7XG4gICAgICBpZiAobm90aGluZ1RvRXhwb3J0ID09PSB0cnVlKSB7XG4gICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBFeHBvcnROb3RoaW5nVG9FeHBvcnRFcnJvcigpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgY29udGV4dEpTT04gPSBKU09OLnN0cmluZ2lmeShyZXMpO1xuICAgICAgZG93bmxvYWRDb250ZW50KFxuICAgICAgICBjb250ZXh0SlNPTixcbiAgICAgICAgJ3RleHQvanNvbjtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgYCR7cmVzLnVyaX0uanNvbmBcbiAgICAgICk7XG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgIH07XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKGRvRXhwb3J0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBub3RoaW5nVG9FeHBvcnQocmVzOiBEZXRhaWxlZENvbnRleHQpOiBib29sZWFuIHtcbiAgICBpZiAocmVzLm1hcCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ExportNothingToExportError } from './context-export.errors';
|
|
2
|
-
export function handleFileExportError(error, messageService) {
|
|
3
|
-
if (error instanceof ExportNothingToExportError) {
|
|
4
|
-
this.handleNothingToExportError(messageService);
|
|
5
|
-
return;
|
|
6
|
-
}
|
|
7
|
-
messageService.error('igo.context.contextImportExport.export.failed.text', 'igo.context.contextImportExport.export.failed.title');
|
|
8
|
-
}
|
|
9
|
-
export function handleFileExportSuccess(messageService) {
|
|
10
|
-
messageService.success('igo.context.contextImportExport.export.success.text', 'igo.context.contextImportExport.export.success.title');
|
|
11
|
-
}
|
|
12
|
-
export function handleNothingToExportError(messageService) {
|
|
13
|
-
messageService.error('igo.context.contextImportExport.export.nothing.text', 'igo.context.contextImportExport.export.nothing.title');
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1leHBvcnQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1pbXBvcnQtZXhwb3J0L3NoYXJlZC9jb250ZXh0LWV4cG9ydC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRSxNQUFNLFVBQVUscUJBQXFCLENBQ25DLEtBQVksRUFDWixjQUE4QjtJQUU5QixJQUFJLEtBQUssWUFBWSwwQkFBMEIsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoRCxPQUFPO0lBQ1QsQ0FBQztJQUNELGNBQWMsQ0FBQyxLQUFLLENBQ2xCLG9EQUFvRCxFQUNwRCxxREFBcUQsQ0FDdEQsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsY0FBOEI7SUFDcEUsY0FBYyxDQUFDLE9BQU8sQ0FDcEIscURBQXFELEVBQ3JELHNEQUFzRCxDQUN2RCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxjQUE4QjtJQUN2RSxjQUFjLENBQUMsS0FBSyxDQUNsQixxREFBcUQsRUFDckQsc0RBQXNELENBQ3ZELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL21lc3NhZ2UnO1xuXG5pbXBvcnQgeyBFeHBvcnROb3RoaW5nVG9FeHBvcnRFcnJvciB9IGZyb20gJy4vY29udGV4dC1leHBvcnQuZXJyb3JzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUZpbGVFeHBvcnRFcnJvcihcbiAgZXJyb3I6IEVycm9yLFxuICBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2Vcbikge1xuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFeHBvcnROb3RoaW5nVG9FeHBvcnRFcnJvcikge1xuICAgIHRoaXMuaGFuZGxlTm90aGluZ1RvRXhwb3J0RXJyb3IobWVzc2FnZVNlcnZpY2UpO1xuICAgIHJldHVybjtcbiAgfVxuICBtZXNzYWdlU2VydmljZS5lcnJvcihcbiAgICAnaWdvLmNvbnRleHQuY29udGV4dEltcG9ydEV4cG9ydC5leHBvcnQuZmFpbGVkLnRleHQnLFxuICAgICdpZ28uY29udGV4dC5jb250ZXh0SW1wb3J0RXhwb3J0LmV4cG9ydC5mYWlsZWQudGl0bGUnXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVGaWxlRXhwb3J0U3VjY2VzcyhtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHtcbiAgbWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcbiAgICAnaWdvLmNvbnRleHQuY29udGV4dEltcG9ydEV4cG9ydC5leHBvcnQuc3VjY2Vzcy50ZXh0JyxcbiAgICAnaWdvLmNvbnRleHQuY29udGV4dEltcG9ydEV4cG9ydC5leHBvcnQuc3VjY2Vzcy50aXRsZSdcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZU5vdGhpbmdUb0V4cG9ydEVycm9yKG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSkge1xuICBtZXNzYWdlU2VydmljZS5lcnJvcihcbiAgICAnaWdvLmNvbnRleHQuY29udGV4dEltcG9ydEV4cG9ydC5leHBvcnQubm90aGluZy50ZXh0JyxcbiAgICAnaWdvLmNvbnRleHQuY29udGV4dEltcG9ydEV4cG9ydC5leHBvcnQubm90aGluZy50aXRsZSdcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export class ImportError extends Error {
|
|
2
|
-
}
|
|
3
|
-
export class ImportInvalidFileError extends ImportError {
|
|
4
|
-
constructor() {
|
|
5
|
-
super('Invalid file');
|
|
6
|
-
Object.setPrototypeOf(this, ImportInvalidFileError.prototype);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export class ImportUnreadableFileError extends ImportError {
|
|
10
|
-
constructor() {
|
|
11
|
-
super('Failed to read file');
|
|
12
|
-
Object.setPrototypeOf(this, ImportUnreadableFileError.prototype);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
export class ImportNothingToImportError extends ImportError {
|
|
16
|
-
constructor() {
|
|
17
|
-
super('Nothing to import');
|
|
18
|
-
Object.setPrototypeOf(this, ImportNothingToImportError.prototype);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export class ImportSizeError extends ImportError {
|
|
22
|
-
constructor() {
|
|
23
|
-
super('File is too large');
|
|
24
|
-
Object.setPrototypeOf(this, ImportNothingToImportError.prototype);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export class ImportSRSError extends ImportError {
|
|
28
|
-
constructor() {
|
|
29
|
-
super('Invalid SRS definition');
|
|
30
|
-
Object.setPrototypeOf(this, ImportNothingToImportError.prototype);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbXBvcnQuZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGV4dC9zcmMvbGliL2NvbnRleHQtaW1wb3J0LWV4cG9ydC9zaGFyZWQvY29udGV4dC1pbXBvcnQuZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFZLFNBQVEsS0FBSztDQUFHO0FBRXpDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxXQUFXO0lBQ3JEO1FBQ0UsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxXQUFXO0lBQ3hEO1FBQ0UsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDN0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUseUJBQXlCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLFdBQVc7SUFDekQ7UUFDRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQzlDO1FBQ0UsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFXO0lBQzdDO1FBQ0UsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEltcG9ydEVycm9yIGV4dGVuZHMgRXJyb3Ige31cblxuZXhwb3J0IGNsYXNzIEltcG9ydEludmFsaWRGaWxlRXJyb3IgZXh0ZW5kcyBJbXBvcnRFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdJbnZhbGlkIGZpbGUnKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSW1wb3J0SW52YWxpZEZpbGVFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yIGV4dGVuZHMgSW1wb3J0RXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignRmFpbGVkIHRvIHJlYWQgZmlsZScpO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEltcG9ydE5vdGhpbmdUb0ltcG9ydEVycm9yIGV4dGVuZHMgSW1wb3J0RXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignTm90aGluZyB0byBpbXBvcnQnKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSW1wb3J0Tm90aGluZ1RvSW1wb3J0RXJyb3IucHJvdG90eXBlKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW1wb3J0U2l6ZUVycm9yIGV4dGVuZHMgSW1wb3J0RXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignRmlsZSBpcyB0b28gbGFyZ2UnKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSW1wb3J0Tm90aGluZ1RvSW1wb3J0RXJyb3IucHJvdG90eXBlKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW1wb3J0U1JTRXJyb3IgZXh0ZW5kcyBJbXBvcnRFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdJbnZhbGlkIFNSUyBkZWZpbml0aW9uJyk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEltcG9ydE5vdGhpbmdUb0ltcG9ydEVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ConfigService } from '@igo2/core/config';
|
|
3
|
-
import { Observable } from 'rxjs';
|
|
4
|
-
import { ImportInvalidFileError, ImportSizeError, ImportUnreadableFileError } from './context-import.errors';
|
|
5
|
-
import { getFileExtension } from './context-import.utils';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@igo2/core/config";
|
|
8
|
-
export class ContextImportService {
|
|
9
|
-
config;
|
|
10
|
-
static allowedMimeTypes = ['application/json'];
|
|
11
|
-
static allowedExtensions = 'json';
|
|
12
|
-
clientSideFileSizeMax;
|
|
13
|
-
constructor(config) {
|
|
14
|
-
this.config = config;
|
|
15
|
-
const configFileSizeMb = this.config.getConfig('importExport.clientSideFileSizeMaxMb');
|
|
16
|
-
this.clientSideFileSizeMax =
|
|
17
|
-
(configFileSizeMb ? configFileSizeMb : 30) * Math.pow(1024, 2);
|
|
18
|
-
}
|
|
19
|
-
import(file) {
|
|
20
|
-
return this.importAsync(file);
|
|
21
|
-
}
|
|
22
|
-
getFileImporter(file) {
|
|
23
|
-
const extension = getFileExtension(file);
|
|
24
|
-
const mimeType = file.type;
|
|
25
|
-
const allowedMimeTypes = [...ContextImportService.allowedMimeTypes];
|
|
26
|
-
const allowedExtensions = ContextImportService.allowedExtensions;
|
|
27
|
-
if (allowedMimeTypes.indexOf(mimeType) < 0 &&
|
|
28
|
-
allowedExtensions.indexOf(extension) < 0) {
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
|
-
else if (mimeType === 'application/json' ||
|
|
32
|
-
extension === ContextImportService.allowedExtensions) {
|
|
33
|
-
return this.importFile;
|
|
34
|
-
}
|
|
35
|
-
return undefined;
|
|
36
|
-
}
|
|
37
|
-
importAsync(file) {
|
|
38
|
-
const doImport = (observer) => {
|
|
39
|
-
if (file.size >= this.clientSideFileSizeMax) {
|
|
40
|
-
observer.error(new ImportSizeError());
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
const importer = this.getFileImporter(file);
|
|
44
|
-
if (importer === undefined) {
|
|
45
|
-
observer.error(new ImportInvalidFileError());
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
importer.call(this, file, observer);
|
|
49
|
-
};
|
|
50
|
-
return new Observable(doImport);
|
|
51
|
-
}
|
|
52
|
-
importFile(file, observer) {
|
|
53
|
-
const reader = new FileReader();
|
|
54
|
-
reader.onload = (event) => {
|
|
55
|
-
try {
|
|
56
|
-
const context = this.parseContextFromFile(file, event.target.result);
|
|
57
|
-
observer.next(context);
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
observer.error(new ImportUnreadableFileError());
|
|
61
|
-
}
|
|
62
|
-
observer.complete();
|
|
63
|
-
};
|
|
64
|
-
reader.onerror = () => {
|
|
65
|
-
observer.error(new ImportUnreadableFileError());
|
|
66
|
-
};
|
|
67
|
-
reader.readAsText(file, 'UTF-8');
|
|
68
|
-
}
|
|
69
|
-
parseContextFromFile(file, data) {
|
|
70
|
-
const context = JSON.parse(data);
|
|
71
|
-
return context;
|
|
72
|
-
}
|
|
73
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextImportService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextImportService, providedIn: 'root' });
|
|
75
|
-
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextImportService, decorators: [{
|
|
77
|
-
type: Injectable,
|
|
78
|
-
args: [{
|
|
79
|
-
providedIn: 'root'
|
|
80
|
-
}]
|
|
81
|
-
}], ctorParameters: () => [{ type: i1.ConfigService }] });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbXBvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LWltcG9ydC1leHBvcnQvc2hhcmVkL2NvbnRleHQtaW1wb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQztBQUc1QyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZix5QkFBeUIsRUFDMUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBSzFELE1BQU0sT0FBTyxvQkFBb0I7SUFPWDtJQU5wQixNQUFNLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRS9DLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7SUFFMUIscUJBQXFCLENBQVM7SUFFdEMsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN2QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUM1QyxzQ0FBc0MsQ0FDdkMsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUI7WUFDeEIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FB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c0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEZXRhaWxlZENvbnRleHQgfSBmcm9tICcuLi8uLi9jb250ZXh0LW1hbmFnZXIvc2hhcmVkL2NvbnRleHQuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEltcG9ydEludmFsaWRGaWxlRXJyb3IsXG4gIEltcG9ydFNpemVFcnJvcixcbiAgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvclxufSBmcm9tICcuL2NvbnRleHQtaW1wb3J0LmVycm9ycyc7XG5pbXBvcnQgeyBnZXRGaWxlRXh0ZW5zaW9uIH0gZnJvbSAnLi9jb250ZXh0LWltcG9ydC51dGlscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbnRleHRJbXBvcnRTZXJ2aWNlIHtcbiAgc3RhdGljIGFsbG93ZWRNaW1lVHlwZXMgPSBbJ2FwcGxpY2F0aW9uL2pzb24nXTtcblxuICBzdGF0aWMgYWxsb3dlZEV4dGVuc2lvbnMgPSAnanNvbic7XG5cbiAgcHJpdmF0ZSBjbGllbnRTaWRlRmlsZVNpemVNYXg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSkge1xuICAgIGNvbnN0IGNvbmZpZ0ZpbGVTaXplTWIgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoXG4gICAgICAnaW1wb3J0RXhwb3J0LmNsaWVudFNpZGVGaWxlU2l6ZU1heE1iJ1xuICAgICk7XG4gICAgdGhpcy5jbGllbnRTaWRlRmlsZVNpemVNYXggPVxuICAgICAgKGNvbmZpZ0ZpbGVTaXplTWIgPyBjb25maWdGaWxlU2l6ZU1iIDogMzApICogTWF0aC5wb3coMTAyNCwgMik7XG4gIH1cblxuICBpbXBvcnQoZmlsZTogRmlsZSk6IE9ic2VydmFibGU8RGV0YWlsZWRDb250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuaW1wb3J0QXN5bmMoZmlsZSk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbGVJbXBvcnRlcihcbiAgICBmaWxlOiBGaWxlXG4gICk6IChcbiAgICBmaWxlOiBGaWxlLFxuICAgIG9ic2VydmVyOiBPYnNlcnZlcjxEZXRhaWxlZENvbnRleHQ+LFxuICAgIHByb2plY3Rpb25Jbjogc3RyaW5nLFxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xuICApID0+IHZvaWQge1xuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGdldEZpbGVFeHRlbnNpb24oZmlsZSk7XG4gICAgY29uc3QgbWltZVR5cGUgPSBmaWxlLnR5cGU7XG4gICAgY29uc3QgYWxsb3dlZE1pbWVUeXBlcyA9IFsuLi5Db250ZXh0SW1wb3J0U2VydmljZS5hbGxvd2VkTWltZVR5cGVzXTtcbiAgICBjb25zdCBhbGxvd2VkRXh0ZW5zaW9ucyA9IENvbnRleHRJbXBvcnRTZXJ2aWNlLmFsbG93ZWRFeHRlbnNpb25zO1xuXG4gICAgaWYgKFxuICAgICAgYWxsb3dlZE1pbWVUeXBlcy5pbmRleE9mKG1pbWVUeXBlKSA8IDAgJiZcbiAgICAgIGFsbG93ZWRFeHRlbnNpb25zLmluZGV4T2YoZXh0ZW5zaW9uKSA8IDBcbiAgICApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIG1pbWVUeXBlID09PSAnYXBwbGljYXRpb24vanNvbicgfHxcbiAgICAgIGV4dGVuc2lvbiA9PT0gQ29udGV4dEltcG9ydFNlcnZpY2UuYWxsb3dlZEV4dGVuc2lvbnNcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLmltcG9ydEZpbGU7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGltcG9ydEFzeW5jKGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPERldGFpbGVkQ29udGV4dD4ge1xuICAgIGNvbnN0IGRvSW1wb3J0ID0gKG9ic2VydmVyOiBPYnNlcnZlcjxEZXRhaWxlZENvbnRleHQ+KSA9PiB7XG4gICAgICBpZiAoZmlsZS5zaXplID49IHRoaXMuY2xpZW50U2lkZUZpbGVTaXplTWF4KSB7XG4gICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRTaXplRXJyb3IoKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGltcG9ydGVyID0gdGhpcy5nZXRGaWxlSW1wb3J0ZXIoZmlsZSk7XG4gICAgICBpZiAoaW1wb3J0ZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0SW52YWxpZEZpbGVFcnJvcigpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpbXBvcnRlci5jYWxsKHRoaXMsIGZpbGUsIG9ic2VydmVyKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKGRvSW1wb3J0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW1wb3J0RmlsZShmaWxlOiBGaWxlLCBvYnNlcnZlcjogT2JzZXJ2ZXI8RGV0YWlsZWRDb250ZXh0Pikge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICByZWFkZXIub25sb2FkID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnBhcnNlQ29udGV4dEZyb21GaWxlKGZpbGUsIGV2ZW50LnRhcmdldC5yZXN1bHQpO1xuICAgICAgICBvYnNlcnZlci5uZXh0KGNvbnRleHQpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yKCkpO1xuICAgICAgfVxuXG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgIH07XG5cbiAgICByZWFkZXIub25lcnJvciA9ICgpID0+IHtcbiAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yKCkpO1xuICAgIH07XG5cbiAgICByZWFkZXIucmVhZEFzVGV4dChmaWxlLCAnVVRGLTgnKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VDb250ZXh0RnJvbUZpbGUoZmlsZTogRmlsZSwgZGF0YTogc3RyaW5nKTogRGV0YWlsZWRDb250ZXh0IHtcbiAgICBjb25zdCBjb250ZXh0OiBEZXRhaWxlZENvbnRleHQgPSBKU09OLnBhcnNlKGRhdGEpO1xuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG59XG4iXX0=
|