@igo2/context 1.14.3 → 1.14.4

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.
Files changed (125) hide show
  1. package/esm2020/igo2-context.mjs +4 -4
  2. package/esm2020/lib/context-import-export/context-import-export/context-import-export.component.mjs +228 -228
  3. package/esm2020/lib/context-import-export/context-import-export.module.mjs +84 -84
  4. package/esm2020/lib/context-import-export/index.mjs +2 -2
  5. package/esm2020/lib/context-import-export/shared/context-export.errors.mjs +14 -14
  6. package/esm2020/lib/context-import-export/shared/context-export.interface.mjs +1 -1
  7. package/esm2020/lib/context-import-export/shared/context-export.service.mjs +37 -37
  8. package/esm2020/lib/context-import-export/shared/context-export.utils.mjs +23 -23
  9. package/esm2020/lib/context-import-export/shared/context-import.errors.mjs +32 -32
  10. package/esm2020/lib/context-import-export/shared/context-import.service.mjs +78 -78
  11. package/esm2020/lib/context-import-export/shared/context-import.utils.mjs +157 -157
  12. package/esm2020/lib/context-import-export/shared/index.mjs +7 -7
  13. package/esm2020/lib/context-manager/context-edit/context-edit-binding.directive.mjs +53 -53
  14. package/esm2020/lib/context-manager/context-edit/context-edit.component.mjs +45 -45
  15. package/esm2020/lib/context-manager/context-edit/index.mjs +2 -2
  16. package/esm2020/lib/context-manager/context-form/context-form.component.mjs +146 -146
  17. package/esm2020/lib/context-manager/context-form/index.mjs +1 -1
  18. package/esm2020/lib/context-manager/context-item/context-item.component.mjs +244 -244
  19. package/esm2020/lib/context-manager/context-item/index.mjs +1 -1
  20. package/esm2020/lib/context-manager/context-list/context-list-binding.directive.mjs +259 -259
  21. package/esm2020/lib/context-manager/context-list/context-list.component.mjs +591 -591
  22. package/esm2020/lib/context-manager/context-list/context-list.enum.mjs +6 -6
  23. package/esm2020/lib/context-manager/context-list/index.mjs +2 -2
  24. package/esm2020/lib/context-manager/context-manager.module.mjs +161 -161
  25. package/esm2020/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +115 -115
  26. package/esm2020/lib/context-manager/context-permissions/context-permissions.component.mjs +305 -305
  27. package/esm2020/lib/context-manager/context-permissions/index.mjs +2 -2
  28. package/esm2020/lib/context-manager/index.mjs +6 -6
  29. package/esm2020/lib/context-manager/shared/context.enum.mjs +12 -12
  30. package/esm2020/lib/context-manager/shared/context.interface.mjs +1 -1
  31. package/esm2020/lib/context-manager/shared/context.service.mjs +628 -628
  32. package/esm2020/lib/context-manager/shared/index.mjs +5 -5
  33. package/esm2020/lib/context-manager/shared/layer-context.directive.mjs +145 -145
  34. package/esm2020/lib/context-manager/shared/map-context.directive.mjs +69 -69
  35. package/esm2020/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +71 -71
  36. package/esm2020/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +49 -49
  37. package/esm2020/lib/context-map-button/bookmark-button/index.mjs +2 -2
  38. package/esm2020/lib/context-map-button/context-map-button.module.mjs +95 -95
  39. package/esm2020/lib/context-map-button/index.mjs +3 -3
  40. package/esm2020/lib/context-map-button/poi-button/index.mjs +3 -3
  41. package/esm2020/lib/context-map-button/poi-button/poi-button.component.mjs +170 -170
  42. package/esm2020/lib/context-map-button/poi-button/poi-dialog.component.mjs +49 -49
  43. package/esm2020/lib/context-map-button/poi-button/shared/index.mjs +2 -2
  44. package/esm2020/lib/context-map-button/poi-button/shared/poi.interface.mjs +1 -1
  45. package/esm2020/lib/context-map-button/poi-button/shared/poi.service.mjs +32 -32
  46. package/esm2020/lib/context-map-button/user-button/index.mjs +2 -2
  47. package/esm2020/lib/context-map-button/user-button/user-button.animation.mjs +16 -16
  48. package/esm2020/lib/context-map-button/user-button/user-button.component.mjs +103 -103
  49. package/esm2020/lib/context-map-button/user-button/user-dialog.component.mjs +65 -65
  50. package/esm2020/lib/context.module.mjs +44 -44
  51. package/esm2020/lib/share-map/index.mjs +4 -4
  52. package/esm2020/lib/share-map/share-map/share-map-api.component.mjs +180 -180
  53. package/esm2020/lib/share-map/share-map/share-map-url.component.mjs +242 -242
  54. package/esm2020/lib/share-map/share-map/share-map.component.mjs +56 -56
  55. package/esm2020/lib/share-map/share-map.module.mjs +66 -66
  56. package/esm2020/lib/share-map/shared/index.mjs +1 -1
  57. package/esm2020/lib/share-map/shared/share-map.service.mjs +209 -209
  58. package/esm2020/lib/sidenav/index.mjs +1 -1
  59. package/esm2020/lib/sidenav/sidenav.component.mjs +169 -169
  60. package/esm2020/lib/sidenav/sidenav.module.mjs +60 -60
  61. package/esm2020/public_api.mjs +14 -14
  62. package/fesm2015/igo2-context.mjs +5035 -5035
  63. package/fesm2020/igo2-context.mjs +4684 -4684
  64. package/index.d.ts +5 -5
  65. package/lib/context-import-export/context-import-export/context-import-export.component.d.ts +45 -45
  66. package/lib/context-import-export/context-import-export.module.d.ts +23 -23
  67. package/lib/context-import-export/index.d.ts +2 -2
  68. package/lib/context-import-export/shared/context-export.errors.d.ts +8 -8
  69. package/lib/context-import-export/shared/context-export.interface.d.ts +5 -5
  70. package/lib/context-import-export/shared/context-export.service.d.ts +10 -10
  71. package/lib/context-import-export/shared/context-export.utils.d.ts +4 -4
  72. package/lib/context-import-export/shared/context-import.errors.d.ts +17 -17
  73. package/lib/context-import-export/shared/context-import.service.d.ts +18 -18
  74. package/lib/context-import-export/shared/context-import.utils.d.ts +17 -17
  75. package/lib/context-import-export/shared/index.d.ts +7 -7
  76. package/lib/context-manager/context-edit/context-edit-binding.directive.d.ts +21 -21
  77. package/lib/context-manager/context-edit/context-edit.component.d.ts +14 -14
  78. package/lib/context-manager/context-edit/index.d.ts +2 -2
  79. package/lib/context-manager/context-form/context-form.component.d.ts +31 -31
  80. package/lib/context-manager/context-form/index.d.ts +1 -1
  81. package/lib/context-manager/context-item/context-item.component.d.ts +32 -32
  82. package/lib/context-manager/context-item/index.d.ts +1 -1
  83. package/lib/context-manager/context-list/context-list-binding.directive.d.ts +46 -46
  84. package/lib/context-manager/context-list/context-list.component.d.ts +93 -93
  85. package/lib/context-manager/context-list/context-list.enum.d.ts +5 -5
  86. package/lib/context-manager/context-list/index.d.ts +2 -2
  87. package/lib/context-manager/context-manager.module.d.ts +37 -37
  88. package/lib/context-manager/context-permissions/context-permissions-binding.directive.d.ts +23 -23
  89. package/lib/context-manager/context-permissions/context-permissions.component.d.ts +40 -40
  90. package/lib/context-manager/context-permissions/index.d.ts +2 -2
  91. package/lib/context-manager/index.d.ts +6 -6
  92. package/lib/context-manager/shared/context.enum.d.ts +10 -10
  93. package/lib/context-manager/shared/context.interface.d.ts +75 -75
  94. package/lib/context-manager/shared/context.service.d.ts +75 -75
  95. package/lib/context-manager/shared/index.d.ts +5 -5
  96. package/lib/context-manager/shared/layer-context.directive.d.ts +27 -27
  97. package/lib/context-manager/shared/map-context.directive.d.ts +19 -19
  98. package/lib/context-map-button/bookmark-button/bookmark-button.component.d.ts +21 -21
  99. package/lib/context-map-button/bookmark-button/bookmark-dialog.component.d.ts +9 -9
  100. package/lib/context-map-button/bookmark-button/index.d.ts +2 -2
  101. package/lib/context-map-button/context-map-button.module.d.ts +27 -27
  102. package/lib/context-map-button/index.d.ts +3 -3
  103. package/lib/context-map-button/poi-button/index.d.ts +3 -3
  104. package/lib/context-map-button/poi-button/poi-button.component.d.ts +34 -34
  105. package/lib/context-map-button/poi-button/poi-dialog.component.d.ts +9 -9
  106. package/lib/context-map-button/poi-button/shared/index.d.ts +2 -2
  107. package/lib/context-map-button/poi-button/shared/poi.interface.d.ts +7 -7
  108. package/lib/context-map-button/poi-button/shared/poi.service.d.ts +16 -16
  109. package/lib/context-map-button/user-button/index.d.ts +2 -2
  110. package/lib/context-map-button/user-button/user-button.animation.d.ts +2 -2
  111. package/lib/context-map-button/user-button/user-button.component.d.ts +25 -25
  112. package/lib/context-map-button/user-button/user-dialog.component.d.ts +15 -15
  113. package/lib/context.module.d.ts +16 -16
  114. package/lib/share-map/index.d.ts +4 -4
  115. package/lib/share-map/share-map/share-map-api.component.d.ts +27 -27
  116. package/lib/share-map/share-map/share-map-url.component.d.ts +26 -26
  117. package/lib/share-map/share-map/share-map.component.d.ts +11 -11
  118. package/lib/share-map/share-map.module.d.ts +21 -21
  119. package/lib/share-map/shared/index.d.ts +1 -1
  120. package/lib/share-map/shared/share-map.service.d.ts +17 -17
  121. package/lib/sidenav/index.d.ts +1 -1
  122. package/lib/sidenav/sidenav.component.d.ts +35 -35
  123. package/lib/sidenav/sidenav.module.d.ts +18 -18
  124. package/package.json +6 -6
  125. package/public_api.d.ts +11 -11
