diff --git a/projects/common-map/src/fm-map/common-map.module.ts b/projects/common-map/src/fm-map/common-map.module.ts index 32d68c8..1074bf8 100644 --- a/projects/common-map/src/fm-map/common-map.module.ts +++ b/projects/common-map/src/fm-map/common-map.module.ts @@ -36,10 +36,12 @@ import { RotationResetComponent } from './components/aol/rotation-reset/rotation import { ZoomToExtentComponent } from './components/aol/zoom-to-extent/zoom-to-extent.component'; import { FeatureListContainerComponent } from './components/feature-list-container/feature-list-container.component'; import { FeatureListCropfieldComponent } from './components/feature-list-cropfield/feature-list-cropfield.component'; +import { FeatureListObservationComponent } from './components/feature-list-observation/feature-list-observation.component'; import { FeatureListCroppingschemeComponent } from './components/feature-list-croppingscheme/feature-list-croppingscheme.component'; import { FeatureListFeatureContainerComponent } from './components/feature-list-feature-container/feature-list-feature-container.component'; import { FeatureListFeatureCropfieldComponent } from './components/feature-list-feature-cropfield/feature-list-feature-cropfield.component'; import { FeatureListFeatureCroppingschemeComponent } from './components/feature-list-feature-croppingscheme/feature-list-feature-croppingscheme.component'; +import { FeatureListFeatureObservationComponent } from './components/feature-list-feature-observation/feature-list-feature-observation.component'; import { AbstractFeatureListFeatureComponent, FeatureListFeatureComponent } from './components/feature-list-feature/feature-list-feature.component'; import { AbstractFeatureListComponent, FeatureListComponent } from './components/feature-list/feature-list.component'; import { GeometryThumbnailComponent } from './components/feature-thumbnail/feature-thumbnail.component'; @@ -105,7 +107,7 @@ const metaReducers: Array> = [LocalStorageSync]; export { AbstractFeatureListComponent, - AbstractFeatureListFeatureComponent, AbstractItemListComponent, AbstractItemListItemComponent, AbstractItemWidgetComponent, AbstractSelectedItemComponent, DeviceOrientationService, FeatureIconService, FeatureListComponent, FeatureListContainerComponent, FeatureListCropfieldComponent, FeatureListCroppingschemeComponent, FeatureListFeatureComponent, FeatureListFeatureContainerComponent, FeatureListFeatureCropfieldComponent, FeatureListFeatureCroppingschemeComponent, FileDropTargetComponent, ForChild, + AbstractFeatureListFeatureComponent, AbstractItemListComponent, AbstractItemListItemComponent, AbstractItemWidgetComponent, AbstractSelectedItemComponent, DeviceOrientationService, FeatureIconService, FeatureListComponent, FeatureListContainerComponent, FeatureListCropfieldComponent, FeatureListObservationComponent, FeatureListCroppingschemeComponent, FeatureListFeatureComponent, FeatureListFeatureContainerComponent, FeatureListFeatureCropfieldComponent, FeatureListFeatureObservationComponent, FeatureListFeatureCroppingschemeComponent, FileDropTargetComponent, ForChild, ForItemType, ForPackage, ForSourceTask, GeolocationService, GeometryThumbnailComponent, GpsLocation, IClickedFeature, ifZoomToShowDirective, IItemLayer, IMapState, IPeriodState, ISelectedFeatures, ItemLayer, ItemLayersComponent, ItemListComponent, ItemListItemComponent, ItemListItemContainerComponent, ITemporalItemLayer, ItemVectorSourceComponent, ItemWidgetListComponent, LayerListComponent, LayerSwitcher, LayerVectorImageComponent, LegendComponent, mapActions, MapComponent, mapEffects, mapReducers, MapSearchComponent, MetaDataModalComponent, PanToLocation, RotationResetComponent, SelectedItemComponent, SelectedItemContainerComponent, SelectedItemCropfieldComponent, @@ -142,10 +144,12 @@ export { FeatureListContainerComponent, FeatureListCroppingschemeComponent, FeatureListCropfieldComponent, + FeatureListObservationComponent, FeatureListFeatureContainerComponent, FeatureListFeatureComponent, FeatureListFeatureCroppingschemeComponent, FeatureListFeatureCropfieldComponent, + FeatureListFeatureObservationComponent, SelectedItemContainerComponent, SelectedItemComponent, SelectedItemCropfieldComponent, @@ -178,6 +182,7 @@ export { LayerSwitcher, FeatureListFeatureComponent, FeatureListFeatureCropfieldComponent, + FeatureListFeatureObservationComponent, FeatureListFeatureCroppingschemeComponent, SelectedItemContainerComponent, SelectedItemComponent, @@ -201,6 +206,7 @@ export { FeatureListContainerComponent, FeatureListCroppingschemeComponent, FeatureListCropfieldComponent, + FeatureListObservationComponent, FeatureListFeatureContainerComponent, ZoomToExtentComponent, ifZoomToShowDirective, @@ -214,9 +220,11 @@ export { TemporalService, { provide: AbstractFeatureListComponent, useClass: FeatureListCroppingschemeComponent, multi: true }, { provide: AbstractFeatureListComponent, useClass: FeatureListCropfieldComponent, multi: true }, + { provide: AbstractFeatureListComponent, useClass: FeatureListObservationComponent, multi: true }, { provide: AbstractFeatureListFeatureComponent, useClass: FeatureListFeatureComponent, multi: true }, { provide: AbstractFeatureListFeatureComponent, useClass: FeatureListFeatureCroppingschemeComponent, multi: true }, { provide: AbstractFeatureListFeatureComponent, useClass: FeatureListFeatureCropfieldComponent, multi: true }, + { provide: AbstractFeatureListFeatureComponent, useClass: FeatureListFeatureObservationComponent, multi: true }, { provide: AbstractSelectedItemComponent, useClass: SelectedItemComponent, multi: true }, { provide: AbstractSelectedItemComponent, useClass: SelectedItemCropfieldComponent, multi: true }, { provide: AbstractSelectedItemComponent, useClass: SelectedItemGeotiffComponent, multi: true }, diff --git a/projects/common-map/src/fm-map/components/feature-list-feature-observation/feature-list-feature-observation.component.html b/projects/common-map/src/fm-map/components/feature-list-feature-observation/feature-list-feature-observation.component.html new file mode 100644 index 0000000..edf13e5 --- /dev/null +++ b/projects/common-map/src/fm-map/components/feature-list-feature-observation/feature-list-feature-observation.component.html @@ -0,0 +1,10 @@ +
+
+
+ +
+
+

