@igo2/context 1.12.0 → 1.13.0-alpha.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.
Files changed (102) hide show
  1. package/{esm2015/igo2-context.js → esm2020/igo2-context.mjs} +0 -0
  2. package/esm2020/lib/context-import-export/context-import-export/context-import-export.component.mjs +229 -0
  3. package/{esm2015/lib/context-import-export/context-import-export.module.js → esm2020/lib/context-import-export/context-import-export.module.mjs} +16 -18
  4. package/{esm2015/lib/context-import-export/index.js → esm2020/lib/context-import-export/index.mjs} +0 -0
  5. package/{esm2015/lib/context-import-export/shared/context-export.errors.js → esm2020/lib/context-import-export/shared/context-export.errors.mjs} +0 -0
  6. package/{esm2015/lib/context-import-export/shared/context-export.interface.js → esm2020/lib/context-import-export/shared/context-export.interface.mjs} +0 -0
  7. package/{esm2015/lib/context-import-export/shared/context-export.service.js → esm2020/lib/context-import-export/shared/context-export.service.mjs} +0 -0
  8. package/{esm2015/lib/context-import-export/shared/context-export.utils.js → esm2020/lib/context-import-export/shared/context-export.utils.mjs} +0 -0
  9. package/{esm2015/lib/context-import-export/shared/context-import.errors.js → esm2020/lib/context-import-export/shared/context-import.errors.mjs} +0 -0
  10. package/{esm2015/lib/context-import-export/shared/context-import.service.js → esm2020/lib/context-import-export/shared/context-import.service.mjs} +0 -0
  11. package/{esm2015/lib/context-import-export/shared/context-import.utils.js → esm2020/lib/context-import-export/shared/context-import.utils.mjs} +0 -0
  12. package/{esm2015/lib/context-import-export/shared/index.js → esm2020/lib/context-import-export/shared/index.mjs} +0 -0
  13. package/{esm2015/lib/context-manager/context-edit/context-edit-binding.directive.js → esm2020/lib/context-manager/context-edit/context-edit-binding.directive.mjs} +0 -0
  14. package/{esm2015/lib/context-manager/context-edit/context-edit.component.js → esm2020/lib/context-manager/context-edit/context-edit.component.mjs} +4 -7
  15. package/{esm2015/lib/context-manager/context-edit/index.js → esm2020/lib/context-manager/context-edit/index.mjs} +0 -0
  16. package/{esm2015/lib/context-manager/context-form/context-form.component.js → esm2020/lib/context-manager/context-form/context-form.component.mjs} +13 -22
  17. package/{esm2015/lib/context-manager/context-form/index.js → esm2020/lib/context-manager/context-form/index.mjs} +0 -0
  18. package/esm2020/lib/context-manager/context-item/context-item.component.mjs +245 -0
  19. package/{esm2015/lib/context-manager/context-item/index.js → esm2020/lib/context-manager/context-item/index.mjs} +0 -0
  20. package/{esm2015/lib/context-manager/context-list/context-list-binding.directive.js → esm2020/lib/context-manager/context-list/context-list-binding.directive.mjs} +0 -0
  21. package/esm2020/lib/context-manager/context-list/context-list.component.mjs +592 -0
  22. package/{esm2015/lib/context-manager/context-list/context-list.enum.js → esm2020/lib/context-manager/context-list/context-list.enum.mjs} +0 -0
  23. package/{esm2015/lib/context-manager/context-list/index.js → esm2020/lib/context-manager/context-list/index.mjs} +0 -0
  24. package/{esm2015/lib/context-manager/context-manager.module.js → esm2020/lib/context-manager/context-manager.module.mjs} +25 -27
  25. package/{esm2015/lib/context-manager/context-permissions/context-permissions-binding.directive.js → esm2020/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs} +0 -0
  26. package/esm2020/lib/context-manager/context-permissions/context-permissions.component.mjs +306 -0
  27. package/{esm2015/lib/context-manager/context-permissions/index.js → esm2020/lib/context-manager/context-permissions/index.mjs} +0 -0
  28. package/{esm2015/lib/context-manager/index.js → esm2020/lib/context-manager/index.mjs} +0 -0
  29. package/{esm2015/lib/context-manager/shared/context.enum.js → esm2020/lib/context-manager/shared/context.enum.mjs} +0 -0
  30. package/{esm2015/lib/context-manager/shared/context.interface.js → esm2020/lib/context-manager/shared/context.interface.mjs} +0 -0
  31. package/{esm2015/lib/context-manager/shared/context.service.js → esm2020/lib/context-manager/shared/context.service.mjs} +0 -0
  32. package/{esm2015/lib/context-manager/shared/index.js → esm2020/lib/context-manager/shared/index.mjs} +0 -0
  33. package/{esm2015/lib/context-manager/shared/layer-context.directive.js → esm2020/lib/context-manager/shared/layer-context.directive.mjs} +0 -0
  34. package/{esm2015/lib/context-manager/shared/map-context.directive.js → esm2020/lib/context-manager/shared/map-context.directive.mjs} +0 -0
  35. package/{esm2015/lib/context-map-button/bookmark-button/bookmark-button.component.js → esm2020/lib/context-map-button/bookmark-button/bookmark-button.component.mjs} +8 -14
  36. package/esm2020/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +50 -0
  37. package/{esm2015/lib/context-map-button/bookmark-button/index.js → esm2020/lib/context-map-button/bookmark-button/index.mjs} +0 -0
  38. package/{esm2015/lib/context-map-button/context-map-button.module.js → esm2020/lib/context-map-button/context-map-button.module.mjs} +15 -17
  39. package/{esm2015/lib/context-map-button/index.js → esm2020/lib/context-map-button/index.mjs} +0 -0
  40. package/{esm2015/lib/context-map-button/poi-button/index.js → esm2020/lib/context-map-button/poi-button/index.mjs} +0 -0
  41. package/esm2020/lib/context-map-button/poi-button/poi-button.component.mjs +171 -0
  42. package/esm2020/lib/context-map-button/poi-button/poi-dialog.component.mjs +50 -0
  43. package/{esm2015/lib/context-map-button/poi-button/shared/index.js → esm2020/lib/context-map-button/poi-button/shared/index.mjs} +0 -0
  44. package/{esm2015/lib/context-map-button/poi-button/shared/poi.interface.js → esm2020/lib/context-map-button/poi-button/shared/poi.interface.mjs} +0 -0
  45. package/{esm2015/lib/context-map-button/poi-button/shared/poi.service.js → esm2020/lib/context-map-button/poi-button/shared/poi.service.mjs} +0 -0
  46. package/{esm2015/lib/context-map-button/user-button/index.js → esm2020/lib/context-map-button/user-button/index.mjs} +0 -0
  47. package/{esm2015/lib/context-map-button/user-button/user-button.animation.js → esm2020/lib/context-map-button/user-button/user-button.animation.mjs} +0 -0
  48. package/esm2020/lib/context-map-button/user-button/user-button.component.mjs +104 -0
  49. package/{esm2015/lib/context-map-button/user-button/user-dialog.component.js → esm2020/lib/context-map-button/user-button/user-dialog.component.mjs} +6 -12
  50. package/{esm2015/lib/context.module.js → esm2020/lib/context.module.mjs} +2 -2
  51. package/{esm2015/lib/share-map/index.js → esm2020/lib/share-map/index.mjs} +0 -0
  52. package/{esm2015/lib/share-map/share-map/share-map-api.component.js → esm2020/lib/share-map/share-map/share-map-api.component.mjs} +18 -31
  53. package/{esm2015/lib/share-map/share-map/share-map-url.component.js → esm2020/lib/share-map/share-map/share-map-url.component.mjs} +13 -23
  54. package/esm2020/lib/share-map/share-map/share-map.component.mjs +57 -0
  55. package/{esm2015/lib/share-map/share-map.module.js → esm2020/lib/share-map/share-map.module.mjs} +11 -13
  56. package/{esm2015/lib/share-map/shared/index.js → esm2020/lib/share-map/shared/index.mjs} +0 -0
  57. package/esm2020/lib/share-map/shared/share-map.service.mjs +201 -0
  58. package/{esm2015/lib/sidenav/index.js → esm2020/lib/sidenav/index.mjs} +0 -0
  59. package/esm2020/lib/sidenav/sidenav.component.mjs +170 -0
  60. package/{esm2015/lib/sidenav/sidenav.module.js → esm2020/lib/sidenav/sidenav.module.mjs} +11 -13
  61. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  62. package/fesm2015/igo2-context.mjs +5143 -0
  63. package/fesm2015/igo2-context.mjs.map +1 -0
  64. package/{fesm2015/igo2-context.js → fesm2020/igo2-context.mjs} +424 -593
  65. package/fesm2020/igo2-context.mjs.map +1 -0
  66. package/{igo2-context.d.ts → index.d.ts} +0 -0
  67. package/lib/context-import-export/context-import-export/context-import-export.component.d.ts +1 -1
  68. package/lib/context-manager/context-edit/context-edit-binding.directive.d.ts +1 -1
  69. package/lib/context-manager/context-edit/context-edit.component.d.ts +1 -1
  70. package/lib/context-manager/context-form/context-form.component.d.ts +1 -1
  71. package/lib/context-manager/context-item/context-item.component.d.ts +1 -1
  72. package/lib/context-manager/context-list/context-list-binding.directive.d.ts +1 -1
  73. package/lib/context-manager/context-list/context-list.component.d.ts +1 -1
  74. package/lib/context-manager/context-permissions/context-permissions-binding.directive.d.ts +1 -1
  75. package/lib/context-manager/context-permissions/context-permissions.component.d.ts +2 -2
  76. package/lib/context-manager/shared/layer-context.directive.d.ts +1 -1
  77. package/lib/context-manager/shared/map-context.directive.d.ts +1 -1
  78. package/lib/context-map-button/bookmark-button/bookmark-button.component.d.ts +1 -1
  79. package/lib/context-map-button/bookmark-button/bookmark-dialog.component.d.ts +1 -1
  80. package/lib/context-map-button/poi-button/poi-button.component.d.ts +1 -1
  81. package/lib/context-map-button/poi-button/poi-dialog.component.d.ts +1 -1
  82. package/lib/context-map-button/user-button/user-button.component.d.ts +1 -1
  83. package/lib/context-map-button/user-button/user-dialog.component.d.ts +1 -1
  84. package/lib/share-map/share-map/share-map-api.component.d.ts +1 -1
  85. package/lib/share-map/share-map/share-map-url.component.d.ts +1 -1
  86. package/lib/share-map/share-map/share-map.component.d.ts +1 -1
  87. package/lib/sidenav/sidenav.component.d.ts +1 -1
  88. package/package.json +31 -18
  89. package/bundles/igo2-context.umd.js +0 -6093
  90. package/bundles/igo2-context.umd.js.map +0 -1
  91. package/esm2015/lib/context-import-export/context-import-export/context-import-export.component.js +0 -257
  92. package/esm2015/lib/context-manager/context-item/context-item.component.js +0 -251
  93. package/esm2015/lib/context-manager/context-list/context-list.component.js +0 -602
  94. package/esm2015/lib/context-manager/context-permissions/context-permissions.component.js +0 -323
  95. package/esm2015/lib/context-map-button/bookmark-button/bookmark-dialog.component.js +0 -59
  96. package/esm2015/lib/context-map-button/poi-button/poi-button.component.js +0 -177
  97. package/esm2015/lib/context-map-button/poi-button/poi-dialog.component.js +0 -59
  98. package/esm2015/lib/context-map-button/user-button/user-button.component.js +0 -112
  99. package/esm2015/lib/share-map/share-map/share-map.component.js +0 -63
  100. package/esm2015/lib/share-map/shared/share-map.service.js +0 -201
  101. package/esm2015/lib/sidenav/sidenav.component.js +0 -183
  102. package/fesm2015/igo2-context.js.map +0 -1