@@ -1,85 +1,85 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatButtonToggleModule } from '@angular/material/button-toggle';
5
- import { MatOptionModule } from '@angular/material/core';
6
- import { MatFormFieldModule } from '@angular/material/form-field';
7
- import { MatDividerModule } from '@angular/material/divider';
8
- import { MatInputModule } from '@angular/material/input';
9
- import { MatSelectModule } from '@angular/material/select';
10
- import { MatCheckboxModule } from '@angular/material/checkbox';
11
- import { MatTabsModule } from '@angular/material/tabs';
12
- import { MatTooltipModule } from '@angular/material/tooltip';
13
- import { IgoLanguageModule } from '@igo2/core';
14
- import { ContextImportExportComponent } from './context-import-export/context-import-export.component';
15
- import { IgoSpinnerModule } from '@igo2/common';
16
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
17
- import * as i0 from "@angular/core";
18
- export class IgoContextImportExportModule {
19
- static forRoot() {
20
- return {
21
- ngModule: IgoContextImportExportModule
22
- };
23
- }
24
- }
25
- IgoContextImportExportModule.ɵfac = function IgoContextImportExportModule_Factory(t) { return new (t || IgoContextImportExportModule)(); };
26
- IgoContextImportExportModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoContextImportExportModule });
27
- IgoContextImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsModule,
28
- ReactiveFormsModule,
29
- CommonModule,
30
- MatButtonModule,
31
- MatButtonToggleModule,
32
- MatDividerModule,
33
- MatTabsModule,
34
- MatSelectModule,
35
- MatOptionModule,
36
- MatFormFieldModule,
37
- MatInputModule,
38
- MatCheckboxModule,
39
- IgoLanguageModule,
40
- IgoSpinnerModule,
41
- MatTooltipModule] });
42
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoContextImportExportModule, [{
43
- type: NgModule,
44
- args: [{
45
- imports: [
46
- FormsModule,
47
- ReactiveFormsModule,
48
- CommonModule,
49
- MatButtonModule,
50
- MatButtonToggleModule,
51
- MatDividerModule,
52
- MatTabsModule,
53
- MatSelectModule,
54
- MatOptionModule,
55
- MatFormFieldModule,
56
- MatInputModule,
57
- MatCheckboxModule,
58
- IgoLanguageModule,
59
- IgoSpinnerModule,
60
- MatTooltipModule,
61
- ],
62
- exports: [
63
- ContextImportExportComponent
64
- ],
65
- declarations: [
66
- ContextImportExportComponent
67
- ]
68
- }]
69
- }], null, null); })();
70
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoContextImportExportModule, { declarations: [ContextImportExportComponent], imports: [FormsModule,
71
- ReactiveFormsModule,
72
- CommonModule,
73
- MatButtonModule,
74
- MatButtonToggleModule,
75
- MatDividerModule,
76
- MatTabsModule,
77
- MatSelectModule,
78
- MatOptionModule,
79
- MatFormFieldModule,
80
- MatInputModule,
81
- MatCheckboxModule,
82
- IgoLanguageModule,
83
- IgoSpinnerModule,
84
- MatTooltipModule], exports: [ContextImportExportComponent] }); })();
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
5
+ import { MatOptionModule } from '@angular/material/core';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatDividerModule } from '@angular/material/divider';
8
+ import { MatInputModule } from '@angular/material/input';
9
+ import { MatSelectModule } from '@angular/material/select';
10
+ import { MatCheckboxModule } from '@angular/material/checkbox';
11
+ import { MatTabsModule } from '@angular/material/tabs';
12
+ import { MatTooltipModule } from '@angular/material/tooltip';
13
+ import { IgoLanguageModule } from '@igo2/core';
14
+ import { ContextImportExportComponent } from './context-import-export/context-import-export.component';
15
+ import { IgoSpinnerModule } from '@igo2/common';
16
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
17
+ import * as i0 from "@angular/core";
18
+ export class IgoContextImportExportModule {
19
+ static forRoot() {
20
+ return {
21
+ ngModule: IgoContextImportExportModule
22
+ };
23
+ }
24
+ }
25
+ IgoContextImportExportModule.ɵfac = function IgoContextImportExportModule_Factory(t) { return new (t || IgoContextImportExportModule)(); };
26
+ IgoContextImportExportModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoContextImportExportModule });
27
+ IgoContextImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsModule,
28
+ ReactiveFormsModule,
29
+ CommonModule,
30
+ MatButtonModule,
31
+ MatButtonToggleModule,
32
+ MatDividerModule,
33
+ MatTabsModule,
34
+ MatSelectModule,
35
+ MatOptionModule,
36
+ MatFormFieldModule,
37
+ MatInputModule,
38
+ MatCheckboxModule,
39
+ IgoLanguageModule,
40
+ IgoSpinnerModule,
41
+ MatTooltipModule] });
42
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoContextImportExportModule, [{
43
+ type: NgModule,
44
+ args: [{
45
+ imports: [
46
+ FormsModule,
47
+ ReactiveFormsModule,
48
+ CommonModule,
49
+ MatButtonModule,
50
+ MatButtonToggleModule,
51
+ MatDividerModule,
52
+ MatTabsModule,
53
+ MatSelectModule,
54
+ MatOptionModule,
55
+ MatFormFieldModule,
56
+ MatInputModule,
57
+ MatCheckboxModule,
58
+ IgoLanguageModule,
59
+ IgoSpinnerModule,
60
+ MatTooltipModule,
61
+ ],
62
+ exports: [
63
+ ContextImportExportComponent
64
+ ],
65
+ declarations: [
66
+ ContextImportExportComponent
67
+ ]
68
+ }]
69
+ }], null, null); })();
70
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoContextImportExportModule, { declarations: [ContextImportExportComponent], imports: [FormsModule,
71
+ ReactiveFormsModule,
72
+ CommonModule,
73
+ MatButtonModule,
74
+ MatButtonToggleModule,
75
+ MatDividerModule,
76
+ MatTabsModule,
77
+ MatSelectModule,
78
+ MatOptionModule,
79
+ MatFormFieldModule,
80
+ MatInputModule,
81
+ MatCheckboxModule,
82
+ IgoLanguageModule,
83
+ IgoSpinnerModule,
84
+ MatTooltipModule], exports: [ContextImportExportComponent] }); })();
85
85
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbXBvcnQtZXhwb3J0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LWltcG9ydC1leHBvcnQvY29udGV4dC1pbXBvcnQtZXhwb3J0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUEyQmxFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLDRCQUE0QjtTQUN2QyxDQUFDO0lBQ0osQ0FBQzs7d0dBTFUsNEJBQTRCOzhFQUE1Qiw0QkFBNEI7a0ZBdkJyQyxXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsZUFBZTtRQUNmLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjt1RkFTUCw0QkFBNEI7Y0F6QnhDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixxQkFBcUI7b0JBQ3JCLGdCQUFnQjtvQkFDaEIsYUFBYTtvQkFDYixlQUFlO29CQUNmLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGlCQUFpQjtvQkFDakIsaUJBQWlCO29CQUNqQixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtpQkFDakI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDRCQUE0QjtpQkFDN0I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLDRCQUE0QjtpQkFDN0I7YUFDRjs7d0ZBQ1ksNEJBQTRCLG1CQUhyQyw0QkFBNEIsYUFwQjVCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixlQUFlO1FBQ2YsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZ0JBQWdCLGFBR2hCLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBDb250ZXh0SW1wb3J0RXhwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250ZXh0LWltcG9ydC1leHBvcnQvY29udGV4dC1pbXBvcnQtZXhwb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ29TcGlubmVyTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXG4gICAgSWdvU3Bpbm5lck1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29udGV4dEltcG9ydEV4cG9ydENvbXBvbmVudFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDb250ZXh0SW1wb3J0RXhwb3J0Q29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvQ29udGV4dEltcG9ydEV4cG9ydE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvQ29udGV4dEltcG9ydEV4cG9ydE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSWdvQ29udGV4dEltcG9ydEV4cG9ydE1vZHVsZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
- export * from './shared';
2
- export * from './context-import-export/context-import-export.component';
1
+ export * from './shared';
2
+ export * from './context-import-export/context-import-export.component';
3
3
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1pbXBvcnQtZXhwb3J0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMseURBQXlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQtaW1wb3J0LWV4cG9ydC9jb250ZXh0LWltcG9ydC1leHBvcnQuY29tcG9uZW50JztcbiJdfQ==
@@ -1,15 +1,15 @@
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
- }
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
15
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1leHBvcnQuZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGV4dC9zcmMvbGliL2NvbnRleHQtaW1wb3J0LWV4cG9ydC9zaGFyZWQvY29udGV4dC1leHBvcnQuZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFZLFNBQVEsS0FBSztDQUFHO0FBRXpDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxXQUFXO0lBQ3JEO1FBQ0UsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDekIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLFdBQVc7SUFDekQ7UUFDRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRXhwb3J0RXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG5leHBvcnQgY2xhc3MgRXhwb3J0SW52YWxpZEZpbGVFcnJvciBleHRlbmRzIEV4cG9ydEVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0ludmFsaWQgY29udGV4dCcpO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBFeHBvcnRJbnZhbGlkRmlsZUVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEV4cG9ydE5vdGhpbmdUb0V4cG9ydEVycm9yIGV4dGVuZHMgRXhwb3J0RXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignTm90aGluZyB0byBleHBvcnQnKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgRXhwb3J0Tm90aGluZ1RvRXhwb3J0RXJyb3IucHJvdG90eXBlKTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1leHBvcnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGV4dC9zcmMvbGliL2NvbnRleHQtaW1wb3J0LWV4cG9ydC9zaGFyZWQvY29udGV4dC1leHBvcnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXllciB9IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dEV4cG9ydE9wdGlvbnMge1xuICBsYXllcjogTGF5ZXJbXTtcbiAgbmFtZTogc3RyaW5nO1xufVxuIl19
@@ -1,38 +1,38 @@
1
- import { Injectable } from '@angular/core';
2
- import { downloadContent } from '@igo2/utils';
3
- import { ExportNothingToExportError } from './context-export.errors';
4
- import { Observable } from 'rxjs';
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
- }
30
- ContextExportService.ɵfac = function ContextExportService_Factory(t) { return new (t || ContextExportService)(); };
31
- ContextExportService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ContextExportService, factory: ContextExportService.ɵfac, providedIn: 'root' });
32
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextExportService, [{
33
- type: Injectable,
34
- args: [{
35
- providedIn: 'root'
36
- }]
37
- }], null, null); })();
1
+ import { Injectable } from '@angular/core';
2
+ import { downloadContent } from '@igo2/utils';
3
+ import { ExportNothingToExportError } from './context-export.errors';
4
+ import { Observable } from 'rxjs';
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
+ }
30
+ ContextExportService.ɵfac = function ContextExportService_Factory(t) { return new (t || ContextExportService)(); };
31
+ ContextExportService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ContextExportService, factory: ContextExportService.ɵfac, providedIn: 'root' });
32
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextExportService, [{
33
+ type: Injectable,
34
+ args: [{
35
+ providedIn: 'root'
36
+ }]
37
+ }], null, null); })();
38
38
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1leHBvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LWltcG9ydC1leHBvcnQvc2hhcmVkL2NvbnRleHQtZXhwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzlDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBWSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzVDLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsTUFBTSxDQUFDLEdBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRVMsV0FBVyxDQUFDLEdBQW9CO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLENBQUMsUUFBd0IsRUFBRSxFQUFFO1lBQzFDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEQsSUFBSSxlQUFlLEtBQUssSUFBSSxFQUFFO2dCQUMxQixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksMEJBQTBCLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRCxPQUFPO2FBQ1Y7WUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLGVBQWUsQ0FBQyxXQUFXLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztZQUMzRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRVMsZUFBZSxDQUFDLEdBQW9CO1FBQzVDLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7d0ZBekJVLG9CQUFvQjswRUFBcEIsb0JBQW9CLFdBQXBCLG9CQUFvQixtQkFGbkIsTUFBTTt1RkFFUCxvQkFBb0I7Y0FIaEMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBkb3dubG9hZENvbnRlbnQgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7IERldGFpbGVkQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvY29udGV4dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXhwb3J0Tm90aGluZ1RvRXhwb3J0RXJyb3IgfSBmcm9tICcuL2NvbnRleHQtZXhwb3J0LmVycm9ycyc7XG5pbXBvcnQgeyBPYnNlcnZlciwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0RXhwb3J0U2VydmljZSB7XG5cbiAgZXhwb3J0KHJlczogRGV0YWlsZWRDb250ZXh0KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZXhwb3J0QXN5bmMocmVzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBleHBvcnRBc3luYyhyZXM6IERldGFpbGVkQ29udGV4dCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IGRvRXhwb3J0ID0gKG9ic2VydmVyOiBPYnNlcnZlcjx2b2lkPikgPT4ge1xuICAgICAgICBjb25zdCBub3RoaW5nVG9FeHBvcnQgPSB0aGlzLm5vdGhpbmdUb0V4cG9ydChyZXMpO1xuICAgICAgICBpZiAobm90aGluZ1RvRXhwb3J0ID09PSB0cnVlKSB7XG4gICAgICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgRXhwb3J0Tm90aGluZ1RvRXhwb3J0RXJyb3IoKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29udGV4dEpTT04gPSBKU09OLnN0cmluZ2lmeShyZXMpO1xuICAgICAgICBkb3dubG9hZENvbnRlbnQoY29udGV4dEpTT04sICd0ZXh0L2pzb247Y2hhcnNldD11dGYtOCcsIGAke3Jlcy51cml9Lmpzb25gKTtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICB9O1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShkb0V4cG9ydCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbm90aGluZ1RvRXhwb3J0KHJlczogRGV0YWlsZWRDb250ZXh0KTogYm9vbGVhbiB7XG4gICAgaWYgKHJlcy5tYXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -1,24 +1,24 @@
1
- import { ExportNothingToExportError } from './context-export.errors';
2
- export function handleFileExportError(error, messageService, languageService) {
3
- if (error instanceof ExportNothingToExportError) {
4
- this.handleNothingToExportError(messageService, languageService);
5
- return;
6
- }
7
- const translate = languageService.translate;
8
- const title = translate.instant('igo.context.contextImportExport.export.failed.title');
9
- const message = translate.instant('igo.context.contextImportExport.export.failed.text');
10
- messageService.error(message, title);
11
- }
12
- export function handleFileExportSuccess(messageService, languageService) {
13
- const translate = languageService.translate;
14
- const title = translate.instant('igo.context.contextImportExport.export.success.title');
15
- const message = translate.instant('igo.context.contextImportExport.export.success.text');
16
- messageService.success(message, title);
17
- }
18
- export function handleNothingToExportError(messageService, languageService) {
19
- const translate = languageService.translate;
20
- const title = translate.instant('igo.context.contextImportExport.export.nothing.title');
21
- const message = translate.instant('igo.context.contextImportExport.export.nothing.text');
22
- messageService.error(message, title);
23
- }
1
+ import { ExportNothingToExportError } from './context-export.errors';
2
+ export function handleFileExportError(error, messageService, languageService) {
3
+ if (error instanceof ExportNothingToExportError) {
4
+ this.handleNothingToExportError(messageService, languageService);
5
+ return;
6
+ }
7
+ const translate = languageService.translate;
8
+ const title = translate.instant('igo.context.contextImportExport.export.failed.title');
9
+ const message = translate.instant('igo.context.contextImportExport.export.failed.text');
10
+ messageService.error(message, title);
11
+ }
12
+ export function handleFileExportSuccess(messageService, languageService) {
13
+ const translate = languageService.translate;
14
+ const title = translate.instant('igo.context.contextImportExport.export.success.title');
15
+ const message = translate.instant('igo.context.contextImportExport.export.success.text');
16
+ messageService.success(message, title);
17
+ }
18
+ export function handleNothingToExportError(messageService, languageService) {
19
+ const translate = languageService.translate;
20
+ const title = translate.instant('igo.context.contextImportExport.export.nothing.title');
21
+ const message = translate.instant('igo.context.contextImportExport.export.nothing.text');
22
+ messageService.error(message, title);
23
+ }
24
24
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1leHBvcnQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1pbXBvcnQtZXhwb3J0L3NoYXJlZC9jb250ZXh0LWV4cG9ydC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRSxNQUFNLFVBQVUscUJBQXFCLENBQ2pDLEtBQVksRUFDWixjQUE4QixFQUM5QixlQUFnQztJQUVoQyxJQUFJLEtBQUssWUFBWSwwQkFBMEIsRUFBRTtRQUMvQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ2pFLE9BQU87S0FDUjtJQUNELE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUM7SUFDNUMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0lBQ3ZGLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0RBQW9ELENBQUMsQ0FBQztJQUN4RixjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxjQUE4QixFQUM5QixlQUFnQztJQUVoQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0RBQXNELENBQUMsQ0FBQztJQUN4RixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7SUFDekYsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FDdEMsY0FBOEIsRUFDOUIsZUFBZ0M7SUFFaEMsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUM1QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7SUFDeEYsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0lBQ3pGLGNBQWMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBFeHBvcnROb3RoaW5nVG9FeHBvcnRFcnJvciB9IGZyb20gJy4vY29udGV4dC1leHBvcnQuZXJyb3JzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUZpbGVFeHBvcnRFcnJvcihcbiAgICBlcnJvcjogRXJyb3IsXG4gICAgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlXG4gICkge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEV4cG9ydE5vdGhpbmdUb0V4cG9ydEVycm9yKSB7XG4gICAgICB0aGlzLmhhbmRsZU5vdGhpbmdUb0V4cG9ydEVycm9yKG1lc3NhZ2VTZXJ2aWNlLCBsYW5ndWFnZVNlcnZpY2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0cmFuc2xhdGUgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xuICAgIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5jb250ZXh0LmNvbnRleHRJbXBvcnRFeHBvcnQuZXhwb3J0LmZhaWxlZC50aXRsZScpO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmNvbnRleHQuY29udGV4dEltcG9ydEV4cG9ydC5leHBvcnQuZmFpbGVkLnRleHQnKTtcbiAgICBtZXNzYWdlU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVGaWxlRXhwb3J0U3VjY2VzcyhcbiAgICBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcbiAgKSB7XG4gICAgY29uc3QgdHJhbnNsYXRlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcbiAgICBjb25zdCB0aXRsZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uY29udGV4dC5jb250ZXh0SW1wb3J0RXhwb3J0LmV4cG9ydC5zdWNjZXNzLnRpdGxlJyk7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uY29udGV4dC5jb250ZXh0SW1wb3J0RXhwb3J0LmV4cG9ydC5zdWNjZXNzLnRleHQnKTtcbiAgICBtZXNzYWdlU2VydmljZS5zdWNjZXNzKG1lc3NhZ2UsIHRpdGxlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZU5vdGhpbmdUb0V4cG9ydEVycm9yKFxuICAgIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxuICApIHtcbiAgICBjb25zdCB0cmFuc2xhdGUgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xuICAgIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5jb250ZXh0LmNvbnRleHRJbXBvcnRFeHBvcnQuZXhwb3J0Lm5vdGhpbmcudGl0bGUnKTtcbiAgICBjb25zdCBtZXNzYWdlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5jb250ZXh0LmNvbnRleHRJbXBvcnRFeHBvcnQuZXhwb3J0Lm5vdGhpbmcudGV4dCcpO1xuICAgIG1lc3NhZ2VTZXJ2aWNlLmVycm9yKG1lc3NhZ2UsIHRpdGxlKTtcbn1cbiJdfQ==
@@ -1,33 +1,33 @@
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
- }
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
33
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbXBvcnQuZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGV4dC9zcmMvbGliL2NvbnRleHQtaW1wb3J0LWV4cG9ydC9zaGFyZWQvY29udGV4dC1pbXBvcnQuZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFZLFNBQVEsS0FBSztDQUFHO0FBRXpDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxXQUFXO0lBQ3JEO1FBQ0UsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxXQUFXO0lBQ3hEO1FBQ0ksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDN0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUseUJBQXlCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLFdBQVc7SUFDekQ7UUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQzlDO1FBQ0ksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFXO0lBQzdDO1FBQ0ksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEltcG9ydEVycm9yIGV4dGVuZHMgRXJyb3Ige31cblxuZXhwb3J0IGNsYXNzIEltcG9ydEludmFsaWRGaWxlRXJyb3IgZXh0ZW5kcyBJbXBvcnRFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdJbnZhbGlkIGZpbGUnKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSW1wb3J0SW52YWxpZEZpbGVFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yIGV4dGVuZHMgSW1wb3J0RXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCdGYWlsZWQgdG8gcmVhZCBmaWxlJyk7XG4gICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbXBvcnROb3RoaW5nVG9JbXBvcnRFcnJvciBleHRlbmRzIEltcG9ydEVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcignTm90aGluZyB0byBpbXBvcnQnKTtcbiAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBJbXBvcnROb3RoaW5nVG9JbXBvcnRFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbXBvcnRTaXplRXJyb3IgZXh0ZW5kcyBJbXBvcnRFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoJ0ZpbGUgaXMgdG9vIGxhcmdlJyk7XG4gICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSW1wb3J0Tm90aGluZ1RvSW1wb3J0RXJyb3IucHJvdG90eXBlKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW1wb3J0U1JTRXJyb3IgZXh0ZW5kcyBJbXBvcnRFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoJ0ludmFsaWQgU1JTIGRlZmluaXRpb24nKTtcbiAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBJbXBvcnROb3RoaW5nVG9JbXBvcnRFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG4iXX0=
@@ -1,79 +1,79 @@
1
- import { Injectable } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { ImportInvalidFileError, ImportUnreadableFileError, ImportSizeError } from './context-import.errors';
4
- import { getFileExtension } from './context-import.utils';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@igo2/core";
7
- export class ContextImportService {
8
- constructor(config) {
9
- this.config = config;
10
- const configFileSizeMb = this.config.getConfig('importExport.clientSideFileSizeMaxMb');
11
- this.clientSideFileSizeMax =
12
- (configFileSizeMb ? configFileSizeMb : 30) * Math.pow(1024, 2);
13
- }
14
- import(file) {
15
- return this.importAsync(file);
16
- }
17
- getFileImporter(file) {
18
- const extension = getFileExtension(file);
19
- const mimeType = file.type;
20
- const allowedMimeTypes = [...ContextImportService.allowedMimeTypes];
21
- const allowedExtensions = ContextImportService.allowedExtensions;
22
- if (allowedMimeTypes.indexOf(mimeType) < 0 &&
23
- allowedExtensions.indexOf(extension) < 0) {
24
- return undefined;
25
- }
26
- else if (mimeType === 'application/json' ||
27
- extension === ContextImportService.allowedExtensions) {
28
- return this.importFile;
29
- }
30
- return undefined;
31
- }
32
- importAsync(file) {
33
- const doImport = (observer) => {
34
- if (file.size >= this.clientSideFileSizeMax) {
35
- observer.error(new ImportSizeError());
36
- return;
37
- }
38
- const importer = this.getFileImporter(file);
39
- if (importer === undefined) {
40
- observer.error(new ImportInvalidFileError());
41
- return;
42
- }
43
- importer.call(this, file, observer);
44
- };
45
- return new Observable(doImport);
46
- }
47
- importFile(file, observer) {
48
- const reader = new FileReader();
49
- reader.onload = (event) => {
50
- try {
51
- const context = this.parseContextFromFile(file, event.target.result);
52
- observer.next(context);
53
- }
54
- catch (e) {
55
- observer.error(new ImportUnreadableFileError());
56
- }
57
- observer.complete();
58
- };
59
- reader.onerror = (evt) => {
60
- observer.error(new ImportUnreadableFileError());
61
- };
62
- reader.readAsText(file, 'UTF-8');
63
- }
64
- parseContextFromFile(file, data) {
65
- const context = JSON.parse(data);
66
- return context;
67
- }
68
- }
69
- ContextImportService.allowedMimeTypes = ['application/json'];
70
- ContextImportService.allowedExtensions = 'json';
71
- ContextImportService.ɵfac = function ContextImportService_Factory(t) { return new (t || ContextImportService)(i0.ɵɵinject(i1.ConfigService)); };
72
- ContextImportService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ContextImportService, factory: ContextImportService.ɵfac, providedIn: 'root' });
73
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextImportService, [{
74
- type: Injectable,
75
- args: [{
76
- providedIn: 'root'
77
- }]
78
- }], function () { return [{ type: i1.ConfigService }]; }, null); })();
1
+ import { Injectable } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { ImportInvalidFileError, ImportUnreadableFileError, ImportSizeError } from './context-import.errors';
4
+ import { getFileExtension } from './context-import.utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@igo2/core";
7
+ export class ContextImportService {
8
+ constructor(config) {
9
+ this.config = config;
10
+ const configFileSizeMb = this.config.getConfig('importExport.clientSideFileSizeMaxMb');
11
+ this.clientSideFileSizeMax =
12
+ (configFileSizeMb ? configFileSizeMb : 30) * Math.pow(1024, 2);
13
+ }
14
+ import(file) {
15
+ return this.importAsync(file);
16
+ }
17
+ getFileImporter(file) {
18
+ const extension = getFileExtension(file);
19
+ const mimeType = file.type;
20
+ const allowedMimeTypes = [...ContextImportService.allowedMimeTypes];
21
+ const allowedExtensions = ContextImportService.allowedExtensions;
22
+ if (allowedMimeTypes.indexOf(mimeType) < 0 &&
23
+ allowedExtensions.indexOf(extension) < 0) {
24
+ return undefined;
25
+ }
26
+ else if (mimeType === 'application/json' ||
27
+ extension === ContextImportService.allowedExtensions) {
28
+ return this.importFile;
29
+ }
30
+ return undefined;
31
+ }
32
+ importAsync(file) {
33
+ const doImport = (observer) => {
34
+ if (file.size >= this.clientSideFileSizeMax) {
35
+ observer.error(new ImportSizeError());
36
+ return;
37
+ }
38
+ const importer = this.getFileImporter(file);
39
+ if (importer === undefined) {
40
+ observer.error(new ImportInvalidFileError());
41
+ return;
42
+ }
43
+ importer.call(this, file, observer);
44
+ };
45
+ return new Observable(doImport);
46
+ }
47
+ importFile(file, observer) {
48
+ const reader = new FileReader();
49
+ reader.onload = (event) => {
50
+ try {
51
+ const context = this.parseContextFromFile(file, event.target.result);
52
+ observer.next(context);
53
+ }
54
+ catch (e) {
55
+ observer.error(new ImportUnreadableFileError());
56
+ }
57
+ observer.complete();
58
+ };
59
+ reader.onerror = (evt) => {
60
+ observer.error(new ImportUnreadableFileError());
61
+ };
62
+ reader.readAsText(file, 'UTF-8');
63
+ }
64
+ parseContextFromFile(file, data) {
65
+ const context = JSON.parse(data);
66
+ return context;
67
+ }
68
+ }
69
+ ContextImportService.allowedMimeTypes = ['application/json'];
70
+ ContextImportService.allowedExtensions = 'json';
71
+ ContextImportService.ɵfac = function ContextImportService_Factory(t) { return new (t || ContextImportService)(i0.ɵɵinject(i1.ConfigService)); };
72
+ ContextImportService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ContextImportService, factory: ContextImportService.ɵfac, providedIn: 'root' });
73
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextImportService, [{
74
+ type: Injectable,
75
+ args: [{
76
+ providedIn: 'root'
77
+ }]
78
+ }], function () { return [{ type: i1.ConfigService }]; }, null); })();
79
79
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbXBvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LWltcG9ydC1leHBvcnQvc2hhcmVkL2NvbnRleHQtaW1wb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIseUJBQXlCLEVBQ3pCLGVBQWUsRUFDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBTTFELE1BQU0sT0FBTyxvQkFBb0I7SUFPL0IsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN2QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUM1QyxzQ0FBc0MsQ0FDdkMsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUI7WUFDeEIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sZUFBZSxDQUNyQixJQUFVO1FBT1YsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsaUJBQWlCLENBQUM7UUFFakUsSUFDRSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUN0QyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUN4QztZQUNBLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO2FBQU0sSUFDTCxRQUFRLEtBQUssa0JBQWtCO1lBQy9CLFNBQVMsS0FBSyxvQkFBb0IsQ0FBQyxpQkFBaUIsRUFDcEQ7WUFDQSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDeEI7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU8sV0FBVyxDQUFDLElBQVU7UUFDNUIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFtQyxFQUFFLEVBQUU7WUFDdkQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDM0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0JBQ3RDLE9BQU87YUFDUjtZQUNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFO2dCQUMxQixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO2dCQUM3QyxPQUFPO2FBQ1I7WUFFRCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDO1FBRUYsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVUsRUFBRSxRQUFtQztRQUNoRSxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRWhDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUM3QixJQUFJO2dCQUNGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDckUsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN4QjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7YUFDakQ7WUFFRCxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDO1FBRUYsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3ZCLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDO1FBRUYsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLG9CQUFvQixDQUFDLElBQVUsRUFBRSxJQUFZO1FBQ25ELE1BQU0sT0FBTyxHQUFvQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7O0FBdkZNLHFDQUFnQixHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUV4QyxzQ0FBaUIsR0FBRyxNQUFNLENBQUM7d0ZBSHZCLG9CQUFvQjswRUFBcEIsb0JBQW9CLFdBQXBCLG9CQUFvQixtQkFGbkIsTUFBTTt1RkFFUCxvQkFBb0I7Y0FIaEMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuaW1wb3J0IHtcbiAgSW1wb3J0SW52YWxpZEZpbGVFcnJvcixcbiAgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvcixcbiAgSW1wb3J0U2l6ZUVycm9yXG59IGZyb20gJy4vY29udGV4dC1pbXBvcnQuZXJyb3JzJztcbmltcG9ydCB7IGdldEZpbGVFeHRlbnNpb24gfSBmcm9tICcuL2NvbnRleHQtaW1wb3J0LnV0aWxzJztcbmltcG9ydCB7IERldGFpbGVkQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvY29udGV4dC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0SW1wb3J0U2VydmljZSB7XG4gIHN0YXRpYyBhbGxvd2VkTWltZVR5cGVzID0gWydhcHBsaWNhdGlvbi9qc29uJ107XG5cbiAgc3RhdGljIGFsbG93ZWRFeHRlbnNpb25zID0gJ2pzb24nO1xuXG4gIHByaXZhdGUgY2xpZW50U2lkZUZpbGVTaXplTWF4OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UpIHtcbiAgICBjb25zdCBjb25maWdGaWxlU2l6ZU1iID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKFxuICAgICAgJ2ltcG9ydEV4cG9ydC5jbGllbnRTaWRlRmlsZVNpemVNYXhNYidcbiAgICApO1xuICAgIHRoaXMuY2xpZW50U2lkZUZpbGVTaXplTWF4ID1cbiAgICAgIChjb25maWdGaWxlU2l6ZU1iID8gY29uZmlnRmlsZVNpemVNYiA6IDMwKSAqIE1hdGgucG93KDEwMjQsIDIpO1xuICB9XG5cbiAgaW1wb3J0KGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPERldGFpbGVkQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLmltcG9ydEFzeW5jKGZpbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWxlSW1wb3J0ZXIoXG4gICAgZmlsZTogRmlsZVxuICApOiAoXG4gICAgZmlsZTogRmlsZSxcbiAgICBvYnNlcnZlcjogT2JzZXJ2ZXI8RGV0YWlsZWRDb250ZXh0PixcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcbiAgICBwcm9qZWN0aW9uT3V0OiBzdHJpbmdcbiAgKSA9PiB2b2lkIHtcbiAgICBjb25zdCBleHRlbnNpb24gPSBnZXRGaWxlRXh0ZW5zaW9uKGZpbGUpO1xuICAgIGNvbnN0IG1pbWVUeXBlID0gZmlsZS50eXBlO1xuICAgIGNvbnN0IGFsbG93ZWRNaW1lVHlwZXMgPSBbLi4uQ29udGV4dEltcG9ydFNlcnZpY2UuYWxsb3dlZE1pbWVUeXBlc107XG4gICAgY29uc3QgYWxsb3dlZEV4dGVuc2lvbnMgPSBDb250ZXh0SW1wb3J0U2VydmljZS5hbGxvd2VkRXh0ZW5zaW9ucztcblxuICAgIGlmIChcbiAgICAgIGFsbG93ZWRNaW1lVHlwZXMuaW5kZXhPZihtaW1lVHlwZSkgPCAwICYmXG4gICAgICBhbGxvd2VkRXh0ZW5zaW9ucy5pbmRleE9mKGV4dGVuc2lvbikgPCAwXG4gICAgKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBtaW1lVHlwZSA9PT0gJ2FwcGxpY2F0aW9uL2pzb24nIHx8XG4gICAgICBleHRlbnNpb24gPT09IENvbnRleHRJbXBvcnRTZXJ2aWNlLmFsbG93ZWRFeHRlbnNpb25zXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbXBvcnRGaWxlO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBpbXBvcnRBc3luYyhmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxEZXRhaWxlZENvbnRleHQ+IHtcbiAgICBjb25zdCBkb0ltcG9ydCA9IChvYnNlcnZlcjogT2JzZXJ2ZXI8RGV0YWlsZWRDb250ZXh0PikgPT4ge1xuICAgICAgaWYgKGZpbGUuc2l6ZSA+PSB0aGlzLmNsaWVudFNpZGVGaWxlU2l6ZU1heCkge1xuICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0U2l6ZUVycm9yKCkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBpbXBvcnRlciA9IHRoaXMuZ2V0RmlsZUltcG9ydGVyKGZpbGUpO1xuICAgICAgaWYgKGltcG9ydGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydEludmFsaWRGaWxlRXJyb3IoKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaW1wb3J0ZXIuY2FsbCh0aGlzLCBmaWxlLCBvYnNlcnZlcik7XG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShkb0ltcG9ydCk7XG4gIH1cblxuICBwcml2YXRlIGltcG9ydEZpbGUoZmlsZTogRmlsZSwgb2JzZXJ2ZXI6IE9ic2VydmVyPERldGFpbGVkQ29udGV4dD4pIHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgcmVhZGVyLm9ubG9hZCA9IChldmVudDogYW55KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5wYXJzZUNvbnRleHRGcm9tRmlsZShmaWxlLCBldmVudC50YXJnZXQucmVzdWx0KTtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChjb250ZXh0KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3IoKSk7XG4gICAgICB9XG5cbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgfTtcblxuICAgIHJlYWRlci5vbmVycm9yID0gKGV2dCkgPT4ge1xuICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3IoKSk7XG4gICAgfTtcblxuICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUsICdVVEYtOCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUNvbnRleHRGcm9tRmlsZShmaWxlOiBGaWxlLCBkYXRhOiBzdHJpbmcpOiBEZXRhaWxlZENvbnRleHQge1xuICAgIGNvbnN0IGNvbnRleHQ6IERldGFpbGVkQ29udGV4dCA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cbn1cbiJdfQ==