{{feature.get('name')}}

+
+
+
\ No newline at end of file diff --git a/projects/common-map/src/fm-map/components/feature-list-feature-observation/feature-list-feature-observation.component.scss b/projects/common-map/src/fm-map/components/feature-list-feature-observation/feature-list-feature-observation.component.scss new file mode 100644 index 0000000..0af39a5 --- /dev/null +++ b/projects/common-map/src/fm-map/components/feature-list-feature-observation/feature-list-feature-observation.component.scss @@ -0,0 +1,22 @@ +.card-title { + font-size: 1rem; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.card-text { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.col { + overflow: hidden; +} + +.thumbnail { + width: 4em; + height: 4em; +} + diff --git a/projects/common-map/src/fm-map/components/feature-list-feature-observation/feature-list-feature-observation.component.ts b/projects/common-map/src/fm-map/components/feature-list-feature-observation/feature-list-feature-observation.component.ts new file mode 100644 index 0000000..2c02cbb --- /dev/null +++ b/projects/common-map/src/fm-map/components/feature-list-feature-observation/feature-list-feature-observation.component.ts @@ -0,0 +1,29 @@ +import { Component, Injectable } from '@angular/core'; +import { AppConfig, commonReducers, ItemTypeService } from '@farmmaps/common'; +import { Store } from '@ngrx/store'; +import { Feature } from 'ol'; +import { Geometry } from 'ol/geom'; +import * as mapReducers from '../../reducers/map.reducer'; +import { AbstractFeatureListFeatureComponent } from '../feature-list-feature/feature-list-feature.component'; +import { ForItemType } from '../for-item/for-itemtype.decorator'; + +@ForItemType("vnd.farmmaps.itemtype.observation") +@Injectable() +@Component({ + selector: 'fm-map-feature-list-feature-observation', + templateUrl: './feature-list-feature-observation.component.html', + styleUrls: ['./feature-list-feature-observation.component.scss'] +}) +export class FeatureListFeatureObservationComponent extends AbstractFeatureListFeatureComponent { + + constructor(store: Store, itemTypeService: ItemTypeService,config:AppConfig) { + super(store, itemTypeService,config); + } + + getSource(feature: Feature): string { + let source = "/images/decease.png"; + var type = feature.get('type'); + source = '/images/' + type + '.png'; + return source; + } +} diff --git a/projects/common-map/src/fm-map/components/feature-list-observation/feature-list-observation.component.html b/projects/common-map/src/fm-map/components/feature-list-observation/feature-list-observation.component.html new file mode 100644 index 0000000..d5f6532 --- /dev/null +++ b/projects/common-map/src/fm-map/components/feature-list-observation/feature-list-observation.component.html @@ -0,0 +1,14 @@ +
+
+ +

Farm

+

{{schemeItem.name}}

+
+
+
+ +
+
+
+
+
diff --git a/projects/common-map/src/fm-map/components/feature-list-observation/feature-list-observation.component.scss b/projects/common-map/src/fm-map/components/feature-list-observation/feature-list-observation.component.scss new file mode 100644 index 0000000..5db84ec --- /dev/null +++ b/projects/common-map/src/fm-map/components/feature-list-observation/feature-list-observation.component.scss @@ -0,0 +1,20 @@ +fm-map-feature-list-feature-container { + width:100%; + pointer-events:none; +} + +.row { + border-bottom: 1px solid var(--bs-gray-500); + user-select: none; + padding-left:1.5rem; +} + +.row.selected { + background-color: var(--bs-gray-100); +} + +.cropfields { + border-top: 1px solid var(--bs-gray-500); + margin-left: -1.25rem; + margin-right: -1.25rem; +} diff --git a/projects/common-map/src/fm-map/components/feature-list-observation/feature-list-observation.component.ts b/projects/common-map/src/fm-map/components/feature-list-observation/feature-list-observation.component.ts new file mode 100644 index 0000000..1c06bdf --- /dev/null +++ b/projects/common-map/src/fm-map/components/feature-list-observation/feature-list-observation.component.ts @@ -0,0 +1,30 @@ +import { Component, Injectable,AfterViewInit, OnInit,SimpleChanges, ChangeDetectorRef} from '@angular/core'; +import { Location } from '@angular/common'; +import { AbstractFeatureListComponent } from '../feature-list/feature-list.component'; +import {ForItemType } from '../for-item/for-itemtype.decorator'; +import {ForChild } from '../for-item/for-child.decorator'; +import { Store } from '@ngrx/store'; +import * as mapReducers from '../../reducers/map.reducer'; +import { commonReducers, ItemTypeService, IItem,ItemService } from '@farmmaps/common'; +import { Observable } from 'rxjs'; + +@ForChild() +@ForItemType("vnd.farmmaps.itemtype.observation") +@Injectable() +@Component({ + selector: 'fm-map-feature-list-observation', + templateUrl: './feature-list-observation.component.html', + styleUrls: ['./feature-list-observation.component.scss'] +}) +export class FeatureListObservationComponent extends AbstractFeatureListComponent implements OnInit { + + constructor(store: Store, itemTypeService: ItemTypeService, location: Location, private itemService: ItemService) { + super(store, itemTypeService,location); + } + + public schemeItem: Observable + + ngOnInit() { + this.schemeItem = this.itemService.getItem(this.queryState.parentCode); + } +}