From a8f82f800f0121f962e263023f079d0d33b4beab Mon Sep 17 00:00:00 2001 From: Willem Dantuma Date: Tue, 3 Mar 2020 10:21:24 +0100 Subject: [PATCH] Fixed some issue --- .../selected-item-temporal.component.html | 8 +++---- .../selected-item-temporal.component.ts | 24 ++++++++++++++++++- .../src/fm-map/effects/map.effects.ts | 7 ++++-- .../src/fm-map/reducers/map.reducer.ts | 8 +++---- 4 files changed, 36 insertions(+), 11 deletions(-) diff --git a/projects/common-map/src/fm-map/components/selected-item-temporal/selected-item-temporal.component.html b/projects/common-map/src/fm-map/components/selected-item-temporal/selected-item-temporal.component.html index 87afb35..b718c92 100644 --- a/projects/common-map/src/fm-map/components/selected-item-temporal/selected-item-temporal.component.html +++ b/projects/common-map/src/fm-map/components/selected-item-temporal/selected-item-temporal.component.html @@ -1,10 +1,11 @@
-
+
diff --git a/projects/common-map/src/fm-map/components/selected-item-temporal/selected-item-temporal.component.ts b/projects/common-map/src/fm-map/components/selected-item-temporal/selected-item-temporal.component.ts index 1230b6d..b5917bc 100644 --- a/projects/common-map/src/fm-map/components/selected-item-temporal/selected-item-temporal.component.ts +++ b/projects/common-map/src/fm-map/components/selected-item-temporal/selected-item-temporal.component.ts @@ -2,7 +2,7 @@ import { Component, Injectable } from '@angular/core'; import { Location } from '@angular/common'; import { Store } from '@ngrx/store'; import * as mapReducers from '../../reducers/map.reducer'; -import { commonReducers, ItemTypeService, ItemService, FolderService } from '@farmmaps/common'; +import { commonReducers, ItemTypeService, ItemService, FolderService,IItem } from '@farmmaps/common'; import { Router } from '@angular/router'; import { ForItemType } from '../for-item/for-itemtype.decorator'; import { AbstractSelectedItemComponent } from '../selected-item/selected-item.component'; @@ -34,11 +34,25 @@ export class SelectedItemTemporalComponent extends AbstractSelectedItemComponent return temporalItemLayer && temporalItemLayer.nextItemLayer != null; } + nextDate():Date { + let temporalItemLayer = this.itemLayer as ITemporalItemLayer; + if(temporalItemLayer.nextItemLayer.item) + return temporalItemLayer.nextItemLayer.item.dataDate; + return null; + } + hasPrevious():boolean { let temporalItemLayer = this.itemLayer as ITemporalItemLayer; return temporalItemLayer && temporalItemLayer.previousItemLayer != null; } + previousDate():Date { + let temporalItemLayer = this.itemLayer as ITemporalItemLayer; + if(temporalItemLayer.previousItemLayer.item) + return temporalItemLayer.previousItemLayer.item.dataDate; + return null; + } + handleNextTemporal(event:MouseEvent) { this.store.dispatch(new mapActions.NextTemporal()); event.preventDefault(); @@ -48,4 +62,12 @@ export class SelectedItemTemporalComponent extends AbstractSelectedItemComponent this.store.dispatch(new mapActions.PreviousTemporal()); event.preventDefault(); } + + selectedItem():IItem { + let temporalItemLayer = this.itemLayer as ITemporalItemLayer; + if(temporalItemLayer && temporalItemLayer.selectedItemLayer) { + return temporalItemLayer.selectedItemLayer.item; + } + return null; + } } diff --git a/projects/common-map/src/fm-map/effects/map.effects.ts b/projects/common-map/src/fm-map/effects/map.effects.ts index 27a11ee..e06a16a 100644 --- a/projects/common-map/src/fm-map/effects/map.effects.ts +++ b/projects/common-map/src/fm-map/effects/map.effects.ts @@ -178,8 +178,11 @@ export class MapEffects { switchMap((action:mapActions.SelectItemSuccess) => { if(action.item.itemType == "vnd.farmmaps.itemtype.temporal") { return this.itemService$.getChildItemList(action.item.code,null).pipe( - map(items => items.sort((a, b) => b.dataDate.getTime() - a.dataDate.getTime())), - map((items) => new mapActions.SelectTemporalItemsSuccess(items )), + map(items => new mapActions.SelectTemporalItemsSuccess( + items.sort((a, b) => + -(b.dataDate.getTime() - a.dataDate.getTime()) + ) + )), catchError(error => of(new commonActions.Fail(error)))); } else { return []; diff --git a/projects/common-map/src/fm-map/reducers/map.reducer.ts b/projects/common-map/src/fm-map/reducers/map.reducer.ts index 20ef8a9..c40759e 100644 --- a/projects/common-map/src/fm-map/reducers/map.reducer.ts +++ b/projects/common-map/src/fm-map/reducers/map.reducer.ts @@ -194,10 +194,10 @@ export function reducer(state = initialState, action: mapActions.Actions | commo return state; } else { temporalLayer.previousItemLayer = temporalLayer.selectedItemLayer; - if( temporalLayer.previousItemLayer) temporalLayer.nextItemLayer.opacity=0; + if( temporalLayer.previousItemLayer) temporalLayer.previousItemLayer.opacity=0; temporalLayer.selectedItemLayer = temporalLayer.nextItemLayer; if( temporalLayer.selectedItemLayer) temporalLayer.selectedItemLayer.opacity=1; - temporalLayer.nextItemLayer = index+1 < temporalLayer.temporalItems.length? new ItemLayer(temporalLayer.temporalItems[index+1],0):null; + temporalLayer.nextItemLayer = index+2 < temporalLayer.temporalItems.length ? new ItemLayer(temporalLayer.temporalItems[index+2],0):null; if( temporalLayer.nextItemLayer) temporalLayer.nextItemLayer.opacity=0; return tassign(state,{selectedItemLayer:tassign(state.selectedItemLayer,temporalLayer as ItemLayer)}); } @@ -216,8 +216,8 @@ export function reducer(state = initialState, action: mapActions.Actions | commo if( temporalLayer.nextItemLayer) temporalLayer.nextItemLayer.opacity=0; temporalLayer.selectedItemLayer = temporalLayer.previousItemLayer; if( temporalLayer.selectedItemLayer) temporalLayer.selectedItemLayer.opacity=1; - temporalLayer.previousItemLayer = index-1 >=0? new ItemLayer(temporalLayer.temporalItems[index-1]):null; - if( temporalLayer.previousItemLayer) temporalLayer.nextItemLayer.opacity=0; + temporalLayer.previousItemLayer = index-2 >=0? new ItemLayer(temporalLayer.temporalItems[index-2],0):null; + if( temporalLayer.previousItemLayer) temporalLayer.previousItemLayer.opacity=0; return tassign(state,{selectedItemLayer:tassign(state.selectedItemLayer,temporalLayer as ItemLayer)}); } } else {