Merge branch 'feature/AW6526Angular19' into develop
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
This commit is contained in:
@@ -129,7 +129,7 @@
|
||||
"extract-i18n": {
|
||||
"builder": "@angular-devkit/build-angular:extract-i18n",
|
||||
"options": {
|
||||
"browserTarget": "farmmaps-lib-app:build"
|
||||
"buildTarget": "farmmaps-lib-app:build"
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
|
||||
9413
package-lock.json
generated
9413
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
54
package.json
54
package.json
@@ -12,23 +12,23 @@
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular-eslint/eslint-plugin": "^18.2.0",
|
||||
"@angular/animations": "18.2.3",
|
||||
"@angular/common": "18.2.3",
|
||||
"@angular/compiler": "18.2.3",
|
||||
"@angular/core": "18.2.3",
|
||||
"@angular/forms": "18.2.3",
|
||||
"@angular/platform-browser": "18.2.3",
|
||||
"@angular/platform-browser-dynamic": "18.2.3",
|
||||
"@angular/router": "18.2.3",
|
||||
"@angular/animations": "19.2.18",
|
||||
"@angular/common": "19.2.18",
|
||||
"@angular/compiler": "19.2.18",
|
||||
"@angular/core": "19.2.18",
|
||||
"@angular/forms": "19.2.18",
|
||||
"@angular/platform-browser": "19.2.18",
|
||||
"@angular/platform-browser-dynamic": "19.2.18",
|
||||
"@angular/router": "19.2.18",
|
||||
"@farmmaps/common": "file:dist/common",
|
||||
"@farmmaps/common-map": "file:dist/common-map",
|
||||
"@farmmaps/common-map3d": "file:dist/common-map3d",
|
||||
"@farmmaps/ng-openlayers": "file:dist/ng-openlayers",
|
||||
"@microsoft/signalr": "^3.1.16",
|
||||
"@ng-bootstrap/ng-bootstrap": "^17.0.1",
|
||||
"@ngrx/effects": "^18.0.2",
|
||||
"@ngrx/router-store": "^18.0.2",
|
||||
"@ngrx/store": "^18.0.2",
|
||||
"@ng-bootstrap/ng-bootstrap": "^18.0.0",
|
||||
"@ngrx/effects": "19.2.1",
|
||||
"@ngrx/router-store": "19.2.1",
|
||||
"@ngrx/store": "19.2.1",
|
||||
"@popperjs/core": "^2.11.8",
|
||||
"angular-oauth2-oidc": "^17.0.2",
|
||||
"assert": "^2.0.0",
|
||||
@@ -39,11 +39,11 @@
|
||||
"core-js": "^2.6.12",
|
||||
"https-browserify": "^1.0.0",
|
||||
"moment": "^2.29.4",
|
||||
"ngrx-store-localstorage": "^18.0.0",
|
||||
"ngx-avatars": "^1.8.0",
|
||||
"ngrx-store-localstorage": "19.0.2",
|
||||
"ngx-avatars": "1.9.3",
|
||||
"ngx-clipboard": "^16.0.0",
|
||||
"ngx-image-cropper": "^7.0.0",
|
||||
"ngx-uploadx": "^6.2.0",
|
||||
"ngx-uploadx": "7.0.1",
|
||||
"ol": "^8.2.0",
|
||||
"olcs": "^2.13.1",
|
||||
"resumablejs": "^1.1.0",
|
||||
@@ -54,19 +54,19 @@
|
||||
"tslib": "^2.4.0",
|
||||
"url": "^0.11.0",
|
||||
"util": "^0.12.4",
|
||||
"zone.js": "~0.14.10"
|
||||
"zone.js": "~0.15.1"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@lmdb/lmdb-linux-x64": "^3.1.0",
|
||||
"@rollup/rollup-linux-x64-gnu": "^4.21.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-builders/custom-webpack": "^18.0.0",
|
||||
"@angular-devkit/build-angular": "18.2.3",
|
||||
"@angular/cli": "18.2.3",
|
||||
"@angular/compiler-cli": "18.2.3",
|
||||
"@angular/language-service": "18.2.3",
|
||||
"@angular/localize": "18.2.3",
|
||||
"@angular-builders/custom-webpack": "19.0.1",
|
||||
"@angular-devkit/build-angular": "19.2.19",
|
||||
"@angular/cli": "19.2.19",
|
||||
"@angular/compiler-cli": "19.2.18",
|
||||
"@angular/language-service": "19.2.18",
|
||||
"@angular/localize": "19.2.18",
|
||||
"@types/arcgis-rest-api": "^10.4.5",
|
||||
"@types/jasmine": "~2.8.8",
|
||||
"@types/jasminewd2": "^2.0.9",
|
||||
@@ -85,9 +85,15 @@
|
||||
"karma-coverage-istanbul-reporter": "^3.0.3",
|
||||
"karma-jasmine": "^5.1.0",
|
||||
"karma-jasmine-html-reporter": "^2.0.0",
|
||||
"ng-packagr": "^18.2.1",
|
||||
"ng-packagr": "^19.2.2",
|
||||
"protractor": "~7.0.0",
|
||||
"ts-node": "^8.8.1",
|
||||
"typescript": "~5.4.4"
|
||||
"typescript": "~5.8.3"
|
||||
},
|
||||
"overrides": {
|
||||
"some-library": {
|
||||
"@angular/common": "$@angular/common",
|
||||
"@angular/core": "$@angular/core"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,11 +8,11 @@
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "18.2.3",
|
||||
"ngrx-store-localstorage": "^18.0.0",
|
||||
"@ngrx/effects": "^18.0.2",
|
||||
"@ngrx/router-store": "^18.0.2",
|
||||
"@ngrx/store": "^18.0.2",
|
||||
"@angular/core": "19.2.18",
|
||||
"ngrx-store-localstorage": "19.0.2",
|
||||
"@ngrx/effects": "19.2.1",
|
||||
"@ngrx/router-store": "19.2.1",
|
||||
"@ngrx/store": "19.2.1",
|
||||
"tassign": "^1.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,8 @@ export interface IDroppedFile {
|
||||
|
||||
@Component({
|
||||
selector: 'fm-map-file-drop-target',
|
||||
template: ''
|
||||
template: '',
|
||||
standalone: false
|
||||
})
|
||||
export class FileDropTargetComponent implements OnInit, OnDestroy {
|
||||
element: Element;
|
||||
|
||||
@@ -7,7 +7,8 @@ import { fromLonLat, toLonLat } from 'ol/proj';
|
||||
@Component({
|
||||
selector: 'fm-map-gps-location',
|
||||
templateUrl: './gps-location.component.html',
|
||||
styleUrls: ['./gps-location.component.scss']
|
||||
styleUrls: ['./gps-location.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class GpsLocation implements OnInit,OnChanges{
|
||||
|
||||
|
||||
@@ -26,7 +26,8 @@ import Feature from 'ol/Feature';
|
||||
template: `<ng-content></ng-content>`,
|
||||
providers: [
|
||||
{ provide: LayerGroupComponent, useExisting: forwardRef(() => ItemLayersComponent) }
|
||||
]
|
||||
],
|
||||
standalone: false
|
||||
})
|
||||
|
||||
export class ItemLayersComponent extends LayerGroupComponent implements OnChanges, OnInit,OnDestroy {
|
||||
|
||||
@@ -26,7 +26,8 @@ import { formatNumber } from '@angular/common';
|
||||
template: `<ng-content></ng-content>`,
|
||||
providers: [
|
||||
{ provide: SourceVectorComponent, useExisting: forwardRef(() => ItemVectorSourceComponent) }
|
||||
]
|
||||
],
|
||||
standalone: false
|
||||
})
|
||||
export class ItemVectorSourceComponent extends SourceVectorComponent implements OnInit, OnDestroy, OnChanges {
|
||||
instance: Vector<Feature<Geometry>>;
|
||||
|
||||
@@ -4,7 +4,8 @@ import { IItemLayer } from '../../../models/item.layer';
|
||||
@Component({
|
||||
selector: 'fm-map-layer-list',
|
||||
templateUrl: './layer-list.component.html',
|
||||
styleUrls: ['./layer-list.component.scss']
|
||||
styleUrls: ['./layer-list.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
|
||||
export class LayerListComponent {
|
||||
|
||||
@@ -16,7 +16,8 @@ import { Point } from 'ol/geom';
|
||||
@Component({
|
||||
selector: 'fm-map-layer-values',
|
||||
templateUrl: './layer-values.component.html',
|
||||
styleUrls: ['./layer-values.component.scss']
|
||||
styleUrls: ['./layer-values.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class LayerValuesComponent implements OnInit, AfterViewInit {
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import Feature from 'ol/Feature';
|
||||
template: `
|
||||
<ng-content></ng-content>
|
||||
`,
|
||||
standalone: false
|
||||
})
|
||||
export class LayerVectorImageComponent extends LayerVectorComponent implements OnInit, OnDestroy, OnChanges {
|
||||
//public source: Vector;
|
||||
|
||||
@@ -8,7 +8,8 @@ import { fromLonLat } from 'ol/proj';
|
||||
@Component({
|
||||
selector: 'fm-map-pan-to-location',
|
||||
templateUrl: './pan-to-location.component.html',
|
||||
styleUrls: ['./pan-to-location.component.scss']
|
||||
styleUrls: ['./pan-to-location.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class PanToLocation implements OnInit,OnChanges{
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@ import {View} from 'ol';
|
||||
@Component({
|
||||
selector: 'fm-map-rotation-reset',
|
||||
templateUrl: './rotation-reset.component.html',
|
||||
styleUrls: ['./rotation-reset.component.scss']
|
||||
styleUrls: ['./rotation-reset.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class RotationResetComponent implements OnInit {
|
||||
view: View;
|
||||
|
||||
@@ -5,7 +5,8 @@ import { ViewComponent, MapComponent } from '@farmmaps/ng-openlayers';
|
||||
|
||||
@Component({
|
||||
selector: 'fm-map-zoom-to-extent',
|
||||
template: `<ng-content></ng-content>`
|
||||
template: `<ng-content></ng-content>`,
|
||||
standalone: false
|
||||
})
|
||||
export class ZoomToExtentComponent implements OnChanges {
|
||||
view: ViewComponent;
|
||||
|
||||
@@ -13,7 +13,8 @@ import { Observable } from 'rxjs';
|
||||
@Component({
|
||||
selector: 'fm-map-feature-list-container',
|
||||
templateUrl: './feature-list-container.component.html',
|
||||
styleUrls: ['./feature-list-container.component.scss']
|
||||
styleUrls: ['./feature-list-container.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class FeatureListContainerComponent {
|
||||
|
||||
|
||||
@@ -14,7 +14,8 @@ import { Observable } from 'rxjs';
|
||||
@Component({
|
||||
selector: 'fm-map-feature-list-cropfield',
|
||||
templateUrl: './feature-list-cropfield.component.html',
|
||||
styleUrls: ['./feature-list-cropfield.component.scss']
|
||||
styleUrls: ['./feature-list-cropfield.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class FeatureListCropfieldComponent extends AbstractFeatureListComponent implements OnInit {
|
||||
|
||||
|
||||
@@ -16,7 +16,8 @@ import { Geometry} from 'ol/geom';
|
||||
@Component({
|
||||
selector: 'fm-map-feature-list-croppingscheme',
|
||||
templateUrl: './feature-list-croppingscheme.component.html',
|
||||
styleUrls: ['./feature-list-croppingscheme.component.scss']
|
||||
styleUrls: ['./feature-list-croppingscheme.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class FeatureListCroppingschemeComponent extends AbstractFeatureListComponent {
|
||||
|
||||
|
||||
@@ -11,7 +11,8 @@ import { WidgetHostDirective } from '../widget-host/widget-host.directive';
|
||||
<div>
|
||||
<ng-template fm-map-widget-host></ng-template>
|
||||
</div>
|
||||
`
|
||||
`,
|
||||
standalone: false
|
||||
})
|
||||
export class FeatureListFeatureContainerComponent {
|
||||
|
||||
|
||||
@@ -15,7 +15,8 @@ import {getArea} from 'ol/sphere';
|
||||
@Component({
|
||||
selector: 'fm-map-feature-list-feature-cropfield',
|
||||
templateUrl: './feature-list-feature-cropfield.component.html',
|
||||
styleUrls: ['./feature-list-feature-cropfield.component.scss']
|
||||
styleUrls: ['./feature-list-feature-cropfield.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class FeatureListFeatureCropfieldComponent extends AbstractFeatureListFeatureComponent {
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@ import { ForItemType } from '../for-item/for-itemtype.decorator';
|
||||
@Component({
|
||||
selector: 'fm-map-feature-list-feature-croppingscheme',
|
||||
templateUrl: './feature-list-feature-croppingscheme.component.html',
|
||||
styleUrls: ['./feature-list-feature-croppingscheme.component.scss']
|
||||
styleUrls: ['./feature-list-feature-croppingscheme.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class FeatureListFeatureCroppingschemeComponent extends AbstractFeatureListFeatureComponent {
|
||||
|
||||
|
||||
@@ -20,7 +20,8 @@ export abstract class AbstractFeatureListFeatureComponent {
|
||||
@Component({
|
||||
selector: 'fm-map-feature-list-feature',
|
||||
templateUrl: './feature-list-feature.component.html',
|
||||
styleUrls: ['./feature-list-feature.component.scss']
|
||||
styleUrls: ['./feature-list-feature.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class FeatureListFeatureComponent extends AbstractFeatureListFeatureComponent {
|
||||
|
||||
|
||||
@@ -14,7 +14,8 @@ import { Observable } from 'rxjs';
|
||||
@Component({
|
||||
selector: 'fm-map-feature-list-observation',
|
||||
templateUrl: './feature-list-observation.component.html',
|
||||
styleUrls: ['./feature-list-observation.component.scss']
|
||||
styleUrls: ['./feature-list-observation.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class FeatureListObservationComponent extends AbstractFeatureListComponent implements OnInit {
|
||||
|
||||
|
||||
@@ -60,7 +60,8 @@ export abstract class AbstractFeatureListComponent {
|
||||
@Component({
|
||||
selector: 'fm-map-feature-list',
|
||||
templateUrl: './feature-list.component.html',
|
||||
styleUrls: ['./feature-list.component.scss']
|
||||
styleUrls: ['./feature-list.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class FeatureListComponent extends AbstractFeatureListComponent {
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@ import * as style from 'ol/style';
|
||||
@Component({
|
||||
selector: 'fm-map-feature-thumbnail',
|
||||
templateUrl: './feature-thumbnail.component.html',
|
||||
styleUrls: ['./feature-thumbnail.component.scss']
|
||||
styleUrls: ['./feature-thumbnail.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class GeometryThumbnailComponent implements AfterViewInit {
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import { MapComponent } from '@farmmaps/ng-openlayers';
|
||||
|
||||
@Directive({
|
||||
selector: '[fmMapIfZoomToShow]',
|
||||
standalone: false
|
||||
})
|
||||
export class ifZoomToShowDirective implements OnInit {
|
||||
@Input()
|
||||
|
||||
@@ -10,7 +10,8 @@ import { IItem, IListItem } from '@farmmaps/common';
|
||||
<div style="height:100%">
|
||||
<ng-template fm-map-widget-host></ng-template>
|
||||
</div>
|
||||
`
|
||||
`,
|
||||
standalone: false
|
||||
})
|
||||
export class ItemListItemContainerComponent {
|
||||
|
||||
|
||||
@@ -43,7 +43,8 @@ export abstract class AbstractItemWidgetComponent {
|
||||
@Component({
|
||||
selector: 'fm-map-item-list-item',
|
||||
templateUrl: './item-list-item.component.html',
|
||||
styleUrls: ['./item-list-item.component.scss']
|
||||
styleUrls: ['./item-list-item.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class ItemListItemComponent extends AbstractItemListItemComponent {
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@ export abstract class AbstractItemListComponent {
|
||||
@Component({
|
||||
selector: 'fm-map-item-list',
|
||||
templateUrl: './item-list.component.html',
|
||||
styleUrls: ['./item-list.component.scss']
|
||||
styleUrls: ['./item-list.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class ItemListComponent extends AbstractItemListComponent {
|
||||
|
||||
|
||||
@@ -10,7 +10,8 @@ import { AbstractItemWidgetComponent } from '../item-list-item/item-list-item.co
|
||||
@Component({
|
||||
selector: 'fm-map-item-widget-list',
|
||||
templateUrl: './item-widget-list.component.html',
|
||||
styleUrls: ['./item-widget-list.component.scss']
|
||||
styleUrls: ['./item-widget-list.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class ItemWidgetListComponent implements AfterViewInit {
|
||||
|
||||
|
||||
@@ -9,7 +9,8 @@ import { filter, map, Observable } from 'rxjs';
|
||||
@Component({
|
||||
selector: 'fm-map-layer-switcher',
|
||||
templateUrl: './layer-switcher.component.html',
|
||||
styleUrls: ['./layer-switcher.component.scss']
|
||||
styleUrls: ['./layer-switcher.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class LayerSwitcher implements OnInit,OnChanges{
|
||||
|
||||
|
||||
@@ -7,7 +7,8 @@ import {IHistogram, ILayer} from '../../../models/color.map';
|
||||
styles: ['.nopadding{\n' +
|
||||
' padding: 0 !important;\n' +
|
||||
' margin: 0 !important;\n' +
|
||||
'}']
|
||||
'}'],
|
||||
standalone: false
|
||||
})
|
||||
export class HistogramDetailsComponent {
|
||||
|
||||
|
||||
@@ -5,7 +5,8 @@ import { IColorMap, IColor, IColorEntry,ILayer, IRenderer } from '../../models/c
|
||||
@Component({
|
||||
selector: 'fm-map-layer-legend',
|
||||
templateUrl: './legend.component.html',
|
||||
styleUrls: ['./legend.component.scss']
|
||||
styleUrls: ['./legend.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class LegendComponent implements OnInit,AfterViewInit {
|
||||
|
||||
|
||||
@@ -7,7 +7,8 @@ import { IStatistics } from '../../../models/color.map';
|
||||
styles: ['.nopadding{\n' +
|
||||
' padding: 0 !important;\n' +
|
||||
' margin: 0 !important;\n' +
|
||||
'}']
|
||||
'}'],
|
||||
standalone: false
|
||||
})
|
||||
export class StatisticsDetailsComponent {
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ div.map-search {
|
||||
}
|
||||
|
||||
.disabled {
|
||||
color:lighten(#000000,80%);
|
||||
color:adjust(#000000,80%);
|
||||
}
|
||||
|
||||
:host ::ng-deep ngb-typeahead-window.dropdown-menu {
|
||||
|
||||
@@ -9,7 +9,8 @@ import { tassign } from 'tassign';
|
||||
@Component({
|
||||
selector: 'fm-map-map-search',
|
||||
templateUrl: './map-search.component.html',
|
||||
styleUrls: ['./map-search.component.scss']
|
||||
styleUrls: ['./map-search.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class MapSearchComponent {
|
||||
|
||||
|
||||
@@ -41,7 +41,8 @@ import * as style from 'ol/style';
|
||||
@Component({
|
||||
selector: 'fm-map-map',
|
||||
templateUrl: './map.component.html',
|
||||
styleUrls: ['./map.component.scss']
|
||||
styleUrls: ['./map.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
|
||||
export class MapComponent implements OnInit, OnDestroy, AfterViewInit {
|
||||
|
||||
@@ -11,7 +11,8 @@ export interface IMetaData {
|
||||
|
||||
@Component({
|
||||
selector: 'fm-map-meta-data-modal',
|
||||
templateUrl: 'meta-data-modal.component.html'
|
||||
templateUrl: 'meta-data-modal.component.html',
|
||||
standalone: false
|
||||
})
|
||||
export class MetaDataModalComponent {
|
||||
|
||||
|
||||
@@ -18,7 +18,8 @@ const after = (one: NgbDateStruct, two: NgbDateStruct) =>
|
||||
@Component({
|
||||
selector: 'fm-map-select-period-modal',
|
||||
templateUrl: 'select-period-modal.component.html',
|
||||
styleUrls: ['select-period-modal.component.scss']
|
||||
styleUrls: ['select-period-modal.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class SelectPeriodModalComponent {
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@ import { IItemLayer } from '../../models/item.layer';
|
||||
@Component({
|
||||
selector: 'fm-map-selected-item-container',
|
||||
templateUrl: './selected-item-container.component.html',
|
||||
styleUrls: ['./selected-item-container.component.scss']
|
||||
styleUrls: ['./selected-item-container.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class SelectedItemContainerComponent {
|
||||
|
||||
|
||||
@@ -18,7 +18,8 @@ import { withLatestFrom,switchMap,combineLatest } from 'rxjs/operators';
|
||||
@Component({
|
||||
selector: 'fm-map-selected-item-cropfield',
|
||||
templateUrl: './selected-item-cropfield.component.html',
|
||||
styleUrls: ['./selected-item-cropfield.component.scss']
|
||||
styleUrls: ['./selected-item-cropfield.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class SelectedItemCropfieldComponent extends AbstractSelectedItemComponent implements OnInit{
|
||||
|
||||
|
||||
@@ -15,7 +15,8 @@ import { AbstractSelectedItemComponent } from '../selected-item/selected-item.co
|
||||
@Component({
|
||||
selector: 'fm-map-selected-item-geotiff',
|
||||
templateUrl: './selected-item-geotiff.component.html',
|
||||
styleUrls: ['./selected-item-geotiff.component.scss']
|
||||
styleUrls: ['./selected-item-geotiff.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class SelectedItemGeotiffComponent extends AbstractSelectedItemComponent implements OnDestroy {
|
||||
sub: Subscription;
|
||||
|
||||
@@ -15,7 +15,8 @@ import { Subscription } from 'rxjs';
|
||||
@Component({
|
||||
selector: 'fm-map-selected-item-shape',
|
||||
templateUrl: './selected-item-shape.component.html',
|
||||
styleUrls: ['./selected-item-shape.component.scss']
|
||||
styleUrls: ['./selected-item-shape.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class SelectedItemShapeComponent extends AbstractSelectedItemComponent implements OnDestroy {
|
||||
public selectedLayer = 0;
|
||||
|
||||
@@ -16,7 +16,8 @@ import { AbstractSelectedItemComponent } from '../selected-item/selected-item.co
|
||||
@Component({
|
||||
selector: 'fm-map-selected-item-temporal',
|
||||
templateUrl: './selected-item-temporal.component.html',
|
||||
styleUrls: ['./selected-item-temporal.component.scss']
|
||||
styleUrls: ['./selected-item-temporal.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class SelectedItemTemporalComponent extends AbstractSelectedItemComponent implements OnDestroy {
|
||||
sub: Subscription;
|
||||
|
||||
@@ -77,7 +77,8 @@ export abstract class AbstractSelectedItemComponent {
|
||||
@Component({
|
||||
selector: 'fm-map-selected-item',
|
||||
templateUrl: './selected-item.component.html',
|
||||
styleUrls: ['./selected-item.component.scss']
|
||||
styleUrls: ['./selected-item.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class SelectedItemComponent extends AbstractSelectedItemComponent {
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ import { Directive, ViewContainerRef } from '@angular/core';
|
||||
|
||||
@Directive({
|
||||
selector: '[fm-map-widget-host]',
|
||||
standalone: false
|
||||
})
|
||||
export class WidgetHostDirective {
|
||||
constructor(public viewContainerRef: ViewContainerRef) { }
|
||||
|
||||
@@ -3,7 +3,8 @@ import { Component, OnInit, Input } from '@angular/core';
|
||||
@Component({
|
||||
selector: 'fm-map-widget-status',
|
||||
templateUrl: './widget-status.component.html',
|
||||
styleUrls: ['./widget-status.component.css']
|
||||
styleUrls: ['./widget-status.component.css'],
|
||||
standalone: false
|
||||
})
|
||||
export class WidgetStatusComponent implements OnInit {
|
||||
@Input() stage: Stage;
|
||||
|
||||
@@ -4,7 +4,8 @@ import { Source } from 'ol/source';
|
||||
|
||||
@Component({
|
||||
selector: 'fm-map-zoom-to-show-alert',
|
||||
template: '<div *fmMapIfZoomToShow="layer$" class="alert alert-info"><i class="fas fa-search-plus" aria-hidden="true" i18n-title title="Add as layer"></i> <span i18n>Zoom in to show layer</span></div>'
|
||||
template: '<div *fmMapIfZoomToShow="layer$" class="alert alert-info"><i class="fas fa-search-plus" aria-hidden="true" i18n-title title="Add as layer"></i> <span i18n>Zoom in to show layer</span></div>',
|
||||
standalone: false
|
||||
})
|
||||
export class ZoomToShowAlert {
|
||||
public layer$: Layer<Source>;
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "18.2.3",
|
||||
"@angular/core": "18.2.3",
|
||||
"@angular/common": "19.2.18",
|
||||
"@angular/core": "19.2.18",
|
||||
"cesium": "^1.97.0",
|
||||
"ol-cesium": ">=2.13.0"
|
||||
}
|
||||
|
||||
@@ -10,7 +10,8 @@ import { Store } from '@ngrx/store';
|
||||
@Component({
|
||||
selector: 'fm-map3d-switch2d3d',
|
||||
templateUrl: './switch2d3d.component.html',
|
||||
styleUrls: ['./switch2d3d.component.scss']
|
||||
styleUrls: ['./switch2d3d.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class Switch2D3DComponent {
|
||||
|
||||
|
||||
@@ -5,20 +5,20 @@
|
||||
"registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ng-bootstrap/ng-bootstrap": "^17.0.1",
|
||||
"@angular/common": "18.2.3",
|
||||
"@angular/core": "18.2.3",
|
||||
"@angular/forms": "18.2.3",
|
||||
"@ngrx/effects": "^18.0.2",
|
||||
"@ngrx/router-store": "^18.0.2",
|
||||
"@ngrx/store": "^18.0.2",
|
||||
"@ng-bootstrap/ng-bootstrap": "^18.0.0",
|
||||
"@angular/common": "19.2.18",
|
||||
"@angular/core": "19.2.18",
|
||||
"@angular/forms": "19.2.18",
|
||||
"@ngrx/effects": "19.2.1",
|
||||
"@ngrx/router-store": "19.2.1",
|
||||
"@ngrx/store": "19.2.1",
|
||||
"tassign": "^1.0.0",
|
||||
"bootstrap": "^5.3.3",
|
||||
"@microsoft/signalr": "^3.1.16",
|
||||
"ngx-uploadx": "^6.2.0",
|
||||
"ngx-uploadx": "7.0.1",
|
||||
"angular-oauth2-oidc": "^17.0.2",
|
||||
"moment": "^2.29.4",
|
||||
"ngx-avatars": "^1.8.0",
|
||||
"ngx-avatars": "1.9.3",
|
||||
"ngx-image-cropper": "^7.0.0",
|
||||
"ngx-clipboard": "^16.0.0"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// angular modules
|
||||
import { NgModule, APP_INITIALIZER, ModuleWithProviders, Injector, Optional, SkipSelf } from '@angular/core';
|
||||
import { NgModule, ModuleWithProviders, Injector, Optional, SkipSelf, inject, provideAppInitializer } from '@angular/core';
|
||||
import { DatePipe } from '@angular/common';
|
||||
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
||||
|
||||
@@ -90,12 +90,10 @@ export class AppCommonServiceModule {
|
||||
providers: [
|
||||
AppConfig,
|
||||
ItemTypeService,
|
||||
{
|
||||
provide: APP_INITIALIZER,
|
||||
useFactory: appConfigFactory,
|
||||
deps: [Injector, AppConfig, OAuthService, AuthConfigFactory, OAuthStorage, ItemTypeService],
|
||||
multi: true
|
||||
},
|
||||
provideAppInitializer(() => {
|
||||
const initializerFn = (appConfigFactory)(inject(Injector), inject(AppConfig), inject(OAuthService), inject(AuthConfigFactory), inject(OAuthStorage), inject(ItemTypeService));
|
||||
return initializerFn();
|
||||
}),
|
||||
{
|
||||
provide: HTTP_INTERCEPTORS,
|
||||
useClass: AccessTokenInterceptor,
|
||||
|
||||
@@ -8,7 +8,8 @@ import * as appActions from '../../actions/app-common.actions';
|
||||
@Component({
|
||||
selector: 'fm-app-menu',
|
||||
templateUrl: './app-menu.component.html',
|
||||
styleUrls: ['./app-menu.component.scss']
|
||||
styleUrls: ['./app-menu.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class AppMenuComponent implements OnInit {
|
||||
|
||||
|
||||
@@ -24,7 +24,8 @@ import * as appReducers from '../../reducers/app-common.reducer';
|
||||
templateUrl: './app.component.html',
|
||||
styleUrls: ['./app.component.scss'],
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
changeDetection: ChangeDetectionStrategy.OnPush
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
standalone: false
|
||||
})
|
||||
export class AppComponent implements OnInit, OnDestroy {
|
||||
|
||||
|
||||
@@ -5,7 +5,8 @@ import { Location} from '@angular/common';
|
||||
|
||||
@Component({
|
||||
selector: 'fm-auth-callback',
|
||||
template:'<div></div>'
|
||||
template: '<div></div>',
|
||||
standalone: false
|
||||
})
|
||||
export class AuthCallbackComponent {
|
||||
|
||||
|
||||
@@ -5,7 +5,8 @@ import { AppConfig } from '../../shared/app.config';
|
||||
@Component({
|
||||
selector: 'fm-avatar',
|
||||
templateUrl: './avatar.component.html',
|
||||
styleUrls: ['./avatar.component.css']
|
||||
styleUrls: ['./avatar.component.css'],
|
||||
standalone: false
|
||||
})
|
||||
export class AvatarComponent implements OnInit {
|
||||
|
||||
|
||||
@@ -5,7 +5,8 @@ import { DeviceService } from '../../services/device.service';
|
||||
@Component({
|
||||
selector: 'fm-back-button',
|
||||
templateUrl: './back-button.component.html',
|
||||
styleUrls: ['./back-button.component.scss']
|
||||
styleUrls: ['./back-button.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class BackButtonComponent {
|
||||
@Output() beforeLocationBack = new EventEmitter();
|
||||
|
||||
@@ -7,7 +7,8 @@ import {ImageService } from '../../services/image.service';
|
||||
@Component({
|
||||
selector: 'fm-edit-image-modal',
|
||||
templateUrl: './edit-image-modal.component.html',
|
||||
styleUrls: ['./edit-image-modal.component.scss']
|
||||
styleUrls: ['./edit-image-modal.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class EditImageModalComponent implements OnInit {
|
||||
|
||||
|
||||
@@ -4,7 +4,8 @@ import { IItem } from '../../models/item';
|
||||
@Component({
|
||||
selector: 'fm-gradient-select',
|
||||
templateUrl: './gradient-select.component.html',
|
||||
styleUrls: ['./gradient-select.component.scss']
|
||||
styleUrls: ['./gradient-select.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class GradientSelectComponent implements OnChanges {
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@ import { GradientService } from '../../common-service.module';
|
||||
@Component({
|
||||
selector: 'fm-gradient',
|
||||
templateUrl: './gradient.component.html',
|
||||
styleUrls: ['./gradient.component.scss']
|
||||
styleUrls: ['./gradient.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class GradientComponent implements OnInit,OnChanges {
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import { IUser } from '../../models/user';
|
||||
|
||||
@Directive({
|
||||
selector: '[fm-hasclaim]',
|
||||
standalone: false
|
||||
})
|
||||
export class HasClaimDirective implements OnInit{
|
||||
@Input('fm-hasclaim') claim:string;
|
||||
|
||||
@@ -6,6 +6,7 @@ import {Store} from '@ngrx/store';
|
||||
|
||||
@Directive({
|
||||
selector: '[fmHasPackage]',
|
||||
standalone: false
|
||||
})
|
||||
export class HasPackageDirective implements OnDestroy, AfterViewInit {
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import { IUser } from '../../models/user';
|
||||
|
||||
@Directive({
|
||||
selector: '[fmHasRole]',
|
||||
standalone: false
|
||||
})
|
||||
export class HasRoleDirective implements OnInit, OnDestroy{
|
||||
@Input('fmHasRole') role:string;
|
||||
|
||||
@@ -9,7 +9,8 @@ import * as appActions from '../../actions/app-common.actions';
|
||||
@Component({
|
||||
selector: 'fm-help-menu',
|
||||
templateUrl: './help-menu.component.html',
|
||||
styleUrls: ['./help-menu.component.scss']
|
||||
styleUrls: ['./help-menu.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class HelpMenuComponent implements OnInit {
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@ import { ClipboardService } from 'ngx-clipboard'
|
||||
|
||||
@Component({
|
||||
selector: 'fm-item-link',
|
||||
templateUrl: './item-link.component.html'
|
||||
templateUrl: './item-link.component.html',
|
||||
standalone: false
|
||||
})
|
||||
export class ItemLinkComponent implements OnDestroy {
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import * as commonActions from '../../actions/app-common.actions';
|
||||
selector: 'fm-menu-background',
|
||||
templateUrl: './menu-background.component.html',
|
||||
styleUrls: ['./menu-background.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class MenuBackgroundComponent implements OnInit {
|
||||
@Input() visible = false;
|
||||
|
||||
@@ -4,6 +4,8 @@ import { Component, OnInit } from '@angular/core';
|
||||
selector: 'fm-not-found',
|
||||
templateUrl: './not-found.component.html'
|
||||
// styleUrls: ['./not-found.component.css']
|
||||
,
|
||||
standalone: false
|
||||
})
|
||||
export class NotFoundComponent implements OnInit {
|
||||
constructor() { }
|
||||
|
||||
@@ -2,7 +2,8 @@ import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'fm-not-implemented',
|
||||
templateUrl: './not-implemented.component.html'
|
||||
templateUrl: './not-implemented.component.html',
|
||||
standalone: false
|
||||
})
|
||||
export class NotImplementedComponent implements OnInit {
|
||||
constructor() { }
|
||||
|
||||
@@ -8,7 +8,8 @@ import * as appActions from '../../actions/app-common.actions';
|
||||
@Component({
|
||||
selector: 'fm-notification-menu',
|
||||
templateUrl: './notification-menu.component.html',
|
||||
styleUrls: ['./notification-menu.component.scss']
|
||||
styleUrls: ['./notification-menu.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class NotificationMenuComponent implements OnInit {
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import {Store} from '@ngrx/store';
|
||||
|
||||
@Directive({
|
||||
selector: '[fmPackageExists]',
|
||||
standalone: false
|
||||
})
|
||||
export class PackageExistsDirective implements OnDestroy, AfterViewInit {
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ div.card-header span.fa {
|
||||
|
||||
.upload-file .progress-container .progress-bar {
|
||||
display: block;
|
||||
background-color: color("green");
|
||||
background-color: green;
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
}
|
||||
@@ -84,7 +84,7 @@ div.card-header span.fa {
|
||||
}
|
||||
|
||||
.upload-file.done > div > span.fa-check {
|
||||
color: color("green");
|
||||
color: green;
|
||||
width: 20px;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
|
||||
@@ -9,7 +9,8 @@ import * as commonActions from '../../actions/app-common.actions';
|
||||
@Component({
|
||||
selector: 'fm-resumable-file-upload',
|
||||
templateUrl: './resumable-file-upload.component.html',
|
||||
styleUrls: ['./resumable-file-upload.component.scss']
|
||||
styleUrls: ['./resumable-file-upload.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
|
||||
export class ResumableFileUploadComponent implements OnInit, OnDestroy {
|
||||
|
||||
@@ -9,7 +9,8 @@ import * as appCommonActions from '../../actions/app-common.actions';
|
||||
@Component({
|
||||
selector: 'fm-session-cleared',
|
||||
templateUrl: 'session-cleared.component.html',
|
||||
styleUrls: ['session-cleared.component.scss']
|
||||
styleUrls: ['session-cleared.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,8 @@ import * as appActions from '../../actions/app-common.actions';
|
||||
@Component({
|
||||
selector: 'fm-setting-menu',
|
||||
templateUrl: './setting-menu.component.html',
|
||||
styleUrls: ['./setting-menu.component.scss']
|
||||
styleUrls: ['./setting-menu.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class SettingMenuComponent implements OnInit {
|
||||
|
||||
|
||||
@@ -3,7 +3,8 @@ import { Component, Input,Output,ViewChild,EventEmitter, ElementRef,OnChanges,Si
|
||||
@Component({
|
||||
selector: 'fm-side-panel',
|
||||
templateUrl: 'side-panel.component.html',
|
||||
styleUrls: ['side-panel.component.scss']
|
||||
styleUrls: ['side-panel.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
|
||||
|
||||
|
||||
@@ -15,7 +15,8 @@ import {NgbTypeahead} from '@ng-bootstrap/ng-bootstrap';
|
||||
useExisting: forwardRef(() => TagInputComponent),
|
||||
multi: true
|
||||
}
|
||||
]
|
||||
],
|
||||
standalone: false
|
||||
})
|
||||
|
||||
export class TagInputComponent implements ControlValueAccessor {
|
||||
|
||||
@@ -10,7 +10,8 @@ import { AppConfig } from "../../shared/app.config";
|
||||
@Component({
|
||||
selector: 'fm-thumbnail',
|
||||
templateUrl: 'thumbnail.component.html',
|
||||
styleUrls: ['thumbnail.component.scss']
|
||||
styleUrls: ['thumbnail.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
|
||||
|
||||
|
||||
@@ -10,7 +10,8 @@ export interface TimeSpan {
|
||||
@Component({
|
||||
selector: 'fm-timespan',
|
||||
templateUrl: './timespan.component.html',
|
||||
styleUrls: ['./timespan.component.css']
|
||||
styleUrls: ['./timespan.component.css'],
|
||||
standalone: false
|
||||
})
|
||||
export class TimespanComponent implements OnInit, OnChanges {
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@ import * as appActions from '../../actions/app-common.actions';
|
||||
@Component({
|
||||
selector: 'fm-user-menu',
|
||||
templateUrl: './user-menu.component.html',
|
||||
styleUrls: ['./user-menu.component.scss']
|
||||
styleUrls: ['./user-menu.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class UserMenuComponent implements OnInit {
|
||||
|
||||
|
||||
@@ -2,7 +2,8 @@ import { Pipe, PipeTransform } from '@angular/core';
|
||||
import { DomSanitizer } from '@angular/platform-browser';
|
||||
|
||||
@Pipe({
|
||||
name: 'safe'
|
||||
name: 'safe',
|
||||
standalone: false
|
||||
})
|
||||
export class SafePipe implements PipeTransform {
|
||||
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "18.2.3",
|
||||
"@angular/core": "18.2.3",
|
||||
"@angular/common": "19.2.18",
|
||||
"@angular/core": "19.2.18",
|
||||
"ol": "^8.2.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import { Component, ElementRef, OnInit } from '@angular/core';
|
||||
@Component({
|
||||
selector: 'aol-attribution',
|
||||
template: '<ng-content></ng-content>',
|
||||
standalone: false
|
||||
})
|
||||
export class AttributionComponent implements OnInit {
|
||||
label: string;
|
||||
|
||||
@@ -5,6 +5,7 @@ import { AttributionComponent } from './attribution.component';
|
||||
@Component({
|
||||
selector: 'aol-attributions',
|
||||
template: '<ng-content></ng-content>',
|
||||
standalone: false
|
||||
})
|
||||
export class AttributionsComponent implements AfterViewInit {
|
||||
@ContentChildren(AttributionComponent)
|
||||
|
||||
@@ -11,6 +11,7 @@ import { transform } from 'ol/proj';
|
||||
@Component({
|
||||
selector: 'aol-collection-coordinates',
|
||||
template: ` <div class="aol-collection-coordinates"></div> `,
|
||||
standalone: false
|
||||
})
|
||||
export class CollectionCoordinatesComponent implements OnChanges, OnInit {
|
||||
@Input()
|
||||
|
||||
@@ -3,6 +3,7 @@ import { Component, ElementRef } from '@angular/core';
|
||||
@Component({
|
||||
selector: 'aol-content',
|
||||
template: '<ng-content></ng-content>',
|
||||
standalone: false
|
||||
})
|
||||
export class ContentComponent {
|
||||
constructor(public elementRef: ElementRef) {}
|
||||
|
||||
@@ -5,6 +5,7 @@ import { MapComponent } from '../map.component';
|
||||
@Component({
|
||||
selector: 'aol-control-attribution',
|
||||
template: ``,
|
||||
standalone: false
|
||||
})
|
||||
export class ControlAttributionComponent implements OnInit, OnDestroy {
|
||||
@Input()
|
||||
|
||||
@@ -6,6 +6,7 @@ import { ContentComponent } from '../content.component';
|
||||
@Component({
|
||||
selector: 'aol-control',
|
||||
template: ` <ng-content></ng-content> `,
|
||||
standalone: false
|
||||
})
|
||||
export class ControlComponent implements OnInit, OnDestroy {
|
||||
@ContentChild(ContentComponent, { static: true })
|
||||
|
||||
@@ -10,6 +10,7 @@ import { MapComponent } from '../map.component';
|
||||
@Component({
|
||||
selector: 'aol-control-defaults',
|
||||
template: '',
|
||||
standalone: false
|
||||
})
|
||||
export class DefaultControlComponent implements OnInit, OnDestroy {
|
||||
@Input()
|
||||
|
||||
@@ -5,6 +5,7 @@ import { MapComponent } from '../map.component';
|
||||
@Component({
|
||||
selector: 'aol-control-fullscreen',
|
||||
template: ` <ng-content></ng-content> `,
|
||||
standalone: false
|
||||
})
|
||||
export class ControlFullScreenComponent implements OnInit, OnDestroy {
|
||||
@Input()
|
||||
|
||||
@@ -7,6 +7,7 @@ import { ProjectionLike } from 'ol/proj';
|
||||
@Component({
|
||||
selector: 'aol-control-mouseposition',
|
||||
template: ``,
|
||||
standalone: false
|
||||
})
|
||||
export class ControlMousePositionComponent implements OnInit, OnDestroy {
|
||||
@Input()
|
||||
|
||||
@@ -7,6 +7,7 @@ import { MapComponent } from '../map.component';
|
||||
@Component({
|
||||
selector: 'aol-control-overviewmap',
|
||||
template: ` <ng-content></ng-content> `,
|
||||
standalone: false
|
||||
})
|
||||
export class ControlOverviewMapComponent implements OnInit, OnChanges, OnDestroy {
|
||||
@Input()
|
||||
|
||||
@@ -5,6 +5,7 @@ import { MapComponent } from '../map.component';
|
||||
@Component({
|
||||
selector: 'aol-control-rotate',
|
||||
template: ` <ng-content></ng-content> `,
|
||||
standalone: false
|
||||
})
|
||||
export class ControlRotateComponent implements OnInit, OnDestroy {
|
||||
@Input()
|
||||
|
||||
@@ -6,6 +6,7 @@ import { Units } from 'ol/control/ScaleLine';
|
||||
@Component({
|
||||
selector: 'aol-control-scaleline',
|
||||
template: ` <ng-content></ng-content> `,
|
||||
standalone: false
|
||||
})
|
||||
export class ControlScaleLineComponent implements OnInit, OnDestroy {
|
||||
@Input()
|
||||
|
||||
@@ -5,6 +5,7 @@ import { MapComponent } from '../map.component';
|
||||
@Component({
|
||||
selector: 'aol-control-zoom',
|
||||
template: ` <ng-content></ng-content> `,
|
||||
standalone: false
|
||||
})
|
||||
export class ControlZoomComponent implements OnInit, OnDestroy {
|
||||
@Input()
|
||||
|
||||
@@ -5,6 +5,7 @@ import { MapComponent } from '../map.component';
|
||||
@Component({
|
||||
selector: 'aol-control-zoomslider',
|
||||
template: ` <ng-content></ng-content> `,
|
||||
standalone: false
|
||||
})
|
||||
export class ControlZoomSliderComponent implements OnInit, OnDestroy {
|
||||
@Input()
|
||||
|
||||
@@ -6,6 +6,7 @@ import { Extent } from 'ol/extent';
|
||||
@Component({
|
||||
selector: 'aol-control-zoomtoextent',
|
||||
template: ` <ng-content></ng-content> `,
|
||||
standalone: false
|
||||
})
|
||||
export class ControlZoomToExtentComponent implements OnInit, OnDestroy {
|
||||
@Input()
|
||||
|
||||
@@ -9,6 +9,7 @@ import { OverlayComponent } from './overlay.component';
|
||||
@Component({
|
||||
selector: 'aol-coordinate',
|
||||
template: ` <div class="aol-coordinate"></div> `,
|
||||
standalone: false
|
||||
})
|
||||
export class CoordinateComponent implements OnChanges, OnInit {
|
||||
@Input()
|
||||
|
||||
@@ -5,6 +5,7 @@ import { SourceVectorComponent } from './sources/vector.component';
|
||||
@Component({
|
||||
selector: 'aol-feature',
|
||||
template: ` <ng-content></ng-content> `,
|
||||
standalone: false
|
||||
})
|
||||
export class FeatureComponent implements OnInit, OnDestroy, OnChanges {
|
||||
@Input()
|
||||
|
||||
@@ -7,6 +7,7 @@ import { FeatureClass } from 'ol/Feature';
|
||||
selector: 'aol-format-mvt',
|
||||
template: '',
|
||||
providers: [{ provide: FormatComponent, useExisting: forwardRef(() => FormatMVTComponent) }],
|
||||
standalone: false
|
||||
})
|
||||
export class FormatMVTComponent extends FormatComponent {
|
||||
@Input()
|
||||
|
||||
@@ -7,6 +7,7 @@ import { MapComponent } from '../map.component';
|
||||
@Component({
|
||||
selector: 'aol-geometry-circle',
|
||||
template: ` <ng-content></ng-content> `,
|
||||
standalone: false
|
||||
})
|
||||
export class GeometryCircleComponent extends SimpleGeometryComponent implements OnInit {
|
||||
@Input()
|
||||
|
||||
@@ -7,6 +7,7 @@ import { LineString } from 'ol/geom';
|
||||
@Component({
|
||||
selector: 'aol-geometry-linestring',
|
||||
template: ` <ng-content></ng-content> `,
|
||||
standalone: false
|
||||
})
|
||||
export class GeometryLinestringComponent extends SimpleGeometryComponent implements OnInit {
|
||||
public componentType = 'geometry-linestring';
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user