@igo2/integration 1.15.4 → 16.0.0-rc.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.
- package/{esm2020 → esm2022}/igo2-integration.mjs +4 -4
- package/esm2022/lib/about/about-tool/about-tool.component.mjs +205 -0
- package/{esm2020 → esm2022}/lib/about/about-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/about/about.module.mjs +55 -55
- package/{esm2020 → esm2022}/lib/about/index.mjs +2 -2
- package/esm2022/lib/analytics/analytics-listener.service.mjs +156 -0
- package/{esm2020 → esm2022}/lib/analytics/analytics.module.mjs +16 -16
- package/{esm2020 → esm2022}/lib/analytics/index.mjs +2 -2
- package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +133 -0
- package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +24 -0
- package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +103 -0
- package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +24 -0
- package/esm2022/lib/catalog/catalog.module.mjs +19 -0
- package/esm2022/lib/catalog/catalog.state.mjs +58 -0
- package/{esm2020 → esm2022}/lib/catalog/index.mjs +6 -6
- package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +36 -0
- package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +51 -0
- package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +24 -0
- package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +43 -0
- package/{esm2020 → esm2022}/lib/context/context.module.mjs +39 -39
- package/esm2022/lib/context/context.state.mjs +96 -0
- package/{esm2020 → esm2022}/lib/context/index.mjs +6 -6
- package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +116 -0
- package/{esm2020 → esm2022}/lib/directions/directions-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/directions/directions.module.mjs +26 -26
- package/esm2022/lib/directions/directions.state.mjs +69 -0
- package/{esm2020 → esm2022}/lib/directions/index.mjs +3 -3
- package/esm2022/lib/draw/draw.module.mjs +18 -0
- package/esm2022/lib/draw/draw.state.mjs +42 -0
- package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +77 -0
- package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +23 -0
- package/{esm2020 → esm2022}/lib/draw/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +10 -10
- package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +46 -0
- package/{esm2020 → esm2022}/lib/filter/active-ogc-filter-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +10 -10
- package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +46 -0
- package/{esm2020 → esm2022}/lib/filter/active-time-filter-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/filter/filter.module.mjs +51 -51
- package/{esm2020 → esm2022}/lib/filter/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/filter/ogc-filter-tool/index.mjs +2 -2
- package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +25 -0
- package/{esm2020 → esm2022}/lib/filter/spatial-filter-tool/index.mjs +2 -2
- package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +605 -0
- package/{esm2020 → esm2022}/lib/filter/time-filter-tool/index.mjs +2 -2
- package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +25 -0
- package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +154 -0
- package/{esm2020 → esm2022}/lib/import-export/import-export-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/import-export/import-export.module.mjs +51 -51
- package/esm2022/lib/import-export/import-export.state.mjs +39 -0
- package/{esm2020 → esm2022}/lib/import-export/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/integration.module.mjs +72 -72
- package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +524 -0
- package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +92 -0
- package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +231 -0
- package/{esm2020 → esm2022}/lib/map/advanced-map-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/map/index.mjs +9 -9
- package/esm2022/lib/map/layer-list-tool.state.mjs +40 -0
- package/{esm2020 → esm2022}/lib/map/map-details-tool/index.mjs +2 -2
- package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +269 -0
- package/{esm2020 → esm2022}/lib/map/map-legend/index.mjs +2 -2
- package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +285 -0
- package/{esm2020 → esm2022}/lib/map/map-proximity-tool/index.mjs +2 -2
- package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +220 -0
- package/esm2022/lib/map/map-proximity.state.mjs +180 -0
- package/{esm2020 → esm2022}/lib/map/map-tool/index.mjs +2 -2
- package/esm2022/lib/map/map-tool/map-tool.component.mjs +140 -0
- package/{esm2020 → esm2022}/lib/map/map-tools/index.mjs +2 -2
- package/esm2022/lib/map/map-tools/map-tools.component.mjs +521 -0
- package/esm2022/lib/map/map.module.mjs +168 -0
- package/esm2022/lib/map/map.state.mjs +56 -0
- package/{esm2020 → esm2022}/lib/measure/index.mjs +4 -4
- package/esm2022/lib/measure/measure.module.mjs +18 -0
- package/esm2022/lib/measure/measure.state.mjs +40 -0
- package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +54 -0
- package/{esm2020 → esm2022}/lib/measure/measurer-tool/measurer-tool.module.mjs +23 -25
- package/{esm2020 → esm2022}/lib/print/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/print/print-tool/index.mjs +2 -2
- package/esm2022/lib/print/print-tool/print-tool.component.mjs +35 -0
- package/{esm2020 → esm2022}/lib/print/print.module.mjs +26 -26
- package/{esm2020 → esm2022}/lib/search/index.mjs +7 -7
- package/esm2022/lib/search/query.state.mjs +48 -0
- package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +72 -0
- package/{esm2020 → esm2022}/lib/search/search-bar/search-bar.module.mjs +22 -22
- package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +631 -0
- package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +65 -0
- package/esm2022/lib/search/search.module.mjs +19 -0
- package/esm2022/lib/search/search.state.mjs +145 -0
- package/{esm2020 → esm2022}/lib/storage/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/storage/storage.module.mjs +16 -16
- package/esm2022/lib/storage/storage.state.mjs +25 -0
- package/{esm2020 → esm2022}/lib/tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tool/tool.module.mjs +16 -16
- package/esm2022/lib/tool/tool.state.mjs +56 -0
- package/{esm2020 → esm2022}/lib/workspace/index.mjs +4 -4
- package/esm2022/lib/workspace/shared/edition-actions.service.mjs +74 -0
- package/esm2022/lib/workspace/shared/feature-actions.service.mjs +66 -0
- package/{esm2020 → esm2022}/lib/workspace/shared/index.mjs +3 -3
- package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +76 -0
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +162 -0
- package/{esm2020 → esm2022}/lib/workspace/workspace-button/index.mjs +2 -2
- package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +76 -0
- package/esm2022/lib/workspace/workspace.module.mjs +38 -0
- package/esm2022/lib/workspace/workspace.state.mjs +204 -0
- package/{esm2020 → esm2022}/public_api.mjs +35 -35
- package/{fesm2020 → fesm2022}/igo2-integration.mjs +6522 -6139
- package/fesm2022/igo2-integration.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/about/about-tool/about-tool.component.d.ts +34 -34
- package/lib/about/about-tool/index.d.ts +1 -1
- package/lib/about/about.module.d.ts +16 -16
- package/lib/about/index.d.ts +1 -1
- package/lib/analytics/analytics-listener.service.d.ts +33 -33
- package/lib/analytics/analytics.module.d.ts +6 -6
- package/lib/analytics/index.d.ts +1 -1
- package/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.d.ts +57 -57
- package/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.d.ts +12 -12
- package/lib/catalog/catalog-library-tool/catalog-library-tool.component.d.ts +50 -50
- package/lib/catalog/catalog-library-tool/catalog-library-tool.module.d.ts +12 -12
- package/lib/catalog/catalog.module.d.ts +8 -8
- package/lib/catalog/catalog.state.d.ts +37 -37
- package/lib/catalog/index.d.ts +5 -5
- package/lib/context/context-editor-tool/context-editor-tool.component.d.ts +9 -9
- package/lib/context/context-manager-tool/context-manager-tool.component.d.ts +15 -15
- package/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.d.ts +5 -5
- package/lib/context/context-share-tool/context-share-tool.component.d.ts +13 -13
- package/lib/context/context.module.d.ts +11 -11
- package/lib/context/context.state.d.ts +37 -37
- package/lib/context/index.d.ts +5 -5
- package/lib/directions/directions-tool/directions-tool.component.d.ts +54 -54
- package/lib/directions/directions-tool/index.d.ts +1 -1
- package/lib/directions/directions.module.d.ts +10 -10
- package/lib/directions/directions.state.d.ts +28 -28
- package/lib/directions/index.d.ts +2 -2
- package/lib/draw/draw.module.d.ts +8 -8
- package/lib/draw/draw.state.d.ts +16 -16
- package/lib/draw/drawing-tool/drawing-tool.component.d.ts +31 -31
- package/lib/draw/drawing-tool/drawing-tool.module.d.ts +11 -0
- package/lib/draw/index.d.ts +2 -2
- package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.d.ts +2 -2
- package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.d.ts +12 -12
- package/lib/filter/active-ogc-filter-tool/index.d.ts +1 -1
- package/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.d.ts +2 -2
- package/lib/filter/active-time-filter-tool/active-time-filter-tool.component.d.ts +12 -12
- package/lib/filter/active-time-filter-tool/index.d.ts +1 -1
- package/lib/filter/filter.module.d.ts +15 -15
- package/lib/filter/index.d.ts +5 -5
- package/lib/filter/ogc-filter-tool/index.d.ts +1 -1
- package/lib/filter/ogc-filter-tool/ogc-filter-tool.component.d.ts +6 -6
- package/lib/filter/spatial-filter-tool/index.d.ts +1 -1
- package/lib/filter/spatial-filter-tool/spatial-filter-tool.component.d.ts +82 -82
- package/lib/filter/time-filter-tool/index.d.ts +1 -1
- package/lib/filter/time-filter-tool/time-filter-tool.component.d.ts +6 -6
- package/lib/import-export/import-export-tool/import-export-tool.component.d.ts +33 -33
- package/lib/import-export/import-export-tool/index.d.ts +1 -1
- package/lib/import-export/import-export.module.d.ts +15 -15
- package/lib/import-export/import-export.state.d.ts +24 -24
- package/lib/import-export/index.d.ts +2 -2
- package/lib/integration.module.d.ts +20 -20
- package/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.d.ts +97 -97
- package/lib/map/advanced-map-tool/advanced-map-tool.component.d.ts +12 -12
- package/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.d.ts +65 -65
- package/lib/map/advanced-map-tool/index.d.ts +1 -1
- package/lib/map/index.d.ts +8 -8
- package/lib/map/layer-list-tool.state.d.ts +19 -19
- package/lib/map/map-details-tool/index.d.ts +1 -1
- package/lib/map/map-details-tool/map-details-tool.component.d.ts +38 -38
- package/lib/map/map-legend/index.d.ts +1 -1
- package/lib/map/map-legend/map-legend-tool.component.d.ts +40 -40
- package/lib/map/map-proximity-tool/index.d.ts +1 -1
- package/lib/map/map-proximity-tool/map-proximity-tool.component.d.ts +36 -36
- package/lib/map/map-proximity.state.d.ts +31 -31
- package/lib/map/map-tool/index.d.ts +1 -1
- package/lib/map/map-tool/map-tool.component.d.ts +27 -27
- package/lib/map/map-tools/index.d.ts +1 -1
- package/lib/map/map-tools/map-tools.component.d.ts +66 -66
- package/lib/map/map.module.d.ts +38 -38
- package/lib/map/map.state.d.ts +24 -24
- package/lib/measure/index.d.ts +3 -3
- package/lib/measure/measure.module.d.ts +7 -7
- package/lib/measure/measure.state.d.ts +16 -16
- package/lib/measure/measurer-tool/measurer-tool.component.d.ts +24 -24
- package/lib/measure/measurer-tool/measurer-tool.module.d.ts +11 -11
- package/lib/print/index.d.ts +1 -1
- package/lib/print/print-tool/index.d.ts +1 -1
- package/lib/print/print-tool/print-tool.component.d.ts +10 -10
- package/lib/print/print.module.d.ts +10 -10
- package/lib/search/index.d.ts +6 -6
- package/lib/search/query.state.d.ts +26 -20
- package/lib/search/search-bar/search-bar-binding.directive.d.ts +20 -20
- package/lib/search/search-bar/search-bar.module.d.ts +11 -11
- package/lib/search/search-results-tool/search-results-tool.component.d.ts +100 -100
- package/lib/search/search-results-tool/search-results-tool.module.d.ts +18 -18
- package/lib/search/search.module.d.ts +8 -8
- package/lib/search/search.state.d.ts +62 -60
- package/lib/storage/index.d.ts +1 -1
- package/lib/storage/storage.module.d.ts +6 -6
- package/lib/storage/storage.state.d.ts +12 -12
- package/lib/tool/index.d.ts +1 -1
- package/lib/tool/tool.module.d.ts +6 -6
- package/lib/tool/tool.state.d.ts +22 -22
- package/lib/workspace/index.d.ts +3 -3
- package/lib/workspace/shared/edition-actions.service.d.ts +28 -26
- package/lib/workspace/shared/feature-actions.service.d.ts +27 -25
- package/lib/workspace/shared/index.d.ts +2 -2
- package/lib/workspace/shared/wfs-actions.service.d.ts +29 -27
- package/lib/workspace/shared/workspace.utils.d.ts +9 -2
- package/lib/workspace/workspace-button/index.d.ts +1 -1
- package/lib/workspace/workspace-button/workspace-button.component.d.ts +21 -21
- package/lib/workspace/workspace.module.d.ts +12 -12
- package/lib/workspace/workspace.state.d.ts +63 -63
- package/locale/en.integration.json +126 -0
- package/locale/fr.integration.json +126 -0
- package/package.json +14 -18
- package/public_api.d.ts +31 -31
- package/esm2020/lib/about/about-tool/about-tool.component.mjs +0 -185
- package/esm2020/lib/analytics/analytics-listener.service.mjs +0 -127
- package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +0 -113
- package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +0 -29
- package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +0 -89
- package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +0 -29
- package/esm2020/lib/catalog/catalog.module.mjs +0 -24
- package/esm2020/lib/catalog/catalog.state.mjs +0 -54
- package/esm2020/lib/context/context-editor-tool/context-editor-tool.component.mjs +0 -34
- package/esm2020/lib/context/context-manager-tool/context-manager-tool.component.mjs +0 -44
- package/esm2020/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +0 -25
- package/esm2020/lib/context/context-share-tool/context-share-tool.component.mjs +0 -34
- package/esm2020/lib/context/context.state.mjs +0 -88
- package/esm2020/lib/directions/directions-tool/directions-tool.component.mjs +0 -84
- package/esm2020/lib/directions/directions.state.mjs +0 -64
- package/esm2020/lib/draw/draw.module.mjs +0 -21
- package/esm2020/lib/draw/draw.state.mjs +0 -39
- package/esm2020/lib/draw/drawing-tool/drawing-tool.component.mjs +0 -72
- package/esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +0 -44
- package/esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +0 -44
- package/esm2020/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +0 -25
- package/esm2020/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +0 -535
- package/esm2020/lib/filter/time-filter-tool/time-filter-tool.component.mjs +0 -25
- package/esm2020/lib/import-export/import-export-tool/import-export-tool.component.mjs +0 -141
- package/esm2020/lib/import-export/import-export.state.mjs +0 -41
- package/esm2020/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +0 -472
- package/esm2020/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +0 -89
- package/esm2020/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +0 -218
- package/esm2020/lib/map/layer-list-tool.state.mjs +0 -42
- package/esm2020/lib/map/map-details-tool/map-details-tool.component.mjs +0 -256
- package/esm2020/lib/map/map-legend/map-legend-tool.component.mjs +0 -275
- package/esm2020/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +0 -203
- package/esm2020/lib/map/map-proximity.state.mjs +0 -167
- package/esm2020/lib/map/map-tool/map-tool.component.mjs +0 -130
- package/esm2020/lib/map/map-tools/map-tools.component.mjs +0 -495
- package/esm2020/lib/map/map.module.mjs +0 -144
- package/esm2020/lib/map/map.state.mjs +0 -47
- package/esm2020/lib/measure/measure.module.mjs +0 -20
- package/esm2020/lib/measure/measure.state.mjs +0 -35
- package/esm2020/lib/measure/measurer-tool/measurer-tool.component.mjs +0 -45
- package/esm2020/lib/print/print-tool/print-tool.component.mjs +0 -33
- package/esm2020/lib/search/query.state.mjs +0 -34
- package/esm2020/lib/search/search-bar/search-bar-binding.directive.mjs +0 -61
- package/esm2020/lib/search/search-results-tool/search-results-tool.component.mjs +0 -593
- package/esm2020/lib/search/search-results-tool/search-results-tool.module.mjs +0 -65
- package/esm2020/lib/search/search.module.mjs +0 -24
- package/esm2020/lib/search/search.state.mjs +0 -132
- package/esm2020/lib/storage/storage.state.mjs +0 -23
- package/esm2020/lib/tool/tool.state.mjs +0 -52
- package/esm2020/lib/workspace/shared/edition-actions.service.mjs +0 -156
- package/esm2020/lib/workspace/shared/feature-actions.service.mjs +0 -144
- package/esm2020/lib/workspace/shared/wfs-actions.service.mjs +0 -158
- package/esm2020/lib/workspace/shared/workspace.utils.mjs +0 -7
- package/esm2020/lib/workspace/workspace-button/workspace-button.component.mjs +0 -69
- package/esm2020/lib/workspace/workspace.module.mjs +0 -37
- package/esm2020/lib/workspace/workspace.state.mjs +0 -188
- package/fesm2015/igo2-integration.mjs +0 -6759
- package/fesm2015/igo2-integration.mjs.map +0 -1
- package/fesm2020/igo2-integration.mjs.map +0 -1
- package/ngcc.config.js +0 -3
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatBadgeModule } from '@angular/material/badge';
|
|
6
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
7
|
+
import { IgoLanguageModule } from '@igo2/core';
|
|
8
|
+
import { IgoFlexibleModule, IgoCustomHtmlModule, IgoPanelModule } from '@igo2/common';
|
|
9
|
+
import { IgoFeatureModule, IgoSearchModule, IgoFeatureDetailsModule } from '@igo2/geo';
|
|
10
|
+
import { SearchResultsToolComponent } from './search-results-tool.component';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
/**
|
|
13
|
+
* @ignore
|
|
14
|
+
*/
|
|
15
|
+
export class IgoAppSearchResultsToolModule {
|
|
16
|
+
static ɵfac = function IgoAppSearchResultsToolModule_Factory(t) { return new (t || IgoAppSearchResultsToolModule)(); };
|
|
17
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAppSearchResultsToolModule });
|
|
18
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
19
|
+
MatIconModule,
|
|
20
|
+
MatBadgeModule,
|
|
21
|
+
MatTooltipModule,
|
|
22
|
+
MatButtonModule,
|
|
23
|
+
IgoLanguageModule,
|
|
24
|
+
IgoFeatureModule,
|
|
25
|
+
IgoSearchModule,
|
|
26
|
+
IgoFlexibleModule,
|
|
27
|
+
IgoPanelModule,
|
|
28
|
+
IgoFeatureDetailsModule,
|
|
29
|
+
IgoCustomHtmlModule] });
|
|
30
|
+
}
|
|
31
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppSearchResultsToolModule, [{
|
|
32
|
+
type: NgModule,
|
|
33
|
+
args: [{
|
|
34
|
+
imports: [
|
|
35
|
+
CommonModule,
|
|
36
|
+
MatIconModule,
|
|
37
|
+
MatBadgeModule,
|
|
38
|
+
MatTooltipModule,
|
|
39
|
+
MatButtonModule,
|
|
40
|
+
IgoLanguageModule,
|
|
41
|
+
IgoFeatureModule,
|
|
42
|
+
IgoSearchModule,
|
|
43
|
+
IgoFlexibleModule,
|
|
44
|
+
IgoPanelModule,
|
|
45
|
+
IgoFeatureDetailsModule,
|
|
46
|
+
IgoCustomHtmlModule
|
|
47
|
+
],
|
|
48
|
+
declarations: [SearchResultsToolComponent],
|
|
49
|
+
exports: [SearchResultsToolComponent],
|
|
50
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
51
|
+
}]
|
|
52
|
+
}], null, null); })();
|
|
53
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoAppSearchResultsToolModule, { declarations: [SearchResultsToolComponent], imports: [CommonModule,
|
|
54
|
+
MatIconModule,
|
|
55
|
+
MatBadgeModule,
|
|
56
|
+
MatTooltipModule,
|
|
57
|
+
MatButtonModule,
|
|
58
|
+
IgoLanguageModule,
|
|
59
|
+
IgoFeatureModule,
|
|
60
|
+
IgoSearchModule,
|
|
61
|
+
IgoFlexibleModule,
|
|
62
|
+
IgoPanelModule,
|
|
63
|
+
IgoFeatureDetailsModule,
|
|
64
|
+
IgoCustomHtmlModule], exports: [SearchResultsToolComponent] }); })();
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtdG9vbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy10b29sL3NlYXJjaC1yZXN1bHRzLXRvb2wubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2YsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3hCLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUU3RTs7R0FFRztBQW9CSCxNQUFNLE9BQU8sNkJBQTZCO3VGQUE3Qiw2QkFBNkI7NERBQTdCLDZCQUE2QjtnRUFqQnRDLFlBQVk7WUFDWixhQUFhO1lBQ2IsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCx1QkFBdUI7WUFDdkIsbUJBQW1COzt1RkFNViw2QkFBNkI7Y0FuQnpDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGNBQWM7b0JBQ2QsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsY0FBYztvQkFDZCx1QkFBdUI7b0JBQ3ZCLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2dCQUNyQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUNsQzs7d0ZBQ1ksNkJBQTZCLG1CQUp6QiwwQkFBMEIsYUFidkMsWUFBWTtRQUNaLGFBQWE7UUFDYixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsY0FBYztRQUNkLHVCQUF1QjtRQUN2QixtQkFBbUIsYUFHWCwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHtcbiAgSWdvRmxleGlibGVNb2R1bGUsXG4gIElnb0N1c3RvbUh0bWxNb2R1bGUsXG4gIElnb1BhbmVsTW9kdWxlXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5pbXBvcnQge1xuICBJZ29GZWF0dXJlTW9kdWxlLFxuICBJZ29TZWFyY2hNb2R1bGUsXG4gIElnb0ZlYXR1cmVEZXRhaWxzTW9kdWxlXG59IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmltcG9ydCB7IFNlYXJjaFJlc3VsdHNUb29sQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy10b29sLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGlnbm9yZVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QmFkZ2VNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXG4gICAgSWdvRmVhdHVyZU1vZHVsZSxcbiAgICBJZ29TZWFyY2hNb2R1bGUsXG4gICAgSWdvRmxleGlibGVNb2R1bGUsXG4gICAgSWdvUGFuZWxNb2R1bGUsXG4gICAgSWdvRmVhdHVyZURldGFpbHNNb2R1bGUsXG4gICAgSWdvQ3VzdG9tSHRtbE1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtTZWFyY2hSZXN1bHRzVG9vbENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTZWFyY2hSZXN1bHRzVG9vbENvbXBvbmVudF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29BcHBTZWFyY2hSZXN1bHRzVG9vbE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { IgoAppSearchBarModule } from './search-bar/search-bar.module';
|
|
3
|
+
import { IgoAppSearchResultsToolModule } from './search-results-tool/search-results-tool.module';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class IgoAppSearchModule {
|
|
6
|
+
static ɵfac = function IgoAppSearchModule_Factory(t) { return new (t || IgoAppSearchModule)(); };
|
|
7
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAppSearchModule });
|
|
8
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [IgoAppSearchBarModule, IgoAppSearchResultsToolModule] });
|
|
9
|
+
}
|
|
10
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppSearchModule, [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
imports: [],
|
|
14
|
+
declarations: [],
|
|
15
|
+
exports: [IgoAppSearchBarModule, IgoAppSearchResultsToolModule]
|
|
16
|
+
}]
|
|
17
|
+
}], null, null); })();
|
|
18
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoAppSearchModule, { exports: [IgoAppSearchBarModule, IgoAppSearchResultsToolModule] }); })();
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvc2VhcmNoL3NlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFPakcsTUFBTSxPQUFPLGtCQUFrQjs0RUFBbEIsa0JBQWtCOzREQUFsQixrQkFBa0I7Z0VBRm5CLHFCQUFxQixFQUFFLDZCQUE2Qjs7dUZBRW5ELGtCQUFrQjtjQUw5QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLDZCQUE2QixDQUFDO2FBQ2hFOzt3RkFDWSxrQkFBa0IsY0FGbkIscUJBQXFCLEVBQUUsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWdvQXBwU2VhcmNoQmFyTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtYmFyL3NlYXJjaC1iYXIubW9kdWxlJztcbmltcG9ydCB7IElnb0FwcFNlYXJjaFJlc3VsdHNUb29sTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy10b29sL3NlYXJjaC1yZXN1bHRzLXRvb2wubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtJZ29BcHBTZWFyY2hCYXJNb2R1bGUsIElnb0FwcFNlYXJjaFJlc3VsdHNUb29sTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29BcHBTZWFyY2hNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { EntityStoreFilterCustomFuncStrategy, EntityStoreWithStrategy } from '@igo2/common';
|
|
3
|
+
import { ConfigService, StorageService } from '@igo2/core';
|
|
4
|
+
import { SearchSourceService, FeatureWorkspace } from '@igo2/geo';
|
|
5
|
+
import { BehaviorSubject } from 'rxjs';
|
|
6
|
+
import { WorkspaceState } from '../workspace/workspace.state';
|
|
7
|
+
import { MapState } from '../map';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@igo2/geo";
|
|
10
|
+
import * as i2 from "@igo2/core";
|
|
11
|
+
import * as i3 from "../workspace/workspace.state";
|
|
12
|
+
import * as i4 from "../map";
|
|
13
|
+
/**
|
|
14
|
+
* Service that holds the state of the search module
|
|
15
|
+
*/
|
|
16
|
+
export class SearchState {
|
|
17
|
+
searchSourceService;
|
|
18
|
+
storageService;
|
|
19
|
+
workspaceState;
|
|
20
|
+
configService;
|
|
21
|
+
mapState;
|
|
22
|
+
searchLayerStores = [];
|
|
23
|
+
searchOverlayStyle = {};
|
|
24
|
+
searchOverlayStyleSelection = {};
|
|
25
|
+
searchOverlayStyleFocus = {};
|
|
26
|
+
focusedOrResolution$$;
|
|
27
|
+
selectedOrResolution$$;
|
|
28
|
+
searchTermSplitter$ = new BehaviorSubject('|');
|
|
29
|
+
searchTerm$ = new BehaviorSubject(undefined);
|
|
30
|
+
searchType$ = new BehaviorSubject(undefined);
|
|
31
|
+
searchDisabled$ = new BehaviorSubject(false);
|
|
32
|
+
searchResultsGeometryEnabled$ = new BehaviorSubject(false);
|
|
33
|
+
searchSettingsChange$ = new BehaviorSubject(undefined);
|
|
34
|
+
selectedResult$ = new BehaviorSubject(undefined);
|
|
35
|
+
/**
|
|
36
|
+
* Store that holds the search results
|
|
37
|
+
*/
|
|
38
|
+
store = new EntityStoreWithStrategy([]);
|
|
39
|
+
/**
|
|
40
|
+
* Search types currently enabled in the search source service
|
|
41
|
+
*/
|
|
42
|
+
get searchTypes() {
|
|
43
|
+
return this.searchSourceService
|
|
44
|
+
.getEnabledSources()
|
|
45
|
+
.map((source) => source.constructor.type);
|
|
46
|
+
}
|
|
47
|
+
constructor(searchSourceService, storageService, workspaceState, configService, mapState) {
|
|
48
|
+
this.searchSourceService = searchSourceService;
|
|
49
|
+
this.storageService = storageService;
|
|
50
|
+
this.workspaceState = workspaceState;
|
|
51
|
+
this.configService = configService;
|
|
52
|
+
this.mapState = mapState;
|
|
53
|
+
const searchOverlayStyle = this.configService.getConfig('searchOverlayStyle');
|
|
54
|
+
if (searchOverlayStyle) {
|
|
55
|
+
this.searchOverlayStyle = searchOverlayStyle.base;
|
|
56
|
+
this.searchOverlayStyleSelection = searchOverlayStyle.selection;
|
|
57
|
+
this.searchOverlayStyleFocus = searchOverlayStyle.focus;
|
|
58
|
+
}
|
|
59
|
+
const searchResultsGeometryEnabled = this.storageService.get('searchResultsGeometryEnabled');
|
|
60
|
+
if (searchResultsGeometryEnabled) {
|
|
61
|
+
this.searchResultsGeometryEnabled$.next(searchResultsGeometryEnabled);
|
|
62
|
+
}
|
|
63
|
+
this.store.addStrategy(this.createCustomFilterTermStrategy(), false);
|
|
64
|
+
const wksSource = this.searchSourceService
|
|
65
|
+
.getSources()
|
|
66
|
+
.find((source) => source.getId() === 'workspace');
|
|
67
|
+
this.workspaceState.store.entities$.subscribe((e) => {
|
|
68
|
+
const searchableWks = e.filter((fw) => fw instanceof FeatureWorkspace &&
|
|
69
|
+
fw.layer.options.workspace.searchIndexEnabled);
|
|
70
|
+
this.searchSourceService.setWorkspaces(wksSource, searchableWks);
|
|
71
|
+
});
|
|
72
|
+
this.monitorLayerDeletion();
|
|
73
|
+
}
|
|
74
|
+
monitorLayerDeletion() {
|
|
75
|
+
this.mapState.map.layers$.subscribe((layers) => {
|
|
76
|
+
this.searchLayerStores.forEach((store) => {
|
|
77
|
+
let layer = layers.find((l) => l.id === store.layer.id);
|
|
78
|
+
if (!layer) {
|
|
79
|
+
const index = this.searchLayerStores.indexOf(store);
|
|
80
|
+
this.searchLayerStores.splice(index, 1);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
createCustomFilterTermStrategy() {
|
|
86
|
+
const filterClauseFunc = (record) => {
|
|
87
|
+
return record.entity.meta.score === 100;
|
|
88
|
+
};
|
|
89
|
+
return new EntityStoreFilterCustomFuncStrategy({
|
|
90
|
+
filterClauseFunc
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Activate custom strategy
|
|
95
|
+
*
|
|
96
|
+
*/
|
|
97
|
+
activateCustomFilterTermStrategy() {
|
|
98
|
+
const strategy = this.store.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
|
|
99
|
+
if (strategy !== undefined) {
|
|
100
|
+
strategy.activate();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Deactivate custom strategy
|
|
105
|
+
*
|
|
106
|
+
*/
|
|
107
|
+
deactivateCustomFilterTermStrategy() {
|
|
108
|
+
const strategy = this.store.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
|
|
109
|
+
if (strategy !== undefined) {
|
|
110
|
+
strategy.deactivate();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
enableSearch() {
|
|
114
|
+
this.searchDisabled$.next(false);
|
|
115
|
+
}
|
|
116
|
+
disableSearch() {
|
|
117
|
+
this.searchDisabled$.next(true);
|
|
118
|
+
}
|
|
119
|
+
setSearchTerm(searchTerm) {
|
|
120
|
+
this.searchTerm$.next(searchTerm);
|
|
121
|
+
}
|
|
122
|
+
setSearchType(searchType) {
|
|
123
|
+
this.searchSourceService.enableSourcesByType(searchType);
|
|
124
|
+
this.searchType$.next(searchType);
|
|
125
|
+
}
|
|
126
|
+
setSearchSettingsChange() {
|
|
127
|
+
this.searchSettingsChange$.next(true);
|
|
128
|
+
}
|
|
129
|
+
setSelectedResult(result) {
|
|
130
|
+
this.selectedResult$.next(result);
|
|
131
|
+
}
|
|
132
|
+
setSearchResultsGeometryStatus(value) {
|
|
133
|
+
this.storageService.set('searchResultsGeometryEnabled', value);
|
|
134
|
+
this.searchResultsGeometryEnabled$.next(value);
|
|
135
|
+
}
|
|
136
|
+
static ɵfac = function SearchState_Factory(t) { return new (t || SearchState)(i0.ɵɵinject(i1.SearchSourceService), i0.ɵɵinject(i2.StorageService), i0.ɵɵinject(i3.WorkspaceState), i0.ɵɵinject(i2.ConfigService), i0.ɵɵinject(i4.MapState)); };
|
|
137
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SearchState, factory: SearchState.ɵfac, providedIn: 'root' });
|
|
138
|
+
}
|
|
139
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchState, [{
|
|
140
|
+
type: Injectable,
|
|
141
|
+
args: [{
|
|
142
|
+
providedIn: 'root'
|
|
143
|
+
}]
|
|
144
|
+
}], function () { return [{ type: i1.SearchSourceService }, { type: i2.StorageService }, { type: i3.WorkspaceState }, { type: i2.ConfigService }, { type: i4.MapState }]; }, null); })();
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUVMLG1DQUFtQyxFQUVuQyx1QkFBdUIsRUFDeEIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0QsT0FBTyxFQUVMLG1CQUFtQixFQUduQixnQkFBZ0IsRUFHakIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7OztBQUVsQzs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFXO0lBa0RaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFyREgsaUJBQWlCLEdBQTRCLEVBQUUsQ0FBQztJQUNoRCxrQkFBa0IsR0FBNkIsRUFBRSxDQUFDO0lBQ2xELDJCQUEyQixHQUE2QixFQUFFLENBQUM7SUFDM0QsdUJBQXVCLEdBQTZCLEVBQUUsQ0FBQztJQUV2RCxxQkFBcUIsQ0FBZTtJQUNwQyxzQkFBc0IsQ0FBZTtJQUVuQyxtQkFBbUIsR0FBNEIsSUFBSSxlQUFlLENBQ3pFLEdBQUcsQ0FDSixDQUFDO0lBRU8sV0FBVyxHQUE0QixJQUFJLGVBQWUsQ0FDakUsU0FBUyxDQUNWLENBQUM7SUFFTyxXQUFXLEdBQTRCLElBQUksZUFBZSxDQUNqRSxTQUFTLENBQ1YsQ0FBQztJQUVPLGVBQWUsR0FBNkIsSUFBSSxlQUFlLENBQ3RFLEtBQUssQ0FDTixDQUFDO0lBRU8s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QUM7SUFFRCxhQUFhLENBQUMsVUFBa0I7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFrQjtRQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFvQjtRQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsOEJBQThCLENBQUMsS0FBSztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7cUVBdEtVLFdBQVc7Z0VBQVgsV0FBVyxXQUFYLFdBQVcsbUJBRlYsTUFBTTs7dUZBRVAsV0FBVztjQUh2QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEVudGl0eVJlY29yZCxcbiAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3ksXG4gIEVudGl0eVN0b3JlU3RyYXRlZ3lGdW5jT3B0aW9ucyxcbiAgRW50aXR5U3RvcmVXaXRoU3RyYXRlZ3lcbn0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQge1xuICBTZWFyY2hSZXN1bHQsXG4gIFNlYXJjaFNvdXJjZVNlcnZpY2UsXG4gIFNlYXJjaFNvdXJjZSxcbiAgQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zLFxuICBGZWF0dXJlV29ya3NwYWNlLFxuICBGZWF0dXJlU3RvcmUsXG4gIEZlYXR1cmVcbn0gZnJvbSAnQGlnbzIvZ2VvJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VTdGF0ZSB9IGZyb20gJy4uL3dvcmtzcGFjZS93b3Jrc3BhY2Uuc3RhdGUnO1xuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi9tYXAnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIHNlYXJjaCBtb2R1bGVcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoU3RhdGUge1xuICBwdWJsaWMgc2VhcmNoTGF5ZXJTdG9yZXM6IEZlYXR1cmVTdG9yZTxGZWF0dXJlPltdID0gW107XG4gIHB1YmxpYyBzZWFyY2hPdmVybGF5U3R5bGU6IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucyA9IHt9O1xuICBwdWJsaWMgc2VhcmNoT3ZlcmxheVN0eWxlU2VsZWN0aW9uOiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMgPSB7fTtcbiAgcHVibGljIHNlYXJjaE92ZXJsYXlTdHlsZUZvY3VzOiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMgPSB7fTtcblxuICBwdWJsaWMgZm9jdXNlZE9yUmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBzZWxlY3RlZE9yUmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XG5cbiAgcmVhZG9ubHkgc2VhcmNoVGVybVNwbGl0dGVyJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgICd8J1xuICApO1xuXG4gIHJlYWRvbmx5IHNlYXJjaFRlcm0kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgdW5kZWZpbmVkXG4gICk7XG5cbiAgcmVhZG9ubHkgc2VhcmNoVHlwZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICB1bmRlZmluZWRcbiAgKTtcblxuICByZWFkb25seSBzZWFyY2hEaXNhYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgZmFsc2VcbiAgKTtcblxuICByZWFkb25seSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICByZWFkb25seSBzZWFyY2hTZXR0aW5nc0NoYW5nZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkUmVzdWx0JDogQmVoYXZpb3JTdWJqZWN0PFNlYXJjaFJlc3VsdD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIHVuZGVmaW5lZFxuICApO1xuXG4gIC8qKlxuICAgKiBTdG9yZSB0aGF0IGhvbGRzIHRoZSBzZWFyY2ggcmVzdWx0c1xuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmUgPSBuZXcgRW50aXR5U3RvcmVXaXRoU3RyYXRlZ3k8U2VhcmNoUmVzdWx0PihbXSk7XG5cbiAgLyoqXG4gICAqIFNlYXJjaCB0eXBlcyBjdXJyZW50bHkgZW5hYmxlZCBpbiB0aGUgc2VhcmNoIHNvdXJjZSBzZXJ2aWNlXG4gICAqL1xuICBnZXQgc2VhcmNoVHlwZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcbiAgICAgIC5nZXRFbmFibGVkU291cmNlcygpXG4gICAgICAubWFwKChzb3VyY2U6IFNlYXJjaFNvdXJjZSkgPT4gKHNvdXJjZS5jb25zdHJ1Y3RvciBhcyBhbnkpLnR5cGUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgd29ya3NwYWNlU3RhdGU6IFdvcmtzcGFjZVN0YXRlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIG1hcFN0YXRlOiBNYXBTdGF0ZVxuICApIHtcbiAgICBjb25zdCBzZWFyY2hPdmVybGF5U3R5bGUgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKFxuICAgICAgJ3NlYXJjaE92ZXJsYXlTdHlsZSdcbiAgICApIGFzIHtcbiAgICAgIGJhc2U/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnM7XG4gICAgICBzZWxlY3Rpb24/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnM7XG4gICAgICBmb2N1cz86IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucztcbiAgICB9O1xuICAgIGlmIChzZWFyY2hPdmVybGF5U3R5bGUpIHtcbiAgICAgIHRoaXMuc2VhcmNoT3ZlcmxheVN0eWxlID0gc2VhcmNoT3ZlcmxheVN0eWxlLmJhc2U7XG4gICAgICB0aGlzLnNlYXJjaE92ZXJsYXlTdHlsZVNlbGVjdGlvbiA9IHNlYXJjaE92ZXJsYXlTdHlsZS5zZWxlY3Rpb247XG4gICAgICB0aGlzLnNlYXJjaE92ZXJsYXlTdHlsZUZvY3VzID0gc2VhcmNoT3ZlcmxheVN0eWxlLmZvY3VzO1xuICAgIH1cblxuICAgIGNvbnN0IHNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldChcbiAgICAgICdzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkJ1xuICAgICkgYXMgYm9vbGVhbjtcbiAgICBpZiAoc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCkge1xuICAgICAgdGhpcy5zZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkJC5uZXh0KHNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQpO1xuICAgIH1cbiAgICB0aGlzLnN0b3JlLmFkZFN0cmF0ZWd5KHRoaXMuY3JlYXRlQ3VzdG9tRmlsdGVyVGVybVN0cmF0ZWd5KCksIGZhbHNlKTtcblxuICAgIGNvbnN0IHdrc1NvdXJjZSA9IHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxuICAgICAgLmdldFNvdXJjZXMoKVxuICAgICAgLmZpbmQoKHNvdXJjZSkgPT4gc291cmNlLmdldElkKCkgPT09ICd3b3Jrc3BhY2UnKTtcbiAgICB0aGlzLndvcmtzcGFjZVN0YXRlLnN0b3JlLmVudGl0aWVzJC5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgIGNvbnN0IHNlYXJjaGFibGVXa3MgPSBlLmZpbHRlcihcbiAgICAgICAgKGZ3KSA9PlxuICAgICAgICAgIGZ3IGluc3RhbmNlb2YgRmVhdHVyZVdvcmtzcGFjZSAmJlxuICAgICAgICAgIGZ3LmxheWVyLm9wdGlvbnMud29ya3NwYWNlLnNlYXJjaEluZGV4RW5hYmxlZFxuICAgICAgKTtcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZS5zZXRXb3Jrc3BhY2VzKHdrc1NvdXJjZSwgc2VhcmNoYWJsZVdrcyk7XG4gICAgfSk7XG4gICAgdGhpcy5tb25pdG9yTGF5ZXJEZWxldGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb25pdG9yTGF5ZXJEZWxldGlvbigpIHtcbiAgICB0aGlzLm1hcFN0YXRlLm1hcC5sYXllcnMkLnN1YnNjcmliZSgobGF5ZXJzKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaExheWVyU3RvcmVzLmZvckVhY2goKHN0b3JlKSA9PiB7XG4gICAgICAgIGxldCBsYXllciA9IGxheWVycy5maW5kKChsKSA9PiBsLmlkID09PSBzdG9yZS5sYXllci5pZCk7XG4gICAgICAgIGlmICghbGF5ZXIpIHtcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VhcmNoTGF5ZXJTdG9yZXMuaW5kZXhPZihzdG9yZSk7XG4gICAgICAgICAgdGhpcy5zZWFyY2hMYXllclN0b3Jlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ3VzdG9tRmlsdGVyVGVybVN0cmF0ZWd5KCk6IEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5IHtcbiAgICBjb25zdCBmaWx0ZXJDbGF1c2VGdW5jID0gKHJlY29yZDogRW50aXR5UmVjb3JkPFNlYXJjaFJlc3VsdD4pID0+IHtcbiAgICAgIHJldHVybiByZWNvcmQuZW50aXR5Lm1ldGEuc2NvcmUgPT09IDEwMDtcbiAgICB9O1xuICAgIHJldHVybiBuZXcgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3koe1xuICAgICAgZmlsdGVyQ2xhdXNlRnVuY1xuICAgIH0gYXMgRW50aXR5U3RvcmVTdHJhdGVneUZ1bmNPcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZSBjdXN0b20gc3RyYXRlZ3lcbiAgICpcbiAgICovXG4gIGFjdGl2YXRlQ3VzdG9tRmlsdGVyVGVybVN0cmF0ZWd5KCkge1xuICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5zdG9yZS5nZXRTdHJhdGVneU9mVHlwZShcbiAgICAgIEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5XG4gICAgKTtcbiAgICBpZiAoc3RyYXRlZ3kgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3RyYXRlZ3kuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVhY3RpdmF0ZSBjdXN0b20gc3RyYXRlZ3lcbiAgICpcbiAgICovXG4gIGRlYWN0aXZhdGVDdXN0b21GaWx0ZXJUZXJtU3RyYXRlZ3koKSB7XG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLnN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKFxuICAgICAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3lcbiAgICApO1xuICAgIGlmIChzdHJhdGVneSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzdHJhdGVneS5kZWFjdGl2YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgZW5hYmxlU2VhcmNoKCkge1xuICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgZGlzYWJsZVNlYXJjaCgpIHtcbiAgICB0aGlzLnNlYXJjaERpc2FibGVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgc2V0U2VhcmNoVGVybShzZWFyY2hUZXJtOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaFRlcm0kLm5leHQoc2VhcmNoVGVybSk7XG4gIH1cblxuICBzZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZS5lbmFibGVTb3VyY2VzQnlUeXBlKHNlYXJjaFR5cGUpO1xuICAgIHRoaXMuc2VhcmNoVHlwZSQubmV4dChzZWFyY2hUeXBlKTtcbiAgfVxuXG4gIHNldFNlYXJjaFNldHRpbmdzQ2hhbmdlKCkge1xuICAgIHRoaXMuc2VhcmNoU2V0dGluZ3NDaGFuZ2UkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBzZXRTZWxlY3RlZFJlc3VsdChyZXN1bHQ6IFNlYXJjaFJlc3VsdCkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXN1bHQkLm5leHQocmVzdWx0KTtcbiAgfVxuXG4gIHNldFNlYXJjaFJlc3VsdHNHZW9tZXRyeVN0YXR1cyh2YWx1ZSkge1xuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KCdzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkJywgdmFsdWUpO1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCQubmV4dCh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './storage.state';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './storage.state';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3N0b3JhZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS5zdGF0ZSc7XG4iXX0=
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class IgoAppStorageModule {
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppStorageModule, [{
|
|
9
|
-
type: NgModule,
|
|
10
|
-
args: [{
|
|
11
|
-
imports: [],
|
|
12
|
-
declarations: [],
|
|
13
|
-
exports: []
|
|
14
|
-
}]
|
|
15
|
-
}], null, null); })();
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class IgoAppStorageModule {
|
|
4
|
+
static ɵfac = function IgoAppStorageModule_Factory(t) { return new (t || IgoAppStorageModule)(); };
|
|
5
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAppStorageModule });
|
|
6
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
7
|
+
}
|
|
8
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppStorageModule, [{
|
|
9
|
+
type: NgModule,
|
|
10
|
+
args: [{
|
|
11
|
+
imports: [],
|
|
12
|
+
declarations: [],
|
|
13
|
+
exports: []
|
|
14
|
+
}]
|
|
15
|
+
}], null, null); })();
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPekMsTUFBTSxPQUFPLG1CQUFtQjs2RUFBbkIsbUJBQW1COzREQUFuQixtQkFBbUI7Ozt1RkFBbkIsbUJBQW1CO2NBTC9CLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29BcHBTdG9yYWdlTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { StorageService } from '@igo2/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@igo2/core";
|
|
5
|
+
/**
|
|
6
|
+
* Service that holds the state of storage service
|
|
7
|
+
*/
|
|
8
|
+
export class StorageState {
|
|
9
|
+
igoStorageService;
|
|
10
|
+
get storageService() {
|
|
11
|
+
return this.igoStorageService;
|
|
12
|
+
}
|
|
13
|
+
constructor(igoStorageService) {
|
|
14
|
+
this.igoStorageService = igoStorageService;
|
|
15
|
+
}
|
|
16
|
+
static ɵfac = function StorageState_Factory(t) { return new (t || StorageState)(i0.ɵɵinject(i1.StorageService)); };
|
|
17
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StorageState, factory: StorageState.ɵfac, providedIn: 'root' });
|
|
18
|
+
}
|
|
19
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StorageState, [{
|
|
20
|
+
type: Injectable,
|
|
21
|
+
args: [{
|
|
22
|
+
providedIn: 'root'
|
|
23
|
+
}]
|
|
24
|
+
}], function () { return [{ type: i1.StorageService }]; }, null); })();
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvc3RvcmFnZS9zdG9yYWdlLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBRTVDOztHQUVHO0FBSUgsTUFBTSxPQUFPLFlBQVk7SUFLSDtJQUpwQixJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQW9CLGlCQUFpQztRQUFqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO0lBQUcsQ0FBQztzRUFMOUMsWUFBWTtnRUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNOzt1RkFFUCxZQUFZO2NBSHhCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaG9sZHMgdGhlIHN0YXRlIG9mIHN0b3JhZ2Ugc2VydmljZVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdG9yYWdlU3RhdGUge1xuICBnZXQgc3RvcmFnZVNlcnZpY2UoKTogU3RvcmFnZVNlcnZpY2Uge1xuICAgIHJldHVybiB0aGlzLmlnb1N0b3JhZ2VTZXJ2aWNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpZ29TdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UpIHt9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './tool.state';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './tool.state';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3Rvb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Rvb2wuc3RhdGUnO1xuIl19
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class IgoAppToolModule {
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppToolModule, [{
|
|
9
|
-
type: NgModule,
|
|
10
|
-
args: [{
|
|
11
|
-
imports: [],
|
|
12
|
-
declarations: [],
|
|
13
|
-
exports: []
|
|
14
|
-
}]
|
|
15
|
-
}], null, null); })();
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class IgoAppToolModule {
|
|
4
|
+
static ɵfac = function IgoAppToolModule_Factory(t) { return new (t || IgoAppToolModule)(); };
|
|
5
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAppToolModule });
|
|
6
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
7
|
+
}
|
|
8
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppToolModule, [{
|
|
9
|
+
type: NgModule,
|
|
10
|
+
args: [{
|
|
11
|
+
imports: [],
|
|
12
|
+
declarations: [],
|
|
13
|
+
exports: []
|
|
14
|
+
}]
|
|
15
|
+
}], null, null); })();
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3Rvb2wvdG9vbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPekMsTUFBTSxPQUFPLGdCQUFnQjswRUFBaEIsZ0JBQWdCOzREQUFoQixnQkFBZ0I7Ozt1RkFBaEIsZ0JBQWdCO2NBTDVCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29BcHBUb29sTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ToolService } from '@igo2/common';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { ImportExportMode, ImportExportState } from '../import-export/import-export.state';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@igo2/common";
|
|
7
|
+
import * as i2 from "../import-export/import-export.state";
|
|
8
|
+
/**
|
|
9
|
+
* Service that holds the state of the search module
|
|
10
|
+
*/
|
|
11
|
+
export class ToolState {
|
|
12
|
+
toolService;
|
|
13
|
+
importExportState;
|
|
14
|
+
get toolbox() {
|
|
15
|
+
return this.toolService.toolbox;
|
|
16
|
+
}
|
|
17
|
+
openSidenav$ = new BehaviorSubject(undefined);
|
|
18
|
+
constructor(toolService, importExportState) {
|
|
19
|
+
this.toolService = toolService;
|
|
20
|
+
this.importExportState = importExportState;
|
|
21
|
+
}
|
|
22
|
+
toolToActivateFromOptions(toolToActivate) {
|
|
23
|
+
if (!toolToActivate) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (toolToActivate.tool === 'importExport') {
|
|
27
|
+
let exportOptions = this.importExportState.exportOptions$.value;
|
|
28
|
+
if (!exportOptions) {
|
|
29
|
+
exportOptions = {
|
|
30
|
+
layers: toolToActivate.options.layers,
|
|
31
|
+
featureInMapExtent: toolToActivate.options.featureInMapExtent
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
exportOptions.layers = toolToActivate.options.layers;
|
|
36
|
+
exportOptions.featureInMapExtent =
|
|
37
|
+
toolToActivate.options.featureInMapExtent;
|
|
38
|
+
}
|
|
39
|
+
this.importExportState.setsExportOptions(exportOptions);
|
|
40
|
+
this.importExportState.setMode(ImportExportMode.export);
|
|
41
|
+
}
|
|
42
|
+
if (this.toolbox.getTool(toolToActivate.tool)) {
|
|
43
|
+
this.toolbox.activateTool(toolToActivate.tool);
|
|
44
|
+
this.openSidenav$.next(true);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
static ɵfac = function ToolState_Factory(t) { return new (t || ToolState)(i0.ɵɵinject(i1.ToolService), i0.ɵɵinject(i2.ImportExportState)); };
|
|
48
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToolState, factory: ToolState.ɵfac, providedIn: 'root' });
|
|
49
|
+
}
|
|
50
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToolState, [{
|
|
51
|
+
type: Injectable,
|
|
52
|
+
args: [{
|
|
53
|
+
providedIn: 'root'
|
|
54
|
+
}]
|
|
55
|
+
}], function () { return [{ type: i1.ToolService }, { type: i2.ImportExportState }]; }, null); })();
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvdG9vbC90b29sLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFXLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUdwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2xCLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFFOUM7O0dBRUc7QUFJSCxNQUFNLE9BQU8sU0FBUztJQVVWO0lBQ0E7SUFWVixJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxZQUFZLEdBQTZCLElBQUksZUFBZSxDQUNqRSxTQUFTLENBQ1YsQ0FBQztJQUVGLFlBQ1UsV0FBd0IsRUFDeEIsaUJBQW9DO1FBRHBDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDM0MsQ0FBQztJQUVKLHlCQUF5QixDQUFDLGNBR3pCO1FBQ0MsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixPQUFPO1NBQ1I7UUFDRCxJQUFJLGNBQWMsQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO1lBQzFDLElBQUksYUFBYSxHQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQzlDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ2xCLGFBQWEsR0FBRztvQkFDZCxNQUFNLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNO29CQUNyQyxrQkFBa0IsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLGtCQUFrQjtpQkFDOUQsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLGFBQWEsQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ3JELGFBQWEsQ0FBQyxrQkFBa0I7b0JBQzlCLGNBQWMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7YUFDN0M7WUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6RDtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7bUVBMUNVLFNBQVM7Z0VBQVQsU0FBUyxXQUFULFNBQVMsbUJBRlIsTUFBTTs7dUZBRVAsU0FBUztjQUhyQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRvb2xib3gsIFRvb2xTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgRXhwb3J0T3B0aW9ucyB9IGZyb20gJ0BpZ28yL2dlbyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEltcG9ydEV4cG9ydE1vZGUsXG4gIEltcG9ydEV4cG9ydFN0YXRlXG59IGZyb20gJy4uL2ltcG9ydC1leHBvcnQvaW1wb3J0LWV4cG9ydC5zdGF0ZSc7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhvbGRzIHRoZSBzdGF0ZSBvZiB0aGUgc2VhcmNoIG1vZHVsZVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUb29sU3RhdGUge1xuICBnZXQgdG9vbGJveCgpOiBUb29sYm94IHtcbiAgICByZXR1cm4gdGhpcy50b29sU2VydmljZS50b29sYm94O1xuICB9XG5cbiAgcHVibGljIG9wZW5TaWRlbmF2JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICB1bmRlZmluZWRcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRvb2xTZXJ2aWNlOiBUb29sU2VydmljZSxcbiAgICBwcml2YXRlIGltcG9ydEV4cG9ydFN0YXRlOiBJbXBvcnRFeHBvcnRTdGF0ZVxuICApIHt9XG5cbiAgdG9vbFRvQWN0aXZhdGVGcm9tT3B0aW9ucyh0b29sVG9BY3RpdmF0ZToge1xuICAgIHRvb2w6IHN0cmluZztcbiAgICBvcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICB9KSB7XG4gICAgaWYgKCF0b29sVG9BY3RpdmF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodG9vbFRvQWN0aXZhdGUudG9vbCA9PT0gJ2ltcG9ydEV4cG9ydCcpIHtcbiAgICAgIGxldCBleHBvcnRPcHRpb25zOiBFeHBvcnRPcHRpb25zID1cbiAgICAgICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5leHBvcnRPcHRpb25zJC52YWx1ZTtcbiAgICAgIGlmICghZXhwb3J0T3B0aW9ucykge1xuICAgICAgICBleHBvcnRPcHRpb25zID0ge1xuICAgICAgICAgIGxheWVyczogdG9vbFRvQWN0aXZhdGUub3B0aW9ucy5sYXllcnMsXG4gICAgICAgICAgZmVhdHVyZUluTWFwRXh0ZW50OiB0b29sVG9BY3RpdmF0ZS5vcHRpb25zLmZlYXR1cmVJbk1hcEV4dGVudFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhwb3J0T3B0aW9ucy5sYXllcnMgPSB0b29sVG9BY3RpdmF0ZS5vcHRpb25zLmxheWVycztcbiAgICAgICAgZXhwb3J0T3B0aW9ucy5mZWF0dXJlSW5NYXBFeHRlbnQgPVxuICAgICAgICAgIHRvb2xUb0FjdGl2YXRlLm9wdGlvbnMuZmVhdHVyZUluTWFwRXh0ZW50O1xuICAgICAgfVxuICAgICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRzRXhwb3J0T3B0aW9ucyhleHBvcnRPcHRpb25zKTtcbiAgICAgIHRoaXMuaW1wb3J0RXhwb3J0U3RhdGUuc2V0TW9kZShJbXBvcnRFeHBvcnRNb2RlLmV4cG9ydCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudG9vbGJveC5nZXRUb29sKHRvb2xUb0FjdGl2YXRlLnRvb2wpKSB7XG4gICAgICB0aGlzLnRvb2xib3guYWN0aXZhdGVUb29sKHRvb2xUb0FjdGl2YXRlLnRvb2wpO1xuICAgICAgdGhpcy5vcGVuU2lkZW5hdiQubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './shared';
|
|
2
|
-
export * from './workspace-button';
|
|
3
|
-
export * from './workspace.state';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './shared';
|
|
2
|
+
export * from './workspace-button';
|
|
3
|
+
export * from './workspace.state';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmtzcGFjZS1idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi93b3Jrc3BhY2Uuc3RhdGUnO1xuIl19
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { Widget } from '@igo2/common';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { OgcFilterWidget } from '@igo2/geo';
|
|
5
|
+
import { StorageServiceEventEnum, LanguageService, MediaService } from '@igo2/core';
|
|
6
|
+
import { StorageState } from '../../storage/storage.state';
|
|
7
|
+
import { skipWhile } from 'rxjs/operators';
|
|
8
|
+
import { ToolState } from '../../tool/tool.state';
|
|
9
|
+
import { getWorkspaceActions, handleZoomAuto } from './workspace.utils';
|
|
10
|
+
import { DatePipe } from '@angular/common';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "../../storage/storage.state";
|
|
13
|
+
import * as i2 from "@igo2/core";
|
|
14
|
+
import * as i3 from "../../tool/tool.state";
|
|
15
|
+
import * as i4 from "@angular/common";
|
|
16
|
+
import * as i5 from "@igo2/common";
|
|
17
|
+
export class EditionActionsService {
|
|
18
|
+
ogcFilterWidget;
|
|
19
|
+
storageState;
|
|
20
|
+
languageService;
|
|
21
|
+
mediaService;
|
|
22
|
+
toolState;
|
|
23
|
+
datePipe;
|
|
24
|
+
maximize$;
|
|
25
|
+
zoomAuto$ = new BehaviorSubject(false);
|
|
26
|
+
storageChange$$;
|
|
27
|
+
get storageService() {
|
|
28
|
+
return this.storageState.storageService;
|
|
29
|
+
}
|
|
30
|
+
get zoomAuto() {
|
|
31
|
+
return this.storageService.get('zoomAuto');
|
|
32
|
+
}
|
|
33
|
+
constructor(ogcFilterWidget, storageState, languageService, mediaService, toolState, datePipe) {
|
|
34
|
+
this.ogcFilterWidget = ogcFilterWidget;
|
|
35
|
+
this.storageState = storageState;
|
|
36
|
+
this.languageService = languageService;
|
|
37
|
+
this.mediaService = mediaService;
|
|
38
|
+
this.toolState = toolState;
|
|
39
|
+
this.datePipe = datePipe;
|
|
40
|
+
this.maximize$ = new BehaviorSubject(this.storageService.get('workspaceMaximize'));
|
|
41
|
+
}
|
|
42
|
+
ngOnDestroy() {
|
|
43
|
+
if (this.storageChange$$) {
|
|
44
|
+
this.storageChange$$.unsubscribe();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
loadActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
|
|
48
|
+
const actions = this.buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$);
|
|
49
|
+
workspace.actionStore.load(actions);
|
|
50
|
+
}
|
|
51
|
+
buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
|
|
52
|
+
this.zoomAuto$.next(this.zoomAuto);
|
|
53
|
+
this.storageChange$$ = this.storageService.storageChange$
|
|
54
|
+
.pipe(skipWhile((storageChange) => storageChange?.key !== 'zoomAuto' ||
|
|
55
|
+
storageChange?.event === StorageServiceEventEnum.CLEARED))
|
|
56
|
+
.subscribe(() => {
|
|
57
|
+
this.zoomAuto$.next(this.zoomAuto);
|
|
58
|
+
handleZoomAuto(workspace, this.storageService);
|
|
59
|
+
});
|
|
60
|
+
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, this.ogcFilterWidget, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.datePipe);
|
|
61
|
+
}
|
|
62
|
+
static ɵfac = function EditionActionsService_Factory(t) { return new (t || EditionActionsService)(i0.ɵɵinject(OgcFilterWidget), i0.ɵɵinject(i1.StorageState), i0.ɵɵinject(i2.LanguageService), i0.ɵɵinject(i2.MediaService), i0.ɵɵinject(i3.ToolState), i0.ɵɵinject(i4.DatePipe)); };
|
|
63
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EditionActionsService, factory: EditionActionsService.ɵfac, providedIn: 'root' });
|
|
64
|
+
}
|
|
65
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EditionActionsService, [{
|
|
66
|
+
type: Injectable,
|
|
67
|
+
args: [{
|
|
68
|
+
providedIn: 'root'
|
|
69
|
+
}]
|
|
70
|
+
}], function () { return [{ type: i5.Widget, decorators: [{
|
|
71
|
+
type: Inject,
|
|
72
|
+
args: [OgcFilterWidget]
|
|
73
|
+
}] }, { type: i1.StorageState }, { type: i2.LanguageService }, { type: i2.MediaService }, { type: i3.ToolState }, { type: i4.DatePipe }]; }, null); })();
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9zaGFyZWQvZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQW9CLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5RCxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFDZixZQUFZLEVBQ2IsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7OztBQUszQyxNQUFNLE9BQU8scUJBQXFCO0lBZUc7SUFDekI7SUFDRDtJQUNDO0lBQ0E7SUFDQTtJQW5CSCxTQUFTLENBQTJCO0lBRTNDLFNBQVMsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsZUFBZSxDQUFlO0lBRXRDLElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBWSxDQUFDO0lBQ3hELENBQUM7SUFFRCxZQUNtQyxlQUF1QixFQUNoRCxZQUEwQixFQUMzQixlQUFnQyxFQUMvQixZQUEwQixFQUMxQixTQUFvQixFQUNwQixRQUFrQjtRQUxPLG9CQUFlLEdBQWYsZUFBZSxDQUFRO1FBQ2hELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzNCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQVksQ0FDeEQsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUNULFNBQTJCLEVBQzNCLDhCQUF3RCxFQUN4RCx5QkFBbUQ7UUFFbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FDL0IsU0FBUyxFQUNULDhCQUE4QixFQUM5Qix5QkFBeUIsQ0FDMUIsQ0FBQztRQUNGLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQ1YsU0FBMkIsRUFDM0IsOEJBQXdELEVBQ3hELHlCQUFtRDtRQUVuRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWM7YUFDdEQsSUFBSSxDQUNILFNBQVMsQ0FDUCxDQUFDLGFBQWtDLEVBQUUsRUFBRSxDQUNyQyxhQUFhLEVBQUUsR0FBRyxLQUFLLFVBQVU7WUFDakMsYUFBYSxFQUFFLEtBQUssS0FBSyx1QkFBdUIsQ0FBQyxPQUFPLENBQzNELENBQ0Y7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxtQkFBbUIsQ0FDeEIsU0FBUyxFQUNULDhCQUE4QixFQUM5Qix5QkFBeUIsRUFDekIsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxjQUFjLEVBQ25CLElBQUksQ0FBQyxlQUFlLEVBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO0lBQ0osQ0FBQzsrRUE3RVUscUJBQXFCLGNBZXRCLGVBQWU7Z0VBZmQscUJBQXFCLFdBQXJCLHFCQUFxQixtQkFGcEIsTUFBTTs7dUZBRVAscUJBQXFCO2NBSGpDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7c0JBZ0JJLE1BQU07dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFjdGlvbiwgV2lkZ2V0IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVkaXRpb25Xb3Jrc3BhY2UsIE9nY0ZpbHRlcldpZGdldCB9IGZyb20gJ0BpZ28yL2dlbyc7XG5pbXBvcnQge1xuICBTdG9yYWdlU2VydmljZSxcbiAgU3RvcmFnZVNlcnZpY2VFdmVudCxcbiAgU3RvcmFnZVNlcnZpY2VFdmVudEVudW0sXG4gIExhbmd1YWdlU2VydmljZSxcbiAgTWVkaWFTZXJ2aWNlXG59IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmFnZVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RvcmFnZS9zdG9yYWdlLnN0YXRlJztcbmltcG9ydCB7IHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XG5pbXBvcnQgeyBnZXRXb3Jrc3BhY2VBY3Rpb25zLCBoYW5kbGVab29tQXV0byB9IGZyb20gJy4vd29ya3NwYWNlLnV0aWxzJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRWRpdGlvbkFjdGlvbnNTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIG1heGltaXplJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuXG4gIHpvb21BdXRvJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgc3RvcmFnZUNoYW5nZSQkOiBTdWJzY3JpcHRpb247XG5cbiAgZ2V0IHN0b3JhZ2VTZXJ2aWNlKCk6IFN0b3JhZ2VTZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU3RhdGUuc3RvcmFnZVNlcnZpY2U7XG4gIH1cblxuICBnZXQgem9vbUF1dG8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd6b29tQXV0bycpIGFzIGJvb2xlYW47XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE9nY0ZpbHRlcldpZGdldCkgcHJpdmF0ZSBvZ2NGaWx0ZXJXaWRnZXQ6IFdpZGdldCxcbiAgICBwcml2YXRlIHN0b3JhZ2VTdGF0ZTogU3RvcmFnZVN0YXRlLFxuICAgIHB1YmxpYyBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9vbFN0YXRlOiBUb29sU3RhdGUsXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGVcbiAgKSB7XG4gICAgdGhpcy5tYXhpbWl6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3dvcmtzcGFjZU1heGltaXplJykgYXMgYm9vbGVhblxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yYWdlQ2hhbmdlJCQpIHtcbiAgICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbG9hZEFjdGlvbnMoXG4gICAgd29ya3NwYWNlOiBFZGl0aW9uV29ya3NwYWNlLFxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxuICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxuICApIHtcbiAgICBjb25zdCBhY3Rpb25zID0gdGhpcy5idWlsZEFjdGlvbnMoXG4gICAgICB3b3Jrc3BhY2UsXG4gICAgICByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQsXG4gICAgICBzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kXG4gICAgKTtcbiAgICB3b3Jrc3BhY2UuYWN0aW9uU3RvcmUubG9hZChhY3Rpb25zKTtcbiAgfVxuXG4gIGJ1aWxkQWN0aW9ucyhcbiAgICB3b3Jrc3BhY2U6IEVkaXRpb25Xb3Jrc3BhY2UsXG4gICAgcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4sXG4gICAgc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XG4gICk6IEFjdGlvbltdIHtcbiAgICB0aGlzLnpvb21BdXRvJC5uZXh0KHRoaXMuem9vbUF1dG8pO1xuICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkID0gdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yYWdlQ2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZShcbiAgICAgICAgICAoc3RvcmFnZUNoYW5nZTogU3RvcmFnZVNlcnZpY2VFdmVudCkgPT5cbiAgICAgICAgICAgIHN0b3JhZ2VDaGFuZ2U/LmtleSAhPT0gJ3pvb21BdXRvJyB8fFxuICAgICAgICAgICAgc3RvcmFnZUNoYW5nZT8uZXZlbnQgPT09IFN0b3JhZ2VTZXJ2aWNlRXZlbnRFbnVtLkNMRUFSRURcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuem9vbUF1dG8kLm5leHQodGhpcy56b29tQXV0byk7XG4gICAgICAgIGhhbmRsZVpvb21BdXRvKHdvcmtzcGFjZSwgdGhpcy5zdG9yYWdlU2VydmljZSk7XG4gICAgICB9KTtcbiAgICByZXR1cm4gZ2V0V29ya3NwYWNlQWN0aW9ucyhcbiAgICAgIHdvcmtzcGFjZSxcbiAgICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCxcbiAgICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQsXG4gICAgICB0aGlzLm9nY0ZpbHRlcldpZGdldCxcbiAgICAgIHRoaXMuem9vbUF1dG8kLFxuICAgICAgdGhpcy5tYXhpbWl6ZSQsXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UsXG4gICAgICB0aGlzLm1lZGlhU2VydmljZSxcbiAgICAgIHRoaXMudG9vbFN0YXRlLFxuICAgICAgdGhpcy5kYXRlUGlwZVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { StorageServiceEventEnum, LanguageService, MediaService } from '@igo2/core';
|
|
4
|
+
import { StorageState } from '../../storage/storage.state';
|
|
5
|
+
import { skipWhile } from 'rxjs/operators';
|
|
6
|
+
import { ToolState } from '../../tool/tool.state';
|
|
7
|
+
import { getWorkspaceActions, handleZoomAuto } from './workspace.utils';
|
|
8
|
+
import { DatePipe } from '@angular/common';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../../storage/storage.state";
|
|
11
|
+
import * as i2 from "@igo2/core";
|
|
12
|
+
import * as i3 from "../../tool/tool.state";
|
|
13
|
+
import * as i4 from "@angular/common";
|
|
14
|
+
export class FeatureActionsService {
|
|
15
|
+
storageState;
|
|
16
|
+
languageService;
|
|
17
|
+
toolState;
|
|
18
|
+
mediaService;
|
|
19
|
+
datePipe;
|
|
20
|
+
maximize$;
|
|
21
|
+
zoomAuto$ = new BehaviorSubject(false);
|
|
22
|
+
storageChange$$;
|
|
23
|
+
get storageService() {
|
|
24
|
+
return this.storageState.storageService;
|
|
25
|
+
}
|
|
26
|
+
get zoomAuto() {
|
|
27
|
+
return this.storageService.get('zoomAuto');
|
|
28
|
+
}
|
|
29
|
+
constructor(storageState, languageService, toolState, mediaService, datePipe) {
|
|
30
|
+
this.storageState = storageState;
|
|
31
|
+
this.languageService = languageService;
|
|
32
|
+
this.toolState = toolState;
|
|
33
|
+
this.mediaService = mediaService;
|
|
34
|
+
this.datePipe = datePipe;
|
|
35
|
+
this.maximize$ = new BehaviorSubject(this.storageService.get('workspaceMaximize'));
|
|
36
|
+
}
|
|
37
|
+
ngOnDestroy() {
|
|
38
|
+
if (this.storageChange$$) {
|
|
39
|
+
this.storageChange$$.unsubscribe();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
loadActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
|
|
43
|
+
const actions = this.buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$);
|
|
44
|
+
workspace.actionStore.load(actions);
|
|
45
|
+
}
|
|
46
|
+
buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
|
|
47
|
+
this.zoomAuto$.next(this.zoomAuto);
|
|
48
|
+
this.storageChange$$ = this.storageService.storageChange$
|
|
49
|
+
.pipe(skipWhile((storageChange) => storageChange?.key !== 'zoomAuto' ||
|
|
50
|
+
storageChange?.event === StorageServiceEventEnum.CLEARED))
|
|
51
|
+
.subscribe(() => {
|
|
52
|
+
this.zoomAuto$.next(this.zoomAuto);
|
|
53
|
+
handleZoomAuto(workspace, this.storageService);
|
|
54
|
+
});
|
|
55
|
+
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, undefined, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.datePipe);
|
|
56
|
+
}
|
|
57
|
+
static ɵfac = function FeatureActionsService_Factory(t) { return new (t || FeatureActionsService)(i0.ɵɵinject(i1.StorageState), i0.ɵɵinject(i2.LanguageService), i0.ɵɵinject(i3.ToolState), i0.ɵɵinject(i2.MediaService), i0.ɵɵinject(i4.DatePipe)); };
|
|
58
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FeatureActionsService, factory: FeatureActionsService.ɵfac, providedIn: 'root' });
|
|
59
|
+
}
|
|
60
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureActionsService, [{
|
|
61
|
+
type: Injectable,
|
|
62
|
+
args: [{
|
|
63
|
+
providedIn: 'root'
|
|
64
|
+
}]
|
|
65
|
+
}], function () { return [{ type: i1.StorageState }, { type: i2.LanguageService }, { type: i3.ToolState }, { type: i2.MediaService }, { type: i4.DatePipe }]; }, null); })();
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9zaGFyZWQvZmVhdHVyZS1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUl0RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFDZixZQUFZLEVBQ2IsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBSzNDLE1BQU0sT0FBTyxxQkFBcUI7SUFldEI7SUFDRDtJQUNDO0lBQ0E7SUFDQTtJQWxCSCxTQUFTLENBQTJCO0lBRTNDLFNBQVMsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsZUFBZSxDQUFlO0lBRXRDLElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBWSxDQUFDO0lBQ3hELENBQUM7SUFFRCxZQUNVLFlBQTBCLEVBQzNCLGVBQWdDLEVBQy9CLFNBQW9CLEVBQ3BCLFlBQTBCLEVBQzFCLFFBQWtCO1FBSmxCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzNCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUMvQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQVksQ0FDeEQsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUNULFNBQTJCLEVBQzNCLDhCQUF3RCxFQUN4RCx5QkFBbUQ7UUFFbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FDL0IsU0FBUyxFQUNULDhCQUE4QixFQUM5Qix5QkFBeUIsQ0FDMUIsQ0FBQztRQUNGLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQ1YsU0FBMkIsRUFDM0IsOEJBQXdELEVBQ3hELHlCQUFtRDtRQUVuRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWM7YUFDdEQsSUFBSSxDQUNILFNBQVMsQ0FDUCxDQUFDLGFBQWtDLEVBQUUsRUFBRSxDQUNyQyxhQUFhLEVBQUUsR0FBRyxLQUFLLFVBQVU7WUFDakMsYUFBYSxFQUFFLEtBQUssS0FBSyx1QkFBdUIsQ0FBQyxPQUFPLENBQzNELENBQ0Y7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxtQkFBbUIsQ0FDeEIsU0FBUyxFQUNULDhCQUE4QixFQUM5Qix5QkFBeUIsRUFDekIsU0FBUyxFQUNULElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztJQUNKLENBQUM7K0VBNUVVLHFCQUFxQjtnRUFBckIscUJBQXFCLFdBQXJCLHFCQUFxQixtQkFGcEIsTUFBTTs7dUZBRVAscUJBQXFCO2NBSGpDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAaWdvMi9jb21tb24nO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmVhdHVyZVdvcmtzcGFjZSB9IGZyb20gJ0BpZ28yL2dlbyc7XG5pbXBvcnQge1xuICBTdG9yYWdlU2VydmljZSxcbiAgU3RvcmFnZVNlcnZpY2VFdmVudCxcbiAgU3RvcmFnZVNlcnZpY2VFdmVudEVudW0sXG4gIExhbmd1YWdlU2VydmljZSxcbiAgTWVkaWFTZXJ2aWNlXG59IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmFnZVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RvcmFnZS9zdG9yYWdlLnN0YXRlJztcbmltcG9ydCB7IHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XG5pbXBvcnQgeyBnZXRXb3Jrc3BhY2VBY3Rpb25zLCBoYW5kbGVab29tQXV0byB9IGZyb20gJy4vd29ya3NwYWNlLnV0aWxzJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZUFjdGlvbnNTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIG1heGltaXplJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuXG4gIHpvb21BdXRvJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgc3RvcmFnZUNoYW5nZSQkOiBTdWJzY3JpcHRpb247XG5cbiAgZ2V0IHN0b3JhZ2VTZXJ2aWNlKCk6IFN0b3JhZ2VTZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU3RhdGUuc3RvcmFnZVNlcnZpY2U7XG4gIH1cblxuICBnZXQgem9vbUF1dG8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd6b29tQXV0bycpIGFzIGJvb2xlYW47XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JhZ2VTdGF0ZTogU3RvcmFnZVN0YXRlLFxuICAgIHB1YmxpYyBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIHRvb2xTdGF0ZTogVG9vbFN0YXRlLFxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGVcbiAgKSB7XG4gICAgdGhpcy5tYXhpbWl6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3dvcmtzcGFjZU1heGltaXplJykgYXMgYm9vbGVhblxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yYWdlQ2hhbmdlJCQpIHtcbiAgICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbG9hZEFjdGlvbnMoXG4gICAgd29ya3NwYWNlOiBGZWF0dXJlV29ya3NwYWNlLFxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxuICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxuICApIHtcbiAgICBjb25zdCBhY3Rpb25zID0gdGhpcy5idWlsZEFjdGlvbnMoXG4gICAgICB3b3Jrc3BhY2UsXG4gICAgICByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQsXG4gICAgICBzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kXG4gICAgKTtcbiAgICB3b3Jrc3BhY2UuYWN0aW9uU3RvcmUubG9hZChhY3Rpb25zKTtcbiAgfVxuXG4gIGJ1aWxkQWN0aW9ucyhcbiAgICB3b3Jrc3BhY2U6IEZlYXR1cmVXb3Jrc3BhY2UsXG4gICAgcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4sXG4gICAgc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XG4gICk6IEFjdGlvbltdIHtcbiAgICB0aGlzLnpvb21BdXRvJC5uZXh0KHRoaXMuem9vbUF1dG8pO1xuICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkID0gdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yYWdlQ2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZShcbiAgICAgICAgICAoc3RvcmFnZUNoYW5nZTogU3RvcmFnZVNlcnZpY2VFdmVudCkgPT5cbiAgICAgICAgICAgIHN0b3JhZ2VDaGFuZ2U/LmtleSAhPT0gJ3pvb21BdXRvJyB8fFxuICAgICAgICAgICAgc3RvcmFnZUNoYW5nZT8uZXZlbnQgPT09IFN0b3JhZ2VTZXJ2aWNlRXZlbnRFbnVtLkNMRUFSRURcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuem9vbUF1dG8kLm5leHQodGhpcy56b29tQXV0byk7XG4gICAgICAgIGhhbmRsZVpvb21BdXRvKHdvcmtzcGFjZSwgdGhpcy5zdG9yYWdlU2VydmljZSk7XG4gICAgICB9KTtcbiAgICByZXR1cm4gZ2V0V29ya3NwYWNlQWN0aW9ucyhcbiAgICAgIHdvcmtzcGFjZSxcbiAgICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCxcbiAgICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnpvb21BdXRvJCxcbiAgICAgIHRoaXMubWF4aW1pemUkLFxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZSxcbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLFxuICAgICAgdGhpcy5tZWRpYVNlcnZpY2UsXG4gICAgICB0aGlzLnRvb2xTdGF0ZSxcbiAgICAgIHRoaXMuZGF0ZVBpcGVcbiAgICApO1xuICB9XG59XG4iXX0=
|