@igo2/integration 18.0.0 → 18.0.1-next.2

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 (113) hide show
  1. package/fesm2022/igo2-integration.mjs +252 -254
  2. package/fesm2022/igo2-integration.mjs.map +1 -1
  3. package/package.json +8 -10
  4. package/esm2022/igo2-integration.mjs +0 -5
  5. package/esm2022/lib/about/about-tool/about-tool.component.mjs +0 -152
  6. package/esm2022/lib/about/about-tool/index.mjs +0 -2
  7. package/esm2022/lib/about/about.module.mjs +0 -26
  8. package/esm2022/lib/about/index.mjs +0 -2
  9. package/esm2022/lib/analytics/analytics-listener.service.mjs +0 -149
  10. package/esm2022/lib/analytics/index.mjs +0 -2
  11. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +0 -117
  12. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +0 -19
  13. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +0 -110
  14. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +0 -19
  15. package/esm2022/lib/catalog/catalog.module.mjs +0 -19
  16. package/esm2022/lib/catalog/catalog.state.mjs +0 -58
  17. package/esm2022/lib/catalog/index.mjs +0 -6
  18. package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +0 -33
  19. package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +0 -46
  20. package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +0 -23
  21. package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +0 -40
  22. package/esm2022/lib/context/context.directive.mjs +0 -11
  23. package/esm2022/lib/context/context.module.mjs +0 -23
  24. package/esm2022/lib/context/context.state.mjs +0 -96
  25. package/esm2022/lib/context/index.mjs +0 -7
  26. package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +0 -121
  27. package/esm2022/lib/directions/directions-tool/index.mjs +0 -2
  28. package/esm2022/lib/directions/directions.module.mjs +0 -25
  29. package/esm2022/lib/directions/directions.state.mjs +0 -57
  30. package/esm2022/lib/directions/index.mjs +0 -3
  31. package/esm2022/lib/draw/draw.module.mjs +0 -18
  32. package/esm2022/lib/draw/draw.state.mjs +0 -43
  33. package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +0 -72
  34. package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +0 -19
  35. package/esm2022/lib/draw/index.mjs +0 -4
  36. package/esm2022/lib/environment/environment.interface.mjs +0 -2
  37. package/esm2022/lib/environment/index.mjs +0 -2
  38. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +0 -10
  39. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +0 -43
  40. package/esm2022/lib/filter/active-ogc-filter-tool/index.mjs +0 -2
  41. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +0 -10
  42. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +0 -43
  43. package/esm2022/lib/filter/active-time-filter-tool/index.mjs +0 -2
  44. package/esm2022/lib/filter/filter.module.mjs +0 -53
  45. package/esm2022/lib/filter/index.mjs +0 -18
  46. package/esm2022/lib/filter/ogc-filter-tool/index.mjs +0 -2
  47. package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +0 -22
  48. package/esm2022/lib/filter/spatial-filter-tool/index.mjs +0 -2
  49. package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +0 -589
  50. package/esm2022/lib/filter/time-filter-tool/index.mjs +0 -2
  51. package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +0 -22
  52. package/esm2022/lib/geometry-form/data-issue-reporter-tool/data-issue-reporter-tool.component.mjs +0 -188
  53. package/esm2022/lib/geometry-form/data-issue-reporter-tool/index.mjs +0 -2
  54. package/esm2022/lib/geometry-form/geometry-form.module.mjs +0 -37
  55. package/esm2022/lib/geometry-form/index.mjs +0 -2
  56. package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +0 -113
  57. package/esm2022/lib/import-export/import-export-tool/index.mjs +0 -2
  58. package/esm2022/lib/import-export/import-export.module.mjs +0 -25
  59. package/esm2022/lib/import-export/import-export.state.mjs +0 -39
  60. package/esm2022/lib/import-export/index.mjs +0 -3
  61. package/esm2022/lib/integration.module.mjs +0 -70
  62. package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +0 -446
  63. package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +0 -66
  64. package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +0 -157
  65. package/esm2022/lib/map/advanced-map-tool/index.mjs +0 -2
  66. package/esm2022/lib/map/index.mjs +0 -10
  67. package/esm2022/lib/map/layer-list-tool.state.mjs +0 -40
  68. package/esm2022/lib/map/map-details-tool/index.mjs +0 -2
  69. package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +0 -190
  70. package/esm2022/lib/map/map-legend/index.mjs +0 -2
  71. package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +0 -165
  72. package/esm2022/lib/map/map-proximity-tool/index.mjs +0 -2
  73. package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +0 -152
  74. package/esm2022/lib/map/map-proximity.state.mjs +0 -179
  75. package/esm2022/lib/map/map-tool/index.mjs +0 -2
  76. package/esm2022/lib/map/map-tool/map-tool.component.mjs +0 -152
  77. package/esm2022/lib/map/map-tools/index.mjs +0 -2
  78. package/esm2022/lib/map/map-tools/map-tools.component.mjs +0 -350
  79. package/esm2022/lib/map/map.directive.mjs +0 -15
  80. package/esm2022/lib/map/map.module.mjs +0 -59
  81. package/esm2022/lib/map/map.state.mjs +0 -56
  82. package/esm2022/lib/measure/index.mjs +0 -4
  83. package/esm2022/lib/measure/measure.module.mjs +0 -18
  84. package/esm2022/lib/measure/measure.state.mjs +0 -41
  85. package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +0 -51
  86. package/esm2022/lib/measure/measurer-tool/measurer-tool.module.mjs +0 -19
  87. package/esm2022/lib/print/index.mjs +0 -2
  88. package/esm2022/lib/print/print-tool/index.mjs +0 -2
  89. package/esm2022/lib/print/print-tool/print-tool.component.mjs +0 -32
  90. package/esm2022/lib/print/print.module.mjs +0 -25
  91. package/esm2022/lib/search/index.mjs +0 -7
  92. package/esm2022/lib/search/query.state.mjs +0 -48
  93. package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +0 -71
  94. package/esm2022/lib/search/search-bar/search-bar.module.mjs +0 -19
  95. package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +0 -557
  96. package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +0 -19
  97. package/esm2022/lib/search/search.module.mjs +0 -20
  98. package/esm2022/lib/search/search.state.mjs +0 -155
  99. package/esm2022/lib/storage/index.mjs +0 -2
  100. package/esm2022/lib/storage/storage.state.mjs +0 -25
  101. package/esm2022/lib/tool/index.mjs +0 -2
  102. package/esm2022/lib/tool/tool.state.mjs +0 -56
  103. package/esm2022/lib/workspace/index.mjs +0 -4
  104. package/esm2022/lib/workspace/shared/edition-actions.service.mjs +0 -75
  105. package/esm2022/lib/workspace/shared/feature-actions.service.mjs +0 -65
  106. package/esm2022/lib/workspace/shared/index.mjs +0 -3
  107. package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +0 -77
  108. package/esm2022/lib/workspace/shared/workspace.utils.mjs +0 -166
  109. package/esm2022/lib/workspace/workspace-button/index.mjs +0 -2
  110. package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +0 -72
  111. package/esm2022/lib/workspace/workspace.module.mjs +0 -19
  112. package/esm2022/lib/workspace/workspace.state.mjs +0 -205
  113. 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,72 +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 { isLayerItem } from '@igo2/geo';
