@igo2/integration 18.0.0-next.9 → 18.0.1-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/fesm2022/igo2-integration.mjs +555 -466
  2. package/fesm2022/igo2-integration.mjs.map +1 -1
  3. package/lib/directions/directions-tool/directions-tool.component.d.ts +3 -3
  4. package/lib/directions/directions.state.d.ts +2 -2
  5. package/lib/filter/spatial-filter-tool/spatial-filter-tool.component.d.ts +4 -6
  6. package/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.d.ts +5 -6
  7. package/lib/map/map-details-tool/map-details-tool.component.d.ts +12 -4
  8. package/lib/map/map-legend/map-legend-tool.component.d.ts +4 -4
  9. package/lib/map/map-proximity.state.d.ts +4 -3
  10. package/lib/map/map-tool/map-tool.component.d.ts +14 -3
  11. package/lib/map/map-tools/map-tools.component.d.ts +15 -6
  12. package/lib/workspace/workspace-button/workspace-button.component.d.ts +4 -4
  13. package/package.json +8 -10
  14. package/esm2022/igo2-integration.mjs +0 -5
  15. package/esm2022/lib/about/about-tool/about-tool.component.mjs +0 -152
  16. package/esm2022/lib/about/about-tool/index.mjs +0 -2
  17. package/esm2022/lib/about/about.module.mjs +0 -26
  18. package/esm2022/lib/about/index.mjs +0 -2
  19. package/esm2022/lib/analytics/analytics-listener.service.mjs +0 -145
  20. package/esm2022/lib/analytics/index.mjs +0 -2
  21. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +0 -113
  22. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +0 -19
  23. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +0 -110
  24. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +0 -19
  25. package/esm2022/lib/catalog/catalog.module.mjs +0 -19
  26. package/esm2022/lib/catalog/catalog.state.mjs +0 -58
  27. package/esm2022/lib/catalog/index.mjs +0 -6
  28. package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +0 -33
  29. package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +0 -46
  30. package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +0 -23
  31. package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +0 -40
  32. package/esm2022/lib/context/context.directive.mjs +0 -11
  33. package/esm2022/lib/context/context.module.mjs +0 -23
  34. package/esm2022/lib/context/context.state.mjs +0 -96
  35. package/esm2022/lib/context/index.mjs +0 -7
  36. package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +0 -121
  37. package/esm2022/lib/directions/directions-tool/index.mjs +0 -2
  38. package/esm2022/lib/directions/directions.module.mjs +0 -25
  39. package/esm2022/lib/directions/directions.state.mjs +0 -69
  40. package/esm2022/lib/directions/index.mjs +0 -3
  41. package/esm2022/lib/draw/draw.module.mjs +0 -18
  42. package/esm2022/lib/draw/draw.state.mjs +0 -43
  43. package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +0 -72
  44. package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +0 -19
  45. package/esm2022/lib/draw/index.mjs +0 -4
  46. package/esm2022/lib/environment/environment.interface.mjs +0 -2
  47. package/esm2022/lib/environment/index.mjs +0 -2
  48. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +0 -10
  49. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +0 -43
  50. package/esm2022/lib/filter/active-ogc-filter-tool/index.mjs +0 -2
  51. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +0 -10
  52. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +0 -43
  53. package/esm2022/lib/filter/active-time-filter-tool/index.mjs +0 -2
  54. package/esm2022/lib/filter/filter.module.mjs +0 -53
  55. package/esm2022/lib/filter/index.mjs +0 -18
  56. package/esm2022/lib/filter/ogc-filter-tool/index.mjs +0 -2
  57. package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +0 -22
  58. package/esm2022/lib/filter/spatial-filter-tool/index.mjs +0 -2
  59. package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +0 -589
  60. package/esm2022/lib/filter/time-filter-tool/index.mjs +0 -2
  61. package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +0 -22
  62. package/esm2022/lib/geometry-form/data-issue-reporter-tool/data-issue-reporter-tool.component.mjs +0 -184
  63. package/esm2022/lib/geometry-form/data-issue-reporter-tool/index.mjs +0 -2
  64. package/esm2022/lib/geometry-form/geometry-form.module.mjs +0 -37
  65. package/esm2022/lib/geometry-form/index.mjs +0 -2
  66. package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +0 -113
  67. package/esm2022/lib/import-export/import-export-tool/index.mjs +0 -2
  68. package/esm2022/lib/import-export/import-export.module.mjs +0 -25
  69. package/esm2022/lib/import-export/import-export.state.mjs +0 -39
  70. package/esm2022/lib/import-export/index.mjs +0 -3
  71. package/esm2022/lib/integration.module.mjs +0 -70
  72. package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +0 -446
  73. package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +0 -60
  74. package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +0 -157
  75. package/esm2022/lib/map/advanced-map-tool/index.mjs +0 -2
  76. package/esm2022/lib/map/index.mjs +0 -10
  77. package/esm2022/lib/map/layer-list-tool.state.mjs +0 -40
  78. package/esm2022/lib/map/map-details-tool/index.mjs +0 -2
  79. package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +0 -161
  80. package/esm2022/lib/map/map-legend/index.mjs +0 -2
  81. package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +0 -165
  82. package/esm2022/lib/map/map-proximity-tool/index.mjs +0 -2
  83. package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +0 -152
  84. package/esm2022/lib/map/map-proximity.state.mjs +0 -180
  85. package/esm2022/lib/map/map-tool/index.mjs +0 -2
  86. package/esm2022/lib/map/map-tool/map-tool.component.mjs +0 -116
  87. package/esm2022/lib/map/map-tools/index.mjs +0 -2
  88. package/esm2022/lib/map/map-tools/map-tools.component.mjs +0 -317
  89. package/esm2022/lib/map/map.directive.mjs +0 -15
  90. package/esm2022/lib/map/map.module.mjs +0 -59
  91. package/esm2022/lib/map/map.state.mjs +0 -58
  92. package/esm2022/lib/measure/index.mjs +0 -4
  93. package/esm2022/lib/measure/measure.module.mjs +0 -18
  94. package/esm2022/lib/measure/measure.state.mjs +0 -40
  95. package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +0 -51
  96. package/esm2022/lib/measure/measurer-tool/measurer-tool.module.mjs +0 -19
  97. package/esm2022/lib/print/index.mjs +0 -2
  98. package/esm2022/lib/print/print-tool/index.mjs +0 -2
  99. package/esm2022/lib/print/print-tool/print-tool.component.mjs +0 -32
  100. package/esm2022/lib/print/print.module.mjs +0 -25
  101. package/esm2022/lib/search/index.mjs +0 -7
  102. package/esm2022/lib/search/query.state.mjs +0 -48
  103. package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +0 -71
  104. package/esm2022/lib/search/search-bar/search-bar.module.mjs +0 -19
  105. package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +0 -557
  106. package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +0 -19
  107. package/esm2022/lib/search/search.module.mjs +0 -20
  108. package/esm2022/lib/search/search.state.mjs +0 -155
  109. package/esm2022/lib/storage/index.mjs +0 -2
  110. package/esm2022/lib/storage/storage.state.mjs +0 -25
  111. package/esm2022/lib/tool/index.mjs +0 -2
  112. package/esm2022/lib/tool/tool.state.mjs +0 -56
  113. package/esm2022/lib/workspace/index.mjs +0 -4
  114. package/esm2022/lib/workspace/shared/edition-actions.service.mjs +0 -75
  115. package/esm2022/lib/workspace/shared/feature-actions.service.mjs +0 -65
  116. package/esm2022/lib/workspace/shared/index.mjs +0 -3
  117. package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +0 -77
  118. package/esm2022/lib/workspace/shared/workspace.utils.mjs +0 -166
  119. package/esm2022/lib/workspace/workspace-button/index.mjs +0 -2
  120. package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +0 -71
  121. package/esm2022/lib/workspace/workspace.module.mjs +0 -19
  122. package/esm2022/lib/workspace/workspace.state.mjs +0 -205
  123. package/esm2022/public_api.mjs +0 -35