@@ -0,0 +1,229 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { take } from 'rxjs/operators';
5
+ import { handleFileExportError } from '../shared/context-export.utils';
6
+ import { handleFileImportSuccess, handleFileImportError } from '../shared/context-import.utils';
7
+ import { handleFileExportSuccess } from '../shared/context-export.utils';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../shared/context-import.service";
10
+ import * as i2 from "../shared/context-export.service";
11
+ import * as i3 from "@igo2/core";
12
+ import * as i4 from "@angular/forms";
13
+ import * as i5 from "../../context-manager/shared/context.service";
14
+ import * as i6 from "@angular/common";
15
+ import * as i7 from "@angular/material/button";
16
+ import * as i8 from "@angular/material/button-toggle";
17
+ import * as i9 from "@angular/material/divider";
18
+ import * as i10 from "@angular/material/form-field";
19
+ import * as i11 from "@angular/material/select";
20
+ import * as i12 from "@angular/material/core";
21
+ import * as i13 from "@angular/material/input";
22
+ import * as i14 from "@igo2/common";
23
+ import * as i15 from "@ngx-translate/core";
24
+ const _c0 = function (a0) { return { size: a0 }; };
25
+ function ContextImportExportComponent_div_8_Template(rf, ctx) { if (rf & 1) {
26
+ const _r4 = i0.ɵɵgetCurrentView();
27
+ i0.ɵɵelementStart(0, "div")(1, "form", 5)(2, "div", 6)(3, "button", 7);
28
+ i0.ɵɵlistener("click", function ContextImportExportComponent_div_8_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r4); const _r2 = i0.ɵɵreference(10); return i0.ɵɵresetView(_r2.click()); });
29
+ i0.ɵɵpipe(4, "async");
30
+ i0.ɵɵtext(5);
31
+ i0.ɵɵpipe(6, "translate");
32
+ i0.ɵɵelementEnd();
33
+ i0.ɵɵelement(7, "igo-spinner", 8);
34
+ i0.ɵɵpipe(8, "async");
35
+ i0.ɵɵelementStart(9, "input", 9, 10);
36
+ i0.ɵɵlistener("click", function ContextImportExportComponent_div_8_Template_input_click_9_listener() { i0.ɵɵrestoreView(_r4); const _r2 = i0.ɵɵreference(10); return i0.ɵɵresetView(_r2.value = null); })("change", function ContextImportExportComponent_div_8_Template_input_change_9_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.importFiles($event.target.files)); });
37
+ i0.ɵɵelementEnd()()();
38
+ i0.ɵɵelementStart(11, "section", 11)(12, "h4");
39
+ i0.ɵɵtext(13);
40
+ i0.ɵɵpipe(14, "translate");
41
+ i0.ɵɵelementEnd();
42
+ i0.ɵɵelementStart(15, "ul")(16, "li");
43
+ i0.ɵɵtext(17);
44
+ i0.ɵɵpipe(18, "translate");
45
+ i0.ɵɵelementEnd()()()();
46
+ } if (rf & 2) {
47
+ const ctx_r0 = i0.ɵɵnextContext();
48
+ i0.ɵɵadvance(3);
49
+ i0.ɵɵproperty("disabled", i0.ɵɵpipeBind1(4, 7, ctx_r0.loading$));
50
+ i0.ɵɵadvance(2);
51
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 9, "igo.geo.importExportForm.importButton"), " ");
52
+ i0.ɵɵadvance(2);
53
+ i0.ɵɵproperty("shown", i0.ɵɵpipeBind1(8, 11, ctx_r0.loading$));
54
+ i0.ɵɵadvance(2);
55
+ i0.ɵɵstyleProp("display", "none");
56
+ i0.ɵɵadvance(4);
57
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 13, "igo.geo.importExportForm.importClarifications"));
58
+ i0.ɵɵadvance(4);
59
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(18, 15, "igo.geo.importExportForm.importSizeMax", i0.ɵɵpureFunction1(18, _c0, ctx_r0.fileSizeMb)));
60
+ } }
61
+ function ContextImportExportComponent_form_9_mat_option_18_Template(rf, ctx) { if (rf & 1) {
62
+ i0.ɵɵelementStart(0, "mat-option", 2);
63
+ i0.ɵɵtext(1);
64
+ i0.ɵɵelementEnd();
65
+ } if (rf & 2) {
66
+ const layer_r9 = ctx.$implicit;
67
+ i0.ɵɵproperty("value", layer_r9);
68
+ i0.ɵɵadvance(1);
69
+ i0.ɵɵtextInterpolate(layer_r9.title);
70
+ } }
71
+ function ContextImportExportComponent_form_9_Template(rf, ctx) { if (rf & 1) {
72
+ const _r11 = i0.ɵɵgetCurrentView();
73
+ i0.ɵɵelementStart(0, "form", 12)(1, "div", 13)(2, "mat-form-field", 14)(3, "mat-label");
74
+ i0.ɵɵtext(4);
75
+ i0.ɵɵpipe(5, "translate");
76
+ i0.ɵɵelementEnd();
77
+ i0.ɵɵelement(6, "input", 15);
78
+ i0.ɵɵelementEnd()();
79
+ i0.ɵɵelementStart(7, "div", 13)(8, "mat-form-field")(9, "mat-label");
80
+ i0.ɵɵtext(10);
81
+ i0.ɵɵpipe(11, "translate");
82
+ i0.ɵɵelementEnd();
83
+ i0.ɵɵelementStart(12, "mat-select", 16)(13, "mat-option", 17, 18);
84
+ i0.ɵɵlistener("click", function ContextImportExportComponent_form_9_Template_mat_option_click_13_listener() { i0.ɵɵrestoreView(_r11); const _r7 = i0.ɵɵreference(14); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.selectAll(_r7)); });
85
+ i0.ɵɵtext(15);
86
+ i0.ɵɵpipe(16, "translate");
87
+ i0.ɵɵelementEnd();
88
+ i0.ɵɵelement(17, "mat-divider");
89
+ i0.ɵɵtemplate(18, ContextImportExportComponent_form_9_mat_option_18_Template, 2, 2, "mat-option", 19);
90
+ i0.ɵɵelementEnd()()();
91
+ i0.ɵɵelementStart(19, "div", 6)(20, "button", 7);
92
+ i0.ɵɵlistener("click", function ContextImportExportComponent_form_9_Template_button_click_20_listener() { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.handleExportFormSubmit(ctx_r12.form.value)); });
93
+ i0.ɵɵpipe(21, "async");
94
+ i0.ɵɵtext(22);
95
+ i0.ɵɵpipe(23, "translate");
96
+ i0.ɵɵelementEnd();
97
+ i0.ɵɵelement(24, "igo-spinner", 8);
98
+ i0.ɵɵpipe(25, "async");
99
+ i0.ɵɵelementEnd()();
100
+ } if (rf & 2) {
101
+ const ctx_r1 = i0.ɵɵnextContext();
102
+ i0.ɵɵproperty("formGroup", ctx_r1.form);
103
+ i0.ɵɵadvance(4);
104
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 9, "igo.context.contextImportExport.export.exportContextName"));
105
+ i0.ɵɵadvance(6);
106
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 11, "igo.context.contextImportExport.export.exportPlaceHolder"));
107
+ i0.ɵɵadvance(3);
108
+ i0.ɵɵproperty("value", 1);
109
+ i0.ɵɵadvance(2);
110
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(16, 13, "igo.context.contextImportExport.export.exportSelectAll"), " ");
111
+ i0.ɵɵadvance(3);
112
+ i0.ɵɵproperty("ngForOf", ctx_r1.userControlledLayerList);
113
+ i0.ɵɵadvance(2);
114
+ i0.ɵɵproperty("disabled", !ctx_r1.form.valid || i0.ɵɵpipeBind1(21, 15, ctx_r1.loading$));
115
+ i0.ɵɵadvance(2);
116
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(23, 17, "igo.geo.importExportForm.exportButton"), " ");
117
+ i0.ɵɵadvance(2);
118
+ i0.ɵɵproperty("shown", i0.ɵɵpipeBind1(25, 19, ctx_r1.loading$));
119
+ } }
120
+ export class ContextImportExportComponent {
121
+ constructor(contextImportService, contextExportService, languageService, messageService, formBuilder, config, contextService) {
122
+ this.contextImportService = contextImportService;
123
+ this.contextExportService = contextExportService;
124
+ this.languageService = languageService;
125
+ this.messageService = messageService;
126
+ this.formBuilder = formBuilder;
127
+ this.config = config;
128
+ this.contextService = contextService;
129
+ this.inputProj = 'EPSG:4326';
130
+ this.loading$ = new BehaviorSubject(false);
131
+ this.forceNaming = false;
132
+ this.activeImportExport = 'import';
133
+ this.buildForm();
134
+ }
135
+ ngOnInit() {
136
+ const configFileSizeMb = this.config.getConfig('importExport.clientSideFileSizeMaxMb');
137
+ this.clientSideFileSizeMax =
138
+ (configFileSizeMb ? configFileSizeMb : 30) * Math.pow(1024, 2);
139
+ this.fileSizeMb = this.clientSideFileSizeMax / Math.pow(1024, 2);
140
+ this.layerList = this.contextService.getContextLayers(this.map);
141
+ this.userControlledLayerList = this.layerList.filter(layer => layer.showInLayerList);
142
+ }
143
+ importFiles(files) {
144
+ this.loading$.next(true);
145
+ for (const file of files) {
146
+ this.contextImportService.import(file).pipe(take(1)).subscribe((context) => this.onFileImportSuccess(file, context), (error) => this.onFileImportError(file, error), () => {
147
+ this.loading$.next(false);
148
+ });
149
+ }
150
+ }
151
+ handleExportFormSubmit(contextOptions) {
152
+ this.loading$.next(true);
153
+ this.res = this.contextService.getContextFromLayers(this.map, contextOptions.layers, contextOptions.name);
154
+ this.res.imported = true;
155
+ this.contextExportService.export(this.res).pipe(take(1)).subscribe(() => { }, (error) => this.onFileExportError(error), () => {
156
+ this.onFileExportSuccess();
157
+ this.loading$.next(false);
158
+ });
159
+ }
160
+ buildForm() {
161
+ this.form = this.formBuilder.group({
162
+ layers: ['', [Validators.required]],
163
+ name: ['', [Validators.required]]
164
+ });
165
+ }
166
+ onFileImportSuccess(file, context) {
167
+ handleFileImportSuccess(file, context, this.messageService, this.languageService, this.contextService);
168
+ }
169
+ onFileImportError(file, error) {
170
+ this.loading$.next(false);
171
+ handleFileImportError(file, error, this.messageService, this.languageService, this.fileSizeMb);
172
+ }
173
+ onFileExportError(error) {
174
+ this.loading$.next(false);
175
+ handleFileExportError(error, this.messageService, this.languageService);
176
+ }
177
+ onFileExportSuccess() {
178
+ handleFileExportSuccess(this.messageService, this.languageService);
179
+ }
180
+ selectAll(e) {
181
+ if (e._selected) {
182
+ this.form.controls.layers.setValue(this.userControlledLayerList);
183
+ e._selected = true;
184
+ }
185
+ if (e._selected === false) {
186
+ this.form.controls.layers.setValue([]);
187
+ }
188
+ }
189
+ onImportExportChange(event) {
190
+ this.activeImportExport = event.value;
191
+ }
192
+ }
193
+ ContextImportExportComponent.ɵfac = function ContextImportExportComponent_Factory(t) { return new (t || ContextImportExportComponent)(i0.ɵɵdirectiveInject(i1.ContextImportService), i0.ɵɵdirectiveInject(i2.ContextExportService), i0.ɵɵdirectiveInject(i3.LanguageService), i0.ɵɵdirectiveInject(i3.MessageService), i0.ɵɵdirectiveInject(i4.FormBuilder), i0.ɵɵdirectiveInject(i3.ConfigService), i0.ɵɵdirectiveInject(i5.ContextService)); };
194
+ ContextImportExportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextImportExportComponent, selectors: [["igo-context-import-export"]], inputs: { map: "map" }, decls: 10, vars: 11, consts: [[1, "import-export-toggle", "mat-typography"], [3, "value", "change"], [3, "value"], [4, "ngIf"], ["class", "igo-form", 3, "formGroup", 4, "ngIf"], [1, "igo-form"], [1, "igo-form-button-group"], ["mat-raised-button", "", "type", "button", 3, "disabled", "click"], [3, "shown"], ["type", "file", 3, "click", "change"], ["fileInput", ""], [1, "mat-typography"], [1, "igo-form", 3, "formGroup"], [1, "igo-input-container"], [1, "example-full-width"], ["formControlName", "name", "matInput", "", 3, "value"], ["formControlName", "layers", "multiple", ""], [3, "value", "click"], ["e", ""], [3, "value", 4, "ngFor", "ngForOf"]], template: function ContextImportExportComponent_Template(rf, ctx) { if (rf & 1) {
195
+ i0.ɵɵelementStart(0, "div", 0)(1, "mat-button-toggle-group", 1);
196
+ i0.ɵɵlistener("change", function ContextImportExportComponent_Template_mat_button_toggle_group_change_1_listener($event) { return ctx.onImportExportChange($event); });
197
+ i0.ɵɵelementStart(2, "mat-button-toggle", 2);
198
+ i0.ɵɵtext(3);
199
+ i0.ɵɵpipe(4, "translate");
200
+ i0.ɵɵelementEnd();
201
+ i0.ɵɵelementStart(5, "mat-button-toggle", 2);
202
+ i0.ɵɵtext(6);
203
+ i0.ɵɵpipe(7, "translate");
204
+ i0.ɵɵelementEnd()()();
205
+ i0.ɵɵtemplate(8, ContextImportExportComponent_div_8_Template, 19, 20, "div", 3);
206
+ i0.ɵɵtemplate(9, ContextImportExportComponent_form_9_Template, 26, 21, "form", 4);
207
+ } if (rf & 2) {
208
+ i0.ɵɵadvance(1);
209
+ i0.ɵɵproperty("value", ctx.activeImportExport);
210
+ i0.ɵɵadvance(1);
211
+ i0.ɵɵproperty("value", "import");
212
+ i0.ɵɵadvance(1);
213
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 7, "igo.geo.importExportForm.importTabTitle"), " ");
214
+ i0.ɵɵadvance(2);
215
+ i0.ɵɵproperty("value", "export");
216
+ i0.ɵɵadvance(1);
217
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 9, "igo.geo.importExportForm.exportTabTitle"), " ");
218
+ i0.ɵɵadvance(2);
219
+ i0.ɵɵproperty("ngIf", ctx.activeImportExport === "import");
220
+ i0.ɵɵadvance(1);
221
+ i0.ɵɵproperty("ngIf", ctx.activeImportExport === "export");
222
+ } }, dependencies: [i4.ɵNgNoValidate, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.NgForm, i4.FormGroupDirective, i4.FormControlName, i6.NgForOf, i6.NgIf, i7.MatButton, i8.MatButtonToggleGroup, i8.MatButtonToggle, i9.MatDivider, i10.MatFormField, i10.MatLabel, i11.MatSelect, i12.MatOption, i13.MatInput, i14.SpinnerComponent, i6.AsyncPipe, i15.TranslatePipe], styles: [".import-export-toggle[_ngcontent-%COMP%]{padding:10px;text-align:center}.import-export-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%]{width:100%}.import-export-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%] mat-button-toggle[_ngcontent-%COMP%]{width:50%}.igo-input-container[_ngcontent-%COMP%]{padding:10px}.igo-input-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}h4[_ngcontent-%COMP%]{padding:0 5px}.igo-form[_ngcontent-%COMP%]{padding:15px 5px}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center;padding-top:10px}igo-spinner[_ngcontent-%COMP%]{position:absolute;padding-left:10px}"] });
223
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextImportExportComponent, [{
224
+ type: Component,
225
+ args: [{ selector: 'igo-context-import-export', template: "<div class=\"import-export-toggle mat-typography\">\r\n <mat-button-toggle-group\r\n [value]=\"activeImportExport\"\r\n (change)=\"onImportExportChange($event)\">\r\n <mat-button-toggle [value]=\"'import'\">\r\n {{'igo.geo.importExportForm.importTabTitle' | translate}}\r\n </mat-button-toggle>\r\n <mat-button-toggle [value]=\"'export'\">\r\n {{'igo.geo.importExportForm.exportTabTitle' | translate}}\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n</div>\r\n\r\n<div *ngIf=\"activeImportExport === 'import'\">\r\n <form class=\"igo-form\">\r\n <div class=\"igo-form-button-group\">\r\n <button mat-raised-button type=\"button\" (click)=\"fileInput.click()\" [disabled]=\"loading$ | async\">\r\n {{'igo.geo.importExportForm.importButton' | translate}}\r\n </button>\r\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\r\n <input\r\n #fileInput\r\n type=\"file\"\r\n [style.display]=\"'none'\"\r\n (click)=\"fileInput.value = null\"\r\n (change)=\"importFiles($event.target.files)\">\r\n </div>\r\n </form>\r\n <section class=\"mat-typography\">\r\n <h4>{{'igo.geo.importExportForm.importClarifications' | translate}}</h4>\r\n <ul>\r\n <li>{{'igo.geo.importExportForm.importSizeMax' | translate: {size: fileSizeMb} }}</li>\r\n </ul>\r\n </section>\r\n</div>\r\n\r\n\r\n<form class=\"igo-form\" *ngIf=\"activeImportExport === 'export'\" [formGroup]=\"form\">\r\n <div class=\"igo-input-container\">\r\n <mat-form-field class=\"example-full-width\">\r\n <mat-label>{{'igo.context.contextImportExport.export.exportContextName' | translate}}</mat-label>\r\n <input formControlName=\"name\" matInput [value]=\"\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <mat-label>{{'igo.context.contextImportExport.export.exportPlaceHolder' | translate}}</mat-label>\r\n <mat-select formControlName=\"layers\" multiple>\r\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\r\n {{'igo.context.contextImportExport.export.exportSelectAll' | translate}}\r\n </mat-option>\r\n <mat-divider></mat-divider>\r\n <mat-option *ngFor=\"let layer of userControlledLayerList\" [value]=\"layer\">{{layer.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"igo-form-button-group\">\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n [disabled]=\"!form.valid || (loading$ | async)\"\r\n (click)=\"handleExportFormSubmit(form.value)\">\r\n {{'igo.geo.importExportForm.exportButton' | translate}}\r\n </button>\r\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\r\n </div>\r\n</form>\r\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"] }]
226
+ }], function () { return [{ type: i1.ContextImportService }, { type: i2.ContextExportService }, { type: i3.LanguageService }, { type: i3.MessageService }, { type: i4.FormBuilder }, { type: i3.ConfigService }, { type: i5.ContextService }]; }, { map: [{
227
+ type: Input
228
+ }] }); })();
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbXBvcnQtZXhwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LWltcG9ydC1leHBvcnQvY29udGV4dC1pbXBvcnQtZXhwb3J0L2NvbnRleHQtaW1wb3J0LWV4cG9ydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1pbXBvcnQtZXhwb3J0L2NvbnRleHQtaW1wb3J0LWV4cG9ydC9jb250ZXh0LWltcG9ydC1leHBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU10QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUN0QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ0R6RSwyQkFBNkMsY0FBQSxhQUFBLGdCQUFBO0lBR08sc0tBQVMsZUFBQSxXQUFpQixDQUFBLElBQUM7O0lBQy9ELFlBQ0o7O0lBQUEsaUJBQVM7SUFDVCxpQ0FBc0Q7O0lBQ3RELG9DQUtnRDtJQUQ1QyxxS0FBUywyQkFBa0IsSUFBSSxDQUFBLElBQUMsbUtBQ3RCLGVBQUEsdUNBQWdDLENBQUEsSUFEVjtJQUpwQyxpQkFLZ0QsRUFBQSxFQUFB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a0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UsIENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgTGF5ZXIsIFZlY3RvckxheWVyIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHR5cGUgeyBJZ29NYXAgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuaW1wb3J0IHsgaGFuZGxlRmlsZUV4cG9ydEVycm9yIH0gZnJvbSAnLi4vc2hhcmVkL2NvbnRleHQtZXhwb3J0LnV0aWxzJztcclxuaW1wb3J0IHtcclxuICBoYW5kbGVGaWxlSW1wb3J0U3VjY2VzcyxcclxuICBoYW5kbGVGaWxlSW1wb3J0RXJyb3JcclxufSBmcm9tICcuLi9zaGFyZWQvY29udGV4dC1pbXBvcnQudXRpbHMnO1xyXG5pbXBvcnQgeyBoYW5kbGVGaWxlRXhwb3J0U3VjY2VzcyB9IGZyb20gJy4uL3NoYXJlZC9jb250ZXh0LWV4cG9ydC51dGlscyc7XHJcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb250ZXh0SW1wb3J0U2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9jb250ZXh0LWltcG9ydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29udGV4dEV4cG9ydFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvY29udGV4dC1leHBvcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IERldGFpbGVkQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvY29udGV4dC5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tY29udGV4dC1pbXBvcnQtZXhwb3J0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1pbXBvcnQtZXhwb3J0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LWltcG9ydC1leHBvcnQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGV4dEltcG9ydEV4cG9ydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcclxuICBwdWJsaWMgbGF5ZXJzOiBWZWN0b3JMYXllcltdO1xyXG4gIHB1YmxpYyBpbnB1dFByb2o6IHN0cmluZyA9ICdFUFNHOjQzMjYnO1xyXG4gIHB1YmxpYyBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHB1YmxpYyBmb3JjZU5hbWluZyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBsYXllckxpc3Q6IExheWVyW107XHJcbiAgcHVibGljIHVzZXJDb250cm9sbGVkTGF5ZXJMaXN0OiBMYXllcltdO1xyXG4gIHB1YmxpYyByZXM6IERldGFpbGVkQ29udGV4dDtcclxuICBwcml2YXRlIGNsaWVudFNpZGVGaWxlU2l6ZU1heDogbnVtYmVyO1xyXG4gIHB1YmxpYyBmaWxlU2l6ZU1iOiBudW1iZXI7XHJcbiAgcHVibGljIGFjdGl2ZUltcG9ydEV4cG9ydDogc3RyaW5nID0gJ2ltcG9ydCc7XHJcblxyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29udGV4dEltcG9ydFNlcnZpY2U6IENvbnRleHRJbXBvcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb250ZXh0RXhwb3J0U2VydmljZTogQ29udGV4dEV4cG9ydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGNvbmZpZ0ZpbGVTaXplTWIgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoXHJcbiAgICAgICdpbXBvcnRFeHBvcnQuY2xpZW50U2lkZUZpbGVTaXplTWF4TWInXHJcbiAgICApO1xyXG4gICAgdGhpcy5jbGllbnRTaWRlRmlsZVNpemVNYXggPVxyXG4gICAgICAoY29uZmlnRmlsZVNpemVNYiA/IGNvbmZpZ0ZpbGVTaXplTWIgOiAzMCkgKiBNYXRoLnBvdygxMDI0LCAyKTtcclxuICAgIHRoaXMuZmlsZVNpemVNYiA9IHRoaXMuY2xpZW50U2lkZUZpbGVTaXplTWF4IC8gTWF0aC5wb3coMTAyNCwgMik7XHJcbiAgICB0aGlzLmxheWVyTGlzdCA9IHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q29udGV4dExheWVycyh0aGlzLm1hcCk7XHJcbiAgICB0aGlzLnVzZXJDb250cm9sbGVkTGF5ZXJMaXN0ID0gdGhpcy5sYXllckxpc3QuZmlsdGVyKGxheWVyID0+IGxheWVyLnNob3dJbkxheWVyTGlzdCk7XHJcbiAgfVxyXG5cclxuICBpbXBvcnRGaWxlcyhmaWxlczogRmlsZVtdKSB7XHJcbiAgICB0aGlzLmxvYWRpbmckLm5leHQodHJ1ZSk7XHJcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcclxuICAgICAgdGhpcy5jb250ZXh0SW1wb3J0U2VydmljZS5pbXBvcnQoZmlsZSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGNvbnRleHQ6IERldGFpbGVkQ29udGV4dCkgPT4gdGhpcy5vbkZpbGVJbXBvcnRTdWNjZXNzKGZpbGUsIGNvbnRleHQpLFxyXG4gICAgICAgIChlcnJvcjogRXJyb3IpID0+IHRoaXMub25GaWxlSW1wb3J0RXJyb3IoZmlsZSwgZXJyb3IpLFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXhwb3J0Rm9ybVN1Ym1pdChjb250ZXh0T3B0aW9ucykge1xyXG4gICAgdGhpcy5sb2FkaW5nJC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5yZXMgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmdldENvbnRleHRGcm9tTGF5ZXJzKFxyXG4gICAgICB0aGlzLm1hcCxcclxuICAgICAgY29udGV4dE9wdGlvbnMubGF5ZXJzLFxyXG4gICAgICBjb250ZXh0T3B0aW9ucy5uYW1lXHJcbiAgICApO1xyXG4gICAgdGhpcy5yZXMuaW1wb3J0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5jb250ZXh0RXhwb3J0U2VydmljZS5leHBvcnQodGhpcy5yZXMpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKFxyXG4gICAgICAoKSA9PiB7fSxcclxuICAgICAgKGVycm9yOiBFcnJvcikgPT4gdGhpcy5vbkZpbGVFeHBvcnRFcnJvcihlcnJvciksXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB0aGlzLm9uRmlsZUV4cG9ydFN1Y2Nlc3MoKTtcclxuICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZvcm0oKSB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgbGF5ZXJzOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIG5hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRmlsZUltcG9ydFN1Y2Nlc3MoZmlsZTogRmlsZSwgY29udGV4dDogRGV0YWlsZWRDb250ZXh0KSB7XHJcbiAgICBoYW5kbGVGaWxlSW1wb3J0U3VjY2VzcyhcclxuICAgICAgZmlsZSxcclxuICAgICAgY29udGV4dCxcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UsXHJcbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRmlsZUltcG9ydEVycm9yKGZpbGU6IEZpbGUsIGVycm9yOiBFcnJvcikge1xyXG4gICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcclxuICAgIGhhbmRsZUZpbGVJbXBvcnRFcnJvcihcclxuICAgICAgZmlsZSxcclxuICAgICAgZXJyb3IsXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgICB0aGlzLmZpbGVTaXplTWJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRmlsZUV4cG9ydEVycm9yKGVycm9yOiBFcnJvcikge1xyXG4gICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcclxuICAgIGhhbmRsZUZpbGVFeHBvcnRFcnJvcihlcnJvciwgdGhpcy5tZXNzYWdlU2VydmljZSwgdGhpcy5sYW5ndWFnZVNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkZpbGVFeHBvcnRTdWNjZXNzKCkge1xyXG4gICAgaGFuZGxlRmlsZUV4cG9ydFN1Y2Nlc3ModGhpcy5tZXNzYWdlU2VydmljZSwgdGhpcy5sYW5ndWFnZVNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0QWxsKGUpIHtcclxuICAgIGlmIChlLl9zZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMubGF5ZXJzLnNldFZhbHVlKHRoaXMudXNlckNvbnRyb2xsZWRMYXllckxpc3QpO1xyXG4gICAgICBlLl9zZWxlY3RlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAoZS5fc2VsZWN0ZWQgPT09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5sYXllcnMuc2V0VmFsdWUoW10pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbXBvcnRFeHBvcnRDaGFuZ2UoZXZlbnQpIHtcclxuICAgIHRoaXMuYWN0aXZlSW1wb3J0RXhwb3J0ID0gZXZlbnQudmFsdWU7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpbXBvcnQtZXhwb3J0LXRvZ2dsZSBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwXHJcbiAgICAgICAgICBbdmFsdWVdPVwiYWN0aXZlSW1wb3J0RXhwb3J0XCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwib25JbXBvcnRFeHBvcnRDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCInaW1wb3J0J1wiPlxyXG4gICAgICAgICAgICB7eydpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0uaW1wb3J0VGFiVGl0bGUnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcbiAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cIidleHBvcnQnXCI+XHJcbiAgICAgICAgICAgIHt7J2lnby5nZW8uaW1wb3J0RXhwb3J0Rm9ybS5leHBvcnRUYWJUaXRsZScgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cImFjdGl2ZUltcG9ydEV4cG9ydCA9PT0gJ2ltcG9ydCdcIj5cclxuICAgIDxmb3JtIGNsYXNzPVwiaWdvLWZvcm1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nJCB8IGFzeW5jXCI+XHJcbiAgICAgICAgICAgICAgICB7eydpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0uaW1wb3J0QnV0dG9uJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8aWdvLXNwaW5uZXIgW3Nob3duXT1cImxvYWRpbmckIHwgYXN5bmNcIj48L2lnby1zcGlubmVyPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICNmaWxlSW5wdXRcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZmlsZUlucHV0LnZhbHVlID0gbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImltcG9ydEZpbGVzKCRldmVudC50YXJnZXQuZmlsZXMpXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbiAgICA8c2VjdGlvbiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICAgICAgPGg0Pnt7J2lnby5nZW8uaW1wb3J0RXhwb3J0Rm9ybS5pbXBvcnRDbGFyaWZpY2F0aW9ucycgfCB0cmFuc2xhdGV9fTwvaDQ+XHJcbiAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgIDxsaT57eydpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0uaW1wb3J0U2l6ZU1heCcgfCB0cmFuc2xhdGU6IHtzaXplOiBmaWxlU2l6ZU1ifSB9fTwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICA8L3NlY3Rpb24+XHJcbjwvZGl2PlxyXG5cclxuXHJcbjxmb3JtIGNsYXNzPVwiaWdvLWZvcm1cIiAqbmdJZj1cImFjdGl2ZUltcG9ydEV4cG9ydCA9PT0gJ2V4cG9ydCdcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZXhhbXBsZS1mdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3snaWdvLmNvbnRleHQuY29udGV4dEltcG9ydEV4cG9ydC5leHBvcnQuZXhwb3J0Q29udGV4dE5hbWUnIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiBtYXRJbnB1dCBbdmFsdWVdPVwiXCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3snaWdvLmNvbnRleHQuY29udGV4dEltcG9ydEV4cG9ydC5leHBvcnQuZXhwb3J0UGxhY2VIb2xkZXInIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwibGF5ZXJzXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiMVwiIChjbGljayk9XCJzZWxlY3RBbGwoZSlcIiAjZT5cclxuICAgICAgICAgICAgICAgICAgICB7eydpZ28uY29udGV4dC5jb250ZXh0SW1wb3J0RXhwb3J0LmV4cG9ydC5leHBvcnRTZWxlY3RBbGwnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGxheWVyIG9mIHVzZXJDb250cm9sbGVkTGF5ZXJMaXN0XCIgW3ZhbHVlXT1cImxheWVyXCI+e3tsYXllci50aXRsZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImlnby1mb3JtLWJ1dHRvbi1ncm91cFwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZCB8fCAobG9hZGluZyQgfCBhc3luYylcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlRXhwb3J0Rm9ybVN1Ym1pdChmb3JtLnZhbHVlKVwiPlxyXG4gICAgICAgICAgICB7eydpZ28uZ2VvLmltcG9ydEV4cG9ydEZvcm0uZXhwb3J0QnV0dG9uJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGlnby1zcGlubmVyIFtzaG93bl09XCJsb2FkaW5nJCB8IGFzeW5jXCI+PC9pZ28tc3Bpbm5lcj5cclxuICAgIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
@@ -24,23 +24,21 @@ export class IgoContextImportExportModule {
24
24
  }