8
- import { BehaviorSubject, combineLatest } from 'rxjs';
9
- import { WorkspaceState } from '../workspace.state';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../workspace.state";
12
- import * as i2 from "@angular/material/button";
13
- import * as i3 from "@angular/material/tooltip";
14
- import * as i4 from "@angular/material/icon";
15
- import * as i5 from "@ngx-translate/core";
16
- export class WorkspaceButtonComponent {
17
- workspaceState;
18
- hasWorkspace$ = new BehaviorSubject(false);
19
- hasWorkspace$$;
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
- _layer;
29
- color = 'primary';
30
- constructor(workspaceState) {
31
- this.workspaceState = workspaceState;
32
- }
33
- ngOnInit() {
34
- this.hasWorkspace$$ = combineLatest([
35
- this.workspaceState.workspaceEnabled$,
36
- this.layer$
37
- ]).subscribe(([enabled, layer]) => this.hasWorkspace$.next(enabled && isLayerItem(layer) && layer.options.workspace?.enabled));
38
- }
39
- ngOnDestroy() {
40
- this.hasWorkspace$$.unsubscribe();
41
- }
42
- activateWorkspace() {
43
- if (this.workspaceState.workspace$.value &&
44
- this.workspaceState.workspace$.value.layer.id ===
45
- this.layer.id &&
46
- this.workspaceState.workspacePanelExpanded) {
47
- this.workspaceState.workspacePanelExpanded = false;
48
- }
49
- else {
50
- this.workspaceState.workspacePanelExpanded = true;
51
- this.workspaceState.setActiveWorkspaceById(this.layer.id);
52
- }
53
- }
54
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceButtonComponent, deps: [{ token: i1.WorkspaceState }], target: i0.ɵɵFactoryTarget.Component });
55
- 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 });
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceButtonComponent, decorators: [{
58
- type: Component,
59
- args: [{ selector: 'igo-workspace-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
60
- NgIf,
61
- MatButtonModule,
62
- MatTooltipModule,
63
- MatIconModule,
64
- AsyncPipe,
65
- IgoLanguageModule
66
- ], 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" }]
67
- }], ctorParameters: () => [{ type: i1.WorkspaceState }], propDecorators: { layer: [{
68
- type: Input
69
- }], color: [{
70
- type: Input
71
- }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS93b3Jrc3BhY2UtYnV0dG9uL3dvcmtzcGFjZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLWJ1dHRvbi93b3Jrc3BhY2UtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFpQixXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7OztBQWlCcEQsTUFBTSxPQUFPLHdCQUF3QjtJQWlCZjtJQWhCYixhQUFhLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDbkQsY0FBYyxDQUFlO0lBRTdCLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBVyxTQUFTLENBQUMsQ0FBQztJQUMxRCxJQUNJLEtBQUssQ0FBQyxLQUFlO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDTyxNQUFNLENBQVc7SUFFaEIsS0FBSyxHQUFHLFNBQVMsQ0FBQztJQUUzQixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRXRELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQjtZQUNyQyxJQUFJLENBQUMsTUFBTTtTQUNaLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixPQUFPLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FDbEUsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUNFLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUs7WUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBYSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixFQUMxQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDckQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNsRCxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7d0dBOUNVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLDRIQ2xDckMsOFNBV0EsMEREZUksSUFBSSw0RkFDSixlQUFlLDJJQUNmLGdCQUFnQiw0VEFDaEIsYUFBYSwrS0FDYixTQUFTLDZDQUNULGlCQUFpQjs7NEZBR1Isd0JBQXdCO2tCQWZwQyxTQUFTOytCQUNFLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLFNBQVM7d0JBQ1QsaUJBQWlCO3FCQUNsQjttRkFRRyxLQUFLO3NCQURSLEtBQUs7Z0JBVUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5pbXBvcnQgeyB0eXBlIEFueUxheWVyLCBpc0xheWVySXRlbSB9IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFdvcmtzcGFjZVN0YXRlIH0gZnJvbSAnLi4vd29ya3NwYWNlLnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXdvcmtzcGFjZS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya3NwYWNlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dvcmtzcGFjZS1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgaGFzV29ya3NwYWNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIGhhc1dvcmtzcGFjZSQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBsYXllciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFueUxheWVyPih1bmRlZmluZWQpO1xuICBASW5wdXQoKVxuICBzZXQgbGF5ZXIodmFsdWU6IEFueUxheWVyKSB7XG4gICAgdGhpcy5fbGF5ZXIgPSB2YWx1ZTtcbiAgICB0aGlzLmxheWVyJC5uZXh0KHRoaXMuX2xheWVyKTtcbiAgfVxuICBnZXQgbGF5ZXIoKTogQW55TGF5ZXIge1xuICAgIHJldHVybiB0aGlzLl9sYXllcjtcbiAgfVxuICBwcml2YXRlIF9sYXllcjogQW55TGF5ZXI7XG5cbiAgQElucHV0KCkgY29sb3IgPSAncHJpbWFyeSc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB3b3Jrc3BhY2VTdGF0ZTogV29ya3NwYWNlU3RhdGUpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYXNXb3Jrc3BhY2UkJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS53b3Jrc3BhY2VFbmFibGVkJCxcbiAgICAgIHRoaXMubGF5ZXIkXG4gICAgXSkuc3Vic2NyaWJlKChbZW5hYmxlZCwgbGF5ZXJdKSA9PlxuICAgICAgdGhpcy5oYXNXb3Jrc3BhY2UkLm5leHQoXG4gICAgICAgIGVuYWJsZWQgJiYgaXNMYXllckl0ZW0obGF5ZXIpICYmIGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5lbmFibGVkXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaGFzV29ya3NwYWNlJCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGFjdGl2YXRlV29ya3NwYWNlKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMud29ya3NwYWNlU3RhdGUud29ya3NwYWNlJC52YWx1ZSAmJlxuICAgICAgKHRoaXMud29ya3NwYWNlU3RhdGUud29ya3NwYWNlJC52YWx1ZSBhcyBhbnkpLmxheWVyLmlkID09PVxuICAgICAgICB0aGlzLmxheWVyLmlkICYmXG4gICAgICB0aGlzLndvcmtzcGFjZVN0YXRlLndvcmtzcGFjZVBhbmVsRXhwYW5kZWRcbiAgICApIHtcbiAgICAgIHRoaXMud29ya3NwYWNlU3RhdGUud29ya3NwYWNlUGFuZWxFeHBhbmRlZCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndvcmtzcGFjZVN0YXRlLndvcmtzcGFjZVBhbmVsRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zZXRBY3RpdmVXb3Jrc3BhY2VCeUlkKHRoaXMubGF5ZXIuaWQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvblxuICAqbmdJZj1cImhhc1dvcmtzcGFjZSQgfCBhc3luY1wiXG4gIG1hdC1pY29uLWJ1dHRvblxuICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgW21hdFRvb2x0aXBdPVwiJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UudG9nZ2xlV29ya3NwYWNlJyB8IHRyYW5zbGF0ZVwiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4gIChjbGljayk9XCJhY3RpdmF0ZVdvcmtzcGFjZSgpXCJcbj5cbiAgPG1hdC1pY29uPnRhYmxlPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuIl19
@@ -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