@@ -1,166 +0,0 @@
1
- import { EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy } from '@igo2/common/entity';
2
- import { FeatureMotion, FeatureStoreSelectionStrategy, mapExtentStrategyActiveToolTip, noElementSelected } from '@igo2/geo';
3
- import * as jsPDF from 'jspdf';
4
- import 'jspdf-autotable';
5
- import moment from 'moment';
6
- import { map } from 'rxjs';
7
- export function handleZoomAuto(workspace, storageService) {
8
- const zoomStrategy = workspace.entityStore.getStrategyOfType(FeatureStoreSelectionStrategy);
9
- zoomStrategy.setMotion(storageService.get('zoomAuto')
10
- ? FeatureMotion.Default
11
- : FeatureMotion.None);
12
- }
13
- export function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, ogcFilterWidget, zoomAuto$, maximize$, storageService, languageService, mediaService, toolState) {
14
- const actions = [
15
- {
16
- id: 'zoomAuto',
17
- checkbox: true,
18
- title: 'igo.integration.workspace.zoomAuto.title',
19
- tooltip: 'igo.integration.workspace.zoomAuto.tooltip',
20
- checkCondition: zoomAuto$,
21
- handler: () => {
22
- handleZoomAuto(workspace, storageService);
23
- storageService.set('zoomAuto', !storageService.get('zoomAuto'));
24
- }
25
- },
26
- {
27
- id: 'filterInMapExtent',
28
- checkbox: true,
29
- title: 'igo.integration.workspace.inMapExtent.title',
30
- tooltip: mapExtentStrategyActiveToolTip(workspace),
31
- checkCondition: rowsInMapExtentCheckCondition$,
32
- handler: () => rowsInMapExtentCheckCondition$.next(!rowsInMapExtentCheckCondition$.value)
33
- },
34
- {
35
- id: 'selectedOnly',
36
- checkbox: true,
37
- title: 'igo.integration.workspace.selected.title',
38
- tooltip: 'igo.integration.workspace.selected.tooltip',
39
- checkCondition: selectOnlyCheckCondition$,
40
- handler: () => selectOnlyCheckCondition$.next(!selectOnlyCheckCondition$.value)
41
- },
42
- {
43
- id: 'clearselection',
44
- icon: 'deselect',
45
- title: 'igo.integration.workspace.clearSelection.title',
46
- tooltip: 'igo.integration.workspace.clearSelection.tooltip',
47
- handler: (ws) => {
48
- ws.entityStore.state.updateMany(ws.entityStore.view.all(), {
49
- selected: false
50
- });
51
- },
52
- args: [workspace],
53
- availability: (ws) => noElementSelected(ws)
54
- },
55
- {
56
- id: 'featureDownload',
57
- icon: 'file_save',
58
- title: 'igo.integration.workspace.download.title',
59
- tooltip: 'igo.integration.workspace.download.tooltip',
60
- handler: (ws) => {
61
- const filterStrategy = ws.entityStore.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
62
- const filterSelectionStrategy = ws.entityStore.getStrategyOfType(EntityStoreFilterSelectionStrategy);
63
- const layersWithSelection = filterSelectionStrategy.active
64
- ? [ws.layer.id]
65
- : [];
66
- toolState.toolToActivateFromOptions({
67
- tool: 'importExport',
68
- options: {
69
- layers: [ws.layer.id],
70
- featureInMapExtent: filterStrategy.active,
71
- layersWithSelection
72
- }
73
- });
74
- },
75
- args: [workspace]
76
- },
77
- {
78
- id: 'ogcFilter',
79
- icon: 'filter_alt',
80
- title: 'igo.integration.workspace.ogcFilter.title',
81
- tooltip: 'igo.integration.workspace.ogcFilter.tooltip',
82
- handler: (widget, ws) => {
83
- ws.activateWidget(widget, {
84
- map: ws.map,
85
- layer: ws.layer
86
- });
87
- },
88
- args: [ogcFilterWidget, workspace]
89
- },
90
- {
91
- id: 'maximize',
92
- title: languageService.translate.instant('igo.integration.workspace.maximize'),
93
- tooltip: languageService.translate.instant('igo.integration.workspace.maximizeTooltip'),
94
- icon: 'resize',
95
- display: () => {
96
- return maximize$.pipe(map((v) => !v && !mediaService.isMobile()));
97
- },
98
- handler: () => {
99
- if (!mediaService.isMobile()) {
100
- maximize$.next(true);
101
- }
102
- }
103
- },
104
- {
105
- id: 'standardExtent',
106
- title: languageService.translate.instant('igo.integration.workspace.standardExtent'),
107
- tooltip: languageService.translate.instant('igo.integration.workspace.standardExtentTooltip'),
108
- icon: 'resize',
109
- display: () => {
110
- return maximize$.pipe(map((v) => v && !mediaService.isMobile()));
111
- },
112
- handler: () => {
113
- maximize$.next(false);
114
- }
115
- },
116
- {
117
- id: 'print',
118
- icon: 'print',
119
- title: 'igo.integration.workspace.print.title',
120
- tooltip: 'igo.integration.workspace.print.tooltip',
121
- handler: (ws) => {
122
- const title = `${ws.layer.title} (${dateTransform(new Date(), 'YYYY-MM-DD-HH_mm')})`;
123
- const doc = new jsPDF.default('landscape');
124
- const totalPagesExp = '{total_pages_count_string}';
125
- doc.text(title, 14, 20);
126
- doc.autoTable({
127
- startY: 25,
128
- tableWidth: 'wrap',
129
- html: '#currentWorkspaceTable',
130
- horizontalPageBreak: true,
131
- styles: { cellPadding: 0.5, minCellWidth: 20, fontSize: 6 },
132
- didDrawPage: (data) => {
133
- let str = 'Page ' + doc.internal.getNumberOfPages();
134
- if (typeof doc.putTotalPages === 'function') {
135
- str = str + ' / ' + totalPagesExp;
136
- }
137
- doc.setFontSize(6);
138
- const pageSize = doc.internal.pageSize;
139
- const pageHeight = pageSize.height
140
- ? pageSize.height
141
- : pageSize.getHeight();
142
- doc.text(str, data.settings.margin.left, pageHeight - 10);
143
- }
144
- });
145
- if (typeof doc.putTotalPages === 'function') {
146
- doc.putTotalPages(totalPagesExp);
147
- }
148
- doc.save(`${title}.pdf`);
149
- },
150
- args: [workspace]
151
- }
152
- ];
153
- let returnActions = workspace.layer.dataSource
154
- .options.ogcFilters?.enabled
155
- ? actions
156
- : actions.filter((action) => action.id !== 'ogcFilter');
157
- returnActions =
158
- workspace.layer.options.workspace.printable !== false
159
- ? actions
160
- : actions.filter((action) => action.id !== 'print');
161
- return returnActions;
162
- }
163
- function dateTransform(date, format) {
164
- return moment(date).format(format);
165
- }
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi93b3Jrc3BhY2Uvc2hhcmVkL3dvcmtzcGFjZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLGtDQUFrQyxFQUNuQyxNQUFNLHFCQUFxQixDQUFDO0FBSzdCLE9BQU8sRUFFTCxhQUFhLEVBQ2IsNkJBQTZCLEVBSTdCLDhCQUE4QixFQUM5QixpQkFBaUIsRUFDbEIsTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFtQixHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJNUMsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsU0FBNkQsRUFDN0QsY0FBYztJQUVkLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQzFELDZCQUE2QixDQUNHLENBQUM7SUFDbkMsWUFBWSxDQUFDLFNBQVMsQ0FDbkIsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQWE7UUFDekMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPO1FBQ3ZCLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUN2QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsU0FBNkQsRUFDN0QsOEJBQXdELEVBQ3hELHlCQUFtRCxFQUNuRCxlQUF1QixFQUN2QixTQUFtQyxFQUNuQyxTQUFtQyxFQUNuQyxjQUE4QixFQUM5QixlQUFnQyxFQUNoQyxZQUEwQixFQUMxQixTQUFvQjtJQUVwQixNQUFNLE9BQU8sR0FBRztRQUNkO1lBQ0UsRUFBRSxFQUFFLFVBQVU7WUFDZCxRQUFR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QUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUN4RCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsSUFBVSxFQUFFLE1BQWM7SUFDL0MsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAaWdvMi9jb21tb24vYWN0aW9uJztcbmltcG9ydCB7XG4gIEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5LFxuICBFbnRpdHlTdG9yZUZpbHRlclNlbGVjdGlvblN0cmF0ZWd5XG59IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgV2lkZ2V0IH0gZnJvbSAnQGlnbzIvY29tbW9uL3dpZGdldCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IE1lZGlhU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVkaWEnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL3N0b3JhZ2UnO1xuaW1wb3J0IHtcbiAgRWRpdGlvbldvcmtzcGFjZSxcbiAgRmVhdHVyZU1vdGlvbixcbiAgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3ksXG4gIEZlYXR1cmVXb3Jrc3BhY2UsXG4gIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlLFxuICBXZnNXb3Jrc3BhY2UsXG4gIG1hcEV4dGVudFN0cmF0ZWd5QWN0aXZlVG9vbFRpcCxcbiAgbm9FbGVtZW50U2VsZWN0ZWRcbn0gZnJvbSAnQGlnbzIvZ2VvJztcblxuaW1wb3J0ICogYXMganNQREYgZnJvbSAnanNwZGYnO1xuaW1wb3J0ICdqc3BkZi1hdXRvdGFibGUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVG9vbFN0YXRlIH0gZnJvbSAnLi4vLi4vdG9vbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVab29tQXV0byhcbiAgd29ya3NwYWNlOiBGZWF0dXJlV29ya3NwYWNlIHwgV2ZzV29ya3NwYWNlIHwgRWRpdGlvbldvcmtzcGFjZSxcbiAgc3RvcmFnZVNlcnZpY2Vcbikge1xuICBjb25zdCB6b29tU3RyYXRlZ3kgPSB3b3Jrc3BhY2UuZW50aXR5U3RvcmUuZ2V0U3RyYXRlZ3lPZlR5cGUoXG4gICAgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3lcbiAgKSBhcyBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneTtcbiAgem9vbVN0cmF0ZWd5LnNldE1vdGlvbihcbiAgICAoc3RvcmFnZVNlcnZpY2UuZ2V0KCd6b29tQXV0bycpIGFzIGJvb2xlYW4pXG4gICAgICA/IEZlYXR1cmVNb3Rpb24uRGVmYXVsdFxuICAgICAgOiBGZWF0dXJlTW90aW9uLk5vbmVcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFdvcmtzcGFjZUFjdGlvbnMoXG4gIHdvcmtzcGFjZTogRmVhdHVyZVdvcmtzcGFjZSB8IFdmc1dvcmtzcGFjZSB8IEVkaXRpb25Xb3Jrc3BhY2UsXG4gIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxuICBzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4sXG4gIG9nY0ZpbHRlcldpZGdldDogV2lkZ2V0LFxuICB6b29tQXV0byQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPixcbiAgbWF4aW1pemUkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4sXG4gIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlLFxuICB0b29sU3RhdGU6IFRvb2xTdGF0ZVxuKTogQWN0aW9uW10ge1xuICBjb25zdCBhY3Rpb25zID0gW1xuICAgIHtcbiAgICAgIGlkOiAnem9vbUF1dG8nLFxuICAgICAgY2hlY2tib3g6IHRydWUsXG4gICAgICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuem9vbUF1dG8udGl0bGUnLFxuICAgICAgdG9vbHRpcDogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuem9vbUF1dG8udG9vbHRpcCcsXG4gICAgICBjaGVja0NvbmRpdGlvbjogem9vbUF1dG8kLFxuICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICBoYW5kbGVab29tQXV0byh3b3Jrc3BhY2UsIHN0b3JhZ2VTZXJ2aWNlKTtcbiAgICAgICAgc3RvcmFnZVNlcnZpY2Uuc2V0KFxuICAgICAgICAgICd6b29tQXV0bycsXG4gICAgICAgICAgIXN0b3JhZ2VTZXJ2aWNlLmdldCgnem9vbUF1dG8nKSBhcyBib29sZWFuXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogJ2ZpbHRlckluTWFwRXh0ZW50JyxcbiAgICAgIGNoZWNrYm94OiB0cnVlLFxuICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmluTWFwRXh0ZW50LnRpdGxlJyxcbiAgICAgIHRvb2x0aXA6IG1hcEV4dGVudFN0cmF0ZWd5QWN0aXZlVG9vbFRpcCh3b3Jrc3BhY2UpLFxuICAgICAgY2hlY2tDb25kaXRpb246IHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCxcbiAgICAgIGhhbmRsZXI6ICgpID0+XG4gICAgICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJC5uZXh0KFxuICAgICAgICAgICFyb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQudmFsdWVcbiAgICAgICAgKVxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6ICdzZWxlY3RlZE9ubHknLFxuICAgICAgY2hlY2tib3g6IHRydWUsXG4gICAgICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuc2VsZWN0ZWQudGl0bGUnLFxuICAgICAgdG9vbHRpcDogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuc2VsZWN0ZWQudG9vbHRpcCcsXG4gICAgICBjaGVja0NvbmRpdGlvbjogc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJCxcbiAgICAgIGhhbmRsZXI6ICgpID0+XG4gICAgICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQubmV4dCghc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJC52YWx1ZSlcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAnY2xlYXJzZWxlY3Rpb24nLFxuICAgICAgaWNvbjogJ2Rlc2VsZWN0JyxcbiAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5jbGVhclNlbGVjdGlvbi50aXRsZScsXG4gICAgICB0b29sdGlwOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5jbGVhclNlbGVjdGlvbi50b29sdGlwJyxcbiAgICAgIGhhbmRsZXI6ICh3czogRmVhdHVyZVdvcmtzcGFjZSB8IFdmc1dvcmtzcGFjZSB8IEVkaXRpb25Xb3Jrc3BhY2UpID0+IHtcbiAgICAgICAgd3MuZW50aXR5U3RvcmUuc3RhdGUudXBkYXRlTWFueSh3cy5lbnRpdHlTdG9yZS52aWV3LmFsbCgpLCB7XG4gICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGFyZ3M6IFt3b3Jrc3BhY2VdLFxuICAgICAgYXZhaWxhYmlsaXR5OiAod3M6IEZlYXR1cmVXb3Jrc3BhY2UgfCBXZnNXb3Jrc3BhY2UgfCBFZGl0aW9uV29ya3NwYWNlKSA9PlxuICAgICAgICBub0VsZW1lbnRTZWxlY3RlZCh3cylcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAnZmVhdHVyZURvd25sb2FkJyxcbiAgICAgIGljb246ICdmaWxlX3NhdmUnLFxuICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmRvd25sb2FkLnRpdGxlJyxcbiAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmRvd25sb2FkLnRvb2x0aXAnLFxuICAgICAgaGFuZGxlcjogKHdzOiBGZWF0dXJlV29ya3NwYWNlIHwgV2ZzV29ya3NwYWNlIHwgRWRpdGlvbldvcmtzcGFjZSkgPT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXJTdHJhdGVneSA9IHdzLmVudGl0eVN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKFxuICAgICAgICAgIEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5XG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGZpbHRlclNlbGVjdGlvblN0cmF0ZWd5ID0gd3MuZW50aXR5U3RvcmUuZ2V0U3RyYXRlZ3lPZlR5cGUoXG4gICAgICAgICAgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBsYXllcnNXaXRoU2VsZWN0aW9uID0gZmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3kuYWN0aXZlXG4gICAgICAgICAgPyBbd3MubGF5ZXIuaWRdXG4gICAgICAgICAgOiBbXTtcbiAgICAgICAgdG9vbFN0YXRlLnRvb2xUb0FjdGl2YXRlRnJvbU9wdGlvbnMoe1xuICAgICAgICAgIHRvb2w6ICdpbXBvcnRFeHBvcnQnLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGxheWVyczogW3dzLmxheWVyLmlkXSxcbiAgICAgICAgICAgIGZlYXR1cmVJbk1hcEV4dGVudDogZmlsdGVyU3RyYXRlZ3kuYWN0aXZlLFxuICAgICAgICAgICAgbGF5ZXJzV2l0aFNlbGVjdGlvblxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgYXJnczogW3dvcmtzcGFjZV1cbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAnb2djRmlsdGVyJyxcbiAgICAgIGljb246ICdmaWx0ZXJfYWx0JyxcbiAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5vZ2NGaWx0ZXIudGl0bGUnLFxuICAgICAgdG9vbHRpcDogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uub2djRmlsdGVyLnRvb2x0aXAnLFxuICAgICAgaGFuZGxlcjogKFxuICAgICAgICB3aWRnZXQ6IFdpZGdldCxcbiAgICAgICAgd3M6IEZlYXR1cmVXb3Jrc3BhY2UgfCBXZnNXb3Jrc3BhY2UgfCBFZGl0aW9uV29ya3NwYWNlXG4gICAgICApID0+IHtcbiAgICAgICAgd3MuYWN0aXZhdGVXaWRnZXQod2lkZ2V0LCB7XG4gICAgICAgICAgbWFwOiB3cy5tYXAsXG4gICAgICAgICAgbGF5ZXI6IHdzLmxheWVyXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGFyZ3M6IFtvZ2NGaWx0ZXJXaWRnZXQsIHdvcmtzcGFjZV1cbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAnbWF4aW1pemUnLFxuICAgICAgdGl0bGU6IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UubWF4aW1pemUnXG4gICAgICApLFxuICAgICAgdG9vbHRpcDogbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5tYXhpbWl6ZVRvb2x0aXAnXG4gICAgICApLFxuICAgICAgaWNvbjogJ3Jlc2l6ZScsXG4gICAgICBkaXNwbGF5OiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBtYXhpbWl6ZSQucGlwZShtYXAoKHYpID0+ICF2ICYmICFtZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkpO1xuICAgICAgfSxcbiAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgaWYgKCFtZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkge1xuICAgICAgICAgIG1heGltaXplJC5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogJ3N0YW5kYXJkRXh0ZW50JyxcbiAgICAgIHRpdGxlOiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnN0YW5kYXJkRXh0ZW50J1xuICAgICAgKSxcbiAgICAgIHRvb2x0aXA6IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuc3RhbmRhcmRFeHRlbnRUb29sdGlwJ1xuICAgICAgKSxcbiAgICAgIGljb246ICdyZXNpemUnLFxuICAgICAgZGlzcGxheTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gbWF4aW1pemUkLnBpcGUobWFwKCh2KSA9PiB2ICYmICFtZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkpO1xuICAgICAgfSxcbiAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgbWF4aW1pemUkLm5leHQoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6ICdwcmludCcsXG4gICAgICBpY29uOiAncHJpbnQnLFxuICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnByaW50LnRpdGxlJyxcbiAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnByaW50LnRvb2x0aXAnLFxuICAgICAgaGFuZGxlcjogKHdzOiBGZWF0dXJlV29ya3NwYWNlIHwgV2ZzV29ya3NwYWNlIHwgRWRpdGlvbldvcmtzcGFjZSkgPT4ge1xuICAgICAgICBjb25zdCB0aXRsZSA9IGAke3dzLmxheWVyLnRpdGxlfSAoJHtkYXRlVHJhbnNmb3JtKFxuICAgICAgICAgIG5ldyBEYXRlKCksXG4gICAgICAgICAgJ1lZWVktTU0tREQtSEhfbW0nXG4gICAgICAgICl9KWA7XG4gICAgICAgIGNvbnN0IGRvYzogYW55ID0gbmV3IGpzUERGLmRlZmF1bHQoJ2xhbmRzY2FwZScpO1xuICAgICAgICBjb25zdCB0b3RhbFBhZ2VzRXhwID0gJ3t0b3RhbF9wYWdlc19jb3VudF9zdHJpbmd9JztcbiAgICAgICAgZG9jLnRleHQodGl0bGUsIDE0LCAyMCk7XG4gICAgICAgIGRvYy5hdXRvVGFibGUoe1xuICAgICAgICAgIHN0YXJ0WTogMjUsXG4gICAgICAgICAgdGFibGVXaWR0aDogJ3dyYXAnLFxuICAgICAgICAgIGh0bWw6ICcjY3VycmVudFdvcmtzcGFjZVRhYmxlJyxcbiAgICAgICAgICBob3Jpem9udGFsUGFnZUJyZWFrOiB0cnVlLFxuICAgICAgICAgIHN0eWxlczogeyBjZWxsUGFkZGluZzogMC41LCBtaW5DZWxsV2lkdGg6IDIwLCBmb250U2l6ZTogNiB9LFxuICAgICAgICAgIGRpZERyYXdQYWdlOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgbGV0IHN0ciA9ICdQYWdlICcgKyBkb2MuaW50ZXJuYWwuZ2V0TnVtYmVyT2ZQYWdlcygpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBkb2MucHV0VG90YWxQYWdlcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBzdHIgPSBzdHIgKyAnIC8gJyArIHRvdGFsUGFnZXNFeHA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkb2Muc2V0Rm9udFNpemUoNik7XG4gICAgICAgICAgICBjb25zdCBwYWdlU2l6ZSA9IGRvYy5pbnRlcm5hbC5wYWdlU2l6ZTtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2VIZWlnaHQgPSBwYWdlU2l6ZS5oZWlnaHRcbiAgICAgICAgICAgICAgPyBwYWdlU2l6ZS5oZWlnaHRcbiAgICAgICAgICAgICAgOiBwYWdlU2l6ZS5nZXRIZWlnaHQoKTtcbiAgICAgICAgICAgIGRvYy50ZXh0KHN0ciwgZGF0YS5zZXR0aW5ncy5tYXJnaW4ubGVmdCwgcGFnZUhlaWdodCAtIDEwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodHlwZW9mIGRvYy5wdXRUb3RhbFBhZ2VzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgZG9jLnB1dFRvdGFsUGFnZXModG90YWxQYWdlc0V4cCk7XG4gICAgICAgIH1cbiAgICAgICAgZG9jLnNhdmUoYCR7dGl0bGV9LnBkZmApO1xuICAgICAgfSxcbiAgICAgIGFyZ3M6IFt3b3Jrc3BhY2VdXG4gICAgfVxuICBdO1xuICBsZXQgcmV0dXJuQWN0aW9ucyA9ICh3b3Jrc3BhY2UubGF5ZXIuZGF0YVNvdXJjZSBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSlcbiAgICAub3B0aW9ucy5vZ2NGaWx0ZXJzPy5lbmFibGVkXG4gICAgPyBhY3Rpb25zXG4gICAgOiBhY3Rpb25zLmZpbHRlcigoYWN0aW9uKSA9PiBhY3Rpb24uaWQgIT09ICdvZ2NGaWx0ZXInKTtcbiAgcmV0dXJuQWN0aW9ucyA9XG4gICAgd29ya3NwYWNlLmxheWVyLm9wdGlvbnMud29ya3NwYWNlLnByaW50YWJsZSAhPT0gZmFsc2VcbiAgICAgID8gYWN0aW9uc1xuICAgICAgOiBhY3Rpb25zLmZpbHRlcigoYWN0aW9uKSA9PiBhY3Rpb24uaWQgIT09ICdwcmludCcpO1xuICByZXR1cm4gcmV0dXJuQWN0aW9ucztcbn1cblxuZnVuY3Rpb24gZGF0ZVRyYW5zZm9ybShkYXRlOiBEYXRlLCBmb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBtb21lbnQoZGF0ZSkuZm9ybWF0KGZvcm1hdCk7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './workspace-button.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS93b3Jrc3BhY2UtYnV0dG9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3dvcmtzcGFjZS1idXR0b24uY29tcG9uZW50JztcbiJdfQ==
@@ -1,71 +0,0 @@
1
- import { AsyncPipe, NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatTooltipModule } from '@angular/material/tooltip';
6
- import { IgoLanguageModule } from '@igo2/core/language';
7
- import { BehaviorSubject, combineLatest } from 'rxjs';
8
- import { WorkspaceState } from '../workspace.state';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../workspace.state";
11
- import * as i2 from "@angular/material/button";
12
- import * as i3 from "@angular/material/tooltip";
13
- import * as i4 from "@angular/material/icon";
14
- import * as i5 from "@ngx-translate/core";
15
- export class WorkspaceButtonComponent {
16
- workspaceState;
17
- hasWorkspace$ = new BehaviorSubject(false);
18
- hasWorkspace$$;
19
- _layer;
20
- layer$ = new BehaviorSubject(undefined);
21
- set layer(value) {
22
- this._layer = value;
23
- this.layer$.next(this._layer);
24
- }
25
- get layer() {
26
- return this._layer;
27
- }
28
- color = 'primary';
29
- constructor(workspaceState) {
30
- this.workspaceState = workspaceState;
31
- }
32
- ngOnInit() {
33
- this.hasWorkspace$$ = combineLatest([
34
- this.workspaceState.workspaceEnabled$,
35
- this.layer$
36
- ]).subscribe((bunch) => this.hasWorkspace$.next(bunch[0] && bunch[1]?.options.workspace?.enabled));
37
- }
38
- ngOnDestroy() {
39
- this.hasWorkspace$$.unsubscribe();
40
- }
41
- activateWorkspace() {
42
- if (this.workspaceState.workspace$.value &&
43
- this.workspaceState.workspace$.value.layer.id ===
44
- 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
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceButtonComponent, deps: [{ token: i1.WorkspaceState }], target: i0.ɵɵFactoryTarget.Component });
54
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: WorkspaceButtonComponent, isStandalone: true, selector: "igo-workspace-button", inputs: { layer: "layer", color: "color" }, ngImport: i0, template: "<button\n *ngIf=\"hasWorkspace$ | async\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.integration.workspace.toggleWorkspace' | translate\"\n [color]=\"color\"\n (click)=\"activateWorkspace()\"\n>\n <mat-icon>table</mat-icon>\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceButtonComponent, decorators: [{
57
- type: Component,
58
- args: [{ selector: 'igo-workspace-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
59
- NgIf,
60
- MatButtonModule,
61
- MatTooltipModule,
62
- MatIconModule,
63
- AsyncPipe,
64
- IgoLanguageModule
65
- ], template: "<button\n *ngIf=\"hasWorkspace$ | async\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.integration.workspace.toggleWorkspace' | translate\"\n [color]=\"color\"\n (click)=\"activateWorkspace()\"\n>\n <mat-icon>table</mat-icon>\n</button>\n" }]
66
- }], ctorParameters: () => [{ type: i1.WorkspaceState }], propDecorators: { layer: [{
67
- type: Input
68
- }], color: [{
69
- type: Input
70
- }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS93b3Jrc3BhY2UtYnV0dG9uL3dvcmtzcGFjZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLWJ1dHRvbi93b3Jrc3BhY2UtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7OztBQWlCcEQsTUFBTSxPQUFPLHdCQUF3QjtJQWtCZjtJQWpCYixhQUFhLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDbkQsY0FBYyxDQUFlO0lBRTdCLE1BQU0sQ0FBUTtJQUNkLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUSxTQUFTLENBQUMsQ0FBQztJQUN2RCxJQUNJLEtBQUssQ0FBQyxLQUFZO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFUSxLQUFLLEdBQUcsU0FBUyxDQUFDO0lBRTNCLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFHLENBQUM7SUFFdEQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCO1lBQ3JDLElBQUksQ0FBQyxNQUFNO1NBQ1osQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FDMUUsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFDRSxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxLQUFLO1lBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsRUFDMUMsQ0FBQztZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQ3JELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7WUFDbEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDSCxDQUFDO3dHQTdDVSx3QkFBd0I7NEZBQXhCLHdCQUF3Qiw0SENsQ3JDLDhTQVdBLDBERGVJLElBQUksNEZBQ0osZUFBZSwySUFDZixnQkFBZ0IsNFRBQ2hCLGFBQWEsK0tBQ2IsU0FBUyw2Q0FDVCxpQkFBaUI7OzRGQUdSLHdCQUF3QjtrQkFmcEMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixTQUFTO3dCQUNULGlCQUFpQjtxQkFDbEI7bUZBU0csS0FBSztzQkFEUixLQUFLO2dCQVVHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuaW1wb3J0IHR5cGUgeyBMYXllciB9IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFdvcmtzcGFjZVN0YXRlIH0gZnJvbSAnLi4vd29ya3NwYWNlLnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXdvcmtzcGFjZS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya3NwYWNlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dvcmtzcGFjZS1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgaGFzV29ya3NwYWNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIGhhc1dvcmtzcGFjZSQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBfbGF5ZXI6IExheWVyO1xuICBwcml2YXRlIGxheWVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGF5ZXI+KHVuZGVmaW5lZCk7XG4gIEBJbnB1dCgpXG4gIHNldCBsYXllcih2YWx1ZTogTGF5ZXIpIHtcbiAgICB0aGlzLl9sYXllciA9IHZhbHVlO1xuICAgIHRoaXMubGF5ZXIkLm5leHQodGhpcy5fbGF5ZXIpO1xuICB9XG5cbiAgZ2V0IGxheWVyKCk6IExheWVyIHtcbiAgICByZXR1cm4gdGhpcy5fbGF5ZXI7XG4gIH1cblxuICBASW5wdXQoKSBjb2xvciA9ICdwcmltYXJ5JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdvcmtzcGFjZVN0YXRlOiBXb3Jrc3BhY2VTdGF0ZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc1dvcmtzcGFjZSQkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLndvcmtzcGFjZVN0YXRlLndvcmtzcGFjZUVuYWJsZWQkLFxuICAgICAgdGhpcy5sYXllciRcbiAgICBdKS5zdWJzY3JpYmUoKGJ1bmNoKSA9PlxuICAgICAgdGhpcy5oYXNXb3Jrc3BhY2UkLm5leHQoYnVuY2hbMF0gJiYgYnVuY2hbMV0/Lm9wdGlvbnMud29ya3NwYWNlPy5lbmFibGVkKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc1dvcmtzcGFjZSQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBhY3RpdmF0ZVdvcmtzcGFjZSgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLndvcmtzcGFjZVN0YXRlLndvcmtzcGFjZSQudmFsdWUgJiZcbiAgICAgICh0aGlzLndvcmtzcGFjZVN0YXRlLndvcmtzcGFjZSQudmFsdWUgYXMgYW55KS5sYXllci5pZCA9PT1cbiAgICAgICAgdGhpcy5sYXllci5pZCAmJlxuICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS53b3Jrc3BhY2VQYW5lbEV4cGFuZGVkXG4gICAgKSB7XG4gICAgICB0aGlzLndvcmtzcGFjZVN0YXRlLndvcmtzcGFjZVBhbmVsRXhwYW5kZWQgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS53b3Jrc3BhY2VQYW5lbEV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMud29ya3NwYWNlU3RhdGUuc2V0QWN0aXZlV29ya3NwYWNlQnlJZCh0aGlzLmxheWVyLmlkKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgKm5nSWY9XCJoYXNXb3Jrc3BhY2UkIHwgYXN5bmNcIlxuICBtYXQtaWNvbi1idXR0b25cbiAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gIFttYXRUb29sdGlwXT1cIidpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnRvZ2dsZVdvcmtzcGFjZScgfCB0cmFuc2xhdGVcIlxuICBbY29sb3JdPVwiY29sb3JcIlxuICAoY2xpY2spPVwiYWN0aXZhdGVXb3Jrc3BhY2UoKVwiXG4+XG4gIDxtYXQtaWNvbj50YWJsZTwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { WorkspaceButtonComponent } from './workspace-button/workspace-button.component';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * @deprecated import the WorkspaceButtonComponent directly
6
- */
7
- export class IgoAppWorkspaceModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoAppWorkspaceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoAppWorkspaceModule, imports: [WorkspaceButtonComponent], exports: [WorkspaceButtonComponent] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoAppWorkspaceModule, imports: [WorkspaceButtonComponent] });
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoAppWorkspaceModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- imports: [WorkspaceButtonComponent],
16
- exports: [WorkspaceButtonComponent]
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvd29ya3NwYWNlL3dvcmtzcGFjZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7QUFFekY7O0dBRUc7QUFLSCxNQUFNLE9BQU8scUJBQXFCO3dHQUFyQixxQkFBcUI7eUdBQXJCLHFCQUFxQixZQUh0Qix3QkFBd0IsYUFDeEIsd0JBQXdCO3lHQUV2QixxQkFBcUIsWUFIdEIsd0JBQXdCOzs0RkFHdkIscUJBQXFCO2tCQUpqQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBXb3Jrc3BhY2VCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3dvcmtzcGFjZS1idXR0b24vd29ya3NwYWNlLWJ1dHRvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIGltcG9ydCB0aGUgV29ya3NwYWNlQnV0dG9uQ29tcG9uZW50IGRpcmVjdGx5XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtXb3Jrc3BhY2VCdXR0b25Db21wb25lbnRdLFxuICBleHBvcnRzOiBbV29ya3NwYWNlQnV0dG9uQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBJZ29BcHBXb3Jrc3BhY2VNb2R1bGUge31cbiJdfQ==
@@ -1,205 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy } from '@igo2/common/entity';
3
- import { WorkspaceStore } from '@igo2/common/workspace';
4
- import { StorageService } from '@igo2/core/storage';
5
- import { EditionWorkspace, FeatureWorkspace, WfsWorkspace } from '@igo2/geo';
6
- import { BehaviorSubject, of } from 'rxjs';
7
- import { EditionActionsService } from './shared/edition-actions.service';
8
- import { FeatureActionsService } from './shared/feature-actions.service';
9
- import { WfsActionsService } from './shared/wfs-actions.service';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "./shared/feature-actions.service";
12
- import * as i2 from "./shared/wfs-actions.service";
13
- import * as i3 from "./shared/edition-actions.service";
14
- import * as i4 from "@igo2/core/storage";
15
- /**
16
- * Service that holds the state of the workspace module
17
- */
18
- export class WorkspaceState {
19
- featureActionsService;
20
- wfsActionsService;
21
- editionActionsService;
22
- storageService;
23
- workspacePanelExpanded = false;
24
- workspaceEnabled$ = new BehaviorSubject(false);
25
- rowsInMapExtentCheckCondition$ = new BehaviorSubject(true);
26
- selectOnlyCheckCondition$ = new BehaviorSubject(false);
27
- workspaceMaximize$;
28
- actionMaximize$$ = [];
29
- rowsInMapExtentCheckCondition$$;
30
- selectOnlyCheckCondition$$;
31
- /** Subscription to the active workspace */
32
- activeWorkspace$$;
33
- /** Subscription to the active workspace widget */
34
- activeWorkspaceWidget$$;
35
- /** Active widget observable. Only one may be active for all available workspaces */
36
- activeWorkspaceWidget$ = new BehaviorSubject(undefined);
37
- /**
38
- * Observable of the active workspace
39
- */
40
- workspace$ = new BehaviorSubject(undefined);
41
- /**
42
- * Store that holds all the available workspaces
43
- */
44
- get store() {
45
- return this._store;
46
- }
47
- _store;
48
- get workspaceSelection() {
49
- if (this.workspace$.value) {
50
- return this.workspace$.value?.entityStore.stateView.manyBy((r) => r.state.selected === true);
51
- }
52
- else {
53
- return [];
54
- }
55
- }
56
- get workspaceSelection$() {
57
- if (this.workspace$.value) {
58
- return this.workspace$.value?.entityStore?.stateView.manyBy$((r) => r.state.selected === true);
59
- }
60
- else {
61
- return of([]);
62
- }
63
- }
64
- constructor(featureActionsService, wfsActionsService, editionActionsService, storageService) {
65
- this.featureActionsService = featureActionsService;
66
- this.wfsActionsService = wfsActionsService;
67
- this.editionActionsService = editionActionsService;
68
- this.storageService = storageService;
69
- this.workspaceMaximize$ = new BehaviorSubject(this.storageService.get('workspaceMaximize'));
70
- this.initWorkspaces();
71
- }
72
- /**
73
- * Initialize the workspace store. Each time a workspace is activated,
74
- * subscribe to it's active widget. Tracking the active widget is useful
75
- * to make sure only one widget is active at a time.
76
- */
77
- initWorkspaces() {
78
- this._store = new WorkspaceStore([]);
79
- this._store.stateView
80
- .firstBy$((record) => record.state.active === true)
81
- .subscribe((record) => {
82
- const workspace = record ? record.entity : undefined;
83
- this.workspace$.next(workspace);
84
- });
85
- this._store.stateView
86
- .all$()
87
- .subscribe((workspaces) => {
88
- workspaces.map((wks) => {
89
- if (wks.entity.actionStore.empty) {
90
- if (wks.entity instanceof WfsWorkspace) {
91
- this.wfsActionsService.loadActions(wks.entity, this.rowsInMapExtentCheckCondition$, this.selectOnlyCheckCondition$);
92
- }
93
- else if (wks.entity instanceof FeatureWorkspace) {
94
- this.featureActionsService.loadActions(wks.entity, this.rowsInMapExtentCheckCondition$, this.selectOnlyCheckCondition$);
95
- }
96
- else if (wks.entity instanceof EditionWorkspace) {
97
- this.editionActionsService.loadActions(wks.entity, this.rowsInMapExtentCheckCondition$, this.selectOnlyCheckCondition$);
98
- }
99
- }
100
- });
101
- });
102
- this.actionMaximize$$.push(this.featureActionsService.maximize$.subscribe((maximized) => {
103
- this.setWorkspaceIsMaximized(maximized);
104
- }));
105
- this.actionMaximize$$.push(this.wfsActionsService.maximize$.subscribe((maximized) => {
106
- this.setWorkspaceIsMaximized(maximized);
107
- }));
108
- this.actionMaximize$$.push(this.editionActionsService.maximize$.subscribe((maximized) => {
109
- this.setWorkspaceIsMaximized(maximized);
110
- }));
111
- this.activeWorkspace$$ = this.workspace$.subscribe((workspace) => {
112
- if (this.activeWorkspaceWidget$$ !== undefined) {
113
- this.activeWorkspaceWidget$$.unsubscribe();
114
- this.activeWorkspaceWidget$$ = undefined;
115
- }
116
- if (workspace !== undefined) {
117
- this.activeWorkspaceWidget$$ = workspace.widget$.subscribe((widget) => this.activeWorkspaceWidget$.next(widget));
118
- }
119
- });
120
- this.rowsInMapExtentCheckCondition$$ =
121
- this.rowsInMapExtentCheckCondition$.subscribe((rowsInMapExtent) => {
122
- this._store.stateView.all().map((wks) => {
123
- if (!wks.entity.actionStore.empty) {
124
- const filterStrategy = wks.entity.entityStore.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
125
- if (filterStrategy) {
126
- if (rowsInMapExtent) {
127
- filterStrategy.activate();
128
- }
129
- else {
130
- filterStrategy.deactivate();
131
- }
132
- }
133
- }
134
- });
135
- });
136
- this.selectOnlyCheckCondition$$ = this.selectOnlyCheckCondition$.subscribe((selectOnly) => {
137
- this._store.stateView.all().map((wks) => {
138
- if (!wks.entity.actionStore.empty) {
139
- const filterStrategy = wks.entity.entityStore.getStrategyOfType(EntityStoreFilterSelectionStrategy);
140
- if (filterStrategy) {
141
- if (selectOnly) {
142
- filterStrategy.activate();
143
- }
144
- else {
145
- filterStrategy.deactivate();
146
- }
147
- }
148
- }
149
- });
150
- });
151
- }
152
- setWorkspaceIsMaximized(maximized) {
153
- this.storageService.set('workspaceMaximize', maximized);
154
- this.workspaceMaximize$.next(maximized);
155
- }
156
- setActiveWorkspaceById(id) {
157
- const wksFromId = this.store.all().find((workspace) => workspace.id === id);
158
- if (wksFromId) {
159
- this.store.activateWorkspace(wksFromId);
160
- }
161
- }
162
- setActiveWorkspaceByTitle(title) {
163
- const wksFromTitle = this.store
164
- .all()
165
- .find((workspace) => workspace.title === title);
166
- if (wksFromTitle) {
167
- this.store.activateWorkspace(wksFromTitle);
168
- }
169
- }
170
- /**
171
- * Teardown all the workspaces
172
- * @internal
173
- */
174
- ngOnDestroy() {
175
- this.teardownWorkspaces();
176
- this.actionMaximize$$.map((a) => a.unsubscribe());
177
- if (this.rowsInMapExtentCheckCondition$$) {
178
- this.selectOnlyCheckCondition$$.unsubscribe();
179
- }
180
- if (this.selectOnlyCheckCondition$$) {
181
- this.selectOnlyCheckCondition$$.unsubscribe();
182
- }
183
- }
184
- /**
185
- * Teardown the workspace store and any subscribers
186
- */
187
- teardownWorkspaces() {
188
- this.store.clear();
189
- if (this.activeWorkspaceWidget$$ !== undefined) {
190
- this.activeWorkspaceWidget$$.unsubscribe();
191
- }
192
- if (this.activeWorkspace$$ !== undefined) {
193
- this.activeWorkspace$$.unsubscribe();
194
- }
195
- }
196
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceState, deps: [{ token: i1.FeatureActionsService }, { token: i2.WfsActionsService }, { token: i3.EditionActionsService }, { token: i4.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
197
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceState, providedIn: 'root' });
198
- }
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceState, decorators: [{
200
- type: Injectable,
201
- args: [{
202
- providedIn: 'root'
203
- }]
204
- }], ctorParameters: () => [{ type: i1.FeatureActionsService }, { type: i2.WfsActionsService }, { type: i3.EditionActionsService }, { type: i4.StorageService }] });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUdMLG1DQUFtQyxFQUNuQyxrQ0FBa0MsRUFDbkMsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQWEsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFN0UsT0FBTyxFQUFFLGVBQWUsRUFBNEIsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7QUFFakU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sY0FBYztJQTREZjtJQUNBO0lBQ0E7SUFDQTtJQTlESCxzQkFBc0IsR0FBRyxLQUFLLENBQUM7SUFFN0IsaUJBQWlCLEdBQ3hCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzdCLDhCQUE4QixHQUNyQyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztJQUM1Qix5QkFBeUIsR0FDaEMsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFN0Isa0JBQWtCLENBQTJCO0lBQzlDLGdCQUFnQixHQUFtQixFQUFFLENBQUM7SUFFdEMsK0JBQStCLENB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QztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO3dHQXpPVSxjQUFjOzRHQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBFbnRpdHlSZWNvcmQsXG4gIEVudGl0eVN0YXRlLFxuICBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSxcbiAgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneVxufSBmcm9tICdAaWdvMi9jb21tb24vZW50aXR5JztcbmltcG9ydCB7IFdpZGdldCB9IGZyb20gJ0BpZ28yL2NvbW1vbi93aWRnZXQnO1xuaW1wb3J0IHsgV29ya3NwYWNlLCBXb3Jrc3BhY2VTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi93b3Jrc3BhY2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL3N0b3JhZ2UnO1xuaW1wb3J0IHsgRWRpdGlvbldvcmtzcGFjZSwgRmVhdHVyZVdvcmtzcGFjZSwgV2ZzV29ya3NwYWNlIH0gZnJvbSAnQGlnbzIvZ2VvJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEVkaXRpb25BY3Rpb25zU2VydmljZSB9IGZyb20gJy4vc2hhcmVkL2VkaXRpb24tYWN0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVBY3Rpb25zU2VydmljZSB9IGZyb20gJy4vc2hhcmVkL2ZlYXR1cmUtYWN0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFdmc0FjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvd2ZzLWFjdGlvbnMuc2VydmljZSc7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhvbGRzIHRoZSBzdGF0ZSBvZiB0aGUgd29ya3NwYWNlIG1vZHVsZVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VTdGF0ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyB3b3Jrc3BhY2VQYW5lbEV4cGFuZGVkID0gZmFsc2U7XG5cbiAgcmVhZG9ubHkgd29ya3NwYWNlRW5hYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICByZWFkb25seSBzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHJlYWRvbmx5IHdvcmtzcGFjZU1heGltaXplJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICBwcml2YXRlIGFjdGlvbk1heGltaXplJCQ6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgcHJpdmF0ZSByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcblxuICAvKiogU3Vic2NyaXB0aW9uIHRvIHRoZSBhY3RpdmUgd29ya3NwYWNlICovXG4gIHByaXZhdGUgYWN0aXZlV29ya3NwYWNlJCQ6IFN1YnNjcmlwdGlvbjtcblxuICAvKiogU3Vic2NyaXB0aW9uIHRvIHRoZSBhY3RpdmUgd29ya3NwYWNlIHdpZGdldCAqL1xuICBwcml2YXRlIGFjdGl2ZVdvcmtzcGFjZVdpZGdldCQkOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqIEFjdGl2ZSB3aWRnZXQgb2JzZXJ2YWJsZS4gT25seSBvbmUgbWF5IGJlIGFjdGl2ZSBmb3IgYWxsIGF2YWlsYWJsZSB3b3Jrc3BhY2VzICovXG4gIHJlYWRvbmx5IGFjdGl2ZVdvcmtzcGFjZVdpZGdldCQ6IEJlaGF2aW9yU3ViamVjdDxXaWRnZXQ+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PFdpZGdldD4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgYWN0aXZlIHdvcmtzcGFjZVxuICAgKi9cbiAgcHVibGljIHdvcmtzcGFjZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdvcmtzcGFjZT4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogU3RvcmUgdGhhdCBob2xkcyBhbGwgdGhlIGF2YWlsYWJsZSB3b3Jrc3BhY2VzXG4gICAqL1xuICBnZXQgc3RvcmUoKTogV29ya3NwYWNlU3RvcmUge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZTtcbiAgfVxuICBwcml2YXRlIF9zdG9yZTogV29ya3NwYWNlU3RvcmU7XG5cbiAgZ2V0IHdvcmtzcGFjZVNlbGVjdGlvbigpIHtcbiAgICBpZiAodGhpcy53b3Jrc3BhY2UkLnZhbHVlKSB7XG4gICAgICByZXR1cm4gdGhpcy53b3Jrc3BhY2UkLnZhbHVlPy5lbnRpdHlTdG9yZS5zdGF0ZVZpZXcubWFueUJ5KFxuICAgICAgICAocikgPT4gci5zdGF0ZS5zZWxlY3RlZCA9PT0gdHJ1ZVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxuXG4gIGdldCB3b3Jrc3BhY2VTZWxlY3Rpb24kKCk6IE9ic2VydmFibGU8RW50aXR5UmVjb3JkPG9iamVjdCwgRW50aXR5U3RhdGU+W10+IHtcbiAgICBpZiAodGhpcy53b3Jrc3BhY2UkLnZhbHVlKSB7XG4gICAgICByZXR1cm4gdGhpcy53b3Jrc3BhY2UkLnZhbHVlPy5lbnRpdHlTdG9yZT8uc3RhdGVWaWV3Lm1hbnlCeSQoXG4gICAgICAgIChyKSA9PiByLnN0YXRlLnNlbGVjdGVkID09PSB0cnVlXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2YoW10pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmVhdHVyZUFjdGlvbnNTZXJ2aWNlOiBGZWF0dXJlQWN0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB3ZnNBY3Rpb25zU2VydmljZTogV2ZzQWN0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBlZGl0aW9uQWN0aW9uc1NlcnZpY2U6IEVkaXRpb25BY3Rpb25zU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxuICApIHtcbiAgICB0aGlzLndvcmtzcGFjZU1heGltaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnd29ya3NwYWNlTWF4aW1pemUnKSBhcyBib29sZWFuXG4gICAgKTtcbiAgICB0aGlzLmluaXRXb3Jrc3BhY2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgd29ya3NwYWNlIHN0b3JlLiBFYWNoIHRpbWUgYSB3b3Jrc3BhY2UgaXMgYWN0aXZhdGVkLFxuICAgKiBzdWJzY3JpYmUgdG8gaXQncyBhY3RpdmUgd2lkZ2V0LiBUcmFja2luZyB0aGUgYWN0aXZlIHdpZGdldCBpcyB1c2VmdWxcbiAgICogdG8gbWFrZSBzdXJlIG9ubHkgb25lIHdpZGdldCBpcyBhY3RpdmUgYXQgYSB0aW1lLlxuICAgKi9cbiAgcHJpdmF0ZSBpbml0V29ya3NwYWNlcygpIHtcbiAgICB0aGlzLl9zdG9yZSA9IG5ldyBXb3Jrc3BhY2VTdG9yZShbXSk7XG4gICAgdGhpcy5fc3RvcmUuc3RhdGVWaWV3XG4gICAgICAuZmlyc3RCeSQoXG4gICAgICAgIChyZWNvcmQ6IEVudGl0eVJlY29yZDxXb3Jrc3BhY2U+KSA9PiByZWNvcmQuc3RhdGUuYWN0aXZlID09PSB0cnVlXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChyZWNvcmQ6IEVudGl0eVJlY29yZDxXb3Jrc3BhY2U+KSA9PiB7XG4gICAgICAgIGNvbnN0IHdvcmtzcGFjZSA9IHJlY29yZCA/IHJlY29yZC5lbnRpdHkgOiB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMud29ya3NwYWNlJC5uZXh0KHdvcmtzcGFjZSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3N0b3JlLnN0YXRlVmlld1xuICAgICAgLmFsbCQoKVxuICAgICAgLnN1YnNjcmliZSgod29ya3NwYWNlczogRW50aXR5UmVjb3JkPFdvcmtzcGFjZT5bXSkgPT4ge1xuICAgICAgICB3b3Jrc3BhY2VzLm1hcCgod2tzOiBFbnRpdHlSZWNvcmQ8V29ya3NwYWNlPikgPT4ge1xuICAgICAgICAgIGlmICh3a3MuZW50aXR5LmFjdGlvblN0b3JlLmVtcHR5KSB7XG4gICAgICAgICAgICBpZiAod2tzLmVudGl0eSBpbnN0YW5jZW9mIFdmc1dvcmtzcGFjZSkge1xuICAgICAgICAgICAgICB0aGlzLndmc0FjdGlvbnNTZXJ2aWNlLmxvYWRBY3Rpb25zKFxuICAgICAgICAgICAgICAgIHdrcy5lbnRpdHksXG4gICAgICAgICAgICAgICAgdGhpcy5yb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQsXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHdrcy5lbnRpdHkgaW5zdGFuY2VvZiBGZWF0dXJlV29ya3NwYWNlKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmVhdHVyZUFjdGlvbnNTZXJ2aWNlLmxvYWRBY3Rpb25zKFxuICAgICAgICAgICAgICAgIHdrcy5lbnRpdHksXG4gICAgICAgICAgICAgICAgdGhpcy5yb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQsXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHdrcy5lbnRpdHkgaW5zdGFuY2VvZiBFZGl0aW9uV29ya3NwYWNlKSB7XG4gICAgICAgICAgICAgIHRoaXMuZWRpdGlvbkFjdGlvbnNTZXJ2aWNlLmxvYWRBY3Rpb25zKFxuICAgICAgICAgICAgICAgIHdrcy5lbnRpdHksXG4gICAgICAgICAgICAgICAgdGhpcy5yb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQsXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5hY3Rpb25NYXhpbWl6ZSQkLnB1c2goXG4gICAgICB0aGlzLmZlYXR1cmVBY3Rpb25zU2VydmljZS5tYXhpbWl6ZSQuc3Vic2NyaWJlKChtYXhpbWl6ZWQpID0+IHtcbiAgICAgICAgdGhpcy5zZXRXb3Jrc3BhY2VJc01heGltaXplZChtYXhpbWl6ZWQpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5hY3Rpb25NYXhpbWl6ZSQkLnB1c2goXG4gICAgICB0aGlzLndmc0FjdGlvbnNTZXJ2aWNlLm1heGltaXplJC5zdWJzY3JpYmUoKG1heGltaXplZCkgPT4ge1xuICAgICAgICB0aGlzLnNldFdvcmtzcGFjZUlzTWF4aW1pemVkKG1heGltaXplZCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmFjdGlvbk1heGltaXplJCQucHVzaChcbiAgICAgIHRoaXMuZWRpdGlvbkFjdGlvbnNTZXJ2aWNlLm1heGltaXplJC5zdWJzY3JpYmUoKG1heGltaXplZCkgPT4ge1xuICAgICAgICB0aGlzLnNldFdvcmtzcGFjZUlzTWF4aW1pemVkKG1heGltaXplZCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmFjdGl2ZVdvcmtzcGFjZSQkID0gdGhpcy53b3Jrc3BhY2UkLnN1YnNjcmliZShcbiAgICAgICh3b3Jrc3BhY2U6IFdvcmtzcGFjZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVXb3Jrc3BhY2VXaWRnZXQkJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVXb3Jrc3BhY2VXaWRnZXQkJC51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIHRoaXMuYWN0aXZlV29ya3NwYWNlV2lkZ2V0JCQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAod29ya3NwYWNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZVdvcmtzcGFjZVdpZGdldCQkID0gd29ya3NwYWNlLndpZGdldCQuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKHdpZGdldDogV2lkZ2V0KSA9PiB0aGlzLmFjdGl2ZVdvcmtzcGFjZVdpZGdldCQubmV4dCh3aWRnZXQpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCQgPVxuICAgICAgdGhpcy5yb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQuc3Vic2NyaWJlKChyb3dzSW5NYXBFeHRlbnQpID0+IHtcbiAgICAgICAgdGhpcy5fc3RvcmUuc3RhdGVWaWV3LmFsbCgpLm1hcCgod2tzOiBFbnRpdHlSZWNvcmQ8V29ya3NwYWNlPikgPT4ge1xuICAgICAgICAgIGlmICghd2tzLmVudGl0eS5hY3Rpb25TdG9yZS5lbXB0eSkge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyU3RyYXRlZ3kgPSB3a3MuZW50aXR5LmVudGl0eVN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKFxuICAgICAgICAgICAgICBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXJTdHJhdGVneSkge1xuICAgICAgICAgICAgICBpZiAocm93c0luTWFwRXh0ZW50KSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyU3RyYXRlZ3kuYWN0aXZhdGUoKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJTdHJhdGVneS5kZWFjdGl2YXRlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQkID0gdGhpcy5zZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kLnN1YnNjcmliZShcbiAgICAgIChzZWxlY3RPbmx5KSA9PiB7XG4gICAgICAgIHRoaXMuX3N0b3JlLnN0YXRlVmlldy5hbGwoKS5tYXAoKHdrczogRW50aXR5UmVjb3JkPFdvcmtzcGFjZT4pID0+IHtcbiAgICAgICAgICBpZiAoIXdrcy5lbnRpdHkuYWN0aW9uU3RvcmUuZW1wdHkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlclN0cmF0ZWd5ID0gd2tzLmVudGl0eS5lbnRpdHlTdG9yZS5nZXRTdHJhdGVneU9mVHlwZShcbiAgICAgICAgICAgICAgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXJTdHJhdGVneSkge1xuICAgICAgICAgICAgICBpZiAoc2VsZWN0T25seSkge1xuICAgICAgICAgICAgICAgIGZpbHRlclN0cmF0ZWd5LmFjdGl2YXRlKCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyU3RyYXRlZ3kuZGVhY3RpdmF0ZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRXb3Jrc3BhY2VJc01heGltaXplZChtYXhpbWl6ZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnd29ya3NwYWNlTWF4aW1pemUnLCBtYXhpbWl6ZWQpO1xuICAgIHRoaXMud29ya3NwYWNlTWF4aW1pemUkLm5leHQobWF4aW1pemVkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBY3RpdmVXb3Jrc3BhY2VCeUlkKGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCB3a3NGcm9tSWQgPSB0aGlzLnN0b3JlLmFsbCgpLmZpbmQoKHdvcmtzcGFjZSkgPT4gd29ya3NwYWNlLmlkID09PSBpZCk7XG4gICAgaWYgKHdrc0Zyb21JZCkge1xuICAgICAgdGhpcy5zdG9yZS5hY3RpdmF0ZVdvcmtzcGFjZSh3a3NGcm9tSWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRBY3RpdmVXb3Jrc3BhY2VCeVRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB3a3NGcm9tVGl0bGUgPSB0aGlzLnN0b3JlXG4gICAgICAuYWxsKClcbiAgICAgIC5maW5kKCh3b3Jrc3BhY2UpID0+IHdvcmtzcGFjZS50aXRsZSA9PT0gdGl0bGUpO1xuICAgIGlmICh3a3NGcm9tVGl0bGUpIHtcbiAgICAgIHRoaXMuc3RvcmUuYWN0aXZhdGVXb3Jrc3BhY2Uod2tzRnJvbVRpdGxlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGVhcmRvd24gYWxsIHRoZSB3b3Jrc3BhY2VzXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy50ZWFyZG93bldvcmtzcGFjZXMoKTtcbiAgICB0aGlzLmFjdGlvbk1heGltaXplJCQubWFwKChhKSA9PiBhLnVuc3Vic2NyaWJlKCkpO1xuICAgIGlmICh0aGlzLnJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCQpIHtcbiAgICAgIHRoaXMuc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJCQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJCQpIHtcbiAgICAgIHRoaXMuc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJCQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGVhcmRvd24gdGhlIHdvcmtzcGFjZSBzdG9yZSBhbmQgYW55IHN1YnNjcmliZXJzXG4gICAqL1xuICBwcml2YXRlIHRlYXJkb3duV29ya3NwYWNlcygpIHtcbiAgICB0aGlzLnN0b3JlLmNsZWFyKCk7XG4gICAgaWYgKHRoaXMuYWN0aXZlV29ya3NwYWNlV2lkZ2V0JCQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hY3RpdmVXb3Jrc3BhY2VXaWRnZXQkJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5hY3RpdmVXb3Jrc3BhY2UkJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmFjdGl2ZVdvcmtzcGFjZSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,35 +0,0 @@
1
- /*
2
- * Public API Surface of tools
3
- */
4
- export * from './lib/integration.module';
5
- export * from './lib/about/about.module';
6
- export * from './lib/geometry-form/geometry-form.module';
7
- export * from './lib/context/context.module';
8
- export * from './lib/catalog/catalog.module';
9
- export * from './lib/directions/directions.module';
10
- export * from './lib/draw/draw.module';
11
- export * from './lib/workspace/workspace.module';
12
- export * from './lib/filter/filter.module';
13
- export * from './lib/import-export/import-export.module';
14
- export * from './lib/map/map.module';
15
- export * from './lib/measure/measure.module';
16
- export * from './lib/print/print.module';
17
- export * from './lib/search/search.module';
18
- export * from './lib/about';
19
- export * from './lib/geometry-form';
20
- export * from './lib/analytics';
21
- export * from './lib/context';
22
- export * from './lib/catalog';
23
- export * from './lib/directions';
24
- export * from './lib/draw';
25
- export * from './lib/environment';
26
- export * from './lib/workspace';
27
- export * from './lib/filter';
28
- export * from './lib/import-export';
29
- export * from './lib/map';
30
- export * from './lib/measure';
31
- export * from './lib/print';
32
- export * from './lib/search';
33
- export * from './lib/tool';
34
- export * from './lib/storage';
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0b29sc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVncmF0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hYm91dC9hYm91dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2VvbWV0cnktZm9ybS9nZW9tZXRyeS1mb3JtLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZXh0L2NvbnRleHQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhdGFsb2cvY2F0YWxvZy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYXcvZHJhdy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvd29ya3NwYWNlL3dvcmtzcGFjZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsdGVyL2ZpbHRlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXAvbWFwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZWFzdXJlL21lYXN1cmUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW50L3ByaW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2gvc2VhcmNoLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fib3V0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dlb21ldHJ5LWZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5hbHl0aWNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2F0YWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYXcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW52aXJvbm1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvd29ya3NwYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbXBvcnQtZXhwb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hcCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZWFzdXJlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0b3JhZ2UnO1xuIl19