25
25
  IgoContextImportExportModule.ɵfac = function IgoContextImportExportModule_Factory(t) { return new (t || IgoContextImportExportModule)(); };
26
26
  IgoContextImportExportModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoContextImportExportModule });
27
- IgoContextImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
28
- FormsModule,
29
- ReactiveFormsModule,
30
- CommonModule,
31
- MatButtonModule,
32
- MatButtonToggleModule,
33
- MatDividerModule,
34
- MatTabsModule,
35
- MatSelectModule,
36
- MatOptionModule,
37
- MatFormFieldModule,
38
- MatInputModule,
39
- MatCheckboxModule,
40
- IgoLanguageModule,
41
- IgoSpinnerModule,
42
- MatTooltipModule,
43
- ]] });
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] });
44
42
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoContextImportExportModule, [{
45
43
  type: NgModule,
46
44
  args: [{
@@ -84,4 +82,4 @@ IgoContextImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ impor
84
82
  IgoLanguageModule,
85
83
  IgoSpinnerModule,
86
84
  MatTooltipModule], exports: [ContextImportExportComponent] }); })();
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbXBvcnQtZXhwb3J0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LWltcG9ydC1leHBvcnQvY29udGV4dC1pbXBvcnQtZXhwb3J0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUEyQmxFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLDRCQUE0QjtTQUN2QyxDQUFDO0lBQ0osQ0FBQzs7d0dBTFUsNEJBQTRCOzhFQUE1Qiw0QkFBNEI7a0ZBeEI5QjtZQUNQLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1NBQ2pCO3VGQVFVLDRCQUE0QjtjQXpCeEMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixlQUFlO29CQUNmLHFCQUFxQjtvQkFDckIsZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsaUJBQWlCO29CQUNqQixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO2lCQUNqQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsNEJBQTRCO2lCQUM3QjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osNEJBQTRCO2lCQUM3QjthQUNGOzt3RkFDWSw0QkFBNEIsbUJBSHJDLDRCQUE0QixhQXBCNUIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osZUFBZTtRQUNmLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGVBQWU7UUFDZixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixnQkFBZ0IsYUFHaEIsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRleHRJbXBvcnRFeHBvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHQtaW1wb3J0LWV4cG9ydC9jb250ZXh0LWltcG9ydC1leHBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSWdvU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gICAgTWF0VGFic01vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdE9wdGlvbk1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcclxuICAgIElnb1NwaW5uZXJNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ29udGV4dEltcG9ydEV4cG9ydENvbXBvbmVudFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBDb250ZXh0SW1wb3J0RXhwb3J0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvQ29udGV4dEltcG9ydEV4cG9ydE1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29Db250ZXh0SW1wb3J0RXhwb3J0TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSWdvQ29udGV4dEltcG9ydEV4cG9ydE1vZHVsZVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1pbXBvcnQtZXhwb3J0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LWltcG9ydC1leHBvcnQvY29udGV4dC1pbXBvcnQtZXhwb3J0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUEyQmxFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLDRCQUE0QjtTQUN2QyxDQUFDO0lBQ0osQ0FBQzs7d0dBTFUsNEJBQTRCOzhFQUE1Qiw0QkFBNEI7a0ZBdkJyQyxXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsZUFBZTtRQUNmLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjt1RkFTUCw0QkFBNEI7Y0F6QnhDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixxQkFBcUI7b0JBQ3JCLGdCQUFnQjtvQkFDaEIsYUFBYTtvQkFDYixlQUFlO29CQUNmLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGlCQUFpQjtvQkFDakIsaUJBQWlCO29CQUNqQixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtpQkFDakI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDRCQUE0QjtpQkFDN0I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLDRCQUE0QjtpQkFDN0I7YUFDRjs7d0ZBQ1ksNEJBQTRCLG1CQUhyQyw0QkFBNEIsYUFwQjVCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixlQUFlO1FBQ2YsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZ0JBQWdCLGFBR2hCLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250ZXh0SW1wb3J0RXhwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250ZXh0LWltcG9ydC1leHBvcnQvY29udGV4dC1pbXBvcnQtZXhwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElnb1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxyXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcclxuICAgIE1hdFRhYnNNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRPcHRpb25Nb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXHJcbiAgICBJZ29TcGlubmVyTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIENvbnRleHRJbXBvcnRFeHBvcnRDb21wb25lbnRcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQ29udGV4dEltcG9ydEV4cG9ydENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0NvbnRleHRJbXBvcnRFeHBvcnRNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvQ29udGV4dEltcG9ydEV4cG9ydE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElnb0NvbnRleHRJbXBvcnRFeHBvcnRNb2R1bGVcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -6,7 +6,7 @@ import * as i3 from "@ngx-translate/core";
6
6
  function ContextEditComponent_igo_context_form_0_Template(rf, ctx) { if (rf & 1) {
7
7
  const _r2 = i0.ɵɵgetCurrentView();
8
8
  i0.ɵɵelementStart(0, "igo-context-form", 1);
9
- i0.ɵɵlistener("submitForm", function ContextEditComponent_igo_context_form_0_Template_igo_context_form_submitForm_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return ctx_r1.submitForm.emit($event); });
9
+ i0.ɵɵlistener("submitForm", function ContextEditComponent_igo_context_form_0_Template_igo_context_form_submitForm_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.submitForm.emit($event)); });
10
10
  i0.ɵɵpipe(1, "translate");
