@igo2/integration 21.0.0-next.22 → 21.0.0-next.24
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.
|
@@ -21,7 +21,7 @@ import * as i3$2 from '@angular/common';
|
|
|
21
21
|
import { AsyncPipe, formatDate, CommonModule, DecimalPipe, NgTemplateOutlet } from '@angular/common';
|
|
22
22
|
import { EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, EntityTableComponent, getEntityTitle } from '@igo2/common/entity';
|
|
23
23
|
import * as i1$1 from '@igo2/geo';
|
|
24
|
-
import { MapService,
|
|
24
|
+
import { MapService, OverlayService, IgoMap, CatalogService, CatalogBrowserComponent, generateIdFromSourceOptions, isLayerItemOptions, CatalogItemType, CatalogLibraryComponent, StopsStore, StopsFeatureStore, RoutesFeatureStore, StepsFeatureStore, IgoDirectionsModule, FeatureStore, DrawComponent, isLayerItem, OgcFilterableItemComponent, TimeFilterItemComponent, OgcFilterableListComponent, OgcFilterableListBindingDirective, FeatureStoreSelectionStrategy, FeatureMotion, mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, InteractiveSelectionFormWidget, WfsWorkspace, FeatureWorkspace, EditionWorkspace, SpatialFilterService, LayerService, SpatialFilterItemType, MeasureLengthUnit, SpatialFilterType, markerOlStyle, featureToOl, moveToOlFeatures, RADIUS_NAME, SpatialFilterTypeComponent, SpatialFilterItemComponent, FeatureDetailsComponent, TimeFilterListComponent, TimeFilterListBindingDirective, isBaseLayer, ImportExportComponent, formatScale, zoneMtm, zoneUtm, computeProjectionsConstraints, SearchSourceService, LayerListControlsEnum, sourceCanSearch, LayerViewerComponent, ExportButtonComponent, OgcFilterButtonComponent, TimeFilterButtonComponent, TrackFeatureButtonComponent, MetadataButtonComponent, LayerLegendListComponent, LayerLegendListBindingDirective, roundCoordTo, featureFromOl, measureOlGeometryLength, FEATURE, VectorLayer, VectorTileLayer, isOlFlatStyleLike, StyleModalLayerButtonComponent, MeasurerComponent, PrintComponent, SearchBarComponent, SearchResultsComponent, styleVariant, computeOlFeaturesExtent, featuresAreOutOfView, SearchResultAddButtonComponent, isLayerGroup, PropertyTypeDetectorService, GeoPropertiesStrategy } from '@igo2/geo';
|
|
25
25
|
import { BehaviorSubject, combineLatest, forkJoin, map as map$1, of, merge, Subject, ReplaySubject, interval } from 'rxjs';
|
|
26
26
|
import { take, switchMap, concatAll, map, toArray, skipWhile, distinctUntilChanged, takeUntil, tap, debounceTime, skip } from 'rxjs/operators';
|
|
27
27
|
import { StorageService, StorageScope, StorageServiceEventEnum } from '@igo2/core/storage';
|
|
@@ -32,7 +32,7 @@ import { MediaService, Media } from '@igo2/core/media';
|
|
|
32
32
|
import { MessageService } from '@igo2/core/message';
|
|
33
33
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
34
34
|
import { SELECTION_MARKER_ICON } from '@igo2/common/icon';
|
|
35
|
-
import * as
|
|
35
|
+
import * as olproj from 'ol/proj';
|
|
36
36
|
import { transform } from 'ol/proj';
|
|
37
37
|
import * as olstyle from 'ol/style';
|
|
38
38
|
import { WorkspaceStore } from '@igo2/common/workspace';
|
|
@@ -189,7 +189,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
189
189
|
*/
|
|
190
190
|
class MapState {
|
|
191
191
|
mapService = inject(MapService);
|
|
192
|
-
projectionService = inject(ProjectionService);
|
|
193
192
|
storageService = inject(StorageService);
|
|
194
193
|
configService = inject(ConfigService);
|
|
195
194
|
overlayService = inject(OverlayService);
|
|
@@ -767,7 +766,7 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
767
766
|
await addExcelSheetToWorkBook('Informations', catalogOutput, workBook, {
|
|
768
767
|
json2SheetOpts: { skipHeader: true }
|
|
769
768
|
});
|
|
770
|
-
const documentName = this.languageService.translate.instant('igo.integration.catalog.listExport.documentName', { value: formatDate(Date.now(),
|
|
769
|
+
const documentName = this.languageService.translate.instant('igo.integration.catalog.listExport.documentName', { value: formatDate(Date.now(), "yyyy-MM-dd-HH'h'mm", 'en-US') });
|
|
771
770
|
writeExcelFile(workBook, documentName, { compression: true });
|
|
772
771
|
}
|
|
773
772
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: CatalogLibraryToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -3204,7 +3203,12 @@ class AdvancedCoordinatesComponent {
|
|
|
3204
3203
|
const extent = projection.extent;
|
|
3205
3204
|
const codeMatch = projection.code.match(/\d+/);
|
|
3206
3205
|
const code = codeMatch?.[0];
|
|
3207
|
-
|
|
3206
|
+
if (!extent ||
|
|
3207
|
+
!olproj.get(projection.code) ||
|
|
3208
|
+
!olproj.get(this.defaultProj.code)) {
|
|
3209
|
+
return;
|
|
3210
|
+
}
|
|
3211
|
+
const currentExtentWGS = olproj.transformExtent(extent, projection.code, this.defaultProj.code);
|
|
3208
3212
|
if (coordinates[0] < currentExtentWGS[0] ||
|
|
3209
3213
|
coordinates[0] > currentExtentWGS[2] ||
|
|
3210
3214
|
coordinates[1] < currentExtentWGS[1] ||
|
|
@@ -3352,7 +3356,7 @@ class AdvancedSwipeComponent {
|
|
|
3352
3356
|
this.toolState.toolbox.activateTool('contextManager');
|
|
3353
3357
|
}
|
|
3354
3358
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedSwipeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3355
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: AdvancedSwipeComponent, isStandalone: true, selector: "igo-advanced-swipe", ngImport: i0, template: "@if (userControlledLayerList
|
|
3359
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: AdvancedSwipeComponent, isStandalone: true, selector: "igo-advanced-swipe", ngImport: i0, template: "@if (userControlledLayerList?.length) {\n <div class=\"igo-swipe-select-container\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-select'\n | translate\n }}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.selectAll'\n | translate\n }}\n </mat-option>\n <mat-divider />\n @for (layer of userControlledLayerList; track layer) {\n <mat-option [value]=\"layer\" (click)=\"applyNewLayers(e)\">{{\n layer.title\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle\n class=\"swipe-toggle\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate\n }}\n </mat-slide-toggle>\n </form>\n </div>\n} @else {\n <mat-list>\n <p class=\"map-empty\">\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate }}\n </p>\n <p class=\"map-empty\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.customize' | translate\n }}\n </p>\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.search-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.catalog-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.context-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n </mat-list>\n}\n", styles: [":host{padding:12px 0}:host .igo-swipe-select-container{padding:12px 0}:host .igo-swipe-select-container mat-form-field{width:100%}:host .igo-form{display:flex;flex-direction:column;width:100%}:host mat-slide-toggle{flex:1}:host mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}:host mat-slide-toggle ::ng-deep .mdc-label{flex:1}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host .advanced-tool-line{height:2px;background-color:gray}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i7.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i1$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
3356
3360
|
}
|
|
3357
3361
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedSwipeComponent, decorators: [{
|
|
3358
3362
|
type: Component,
|
|
@@ -3367,7 +3371,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
3367
3371
|
MatListModule,
|
|
3368
3372
|
MatIconModule,
|
|
3369
3373
|
IgoLanguageModule
|
|
3370
|
-
], template: "@if (userControlledLayerList
|
|
3374
|
+
], template: "@if (userControlledLayerList?.length) {\n <div class=\"igo-swipe-select-container\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-select'\n | translate\n }}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.selectAll'\n | translate\n }}\n </mat-option>\n <mat-divider />\n @for (layer of userControlledLayerList; track layer) {\n <mat-option [value]=\"layer\" (click)=\"applyNewLayers(e)\">{{\n layer.title\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle\n class=\"swipe-toggle\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate\n }}\n </mat-slide-toggle>\n </form>\n </div>\n} @else {\n <mat-list>\n <p class=\"map-empty\">\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate }}\n </p>\n <p class=\"map-empty\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.customize' | translate\n }}\n </p>\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.search-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.catalog-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.context-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n </mat-list>\n}\n", styles: [":host{padding:12px 0}:host .igo-swipe-select-container{padding:12px 0}:host .igo-swipe-select-container mat-form-field{width:100%}:host .igo-form{display:flex;flex-direction:column;width:100%}:host mat-slide-toggle{flex:1}:host mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}:host mat-slide-toggle ::ng-deep .mdc-label{flex:1}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host .advanced-tool-line{height:2px;background-color:gray}\n"] }]
|
|
3371
3375
|
}], ctorParameters: () => [] });
|
|
3372
3376
|
|
|
3373
3377
|
let AdvancedMapToolComponent = class AdvancedMapToolComponent {
|
|
@@ -3420,12 +3424,10 @@ class WorkspaceButtonComponent {
|
|
|
3420
3424
|
destroyRef = inject(DestroyRef);
|
|
3421
3425
|
hasWorkspace = signal(false, ...(ngDevMode ? [{ debugName: "hasWorkspace" }] : /* istanbul ignore next */ []));
|
|
3422
3426
|
layer = input(...(ngDevMode ? [undefined, { debugName: "layer" }] : /* istanbul ignore next */ []));
|
|
3427
|
+
layer$ = toObservable(this.layer);
|
|
3423
3428
|
color = input('primary', ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
|
|
3424
3429
|
ngOnInit() {
|
|
3425
|
-
combineLatest([
|
|
3426
|
-
this.workspaceState.workspaceEnabled$,
|
|
3427
|
-
toObservable(this.layer)
|
|
3428
|
-
])
|
|
3430
|
+
combineLatest([this.workspaceState.workspaceEnabled$, this.layer$])
|
|
3429
3431
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
3430
3432
|
.subscribe(([enabled, layer]) => {
|
|
3431
3433
|
const withWorkspace = enabled &&
|
|
@@ -3766,14 +3768,14 @@ class MapProximityState {
|
|
|
3766
3768
|
if (!currentPos || !currentPos.position) {
|
|
3767
3769
|
return;
|
|
3768
3770
|
}
|
|
3769
|
-
coord =
|
|
3771
|
+
coord = olproj.transform(currentPos.position, currentPos.projection, this.map.projectionCode);
|
|
3770
3772
|
this.map.mapCenter$.next(false);
|
|
3771
3773
|
}
|
|
3772
3774
|
else {
|
|
3773
3775
|
coord = this.map.viewController.getCenter();
|
|
3774
3776
|
this.map.mapCenter$.next(true);
|
|
3775
3777
|
}
|
|
3776
|
-
const coordLonLat =
|
|
3778
|
+
const coordLonLat = olproj.transform(coord, this.map.projectionCode, 'EPSG:4269');
|
|
3777
3779
|
const roundedCoordLonLat = roundCoordTo(coordLonLat, 6);
|
|
3778
3780
|
this.currentPositionCoordinate$.next(roundedCoordLonLat);
|
|
3779
3781
|
const layersToMonitor = layers.filter((layer) => isLayerItem(layer) &&
|
|
@@ -5130,7 +5132,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5130
5132
|
const stop = this.directionState.stopsStore
|
|
5131
5133
|
.all()
|
|
5132
5134
|
.find((e) => e.position === 0);
|
|
5133
|
-
const currentCoord =
|
|
5135
|
+
const currentCoord = olproj.transform(currentPos.position, currentPos.projection, 'EPSG:4326');
|
|
5134
5136
|
const coord = roundCoordTo([currentCoord[0], currentCoord[1]], 6);
|
|
5135
5137
|
if (stop) {
|
|
5136
5138
|
stop.text = coord.join(',');
|
|
@@ -5389,7 +5391,6 @@ const INTEGRATION_FILTER_DIRECTIVES = [
|
|
|
5389
5391
|
class QueryState {
|
|
5390
5392
|
configService = inject(ConfigService);
|
|
5391
5393
|
propertyTypeDetectorService = inject(PropertyTypeDetectorService);
|
|
5392
|
-
capabilitiesService = inject(CapabilitiesService);
|
|
5393
5394
|
mapState = inject(MapState);
|
|
5394
5395
|
/**
|
|
5395
5396
|
* Store that holds the query results
|
|
@@ -5398,7 +5399,7 @@ class QueryState {
|
|
|
5398
5399
|
queryOverlayStyle = {};
|
|
5399
5400
|
constructor() {
|
|
5400
5401
|
this.queryOverlayStyle = this.configService.getConfig('queryOverlayStyle', {});
|
|
5401
|
-
const geoPropertiesStrategy = new GeoPropertiesStrategy({ map: this.mapState.map }, this.propertyTypeDetectorService
|
|
5402
|
+
const geoPropertiesStrategy = new GeoPropertiesStrategy({ map: this.mapState.map }, this.propertyTypeDetectorService);
|
|
5402
5403
|
this.store.addStrategy(geoPropertiesStrategy, true);
|
|
5403
5404
|
}
|
|
5404
5405
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: QueryState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|