@igo2/integration 1.11.1 → 1.13.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/{esm2015/igo2-integration.js → esm2020/igo2-integration.mjs} +0 -0
  2. package/esm2020/lib/about/about-tool/about-tool.component.mjs +185 -0
  3. package/{esm2015/lib/about/about-tool/index.js → esm2020/lib/about/about-tool/index.mjs} +1 -1
  4. package/{esm2015/lib/about/about.module.js → esm2020/lib/about/about.module.mjs} +9 -11
  5. package/{esm2015/lib/about/index.js → esm2020/lib/about/index.mjs} +1 -1
  6. package/{esm2015/lib/analytics/analytics-listener.service.js → esm2020/lib/analytics/analytics-listener.service.mjs} +1 -1
  7. package/{esm2015/lib/analytics/analytics.module.js → esm2020/lib/analytics/analytics.module.mjs} +2 -2
  8. package/{esm2015/lib/analytics/index.js → esm2020/lib/analytics/index.mjs} +1 -1
  9. package/{esm2015/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.js → esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs} +3 -7
  10. package/{esm2015/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.js → esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs} +3 -5
  11. package/{esm2015/lib/catalog/catalog-library-tool/catalog-library-tool.component.js → esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs} +3 -7
  12. package/{esm2015/lib/catalog/catalog-library-tool/catalog-library-tool.module.js → esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs} +3 -5
  13. package/{esm2015/lib/catalog/catalog.module.js → esm2020/lib/catalog/catalog.module.mjs} +2 -2
  14. package/{esm2015/lib/catalog/catalog.state.js → esm2020/lib/catalog/catalog.state.mjs} +1 -1
  15. package/{esm2015/lib/catalog/index.js → esm2020/lib/catalog/index.mjs} +1 -1
  16. package/{esm2015/lib/context/context-editor-tool/context-editor-tool.component.js → esm2020/lib/context/context-editor-tool/context-editor-tool.component.mjs} +3 -6
  17. package/{esm2015/lib/context/context-manager-tool/context-manager-tool.component.js → esm2020/lib/context/context-manager-tool/context-manager-tool.component.mjs} +3 -6
  18. package/{esm2015/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.js → esm2020/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs} +3 -6
  19. package/{esm2015/lib/context/context-share-tool/context-share-tool.component.js → esm2020/lib/context/context-share-tool/context-share-tool.component.mjs} +3 -6
  20. package/{esm2015/lib/context/context.module.js → esm2020/lib/context/context.module.mjs} +2 -2
  21. package/{esm2015/lib/context/context.state.js → esm2020/lib/context/context.state.mjs} +1 -1
  22. package/{esm2015/lib/context/index.js → esm2020/lib/context/index.mjs} +1 -1
  23. package/{esm2015/lib/directions/directions-tool/directions-tool.component.js → esm2020/lib/directions/directions-tool/directions-tool.component.mjs} +3 -6
  24. package/{esm2015/lib/directions/directions-tool/index.js → esm2020/lib/directions/directions-tool/index.mjs} +1 -1
  25. package/{esm2015/lib/directions/directions.module.js → esm2020/lib/directions/directions.module.mjs} +2 -2
  26. package/esm2020/lib/directions/directions.state.mjs +64 -0
  27. package/{esm2015/lib/directions/index.js → esm2020/lib/directions/index.mjs} +1 -1
  28. package/{esm2015/lib/draw/draw.module.js → esm2020/lib/draw/draw.module.mjs} +2 -2
  29. package/{esm2015/lib/draw/draw.state.js → esm2020/lib/draw/draw.state.mjs} +1 -1
  30. package/{esm2015/lib/draw/drawing-tool/drawing-tool.component.js → esm2020/lib/draw/drawing-tool/drawing-tool.component.mjs} +3 -7
  31. package/{esm2015/lib/draw/index.js → esm2020/lib/draw/index.mjs} +1 -1
  32. package/{esm2015/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.js → esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs} +1 -1
  33. package/{esm2015/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.js → esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs} +3 -7
  34. package/{esm2015/lib/filter/active-ogc-filter-tool/index.js → esm2020/lib/filter/active-ogc-filter-tool/index.mjs} +1 -1
  35. package/{esm2015/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.js → esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs} +1 -1
  36. package/{esm2015/lib/filter/active-time-filter-tool/active-time-filter-tool.component.js → esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs} +3 -7
  37. package/{esm2015/lib/filter/active-time-filter-tool/index.js → esm2020/lib/filter/active-time-filter-tool/index.mjs} +1 -1
  38. package/{esm2015/lib/filter/filter.module.js → esm2020/lib/filter/filter.module.mjs} +2 -2
  39. package/{esm2015/lib/filter/index.js → esm2020/lib/filter/index.mjs} +1 -1
  40. package/{esm2015/lib/filter/ogc-filter-tool/index.js → esm2020/lib/filter/ogc-filter-tool/index.mjs} +1 -1
  41. package/{esm2015/lib/filter/ogc-filter-tool/ogc-filter-tool.component.js → esm2020/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs} +3 -6
  42. package/{esm2015/lib/filter/spatial-filter-tool/index.js → esm2020/lib/filter/spatial-filter-tool/index.mjs} +1 -1
  43. package/esm2020/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +535 -0
  44. package/{esm2015/lib/filter/time-filter-tool/index.js → esm2020/lib/filter/time-filter-tool/index.mjs} +1 -1
  45. package/{esm2015/lib/filter/time-filter-tool/time-filter-tool.component.js → esm2020/lib/filter/time-filter-tool/time-filter-tool.component.mjs} +3 -6
  46. package/esm2020/lib/import-export/import-export-tool/import-export-tool.component.mjs +137 -0
  47. package/{esm2015/lib/import-export/import-export-tool/index.js → esm2020/lib/import-export/import-export-tool/index.mjs} +1 -1
  48. package/{esm2015/lib/import-export/import-export.module.js → esm2020/lib/import-export/import-export.module.mjs} +7 -9
  49. package/{esm2015/lib/import-export/import-export.state.js → esm2020/lib/import-export/import-export.state.mjs} +1 -1
  50. package/{esm2015/lib/import-export/index.js → esm2020/lib/import-export/index.mjs} +1 -1
  51. package/{esm2015/lib/integration.module.js → esm2020/lib/integration.module.mjs} +2 -2
  52. package/esm2020/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +473 -0
  53. package/esm2020/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +89 -0
  54. package/esm2020/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +218 -0
  55. package/{esm2015/lib/map/advanced-map-tool/index.js → esm2020/lib/map/advanced-map-tool/index.mjs} +1 -1
  56. package/esm2020/lib/map/index.mjs +9 -0
  57. package/{esm2015/lib/map/layer-list-tool.state.js → esm2020/lib/map/layer-list-tool.state.mjs} +1 -1
  58. package/{esm2015/lib/map/map-details-tool/index.js → esm2020/lib/map/map-details-tool/index.mjs} +1 -1
  59. package/esm2020/lib/map/map-details-tool/map-details-tool.component.mjs +256 -0
  60. package/{esm2015/lib/map/map-legend/index.js → esm2020/lib/map/map-legend/index.mjs} +1 -1
  61. package/esm2020/lib/map/map-legend/map-legend-tool.component.mjs +275 -0
  62. package/esm2020/lib/map/map-proximity-tool/index.mjs +2 -0
  63. package/esm2020/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +206 -0
  64. package/esm2020/lib/map/map-proximity.state.mjs +163 -0
  65. package/{esm2015/lib/map/map-tool/index.js → esm2020/lib/map/map-tool/index.mjs} +1 -1
  66. package/esm2020/lib/map/map-tool/map-tool.component.mjs +130 -0
  67. package/{esm2015/lib/map/map-tools/index.js → esm2020/lib/map/map-tools/index.mjs} +1 -1
  68. package/esm2020/lib/map/map-tools/map-tools.component.mjs +478 -0
  69. package/esm2020/lib/map/map.module.mjs +141 -0
  70. package/esm2020/lib/map/map.state.mjs +47 -0
  71. package/{esm2015/lib/measure/index.js → esm2020/lib/measure/index.mjs} +1 -1
  72. package/{esm2015/lib/measure/measure.module.js → esm2020/lib/measure/measure.module.mjs} +2 -2
  73. package/{esm2015/lib/measure/measure.state.js → esm2020/lib/measure/measure.state.mjs} +1 -1
  74. package/{esm2015/lib/measure/measurer-tool/measurer-tool.component.js → esm2020/lib/measure/measurer-tool/measurer-tool.component.mjs} +3 -7
  75. package/{esm2015/lib/measure/measurer-tool/measurer-tool.module.js → esm2020/lib/measure/measurer-tool/measurer-tool.module.mjs} +2 -4
  76. package/{esm2015/lib/print/index.js → esm2020/lib/print/index.mjs} +1 -1
  77. package/{esm2015/lib/print/print-tool/index.js → esm2020/lib/print/print-tool/index.mjs} +1 -1
  78. package/{esm2015/lib/print/print-tool/print-tool.component.js → esm2020/lib/print/print-tool/print-tool.component.mjs} +3 -6
  79. package/{esm2015/lib/print/print.module.js → esm2020/lib/print/print.module.mjs} +2 -2
  80. package/{esm2015/lib/search/index.js → esm2020/lib/search/index.mjs} +1 -1
  81. package/{esm2015/lib/search/query.state.js → esm2020/lib/search/query.state.mjs} +1 -1
  82. package/{esm2015/lib/search/search-bar/search-bar-binding.directive.js → esm2020/lib/search/search-bar/search-bar-binding.directive.mjs} +1 -1
  83. package/{esm2015/lib/search/search-bar/search-bar.module.js → esm2020/lib/search/search-bar/search-bar.module.mjs} +2 -2
  84. package/esm2020/lib/search/search-results-tool/search-results-tool.component.mjs +577 -0
  85. package/{esm2015/lib/search/search-results-tool/search-results-tool.module.js → esm2020/lib/search/search-results-tool/search-results-tool.module.mjs} +13 -15
  86. package/{esm2015/lib/search/search.module.js → esm2020/lib/search/search.module.mjs} +2 -2
  87. package/{esm2015/lib/search/search.state.js → esm2020/lib/search/search.state.mjs} +1 -1
  88. package/{esm2015/lib/storage/index.js → esm2020/lib/storage/index.mjs} +1 -1
  89. package/{esm2015/lib/storage/storage.module.js → esm2020/lib/storage/storage.module.mjs} +2 -2
  90. package/{esm2015/lib/storage/storage.state.js → esm2020/lib/storage/storage.state.mjs} +1 -1
  91. package/{esm2015/lib/tool/index.js → esm2020/lib/tool/index.mjs} +1 -1
  92. package/{esm2015/lib/tool/tool.module.js → esm2020/lib/tool/tool.module.mjs} +2 -2
  93. package/{esm2015/lib/tool/tool.state.js → esm2020/lib/tool/tool.state.mjs} +1 -1
  94. package/{esm2015/lib/workspace/index.js → esm2020/lib/workspace/index.mjs} +1 -1
  95. package/esm2020/lib/workspace/shared/edition-actions.service.mjs +156 -0
  96. package/{esm2015/lib/workspace/shared/feature-actions.service.js → esm2020/lib/workspace/shared/feature-actions.service.mjs} +1 -1
  97. package/{esm2015/lib/workspace/shared/index.js → esm2020/lib/workspace/shared/index.mjs} +1 -1
  98. package/esm2020/lib/workspace/shared/wfs-actions.service.mjs +158 -0
  99. package/{esm2015/lib/workspace/shared/workspace.utils.js → esm2020/lib/workspace/shared/workspace.utils.mjs} +1 -1
  100. package/{esm2015/lib/workspace/workspace-button/index.js → esm2020/lib/workspace/workspace-button/index.mjs} +1 -1
  101. package/esm2020/lib/workspace/workspace-button/workspace-button.component.mjs +69 -0
  102. package/{esm2015/lib/workspace/workspace.module.js → esm2020/lib/workspace/workspace.module.mjs} +6 -8
  103. package/esm2020/lib/workspace/workspace.state.mjs +188 -0
  104. package/{esm2015/public_api.js → esm2020/public_api.mjs} +1 -1
  105. package/fesm2015/igo2-integration.mjs +6606 -0
  106. package/fesm2015/igo2-integration.mjs.map +1 -0
  107. package/{fesm2015/igo2-integration.js → fesm2020/igo2-integration.mjs} +816 -589
  108. package/fesm2020/igo2-integration.mjs.map +1 -0
  109. package/{igo2-integration.d.ts → index.d.ts} +0 -0
  110. package/lib/about/about-tool/about-tool.component.d.ts +1 -1
  111. package/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.d.ts +1 -1
  112. package/lib/catalog/catalog-library-tool/catalog-library-tool.component.d.ts +1 -1
  113. package/lib/context/context-editor-tool/context-editor-tool.component.d.ts +1 -1
  114. package/lib/context/context-manager-tool/context-manager-tool.component.d.ts +1 -1
  115. package/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.d.ts +1 -1
  116. package/lib/context/context-share-tool/context-share-tool.component.d.ts +1 -1
  117. package/lib/directions/directions-tool/directions-tool.component.d.ts +1 -1
  118. package/lib/draw/drawing-tool/drawing-tool.component.d.ts +1 -1
  119. package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.d.ts +1 -1
  120. package/lib/filter/active-time-filter-tool/active-time-filter-tool.component.d.ts +1 -1
  121. package/lib/filter/ogc-filter-tool/ogc-filter-tool.component.d.ts +1 -1
  122. package/lib/filter/spatial-filter-tool/spatial-filter-tool.component.d.ts +3 -1
  123. package/lib/filter/time-filter-tool/time-filter-tool.component.d.ts +1 -1
  124. package/lib/import-export/import-export-tool/import-export-tool.component.d.ts +1 -1
  125. package/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.d.ts +4 -4
  126. package/lib/map/advanced-map-tool/advanced-map-tool.component.d.ts +8 -1
  127. package/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.d.ts +4 -4
  128. package/lib/map/index.d.ts +2 -0
  129. package/lib/map/map-details-tool/map-details-tool.component.d.ts +1 -1
  130. package/lib/map/map-legend/map-legend-tool.component.d.ts +1 -1
  131. package/lib/map/map-proximity-tool/index.d.ts +1 -0
  132. package/lib/map/map-proximity-tool/map-proximity-tool.component.d.ts +36 -0
  133. package/lib/map/map-proximity.state.d.ts +28 -0
  134. package/lib/map/map-tool/map-tool.component.d.ts +1 -1
  135. package/lib/map/map-tools/map-tools.component.d.ts +1 -1
  136. package/lib/map/map.module.d.ts +30 -28
  137. package/lib/map/map.state.d.ts +5 -1
  138. package/lib/measure/measurer-tool/measurer-tool.component.d.ts +1 -1
  139. package/lib/print/print-tool/print-tool.component.d.ts +1 -1
  140. package/lib/search/search-bar/search-bar-binding.directive.d.ts +1 -1
  141. package/lib/search/search-results-tool/search-results-tool.component.d.ts +7 -1
  142. package/lib/workspace/workspace-button/workspace-button.component.d.ts +1 -1
  143. package/lib/workspace/workspace.state.d.ts +4 -2
  144. package/ngcc.config.js +3 -3
  145. package/package.json +24 -11
  146. package/bundles/igo2-integration.umd.js +0 -7357
  147. package/bundles/igo2-integration.umd.js.map +0 -1
  148. package/esm2015/lib/about/about-tool/about-tool.component.js +0 -190
  149. package/esm2015/lib/directions/directions.state.js +0 -66
  150. package/esm2015/lib/filter/spatial-filter-tool/spatial-filter-tool.component.js +0 -544
  151. package/esm2015/lib/import-export/import-export-tool/import-export-tool.component.js +0 -145
  152. package/esm2015/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.js +0 -481
  153. package/esm2015/lib/map/advanced-map-tool/advanced-map-tool.component.js +0 -50
  154. package/esm2015/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.js +0 -234
  155. package/esm2015/lib/map/index.js +0 -7
  156. package/esm2015/lib/map/map-details-tool/map-details-tool.component.js +0 -274
  157. package/esm2015/lib/map/map-legend/map-legend-tool.component.js +0 -289
  158. package/esm2015/lib/map/map-tool/map-tool.component.js +0 -142
  159. package/esm2015/lib/map/map-tools/map-tools.component.js +0 -496
  160. package/esm2015/lib/map/map.module.js +0 -133
  161. package/esm2015/lib/map/map.state.js +0 -44
  162. package/esm2015/lib/search/search-results-tool/search-results-tool.component.js +0 -574
  163. package/esm2015/lib/workspace/shared/edition-actions.service.js +0 -157
  164. package/esm2015/lib/workspace/shared/wfs-actions.service.js +0 -159
  165. package/esm2015/lib/workspace/workspace-button/workspace-button.component.js +0 -74
  166. package/esm2015/lib/workspace/workspace.state.js +0 -172
  167. package/fesm2015/igo2-integration.js.map +0 -1