11
11
  i0.ɵɵelementEnd();
12
12
  } if (rf & 2) {
@@ -34,16 +34,13 @@ ContextEditComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Contex
34
34
  i0.ɵɵtemplate(0, ContextEditComponent_igo_context_form_0_Template, 2, 4, "igo-context-form", 0);
35
35
  } if (rf & 2) {
36
36
  i0.ɵɵproperty("ngIf", ctx.context);
37
- } }, directives: [i1.NgIf, i2.ContextFormComponent], pipes: [i3.TranslatePipe], encapsulation: 2 });
37
+ } }, dependencies: [i1.NgIf, i2.ContextFormComponent, i3.TranslatePipe], encapsulation: 2 });
38
38
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextEditComponent, [{
39
39
  type: Component,
40
- args: [{
41
- selector: 'igo-context-edit',
42
- templateUrl: './context-edit.component.html'
43
- }]
40
+ args: [{ selector: 'igo-context-edit', template: "<igo-context-form *ngIf=\"context\"\r\n [btnSubmitText]=\"'igo.context.contextManager.save' | translate\"\r\n [context]=\"context\"\r\n (submitForm)=\"submitForm.emit($event)\">\r\n</igo-context-form>\r\n" }]
44
41
  }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { context: [{
45
42
  type: Input
46
43
  }], submitForm: [{
47
44
  type: Output
48
45
  }] }); })();
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hbmFnZXIvY29udGV4dC1lZGl0L2NvbnRleHQtZWRpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL2NvbnRleHQtZWRpdC9jb250ZXh0LWVkaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7SUNBMUYsMkNBRzBDO0lBQXZDLHdNQUFjLDhCQUF1QixJQUFDOztJQUN6QyxpQkFBbUI7OztJQUhoQix1RkFBK0QsMkJBQUE7O0FET2xFLE1BQU0sT0FBTyxvQkFBb0I7SUFhL0IsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFGL0IsZUFBVSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXJCLENBQUM7SUFaN0MsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBT0QsT0FBTztRQUNMLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7d0ZBakJVLG9CQUFvQjt1RUFBcEIsb0JBQW9CO1FDUmpDLCtGQUltQjs7UUFKQSxrQ0FBYTs7dUZEUW5CLG9CQUFvQjtjQUpoQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsV0FBVyxFQUFFLCtCQUErQjthQUM3QztvRUFHSyxPQUFPO2tCQURWLEtBQUs7WUFVSSxVQUFVO2tCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi4vc2hhcmVkL2NvbnRleHQuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNvbnRleHQtZWRpdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtZWRpdC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRleHRFZGl0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBjb250ZXh0KCk6IENvbnRleHQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRleHQ7XHJcbiAgfVxyXG4gIHNldCBjb250ZXh0KHZhbHVlOiBDb250ZXh0KSB7XHJcbiAgICB0aGlzLl9jb250ZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLnJlZnJlc2goKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY29udGV4dDogQ29udGV4dDtcclxuXHJcbiAgQE91dHB1dCgpIHN1Ym1pdEZvcm06IEV2ZW50RW1pdHRlcjxDb250ZXh0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPGlnby1jb250ZXh0LWZvcm0gKm5nSWY9XCJjb250ZXh0XCJcclxuICAgW2J0blN1Ym1pdFRleHRdPVwiJ2lnby5jb250ZXh0LmNvbnRleHRNYW5hZ2VyLnNhdmUnIHwgdHJhbnNsYXRlXCJcclxuICAgW2NvbnRleHRdPVwiY29udGV4dFwiXHJcbiAgIChzdWJtaXRGb3JtKT1cInN1Ym1pdEZvcm0uZW1pdCgkZXZlbnQpXCI+XHJcbjwvaWdvLWNvbnRleHQtZm9ybT5cclxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hbmFnZXIvY29udGV4dC1lZGl0L2NvbnRleHQtZWRpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL2NvbnRleHQtZWRpdC9jb250ZXh0LWVkaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7SUNBMUYsMkNBRzBDO0lBQXZDLHdNQUFjLGVBQUEsOEJBQXVCLENBQUEsSUFBQzs7SUFDekMsaUJBQW1COzs7SUFIaEIsdUZBQStELDJCQUFBOztBRE9sRSxNQUFNLE9BQU8sb0JBQW9CO0lBYS9CLFlBQW9CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBRi9CLGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVyQixDQUFDO0lBWjdDLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQU9ELE9BQU87UUFDTCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7O3dGQWpCVSxvQkFBb0I7dUVBQXBCLG9CQUFvQjtRQ1JqQywrRkFJbUI7O1FBSkEsa0NBQWE7O3VGRFFuQixvQkFBb0I7Y0FKaEMsU0FBUzsyQkFDRSxrQkFBa0I7b0VBS3hCLE9BQU87a0JBRFYsS0FBSztZQVVJLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuLi9zaGFyZWQvY29udGV4dC5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tY29udGV4dC1lZGl0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1lZGl0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGV4dEVkaXRDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGNvbnRleHQoKTogQ29udGV4dCB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udGV4dDtcclxuICB9XHJcbiAgc2V0IGNvbnRleHQodmFsdWU6IENvbnRleHQpIHtcclxuICAgIHRoaXMuX2NvbnRleHQgPSB2YWx1ZTtcclxuICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb250ZXh0OiBDb250ZXh0O1xyXG5cclxuICBAT3V0cHV0KCkgc3VibWl0Rm9ybTogRXZlbnRFbWl0dGVyPENvbnRleHQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8aWdvLWNvbnRleHQtZm9ybSAqbmdJZj1cImNvbnRleHRcIlxyXG4gICBbYnRuU3VibWl0VGV4dF09XCInaWdvLmNvbnRleHQuY29udGV4dE1hbmFnZXIuc2F2ZScgfCB0cmFuc2xhdGVcIlxyXG4gICBbY29udGV4dF09XCJjb250ZXh0XCJcclxuICAgKHN1Ym1pdEZvcm0pPVwic3VibWl0Rm9ybS5lbWl0KCRldmVudClcIj5cclxuPC9pZ28tY29udGV4dC1mb3JtPlxyXG4iXX0=
@@ -3,12 +3,12 @@ import { ObjectUtils, Clipboard } from '@igo2/utils';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/forms";
5
5
  import * as i2 from "@igo2/core";
6
- import * as i3 from "@angular/material/form-field";
7
- import * as i4 from "@angular/material/input";
8
- import * as i5 from "@angular/common";
9
- import * as i6 from "@angular/material/button";
10
- import * as i7 from "@angular/material/tooltip";
11
- import * as i8 from "@angular/material/icon";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/material/form-field";
8
+ import * as i5 from "@angular/material/input";
9
+ import * as i6 from "@angular/material/icon";
10
+ import * as i7 from "@angular/material/button";
11
+ import * as i8 from "@angular/material/tooltip";
12
12
  import * as i9 from "@ngx-translate/core";
13
13
  function ContextFormComponent_span_8_Template(rf, ctx) { if (rf & 1) {
14
14
  i0.ɵɵelementStart(0, "span", 11);
@@ -95,27 +95,22 @@ ContextFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Contex
95
95
  i0.ɵɵelementStart(4, "mat-error");
96
96
  i0.ɵɵtext(5);
97
97
  i0.ɵɵpipe(6, "translate");
98
- i0.ɵɵelementEnd();
99
- i0.ɵɵelementEnd();
98
+ i0.ɵɵelementEnd()();
100
99
  i0.ɵɵelementStart(7, "mat-form-field", 3);
101
100
  i0.ɵɵtemplate(8, ContextFormComponent_span_8_Template, 2, 1, "span", 4);
102
101
  i0.ɵɵelementStart(9, "span", 5);
103
102
  i0.ɵɵelement(10, "input", 6);
104
103
  i0.ɵɵpipe(11, "translate");
105
- i0.ɵɵelementEnd();
106
- i0.ɵɵelementEnd();
104
+ i0.ɵɵelementEnd()();
107
105
  i0.ɵɵelementStart(12, "button", 7);
108
106
  i0.ɵɵlistener("click", function ContextFormComponent_Template_button_click_12_listener() { return ctx.copyTextToClipboard(); });
109
107
  i0.ɵɵpipe(13, "translate");
110
108
  i0.ɵɵelement(14, "mat-icon", 8);
111
109
  i0.ɵɵelementEnd();
112
- i0.ɵɵelementStart(15, "div", 9);
113
- i0.ɵɵelementStart(16, "button", 10);
110
+ i0.ɵɵelementStart(15, "div", 9)(16, "button", 10);
114
111
  i0.ɵɵtext(17);
115
112
  i0.ɵɵpipe(18, "translate");
116
- i0.ɵɵelementEnd();
117
- i0.ɵɵelementEnd();
118
- i0.ɵɵelementEnd();
113
+ i0.ɵɵelementEnd()()();
119
114
  } if (rf & 2) {
120
115
  i0.ɵɵproperty("formGroup", ctx.form);
121
116
  i0.ɵɵadvance(2);
@@ -132,14 +127,10 @@ ContextFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Contex
132
127
  i0.ɵɵproperty("disabled", !ctx.form.valid || ctx.disabled);
133
128
  i0.ɵɵadvance(1);
134
129
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 16, "igo.context.contextManager.form.edit"), " ");
135
- } }, directives: [i1.ɵNgNoValidate, i1.NgControlStatusGroup, i1.FormGroupDirective, i3.MatFormField, i4.MatInput, i1.DefaultValueAccessor, i1.RequiredValidator, i1.MaxLengthValidator, i1.NgControlStatus, i1.FormControlName, i3.MatError, i5.NgIf, i6.MatButton, i7.MatTooltip, i8.MatIcon], pipes: [i9.TranslatePipe], styles: ["form[_ngcontent-%COMP%]{margin:10px}.full-width[_ngcontent-%COMP%]{width:100%}#uriInput[_ngcontent-%COMP%] .fieldWrapper[_ngcontent-%COMP%]{display:block;overflow:hidden}#uriInput[_ngcontent-%COMP%] .prefix[_ngcontent-%COMP%]{float:left}#copyButton[_ngcontent-%COMP%]{width:24px;float:right;position:relative;top:-58px;left:5px}"] });
130
+ } }, dependencies: [i3.NgIf, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.RequiredValidator, i1.MaxLengthValidator, i1.FormGroupDirective, i1.FormControlName, i4.MatError, i4.MatFormField, i5.MatInput, i6.MatIcon, i7.MatButton, i8.MatTooltip, i9.TranslatePipe], styles: ["form[_ngcontent-%COMP%]{margin:10px}.full-width[_ngcontent-%COMP%]{width:100%}#uriInput[_ngcontent-%COMP%] .fieldWrapper[_ngcontent-%COMP%]{display:block;overflow:hidden}#uriInput[_ngcontent-%COMP%] .prefix[_ngcontent-%COMP%]{float:left}#copyButton[_ngcontent-%COMP%]{width:24px;float:right;position:relative;top:-58px;left:5px}"] });
136
131
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextFormComponent, [{
137
132
  type: Component,
138
- args: [{
139
- selector: 'igo-context-form',
140
- templateUrl: './context-form.component.html',
141
- styleUrls: ['./context-form.component.scss']
142
- }]
133
+ args: [{ selector: 'igo-context-form', template: "<form class=\"igo-form\" [formGroup]=\"form\"\r\n (ngSubmit)=\"handleFormSubmit(form.value)\">\r\n\r\n <mat-form-field class=\"full-width\">\r\n <input matInput required\r\n maxlength=\"128\"\r\n [placeholder]=\"'igo.context.contextManager.form.title' | translate\"\r\n formControlName=\"title\">\r\n <mat-error>\r\n {{ 'igo.context.contextManager.form.titleRequired' | translate }}\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field id=\"uriInput\" class=\"full-width\">\r\n <span *ngIf=\"prefix\" class=\"prefix\">{{prefix}}-</span>\r\n <span class=\"fieldWrapper\">\r\n <input matInput\r\n maxlength=\"64\"\r\n floatLabel = \"always\"\r\n [placeholder]=\"'igo.context.contextManager.form.uri' | translate\"\r\n formControlName=\"uri\">\r\n </span>\r\n </mat-form-field>\r\n\r\n <button\r\n id=\"copyButton\"\r\n type=\"button\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.context.contextManager.form.copy' | translate\"\r\n color=\"primary\"\r\n (click)=\"copyTextToClipboard()\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n\r\n <div class=\"igo-form-button-group\">\r\n <button\r\n mat-raised-button\r\n type=\"submit\"\r\n [disabled]=\"!form.valid || disabled\">\r\n {{ 'igo.context.contextManager.form.edit' | translate }}\r\n </button>\r\n </div>\r\n\r\n</form>\r\n", styles: ["form{margin:10px}.full-width{width:100%}#uriInput .fieldWrapper{display:block;overflow:hidden}#uriInput .prefix{float:left}#copyButton{width:24px;float:right;position:relative;top:-58px;left:5px}\n"] }]
143
134
  }], function () { return [{ type: i1.FormBuilder }, { type: i2.LanguageService }, { type: i2.MessageService }]; }, { btnSubmitText: [{
144
135
  type: Input
145
136
  }], context: [{
@@ -153,4 +144,4 @@ ContextFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Contex
153
144
  }], delete: [{
154
145
  type: Output
155
146
  }] }); })();
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hbmFnZXIvY29udGV4dC1mb3JtL2NvbnRleHQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL2NvbnRleHQtZm9ybS9jb250ZXh0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUcvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7O0lDV2pELGdDQUFvQztJQUFBLFlBQVc7SUFBQSxpQkFBTzs7O0lBQWxCLGVBQVc7SUFBWCw2Q0FBVzs7QURGbkQsTUFBTSxPQUFPLG9CQUFvQjtJQXFDL0IsWUFDVSxXQUF3QixFQUN4QixlQUFnQyxFQUNoQyxjQUE4QjtRQUY5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVmhDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFMUIsaURBQWlEO1FBQ3ZDLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuRCxVQUFLLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDOUMsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBTXRELENBQUM7SUFyQ0osSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxj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O1FBQ2IsaUJBQWlCO1FBRWpCLHlDQUFpRDtRQUMvQyx1RUFBc0Q7UUFDdEQsK0JBQTJCO1FBQ3pCLDRCQUkyQjs7UUFDN0IsaUJBQU87UUFDVCxpQkFBaUI7UUFFakIsa0NBUWtDO1FBQWhDLGtHQUFTLHlCQUFxQixJQUFDOztRQUMvQiwrQkFBNEM7UUFDOUMsaUJBQVM7UUFFVCwrQkFBbUM7UUFDakMsbUNBR3VDO1FBQ3JDLGFBQ0Y7O1FBQUEsaUJBQVM7UUFDWCxpQkFBTTtRQUVSLGlCQUFPOztRQTdDZ0Isb0NBQWtCO1FBTTlCLGVBQW1FO1FBQW5FLDJGQUFtRTtRQUcxRSxlQUNEO1FBREMsdUdBQ0Q7UUFJUSxlQUFZO1FBQVosaUNBQVk7UUFLWixlQUFpRTtRQUFqRSwyRkFBaUU7UUFXeEUsZUFBaUU7UUFBakUsMkZBQWlFO1FBVS9ELGVBQW9DO1FBQXBDLDBEQUFvQztRQUNwQyxlQUNGO1FBREUsK0ZBQ0Y7O3VGRDlCUyxvQkFBb0I7Y0FMaEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFdBQVcsRUFBRSwrQkFBK0I7Z0JBQzVDLFNBQVMsRUFBRSxDQUFDLCtCQUErQixDQUFDO2FBQzdDO3lIQU1LLGFBQWE7a0JBRGhCLEtBQUs7WUFVRixPQUFPO2tCQURWLEtBQUs7WUFXRixRQUFRO2tCQURYLEtBQUs7WUFVSSxVQUFVO2tCQUFuQixNQUFNO1lBQ0csS0FBSztrQkFBZCxNQUFNO1lBQ0csTUFBTTtrQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMsIENsaXBib2FyZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UsIExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi4vc2hhcmVkL2NvbnRleHQuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNvbnRleHQtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udGV4dC1mb3JtLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRleHRGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xyXG4gIHB1YmxpYyBwcmVmaXg6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgYnRuU3VibWl0VGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2J0blN1Ym1pdFRleHQ7XHJcbiAgfVxyXG4gIHNldCBidG5TdWJtaXRUZXh0KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2J0blN1Ym1pdFRleHQgPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfYnRuU3VibWl0VGV4dDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBjb250ZXh0KCk6IENvbnRleHQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRleHQ7XHJcbiAgfVxyXG4gIHNldCBjb250ZXh0KHZhbHVlOiBDb250ZXh0KSB7XHJcbiAgICB0aGlzLl9jb250ZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb250ZXh0OiBDb250ZXh0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcclxuICB9XHJcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAvLyBUT0RPOiByZXBsYWNlIGFueSBieSBDb250ZXh0T3B0aW9ucyBvciBDb250ZXh0XHJcbiAgQE91dHB1dCgpIHN1Ym1pdEZvcm06IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9uZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRlbGV0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVGb3JtU3VibWl0KHZhbHVlKSB7XHJcbiAgICBsZXQgaW5wdXRzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsdWUpO1xyXG4gICAgaW5wdXRzID0gT2JqZWN0VXRpbHMucmVtb3ZlTnVsbChpbnB1dHMpO1xyXG4gICAgaW5wdXRzLnVyaSA9IGlucHV0cy51cmkucmVwbGFjZSgnICcsICcnKTtcclxuICAgIGlmIChpbnB1dHMudXJpKSB7XHJcbiAgICAgIGlucHV0cy51cmkgPSB0aGlzLnByZWZpeCArICctJyArIGlucHV0cy51cmk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpbnB1dHMudXJpID0gdGhpcy5wcmVmaXg7XHJcbiAgICB9XHJcbiAgICB0aGlzLnN1Ym1pdEZvcm0uZW1pdChpbnB1dHMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvcHlUZXh0VG9DbGlwYm9hcmQoKSB7XHJcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy5wcmVmaXggKyAnLScgKyB0aGlzLmZvcm0udmFsdWUudXJpLnJlcGxhY2UoJyAnLCAnJyk7XHJcbiAgICBjb25zdCBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHkodGV4dCk7XHJcbiAgICBpZiAoc3VjY2Vzc2Z1bCkge1xyXG4gICAgICBjb25zdCB0cmFuc2xhdGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XHJcbiAgICAgIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5jb250ZXh0LmNvbnRleHRNYW5hZ2VyLmRpYWxvZy5jb3B5VGl0bGUnXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IG1zZyA9IHRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICdpZ28uY29udGV4dC5jb250ZXh0TWFuYWdlci5kaWFsb2cuY29weU1zZydcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKG1zZywgdGl0bGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZvcm0oKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb250ZXh0OiBhbnkgPSB0aGlzLmNvbnRleHQgfHwge307XHJcblxyXG4gICAgY29uc3QgdXJpU3BsaXQgPSBjb250ZXh0LnVyaS5zcGxpdCgnLScpO1xyXG4gICAgdGhpcy5wcmVmaXggPSB1cmlTcGxpdC5zaGlmdCgpO1xyXG4gICAgY29uc3QgdXJpID0gdXJpU3BsaXQuam9pbignLScpO1xyXG5cclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICB0aXRsZTogW2NvbnRleHQudGl0bGVdLFxyXG4gICAgICB1cmk6IFt1cmkgfHwgJyAnXVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIGNsYXNzPVwiaWdvLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIlxyXG4gIChuZ1N1Ym1pdCk9XCJoYW5kbGVGb3JtU3VibWl0KGZvcm0udmFsdWUpXCI+XHJcblxyXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCByZXF1aXJlZFxyXG4gICAgICAgICAgIG1heGxlbmd0aD1cIjEyOFwiXHJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidpZ28uY29udGV4dC5jb250ZXh0TWFuYWdlci5mb3JtLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIj5cclxuICAgPG1hdC1lcnJvcj5cclxuICAgIHt7ICdpZ28uY29udGV4dC5jb250ZXh0TWFuYWdlci5mb3JtLnRpdGxlUmVxdWlyZWQnIHwgdHJhbnNsYXRlIH19XHJcbiAgIDwvbWF0LWVycm9yPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gIDxtYXQtZm9ybS1maWVsZCBpZD1cInVyaUlucHV0XCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICA8c3BhbiAqbmdJZj1cInByZWZpeFwiIGNsYXNzPVwicHJlZml4XCI+e3twcmVmaXh9fS08L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cImZpZWxkV3JhcHBlclwiPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXRcclxuICAgICAgICAgICBtYXhsZW5ndGg9XCI2NFwiXHJcbiAgICAgICAgICAgZmxvYXRMYWJlbCA9IFwiYWx3YXlzXCJcclxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5jb250ZXh0LmNvbnRleHRNYW5hZ2VyLmZvcm0udXJpJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidXJpXCI+XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPGJ1dHRvblxyXG4gICAgaWQ9XCJjb3B5QnV0dG9uXCJcclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmNvbnRleHQuY29udGV4dE1hbmFnZXIuZm9ybS5jb3B5JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgKGNsaWNrKT1cImNvcHlUZXh0VG9DbGlwYm9hcmQoKVwiPlxyXG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJjb250ZW50LWNvcHlcIj48L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWQgfHwgZGlzYWJsZWRcIj5cclxuICAgICAge3sgJ2lnby5jb250ZXh0LmNvbnRleHRNYW5hZ2VyLmZvcm0uZWRpdCcgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuPC9mb3JtPlxyXG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hbmFnZXIvY29udGV4dC1mb3JtL2NvbnRleHQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL2NvbnRleHQtZm9ybS9jb250ZXh0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUcvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7O0lDV2pELGdDQUFvQztJQUFBLFlBQVc7SUFBQSxpQkFBTzs7O0lBQWxCLGVBQVc7SUFBWCw2Q0FBVzs7QURGbkQsTUFBTSxPQUFPLG9CQUFvQjtJQXFDL0IsWUFDVSxXQUF3QixFQUN4QixlQUFnQyxFQUNoQyxjQUE4QjtRQUY5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVmhDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFMUIsaURBQWlEO1FBQ3ZDLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuRCxVQUFLLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDOUMsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBTXRELENBQUM7SUFyQ0osSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxj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LEVBQUE7UUFHYix5Q0FBaUQ7UUFDL0MsdUVBQXNEO1FBQ3RELCtCQUEyQjtRQUN6Qiw0QkFJMkI7O1FBQzdCLGlCQUFPLEVBQUE7UUFHVCxrQ0FRa0M7UUFBaEMsa0dBQVMseUJBQXFCLElBQUM7O1FBQy9CLCtCQUE0QztRQUM5QyxpQkFBUztRQUVULCtCQUFtQyxrQkFBQTtRQUsvQixhQUNGOztRQUFBLGlCQUFTLEVBQUEsRUFBQTs7UUExQ1Usb0NBQWtCO1FBTTlCLGVBQW1FO1FBQW5FLDJGQUFtRTtRQUcxRSxlQUNEO1FBREMsdUdBQ0Q7UUFJUSxlQUFZO1FBQVosaUNBQVk7UUFLWixlQUFpRTtRQUFqRSwyRkFBaUU7UUFXeEUsZUFBaUU7UUFBakUsMkZBQWlFO1FBVS9ELGVBQW9DO1FBQXBDLDBEQUFvQztRQUNwQyxlQUNGO1FBREUsK0ZBQ0Y7O3VGRDlCUyxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDRSxrQkFBa0I7eUhBU3hCLGFBQWE7a0JBRGhCLEtBQUs7WUFVRixPQUFPO2tCQURWLEtBQUs7WUFXRixRQUFRO2tCQURYLEtBQUs7WUFVSSxVQUFVO2tCQUFuQixNQUFNO1lBQ0csS0FBSztrQkFBZCxNQUFNO1lBQ0csTUFBTTtrQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMsIENsaXBib2FyZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UsIExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi4vc2hhcmVkL2NvbnRleHQuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNvbnRleHQtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udGV4dC1mb3JtLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRleHRGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xyXG4gIHB1YmxpYyBwcmVmaXg6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgYnRuU3VibWl0VGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2J0blN1Ym1pdFRleHQ7XHJcbiAgfVxyXG4gIHNldCBidG5TdWJtaXRUZXh0KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2J0blN1Ym1pdFRleHQgPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfYnRuU3VibWl0VGV4dDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBjb250ZXh0KCk6IENvbnRleHQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRleHQ7XHJcbiAgfVxyXG4gIHNldCBjb250ZXh0KHZhbHVlOiBDb250ZXh0KSB7XHJcbiAgICB0aGlzLl9jb250ZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb250ZXh0OiBDb250ZXh0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcclxuICB9XHJcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAvLyBUT0RPOiByZXBsYWNlIGFueSBieSBDb250ZXh0T3B0aW9ucyBvciBDb250ZXh0XHJcbiAgQE91dHB1dCgpIHN1Ym1pdEZvcm06IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9uZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRlbGV0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVGb3JtU3VibWl0KHZhbHVlKSB7XHJcbiAgICBsZXQgaW5wdXRzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsdWUpO1xyXG4gICAgaW5wdXRzID0gT2JqZWN0VXRpbHMucmVtb3ZlTnVsbChpbnB1dHMpO1xyXG4gICAgaW5wdXRzLnVyaSA9IGlucHV0cy51cmkucmVwbGFjZSgnICcsICcnKTtcclxuICAgIGlmIChpbnB1dHMudXJpKSB7XHJcbiAgICAgIGlucHV0cy51cmkgPSB0aGlzLnByZWZpeCArICctJyArIGlucHV0cy51cmk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpbnB1dHMudXJpID0gdGhpcy5wcmVmaXg7XHJcbiAgICB9XHJcbiAgICB0aGlzLnN1Ym1pdEZvcm0uZW1pdChpbnB1dHMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvcHlUZXh0VG9DbGlwYm9hcmQoKSB7XHJcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy5wcmVmaXggKyAnLScgKyB0aGlzLmZvcm0udmFsdWUudXJpLnJlcGxhY2UoJyAnLCAnJyk7XHJcbiAgICBjb25zdCBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHkodGV4dCk7XHJcbiAgICBpZiAoc3VjY2Vzc2Z1bCkge1xyXG4gICAgICBjb25zdCB0cmFuc2xhdGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XHJcbiAgICAgIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5jb250ZXh0LmNvbnRleHRNYW5hZ2VyLmRpYWxvZy5jb3B5VGl0bGUnXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IG1zZyA9IHRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICdpZ28uY29udGV4dC5jb250ZXh0TWFuYWdlci5kaWFsb2cuY29weU1zZydcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKG1zZywgdGl0bGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZvcm0oKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb250ZXh0OiBhbnkgPSB0aGlzLmNvbnRleHQgfHwge307XHJcblxyXG4gICAgY29uc3QgdXJpU3BsaXQgPSBjb250ZXh0LnVyaS5zcGxpdCgnLScpO1xyXG4gICAgdGhpcy5wcmVmaXggPSB1cmlTcGxpdC5zaGlmdCgpO1xyXG4gICAgY29uc3QgdXJpID0gdXJpU3BsaXQuam9pbignLScpO1xyXG5cclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICB0aXRsZTogW2NvbnRleHQudGl0bGVdLFxyXG4gICAgICB1cmk6IFt1cmkgfHwgJyAnXVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIGNsYXNzPVwiaWdvLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIlxyXG4gIChuZ1N1Ym1pdCk9XCJoYW5kbGVGb3JtU3VibWl0KGZvcm0udmFsdWUpXCI+XHJcblxyXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCByZXF1aXJlZFxyXG4gICAgICAgICAgIG1heGxlbmd0aD1cIjEyOFwiXHJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidpZ28uY29udGV4dC5jb250ZXh0TWFuYWdlci5mb3JtLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIj5cclxuICAgPG1hdC1lcnJvcj5cclxuICAgIHt7ICdpZ28uY29udGV4dC5jb250ZXh0TWFuYWdlci5mb3JtLnRpdGxlUmVxdWlyZWQnIHwgdHJhbnNsYXRlIH19XHJcbiAgIDwvbWF0LWVycm9yPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gIDxtYXQtZm9ybS1maWVsZCBpZD1cInVyaUlucHV0XCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICA8c3BhbiAqbmdJZj1cInByZWZpeFwiIGNsYXNzPVwicHJlZml4XCI+e3twcmVmaXh9fS08L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cImZpZWxkV3JhcHBlclwiPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXRcclxuICAgICAgICAgICBtYXhsZW5ndGg9XCI2NFwiXHJcbiAgICAgICAgICAgZmxvYXRMYWJlbCA9IFwiYWx3YXlzXCJcclxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5jb250ZXh0LmNvbnRleHRNYW5hZ2VyLmZvcm0udXJpJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidXJpXCI+XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPGJ1dHRvblxyXG4gICAgaWQ9XCJjb3B5QnV0dG9uXCJcclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmNvbnRleHQuY29udGV4dE1hbmFnZXIuZm9ybS5jb3B5JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgKGNsaWNrKT1cImNvcHlUZXh0VG9DbGlwYm9hcmQoKVwiPlxyXG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJjb250ZW50LWNvcHlcIj48L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWQgfHwgZGlzYWJsZWRcIj5cclxuICAgICAge3sgJ2lnby5jb250ZXh0LmNvbnRleHRNYW5hZ2VyLmZvcm0uZWRpdCcgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuPC9mb3JtPlxyXG4iXX0=