@@ -1,157 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy } from '@igo2/common';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, } from '@igo2/geo';
5
- import { StorageServiceEventEnum } from '@igo2/core';
6
- import { map, skipWhile } from 'rxjs/operators';
7
- import { handleZoomAuto } from './workspace.utils';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../storage/storage.state";
10
- import * as i2 from "@igo2/core";
11
- import * as i3 from "../../tool/tool.state";
12
- import * as i4 from "@igo2/common";
13
- export class EditionActionsService {
14
- constructor(ogcFilterWidget, storageState, languageService, mediaService, toolState) {
15
- this.ogcFilterWidget = ogcFilterWidget;
16
- this.storageState = storageState;
17
- this.languageService = languageService;
18
- this.mediaService = mediaService;
19
- this.toolState = toolState;
20
- this.maximize$ = new BehaviorSubject(this.storageService.get('workspaceMaximize'));
21
- this.zoomAuto$ = new BehaviorSubject(false);
22
- }
23
- get storageService() {
24
- return this.storageState.storageService;
25
- }
26
- get zoomAuto() {
27
- return this.storageService.get('zoomAuto');
28
- }
29
- ngOnDestroy() {
30
- if (this.storageChange$$) {
31
- this.storageChange$$.unsubscribe();
32
- }
33
- }
34
- loadActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
35
- const actions = this.buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$);
36
- workspace.actionStore.load(actions);
37
- }
38
- buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
39
- var _a, _b;
40
- this.zoomAuto$.next(this.zoomAuto);
41
- this.storageChange$$ = this.storageService.storageChange$
42
- .pipe(skipWhile((storageChange) => (storageChange === null || storageChange === void 0 ? void 0 : storageChange.key) !== 'zoomAuto' || (storageChange === null || storageChange === void 0 ? void 0 : storageChange.event) === StorageServiceEventEnum.CLEARED))
43
- .subscribe(() => {
44
- this.zoomAuto$.next(this.zoomAuto);
45
- handleZoomAuto(workspace, this.storageService);
46
- });
47
- const actions = [
48
- {
49
- id: 'zoomAuto',
50
- checkbox: true,
51
- title: 'igo.integration.workspace.zoomAuto.title',
52
- tooltip: 'igo.integration.workspace.zoomAuto.tooltip',
53
- checkCondition: this.zoomAuto$,
54
- handler: () => {
55
- handleZoomAuto(workspace, this.storageService);
56
- this.storageService.set('zoomAuto', !this.storageService.get('zoomAuto'));
57
- }
58
- },
59
- {
60
- id: 'filterInMapExtent',
61
- checkbox: true,
62
- title: 'igo.integration.workspace.inMapExtent.title',
63
- tooltip: mapExtentStrategyActiveToolTip(workspace),
64
- checkCondition: rowsInMapExtentCheckCondition$,
65
- handler: () => rowsInMapExtentCheckCondition$.next(!rowsInMapExtentCheckCondition$.value)
66
- },
67
- {
68
- id: 'selectedOnly',
69
- checkbox: true,
70
- title: 'igo.integration.workspace.selected.title',
71
- tooltip: 'igo.integration.workspace.selected.title',
72
- checkCondition: selectOnlyCheckCondition$,
73
- handler: () => selectOnlyCheckCondition$.next(!selectOnlyCheckCondition$.value)
74
- },
75
- {
76
- id: 'clearselection',
77
- icon: 'select-off',
78
- title: 'igo.integration.workspace.clearSelection.title',
79
- tooltip: 'igo.integration.workspace.clearSelection.tooltip',
80
- handler: (ws) => {
81
- ws.entityStore.state.updateMany(ws.entityStore.view.all(), { selected: false });
82
- },
83
- args: [workspace],
84
- availability: (ws) => noElementSelected(ws)
85
- },
86
- {
87
- id: 'wfsDownload',
88
- icon: 'file-export',
89
- title: 'igo.integration.workspace.download.title',
90
- tooltip: 'igo.integration.workspace.download.tooltip',
91
- handler: (ws) => {
92
- const filterStrategy = ws.entityStore.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
93
- const filterSelectionStrategy = ws.entityStore.getStrategyOfType(EntityStoreFilterSelectionStrategy);
94
- const layersWithSelection = filterSelectionStrategy.active ? [ws.layer.id] : [];
95
- this.toolState.toolToActivateFromOptions({
96
- tool: 'importExport',
97
- options: { layers: [ws.layer.id], featureInMapExtent: filterStrategy.active, layersWithSelection }
98
- });
99
- },
100
- args: [workspace]
101
- },
102
- {
103
- id: 'ogcFilter',
104
- icon: 'filter',
105
- title: 'igo.integration.workspace.ogcFilter.title',
106
- tooltip: 'igo.integration.workspace.ogcFilter.tooltip',
107
- handler: (widget, ws) => {
108
- ws.activateWidget(widget, {
109
- map: ws.map,
110
- layer: ws.layer
111
- });
112
- },
113
- args: [this.ogcFilterWidget, workspace]
114
- },
115
- {
116
- id: 'maximize',
117
- title: this.languageService.translate.instant('igo.integration.workspace.maximize'),
118
- tooltip: this.languageService.translate.instant('igo.integration.workspace.maximizeTooltip'),
119
- icon: 'resize',
120
- display: () => {
121
- return this.maximize$.pipe(map((v) => !v && !this.mediaService.isMobile()));
122
- },
123
- handler: () => {
124
- if (!this.mediaService.isMobile()) {
125
- this.maximize$.next(true);
126
- }
127
- },
128
- },
129
- {
130
- id: 'standardExtent',
131
- title: this.languageService.translate.instant('igo.integration.workspace.standardExtent'),
132
- tooltip: this.languageService.translate.instant('igo.integration.workspace.standardExtentTooltip'),
133
- icon: 'resize',
134
- display: () => {
135
- return this.maximize$.pipe(map((v) => v && !this.mediaService.isMobile()));
136
- },
137
- handler: () => {
138
- this.maximize$.next(false);
139
- }
140
- }
141
- ];
142
- return ((_b = (_a = workspace.layer.dataSource.ogcFilters$) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.enabled) ?
143
- actions : actions.filter(action => action.id !== 'ogcFilter');
144
- }
145
- }
146
- EditionActionsService.ɵfac = function EditionActionsService_Factory(t) { return new (t || EditionActionsService)(i0.ɵɵinject(OgcFilterWidget), i0.ɵɵinject(i1.StorageState), i0.ɵɵinject(i2.LanguageService), i0.ɵɵinject(i2.MediaService), i0.ɵɵinject(i3.ToolState)); };
147
- EditionActionsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EditionActionsService, factory: EditionActionsService.ɵfac, providedIn: 'root' });
148
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EditionActionsService, [{
149
- type: Injectable,
150
- args: [{
151
- providedIn: 'root'
152
- }]
153
- }], function () { return [{ type: i4.Widget, decorators: [{
154
- type: Inject,
155
- args: [OgcFilterWidget]
156
- }] }, { type: i1.StorageState }, { type: i2.LanguageService }, { type: i2.MediaService }, { type: i3.ToolState }]; }, null); })();
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9zaGFyZWQvZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUVMLG1DQUFtQyxFQUNuQyxrQ0FBa0MsRUFFbkMsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUVMLDhCQUE4QixFQUM5QixpQkFBaUIsRUFFakIsZUFBZSxHQUVoQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQXVDLHVCQUF1QixFQUFnQyxNQUFNLFlBQVksQ0FBQztBQUV4SCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBS25ELE1BQU0sT0FBTyxxQkFBcUI7SUFpQmhDLFlBQ21DLGVBQXVCLEVBQ2hELFlBQTBCLEVBQzNCLGVBQWdDLEVBQy9CLFlBQTBCLEVBQzFCLFNBQW9CO1FBSkssb0JBQWUsR0FBZixlQUFlLENBQVE7UUFDaEQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFwQnZCLGNBQVMsR0FBNkIsSUFBSSxlQUFlLENBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFZLENBQ3hELENBQUM7UUFFRixjQUFTLEdBQTZCLElBQUksZUFBZSxDQUFDLEtB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Q0UsRUFBRSxFQUFFLGdCQUFnQjtnQkFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0MsMENBQTBDLENBQzNDO2dCQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzdDLGlEQUFpRCxDQUNsRDtnQkFDRCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDN0UsQ0FBQztnQkFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM3QixDQUFDO2FBQ0Y7U0FDRixDQUFDO1FBQ0YsT0FBTyxDQUFBLE1BQUEsTUFBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQXNDLENBQUMsV0FBVywwQ0FBRSxLQUFLLDBDQUFFLE9BQU8sRUFBQyxDQUFDO1lBQzVGLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FBQzs7MEZBL0pVLHFCQUFxQixjQWtCdEIsZUFBZTsyRUFsQmQscUJBQXFCLFdBQXJCLHFCQUFxQixtQkFGcEIsTUFBTTt1RkFFUCxxQkFBcUI7Y0FIakMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COztzQkFtQkksTUFBTTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQWN0aW9uLFxuICBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSxcbiAgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSxcbiAgV2lkZ2V0XG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBFZGl0aW9uV29ya3NwYWNlLFxuICBtYXBFeHRlbnRTdHJhdGVneUFjdGl2ZVRvb2xUaXAsXG4gIG5vRWxlbWVudFNlbGVjdGVkLFxuICBFeHBvcnRPcHRpb25zLFxuICBPZ2NGaWx0ZXJXaWRnZXQsXG4gIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlLFxufSBmcm9tICdAaWdvMi9nZW8nO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlRXZlbnQsIFN0b3JhZ2VTZXJ2aWNlRXZlbnRFbnVtLCBMYW5ndWFnZVNlcnZpY2UsIE1lZGlhU2VydmljZX0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBTdG9yYWdlU3RhdGUgfSBmcm9tICcuLi8uLi9zdG9yYWdlL3N0b3JhZ2Uuc3RhdGUnO1xuaW1wb3J0IHsgbWFwLCBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUb29sU3RhdGUgfSBmcm9tICcuLi8uLi90b29sL3Rvb2wuc3RhdGUnO1xuaW1wb3J0IHsgaGFuZGxlWm9vbUF1dG8gfSBmcm9tICcuL3dvcmtzcGFjZS51dGlscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRpb25BY3Rpb25zU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIG1heGltaXplJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnd29ya3NwYWNlTWF4aW1pemUnKSBhcyBib29sZWFuXG4gICk7XG5cbiAgem9vbUF1dG8kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSBzdG9yYWdlQ2hhbmdlJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBnZXQgc3RvcmFnZVNlcnZpY2UoKTogU3RvcmFnZVNlcnZpY2Uge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2VTdGF0ZS5zdG9yYWdlU2VydmljZTtcbiAgfVxuXG4gIGdldCB6b29tQXV0bygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3pvb21BdXRvJykgYXMgYm9vbGVhbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoT2djRmlsdGVyV2lkZ2V0KSBwcml2YXRlIG9nY0ZpbHRlcldpZGdldDogV2lkZ2V0LFxuICAgIHByaXZhdGUgc3RvcmFnZVN0YXRlOiBTdG9yYWdlU3RhdGUsXG4gICAgcHVibGljIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b29sU3RhdGU6IFRvb2xTdGF0ZSkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yYWdlQ2hhbmdlJCQpIHtcbiAgICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbG9hZEFjdGlvbnMoXG4gICAgd29ya3NwYWNlOiBFZGl0aW9uV29ya3NwYWNlLFxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxuICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxuICAgICkge1xuICAgIGNvbnN0IGFjdGlvbnMgPSB0aGlzLmJ1aWxkQWN0aW9ucyhcbiAgICAgIHdvcmtzcGFjZSxcbiAgICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCxcbiAgICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiRcbiAgICAgICk7XG4gICAgd29ya3NwYWNlLmFjdGlvblN0b3JlLmxvYWQoYWN0aW9ucyk7XG4gIH1cblxuICBidWlsZEFjdGlvbnMoXG4gICAgd29ya3NwYWNlOiBFZGl0aW9uV29ya3NwYWNlLFxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxuICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxuICAgICk6IEFjdGlvbltdIHtcbiAgICB0aGlzLnpvb21BdXRvJC5uZXh0KHRoaXMuem9vbUF1dG8pO1xuICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkID0gdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yYWdlQ2hhbmdlJFxuICAgICAgLnBpcGUoc2tpcFdoaWxlKChzdG9yYWdlQ2hhbmdlOiBTdG9yYWdlU2VydmljZUV2ZW50KSA9PlxuICAgICAgICBzdG9yYWdlQ2hhbmdlPy5rZXkgIT09ICd6b29tQXV0bycgfHwgc3RvcmFnZUNoYW5nZT8uZXZlbnQgPT09IFN0b3JhZ2VTZXJ2aWNlRXZlbnRFbnVtLkNMRUFSRUQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuem9vbUF1dG8kLm5leHQodGhpcy56b29tQXV0byk7XG4gICAgICAgIGhhbmRsZVpvb21BdXRvKHdvcmtzcGFjZSwgdGhpcy5zdG9yYWdlU2VydmljZSk7XG4gICAgICB9KTtcbiAgICBjb25zdCBhY3Rpb25zID0gW1xuICAgICAge1xuICAgICAgICBpZDogJ3pvb21BdXRvJyxcbiAgICAgICAgY2hlY2tib3g6IHRydWUsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS56b29tQXV0by50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnpvb21BdXRvLnRvb2x0aXAnLFxuICAgICAgICBjaGVja0NvbmRpdGlvbjogdGhpcy56b29tQXV0byQsXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICBoYW5kbGVab29tQXV0byh3b3Jrc3BhY2UsIHRoaXMuc3RvcmFnZVNlcnZpY2UpO1xuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KCd6b29tQXV0bycsICF0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnem9vbUF1dG8nKSBhcyBib29sZWFuKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdmaWx0ZXJJbk1hcEV4dGVudCcsXG4gICAgICAgIGNoZWNrYm94OiB0cnVlLFxuICAgICAgICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UuaW5NYXBFeHRlbnQudGl0bGUnLFxuICAgICAgICB0b29sdGlwOiBtYXBFeHRlbnRTdHJhdGVneUFjdGl2ZVRvb2xUaXAod29ya3NwYWNlKSxcbiAgICAgICAgY2hlY2tDb25kaXRpb246IHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCxcbiAgICAgICAgaGFuZGxlcjogKCkgPT4gcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLm5leHQoIXJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJC52YWx1ZSlcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2VsZWN0ZWRPbmx5JyxcbiAgICAgICAgY2hlY2tib3g6IHRydWUsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5zZWxlY3RlZC50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnNlbGVjdGVkLnRpdGxlJyxcbiAgICAgICAgY2hlY2tDb25kaXRpb246IHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQsXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQubmV4dCghc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJC52YWx1ZSlcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnY2xlYXJzZWxlY3Rpb24nLFxuICAgICAgICBpY29uOiAnc2VsZWN0LW9mZicsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5jbGVhclNlbGVjdGlvbi50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmNsZWFyU2VsZWN0aW9uLnRvb2x0aXAnLFxuICAgICAgICBoYW5kbGVyOiAod3M6IEVkaXRpb25Xb3Jrc3BhY2UpID0+IHtcbiAgICAgICAgICB3cy5lbnRpdHlTdG9yZS5zdGF0ZS51cGRhdGVNYW55KHdzLmVudGl0eVN0b3JlLnZpZXcuYWxsKCksIHsgc2VsZWN0ZWQ6IGZhbHNlIH0pO1xuICAgICAgICB9LFxuICAgICAgICBhcmdzOiBbd29ya3NwYWNlXSxcbiAgICAgICAgYXZhaWxhYmlsaXR5OiAod3M6IEVkaXRpb25Xb3Jrc3BhY2UpID0+IG5vRWxlbWVudFNlbGVjdGVkKHdzKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICd3ZnNEb3dubG9hZCcsXG4gICAgICAgIGljb246ICdmaWxlLWV4cG9ydCcsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5kb3dubG9hZC50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmRvd25sb2FkLnRvb2x0aXAnLFxuICAgICAgICBoYW5kbGVyOiAod3M6IEVkaXRpb25Xb3Jrc3BhY2UpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJTdHJhdGVneSA9IHdzLmVudGl0eVN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5KTtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSA9IHdzLmVudGl0eVN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKEVudGl0eVN0b3JlRmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3kpO1xuICAgICAgICAgIGNvbnN0IGxheWVyc1dpdGhTZWxlY3Rpb24gPSBmaWx0ZXJTZWxlY3Rpb25TdHJhdGVneS5hY3RpdmUgPyBbd3MubGF5ZXIuaWRdIDogW107XG4gICAgICAgICAgdGhpcy50b29sU3RhdGUudG9vbFRvQWN0aXZhdGVGcm9tT3B0aW9ucyh7XG4gICAgICAgICAgICB0b29sOiAnaW1wb3J0RXhwb3J0JyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHsgbGF5ZXJzOiBbd3MubGF5ZXIuaWRdLCBmZWF0dXJlSW5NYXBFeHRlbnQ6IGZpbHRlclN0cmF0ZWd5LmFjdGl2ZSwgbGF5ZXJzV2l0aFNlbGVjdGlvbiB9IGFzIEV4cG9ydE9wdGlvbnNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgYXJnczogW3dvcmtzcGFjZV1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnb2djRmlsdGVyJyxcbiAgICAgICAgaWNvbjogJ2ZpbHRlcicsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5vZ2NGaWx0ZXIudGl0bGUnLFxuICAgICAgICB0b29sdGlwOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5vZ2NGaWx0ZXIudG9vbHRpcCcsXG4gICAgICAgIGhhbmRsZXI6ICh3aWRnZXQ6IFdpZGdldCwgd3M6IEVkaXRpb25Xb3Jrc3BhY2UpID0+IHtcbiAgICAgICAgICB3cy5hY3RpdmF0ZVdpZGdldCh3aWRnZXQsIHtcbiAgICAgICAgICAgIG1hcDogd3MubWFwLFxuICAgICAgICAgICAgbGF5ZXI6IHdzLmxheWVyXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIGFyZ3M6IFt0aGlzLm9nY0ZpbHRlcldpZGdldCwgd29ya3NwYWNlXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdtYXhpbWl6ZScsXG4gICAgICAgIHRpdGxlOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5tYXhpbWl6ZScpLFxuICAgICAgICB0b29sdGlwOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5tYXhpbWl6ZVRvb2x0aXAnXG4gICAgICAgICksXG4gICAgICAgIGljb246ICdyZXNpemUnLFxuICAgICAgICBkaXNwbGF5OiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubWF4aW1pemUkLnBpcGUobWFwKCh2KSA9PiAhdiAmJiAhdGhpcy5tZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLm1lZGlhU2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICAgICAgICB0aGlzLm1heGltaXplJC5uZXh0KHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnc3RhbmRhcmRFeHRlbnQnLFxuICAgICAgICB0aXRsZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuc3RhbmRhcmRFeHRlbnQnXG4gICAgICAgICksXG4gICAgICAgIHRvb2x0aXA6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnN0YW5kYXJkRXh0ZW50VG9vbHRpcCdcbiAgICAgICAgKSxcbiAgICAgICAgaWNvbjogJ3Jlc2l6ZScsXG4gICAgICAgIGRpc3BsYXk6ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5tYXhpbWl6ZSQucGlwZShtYXAoKHYpID0+IHYgJiYgIXRoaXMubWVkaWFTZXJ2aWNlLmlzTW9iaWxlKCkpKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMubWF4aW1pemUkLm5leHQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXTtcbiAgICByZXR1cm4gKHdvcmtzcGFjZS5sYXllci5kYXRhU291cmNlIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlKS5vZ2NGaWx0ZXJzJD8udmFsdWU/LmVuYWJsZWQgP1xuICAgIGFjdGlvbnMgOiBhY3Rpb25zLmZpbHRlcihhY3Rpb24gPT4gYWN0aW9uLmlkICE9PSAnb2djRmlsdGVyJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,159 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy } from '@igo2/common';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, } from '@igo2/geo';
5
- import { StorageServiceEventEnum } from '@igo2/core';
6
- import { map, skipWhile } from 'rxjs/operators';
7
- import { handleZoomAuto } from './workspace.utils';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../storage/storage.state";
10
- import * as i2 from "@igo2/core";
11
- import * as i3 from "../../tool/tool.state";
12
- import * as i4 from "@igo2/common";
13
- export class WfsActionsService {
14
- constructor(ogcFilterWidget, storageState, languageService, mediaService, toolState) {
15
- this.ogcFilterWidget = ogcFilterWidget;
16
- this.storageState = storageState;
17
- this.languageService = languageService;
18
- this.mediaService = mediaService;
19
- this.toolState = toolState;
20
- this.maximize$ = new BehaviorSubject(this.storageService.get('workspaceMaximize'));
21
- this.selectOnlyCheckCondition$ = new BehaviorSubject(false);
22
- // rowsInMapExtentCheckCondition$: BehaviorSubject<boolean> = new BehaviorSubject(true);
23
- this.zoomAuto$ = new BehaviorSubject(false);
24
- }
25
- get storageService() {
26
- return this.storageState.storageService;
27
- }
28
- get zoomAuto() {
29
- return this.storageService.get('zoomAuto');
30
- }
31
- ngOnDestroy() {
32
- if (this.storageChange$$) {
33
- this.storageChange$$.unsubscribe();
34
- }
35
- }
36
- loadActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
37
- const actions = this.buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$);
38
- workspace.actionStore.load(actions);
39
- }
40
- buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
41
- var _a, _b;
42
- this.zoomAuto$.next(this.zoomAuto);
43
- this.storageChange$$ = this.storageService.storageChange$
44
- .pipe(skipWhile((storageChange) => (storageChange === null || storageChange === void 0 ? void 0 : storageChange.key) !== 'zoomAuto' || (storageChange === null || storageChange === void 0 ? void 0 : storageChange.event) === StorageServiceEventEnum.CLEARED))
45
- .subscribe(() => {
46
- this.zoomAuto$.next(this.zoomAuto);
47
- handleZoomAuto(workspace, this.storageService);
48
- });
49
- const actions = [
50
- {
51
- id: 'zoomAuto',
52
- checkbox: true,
53
- title: 'igo.integration.workspace.zoomAuto.title',
54
- tooltip: 'igo.integration.workspace.zoomAuto.tooltip',
55
- checkCondition: this.zoomAuto$,
56
- handler: () => {
57
- handleZoomAuto(workspace, this.storageService);
58
- this.storageService.set('zoomAuto', !this.storageService.get('zoomAuto'));
59
- }
60
- },
61
- {
62
- id: 'filterInMapExtent',
63
- checkbox: true,
64
- title: 'igo.integration.workspace.inMapExtent.title',
65
- tooltip: mapExtentStrategyActiveToolTip(workspace),
66
- checkCondition: rowsInMapExtentCheckCondition$,
67
- handler: () => rowsInMapExtentCheckCondition$.next(!rowsInMapExtentCheckCondition$.value)
68
- },
69
- {
70
- id: 'selectedOnly',
71
- checkbox: true,
72
- title: 'igo.integration.workspace.selected.title',
73
- tooltip: 'igo.integration.workspace.selected.title',
74
- checkCondition: selectOnlyCheckCondition$,
75
- handler: () => selectOnlyCheckCondition$.next(!selectOnlyCheckCondition$.value)
76
- },
77
- {
78
- id: 'clearselection',
79
- icon: 'select-off',
80
- title: 'igo.integration.workspace.clearSelection.title',
81
- tooltip: 'igo.integration.workspace.clearSelection.tooltip',
82
- handler: (ws) => {
83
- ws.entityStore.state.updateMany(ws.entityStore.view.all(), { selected: false });
84
- },
85
- args: [workspace],
86
- availability: (ws) => noElementSelected(ws)
87
- },
88
- {
89
- id: 'wfsDownload',
90
- icon: 'file-export',
91
- title: 'igo.integration.workspace.download.title',
92
- tooltip: 'igo.integration.workspace.download.tooltip',
93
- handler: (ws) => {
94
- const filterStrategy = ws.entityStore.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
95
- const filterSelectionStrategy = ws.entityStore.getStrategyOfType(EntityStoreFilterSelectionStrategy);
96
- const layersWithSelection = filterSelectionStrategy.active ? [ws.layer.id] : [];
97
- this.toolState.toolToActivateFromOptions({
98
- tool: 'importExport',
99
- options: { layers: [ws.layer.id], featureInMapExtent: filterStrategy.active, layersWithSelection }
100
- });
101
- },
102
- args: [workspace]
103
- },
104
- {
105
- id: 'ogcFilter',
106
- icon: 'filter',
107
- title: 'igo.integration.workspace.ogcFilter.title',
108
- tooltip: 'igo.integration.workspace.ogcFilter.tooltip',
109
- handler: (widget, ws) => {
110
- ws.activateWidget(widget, {
111
- map: ws.map,
112
- layer: ws.layer
113
- });
114
- },
115
- args: [this.ogcFilterWidget, workspace]
116
- },
117
- {
118
- id: 'maximize',
119
- title: this.languageService.translate.instant('igo.integration.workspace.maximize'),
120
- tooltip: this.languageService.translate.instant('igo.integration.workspace.maximizeTooltip'),
121
- icon: 'resize',
122
- display: () => {
123
- return this.maximize$.pipe(map((v) => !v && !this.mediaService.isMobile()));
124
- },
125
- handler: () => {
126
- if (!this.mediaService.isMobile()) {
127
- this.maximize$.next(true);
128
- }
129
- },
130
- },
131
- {
132
- id: 'standardExtent',
133
- title: this.languageService.translate.instant('igo.integration.workspace.standardExtent'),
134
- tooltip: this.languageService.translate.instant('igo.integration.workspace.standardExtentTooltip'),
135
- icon: 'resize',
136
- display: () => {
137
- return this.maximize$.pipe(map((v) => v && !this.mediaService.isMobile()));
138
- },
139
- handler: () => {
140
- this.maximize$.next(false);
141
- }
142
- }
143
- ];
144
- return ((_b = (_a = workspace.layer.dataSource.ogcFilters$) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.enabled) ?
145
- actions : actions.filter(action => action.id !== 'ogcFilter');
146
- }
147
- }
148
- WfsActionsService.ɵfac = function WfsActionsService_Factory(t) { return new (t || WfsActionsService)(i0.ɵɵinject(OgcFilterWidget), i0.ɵɵinject(i1.StorageState), i0.ɵɵinject(i2.LanguageService), i0.ɵɵinject(i2.MediaService), i0.ɵɵinject(i3.ToolState)); };
149
- WfsActionsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WfsActionsService, factory: WfsActionsService.ɵfac, providedIn: 'root' });
150
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WfsActionsService, [{
151
- type: Injectable,
152
- args: [{
153
- providedIn: 'root'
154
- }]
155
- }], function () { return [{ type: i4.Widget, decorators: [{
156
- type: Inject,
157
- args: [OgcFilterWidget]
158
- }] }, { type: i1.StorageState }, { type: i2.LanguageService }, { type: i2.MediaService }, { type: i3.ToolState }]; }, null); })();
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZzLWFjdGlvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvd29ya3NwYWNlL3NoYXJlZC93ZnMtYWN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFFTCxtQ0FBbUMsRUFDbkMsa0NBQWtDLEVBRW5DLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFFTCw4QkFBOEIsRUFDOUIsaUJBQWlCLEVBRWpCLGVBQWUsR0FFaEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUF1Qyx1QkFBdUIsRUFBZ0MsTUFBTSxZQUFZLENBQUM7QUFFeEgsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQUtuRCxNQUFNLE9BQU8saUJBQWlCO0lBbUI1QixZQUNtQyxlQUF1QixFQUNoRCxZQUEwQixFQUMzQixlQUFnQyxFQUMvQixZQUEwQixFQUMxQixTQUFvQjtRQUpLLG9CQUFlLEdBQWYsZUFBZSxDQUFRO1FBQ2hELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzNCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBdEJ2QixjQUFTLEdBQTZCLElBQUksZUFBZSxDQUM5RCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBWSxDQUN4RCxDQUFDO1FBRUYsOEJBQXlCLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FB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LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQWN0aW9uLFxuICBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSxcbiAgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSxcbiAgV2lkZ2V0XG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBXZnNXb3Jrc3BhY2UsXG4gIG1hcEV4dGVudFN0cmF0ZWd5QWN0aXZlVG9vbFRpcCxcbiAgbm9FbGVtZW50U2VsZWN0ZWQsXG4gIEV4cG9ydE9wdGlvbnMsXG4gIE9nY0ZpbHRlcldpZGdldCxcbiAgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UsXG59IGZyb20gJ0BpZ28yL2dlbyc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2VFdmVudCwgU3RvcmFnZVNlcnZpY2VFdmVudEVudW0sIExhbmd1YWdlU2VydmljZSwgTWVkaWFTZXJ2aWNlfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2VTdGF0ZSB9IGZyb20gJy4uLy4uL3N0b3JhZ2Uvc3RvcmFnZS5zdGF0ZSc7XG5pbXBvcnQgeyBtYXAsIHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XG5pbXBvcnQgeyBoYW5kbGVab29tQXV0byB9IGZyb20gJy4vd29ya3NwYWNlLnV0aWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV2ZzQWN0aW9uc1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBtYXhpbWl6ZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3dvcmtzcGFjZU1heGltaXplJykgYXMgYm9vbGVhblxuICApO1xuXG4gIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAvLyByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XG4gIHpvb21BdXRvJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgc3RvcmFnZUNoYW5nZSQkOiBTdWJzY3JpcHRpb247XG5cbiAgZ2V0IHN0b3JhZ2VTZXJ2aWNlKCk6IFN0b3JhZ2VTZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU3RhdGUuc3RvcmFnZVNlcnZpY2U7XG4gIH1cblxuICBnZXQgem9vbUF1dG8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd6b29tQXV0bycpIGFzIGJvb2xlYW47XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE9nY0ZpbHRlcldpZGdldCkgcHJpdmF0ZSBvZ2NGaWx0ZXJXaWRnZXQ6IFdpZGdldCxcbiAgICBwcml2YXRlIHN0b3JhZ2VTdGF0ZTogU3RvcmFnZVN0YXRlLFxuICAgIHB1YmxpYyBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9vbFN0YXRlOiBUb29sU3RhdGUpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmFnZUNoYW5nZSQkKSB7XG4gICAgICB0aGlzLnN0b3JhZ2VDaGFuZ2UkJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIGxvYWRBY3Rpb25zKFxuICAgIHdvcmtzcGFjZTogV2ZzV29ya3NwYWNlLFxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxuICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxuICAgICkge1xuICAgIGNvbnN0IGFjdGlvbnMgPSB0aGlzLmJ1aWxkQWN0aW9ucyhcbiAgICAgIHdvcmtzcGFjZSxcbiAgICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCxcbiAgICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiRcbiAgICAgICk7XG4gICAgd29ya3NwYWNlLmFjdGlvblN0b3JlLmxvYWQoYWN0aW9ucyk7XG4gIH1cblxuICBidWlsZEFjdGlvbnMoXG4gICAgd29ya3NwYWNlOiBXZnNXb3Jrc3BhY2UsXG4gICAgcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4sXG4gICAgc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XG4gICAgKTogQWN0aW9uW10ge1xuICAgIHRoaXMuem9vbUF1dG8kLm5leHQodGhpcy56b29tQXV0byk7XG4gICAgdGhpcy5zdG9yYWdlQ2hhbmdlJCQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnN0b3JhZ2VDaGFuZ2UkXG4gICAgICAucGlwZShza2lwV2hpbGUoKHN0b3JhZ2VDaGFuZ2U6IFN0b3JhZ2VTZXJ2aWNlRXZlbnQpID0+XG4gICAgICAgIHN0b3JhZ2VDaGFuZ2U/LmtleSAhPT0gJ3pvb21BdXRvJyB8fCBzdG9yYWdlQ2hhbmdlPy5ldmVudCA9PT0gU3RvcmFnZVNlcnZpY2VFdmVudEVudW0uQ0xFQVJFRCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy56b29tQXV0byQubmV4dCh0aGlzLnpvb21BdXRvKTtcbiAgICAgICAgaGFuZGxlWm9vbUF1dG8od29ya3NwYWNlLCB0aGlzLnN0b3JhZ2VTZXJ2aWNlKTtcbiAgICAgIH0pO1xuICAgIGNvbnN0IGFjdGlvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnem9vbUF1dG8nLFxuICAgICAgICBjaGVja2JveDogdHJ1ZSxcbiAgICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnpvb21BdXRvLnRpdGxlJyxcbiAgICAgICAgdG9vbHRpcDogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuem9vbUF1dG8udG9vbHRpcCcsXG4gICAgICAgIGNoZWNrQ29uZGl0aW9uOiB0aGlzLnpvb21BdXRvJCxcbiAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgIGhhbmRsZVpvb21BdXRvKHdvcmtzcGFjZSwgdGhpcy5zdG9yYWdlU2VydmljZSk7XG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXQoJ3pvb21BdXRvJywgIXRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd6b29tQXV0bycpIGFzIGJvb2xlYW4pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ2ZpbHRlckluTWFwRXh0ZW50JyxcbiAgICAgICAgY2hlY2tib3g6IHRydWUsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5pbk1hcEV4dGVudC50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6IG1hcEV4dGVudFN0cmF0ZWd5QWN0aXZlVG9vbFRpcCh3b3Jrc3BhY2UpLFxuICAgICAgICBjaGVja0NvbmRpdGlvbjogcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLFxuICAgICAgICBoYW5kbGVyOiAoKSA9PiByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQubmV4dCghcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLnZhbHVlKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdzZWxlY3RlZE9ubHknLFxuICAgICAgICBjaGVja2JveDogdHJ1ZSxcbiAgICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnNlbGVjdGVkLnRpdGxlJyxcbiAgICAgICAgdG9vbHRpcDogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuc2VsZWN0ZWQudGl0bGUnLFxuICAgICAgICBjaGVja0NvbmRpdGlvbjogc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJCxcbiAgICAgICAgaGFuZGxlcjogKCkgPT4gc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJC5uZXh0KCFzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kLnZhbHVlKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdjbGVhcnNlbGVjdGlvbicsXG4gICAgICAgIGljb246ICdzZWxlY3Qtb2ZmJyxcbiAgICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmNsZWFyU2VsZWN0aW9uLnRpdGxlJyxcbiAgICAgICAgdG9vbHRpcDogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UuY2xlYXJTZWxlY3Rpb24udG9vbHRpcCcsXG4gICAgICAgIGhhbmRsZXI6ICh3czogV2ZzV29ya3NwYWNlKSA9PiB7XG4gICAgICAgICAgd3MuZW50aXR5U3RvcmUuc3RhdGUudXBkYXRlTWFueSh3cy5lbnRpdHlTdG9yZS52aWV3LmFsbCgpLCB7IHNlbGVjdGVkOiBmYWxzZSB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgYXJnczogW3dvcmtzcGFjZV0sXG4gICAgICAgIGF2YWlsYWJpbGl0eTogKHdzOiBXZnNXb3Jrc3BhY2UpID0+IG5vRWxlbWVudFNlbGVjdGVkKHdzKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICd3ZnNEb3dubG9hZCcsXG4gICAgICAgIGljb246ICdmaWxlLWV4cG9ydCcsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5kb3dubG9hZC50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmRvd25sb2FkLnRvb2x0aXAnLFxuICAgICAgICBoYW5kbGVyOiAod3M6IFdmc1dvcmtzcGFjZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbHRlclN0cmF0ZWd5ID0gd3MuZW50aXR5U3RvcmUuZ2V0U3RyYXRlZ3lPZlR5cGUoRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3kpO1xuICAgICAgICAgIGNvbnN0IGZpbHRlclNlbGVjdGlvblN0cmF0ZWd5ID0gd3MuZW50aXR5U3RvcmUuZ2V0U3RyYXRlZ3lPZlR5cGUoRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSk7XG4gICAgICAgICAgY29uc3QgbGF5ZXJzV2l0aFNlbGVjdGlvbiA9IGZpbHRlclNlbGVjdGlvblN0cmF0ZWd5LmFjdGl2ZSA/IFt3cy5sYXllci5pZF0gOiBbXTtcbiAgICAgICAgICB0aGlzLnRvb2xTdGF0ZS50b29sVG9BY3RpdmF0ZUZyb21PcHRpb25zKHtcbiAgICAgICAgICAgIHRvb2w6ICdpbXBvcnRFeHBvcnQnLFxuICAgICAgICAgICAgb3B0aW9uczogeyBsYXllcnM6IFt3cy5sYXllci5pZF0sIGZlYXR1cmVJbk1hcEV4dGVudDogZmlsdGVyU3RyYXRlZ3kuYWN0aXZlLCBsYXllcnNXaXRoU2VsZWN0aW9uIH0gYXMgRXhwb3J0T3B0aW9uc1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBhcmdzOiBbd29ya3NwYWNlXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdvZ2NGaWx0ZXInLFxuICAgICAgICBpY29uOiAnZmlsdGVyJyxcbiAgICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLm9nY0ZpbHRlci50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLm9nY0ZpbHRlci50b29sdGlwJyxcbiAgICAgICAgaGFuZGxlcjogKHdpZGdldDogV2lkZ2V0LCB3czogV2ZzV29ya3NwYWNlKSA9PiB7XG4gICAgICAgICAgd3MuYWN0aXZhdGVXaWRnZXQod2lkZ2V0LCB7XG4gICAgICAgICAgICBtYXA6IHdzLm1hcCxcbiAgICAgICAgICAgIGxheWVyOiB3cy5sYXllclxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBhcmdzOiBbdGhpcy5vZ2NGaWx0ZXJXaWRnZXQsIHdvcmtzcGFjZV1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnbWF4aW1pemUnLFxuICAgICAgICB0aXRsZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UubWF4aW1pemUnKSxcbiAgICAgICAgdG9vbHRpcDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UubWF4aW1pemVUb29sdGlwJ1xuICAgICAgICApLFxuICAgICAgICBpY29uOiAncmVzaXplJyxcbiAgICAgICAgZGlzcGxheTogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLm1heGltaXplJC5waXBlKG1hcCgodikgPT4gIXYgJiYgIXRoaXMubWVkaWFTZXJ2aWNlLmlzTW9iaWxlKCkpKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5tZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkge1xuICAgICAgICAgICAgdGhpcy5tYXhpbWl6ZSQubmV4dCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ3N0YW5kYXJkRXh0ZW50JyxcbiAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnN0YW5kYXJkRXh0ZW50J1xuICAgICAgICApLFxuICAgICAgICB0b29sdGlwOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5zdGFuZGFyZEV4dGVudFRvb2x0aXAnXG4gICAgICAgICksXG4gICAgICAgIGljb246ICdyZXNpemUnLFxuICAgICAgICBkaXNwbGF5OiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubWF4aW1pemUkLnBpcGUobWFwKCh2KSA9PiB2ICYmICF0aGlzLm1lZGlhU2VydmljZS5pc01vYmlsZSgpKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLm1heGltaXplJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF07XG4gICAgcmV0dXJuICh3b3Jrc3BhY2UubGF5ZXIuZGF0YVNvdXJjZSBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSkub2djRmlsdGVycyQ/LnZhbHVlPy5lbmFibGVkID9cbiAgICBhY3Rpb25zIDogYWN0aW9ucy5maWx0ZXIoYWN0aW9uID0+IGFjdGlvbi5pZCAhPT0gJ29nY0ZpbHRlcicpO1xuICB9XG59XG4iXX0=
@@ -1,74 +0,0 @@
1
- import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
- import { BehaviorSubject, combineLatest } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../workspace.state";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/button";
7
- import * as i4 from "@angular/material/tooltip";
8
- import * as i5 from "@angular/material/icon";
9
- import * as i6 from "@ngx-translate/core";
10
- function WorkspaceButtonComponent_button_0_Template(rf, ctx) { if (rf & 1) {
11
- const _r2 = i0.ɵɵgetCurrentView();
12
- i0.ɵɵelementStart(0, "button", 1);
13
- i0.ɵɵlistener("click", function WorkspaceButtonComponent_button_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return ctx_r1.activateWorkspace(); });
14
- i0.ɵɵpipe(1, "translate");
15
- i0.ɵɵelement(2, "mat-icon", 2);
16
- i0.ɵɵelementEnd();
17
- } if (rf & 2) {
18
- const ctx_r0 = i0.ɵɵnextContext();
19
- i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 2, "igo.integration.workspace.toggleWorkspace"))("color", ctx_r0.color);
20
- } }
21
- export class WorkspaceButtonComponent {
22
- constructor(workspaceState) {
23
- this.workspaceState = workspaceState;
24
- this.hasWorkspace$ = new BehaviorSubject(false);
25
- this.layer$ = new BehaviorSubject(undefined);
26
- this.color = 'primary';
27
- }
28
- set layer(value) {
29
- this._layer = value;
30
- this.layer$.next(this._layer);
31
- }
32
- get layer() {
33
- return this._layer;
34
- }
35
- ngOnInit() {
36
- this.hasWorkspace$$ = combineLatest([this.workspaceState.workspaceEnabled$, this.layer$])
37
- .subscribe(bunch => { var _a, _b; return this.hasWorkspace$.next(bunch[0] && ((_b = (_a = bunch[1]) === null || _a === void 0 ? void 0 : _a.options.workspace) === null || _b === void 0 ? void 0 : _b.enabled)); });
38
- }
39
- ngOnDestroy() {
40
- this.hasWorkspace$$.unsubscribe();
41
- }
42
- activateWorkspace() {
43
- if (this.workspaceState.workspace$.value &&
44
- this.workspaceState.workspace$.value.layer.id === this.layer.id &&
45
- this.workspaceState.workspacePanelExpanded) {
46
- this.workspaceState.workspacePanelExpanded = false;
47
- }
48
- else {
49
- this.workspaceState.workspacePanelExpanded = true;
50
- this.workspaceState.setActiveWorkspaceById(this.layer.id);
51
- }
52
- }
53
- }
54
- WorkspaceButtonComponent.ɵfac = function WorkspaceButtonComponent_Factory(t) { return new (t || WorkspaceButtonComponent)(i0.ɵɵdirectiveInject(i1.WorkspaceState)); };
55
- WorkspaceButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WorkspaceButtonComponent, selectors: [["igo-workspace-button"]], inputs: { layer: "layer", color: "color" }, decls: 2, vars: 3, consts: [["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "click", 4, "ngIf"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "click"], ["svgIcon", "table"]], template: function WorkspaceButtonComponent_Template(rf, ctx) { if (rf & 1) {
56
- i0.ɵɵtemplate(0, WorkspaceButtonComponent_button_0_Template, 3, 4, "button", 0);
57
- i0.ɵɵpipe(1, "async");
58
- } if (rf & 2) {
59
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.hasWorkspace$));
60
- } }, directives: [i2.NgIf, i3.MatButton, i4.MatTooltip, i5.MatIcon], pipes: [i2.AsyncPipe, i6.TranslatePipe], styles: [""], changeDetection: 0 });
61
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceButtonComponent, [{
62
- type: Component,
63
- args: [{
64
- selector: 'igo-workspace-button',
65
- templateUrl: './workspace-button.component.html',
66
- styleUrls: ['./workspace-button.component.scss'],
67
- changeDetection: ChangeDetectionStrategy.OnPush
68
- }]
69
- }], function () { return [{ type: i1.WorkspaceState }]; }, { layer: [{
70
- type: Input
71
- }], color: [{
72
- type: Input
73
- }] }); })();
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS93b3Jrc3BhY2UtYnV0dG9uL3dvcmtzcGFjZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLWJ1dHRvbi93b3Jrc3BhY2UtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUc3RixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7SUNIcEUsaUNBUUc7SUFERCxzTUFBNkI7O0lBRTdCLDhCQUFxQztJQUN2QyxpQkFBUzs7O0lBTFAsOEZBQXNFLHVCQUFBOztBRE14RSxNQUFNLE9BQU8sd0JBQXdCO0lBbUJuQyxZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFqQjNDLGtCQUFhLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBSXBFLFdBQU0sR0FBMkIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFXL0QsVUFBSyxHQUFXLFNBQVMsQ0FBQztJQUVtQixDQUFDO0lBWnZELElBQ0ksS0FBSyxDQUFDLEtBQVk7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQU1ELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3RGLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxlQUFDLE9BQUEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFJLE1BQUEsTUFBQSxLQUFLLENBQUMsQ0FBQyxDQUFDLDBDQUFFLE9BQU8sQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQSxDQUFDLENBQUEsRUFBQSxDQUM1RixDQUFDO0lBQ04sQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUNFLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUs7WUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hFLElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7U0FDcEQ7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1lBQ2xELElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7O2dHQXpDVSx3QkFBd0I7MkVBQXhCLHdCQUF3QjtRQ1hyQywrRUFVUzs7O1FBVE4sOERBQTJCOzt1RkRVakIsd0JBQXdCO2NBTnBDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxXQUFXLEVBQUUsbUNBQW1DO2dCQUNoRCxTQUFTLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztnQkFDaEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7aUVBU0ssS0FBSztrQkFEUixLQUFLO1lBVUcsS0FBSztrQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IExheWVyIH0gZnJvbSAnQGlnbzIvZ2VvJztcbmltcG9ydCB7IFdvcmtzcGFjZVN0YXRlIH0gZnJvbSAnLi4vd29ya3NwYWNlLnN0YXRlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby13b3Jrc3BhY2UtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dvcmtzcGFjZS1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93b3Jrc3BhY2UtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgaGFzV29ya3NwYWNlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgaGFzV29ya3NwYWNlJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIF9sYXllcjogTGF5ZXI7XG4gIHByaXZhdGUgbGF5ZXIkOiBCZWhhdmlvclN1YmplY3Q8TGF5ZXI+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xuICBASW5wdXQoKVxuICBzZXQgbGF5ZXIodmFsdWU6IExheWVyKSB7XG4gICAgdGhpcy5fbGF5ZXIgPSB2YWx1ZTtcbiAgICB0aGlzLmxheWVyJC5uZXh0KHRoaXMuX2xheWVyKTtcbiAgfVxuXG4gIGdldCBsYXllcigpOiBMYXllciB7XG4gICAgcmV0dXJuIHRoaXMuX2xheWVyO1xuICB9XG5cbiAgQElucHV0KCkgY29sb3I6IHN0cmluZyA9ICdwcmltYXJ5JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdvcmtzcGFjZVN0YXRlOiBXb3Jrc3BhY2VTdGF0ZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYXNXb3Jrc3BhY2UkJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMud29ya3NwYWNlU3RhdGUud29ya3NwYWNlRW5hYmxlZCQsIHRoaXMubGF5ZXIkXSlcbiAgICAgIC5zdWJzY3JpYmUoYnVuY2ggPT4gdGhpcy5oYXNXb3Jrc3BhY2UkLm5leHQoYnVuY2hbMF0gJiYgYnVuY2hbMV0/Lm9wdGlvbnMud29ya3NwYWNlPy5lbmFibGVkKVxuICAgICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaGFzV29ya3NwYWNlJCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGFjdGl2YXRlV29ya3NwYWNlKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMud29ya3NwYWNlU3RhdGUud29ya3NwYWNlJC52YWx1ZSAmJlxuICAgICAgKHRoaXMud29ya3NwYWNlU3RhdGUud29ya3NwYWNlJC52YWx1ZSBhcyBhbnkpLmxheWVyLmlkID09PSB0aGlzLmxheWVyLmlkICYmXG4gICAgICB0aGlzLndvcmtzcGFjZVN0YXRlLndvcmtzcGFjZVBhbmVsRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMud29ya3NwYWNlU3RhdGUud29ya3NwYWNlUGFuZWxFeHBhbmRlZCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndvcmtzcGFjZVN0YXRlLndvcmtzcGFjZVBhbmVsRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zZXRBY3RpdmVXb3Jrc3BhY2VCeUlkKHRoaXMubGF5ZXIuaWQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvblxuICAqbmdJZj1cImhhc1dvcmtzcGFjZSQgfCBhc3luY1wiXG4gIG1hdC1pY29uLWJ1dHRvblxuICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgW21hdFRvb2x0aXBdPVwiJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UudG9nZ2xlV29ya3NwYWNlJyB8IHRyYW5zbGF0ZVwiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4gIChjbGljayk9XCJhY3RpdmF0ZVdvcmtzcGFjZSgpXCJcbiAgPlxuICA8bWF0LWljb24gc3ZnSWNvbj1cInRhYmxlXCI+PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuIl19