Refactor some stuff to a service
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good

This commit is contained in:
Willem Dantuma
2021-01-29 12:00:59 +01:00
parent 516d63a59e
commit eb50218a8d
4 changed files with 78 additions and 62 deletions

View File

@@ -0,0 +1,65 @@
import { Injectable} from '@angular/core';
import {DatePipe} from '@angular/common';
import {TimespanService} from '@farmmaps/common';
import { IItemLayer, ITemporalItemLayer,TemporalItemLayer} from '../models/item.layer';
@Injectable()
export class TemporalService {
constructor(private timespanService$:TimespanService,private datePipe$: DatePipe) {}
hasNext(itemLayer:IItemLayer):boolean {
let temporalItemLayer = itemLayer as ITemporalItemLayer;
return temporalItemLayer && temporalItemLayer.nextItemLayer != null;
}
selectedDate(itemLayer:IItemLayer):string {
let temporalItemLayer = itemLayer as ITemporalItemLayer;
if(temporalItemLayer.selectedItemLayer) {
if(temporalItemLayer.selectedItemLayer.item.dataDate && temporalItemLayer.selectedItemLayer.item.dataEndDate) {
let sd = new Date(Date.parse(temporalItemLayer.selectedItemLayer.item.dataDate));
let ed = new Date(Date.parse(temporalItemLayer.selectedItemLayer.item.dataEndDate));
return this.timespanService$.getCaption(sd,ed);
} else {
let d = new Date(Date.parse(temporalItemLayer.selectedItemLayer.item.dataDate));
return this.datePipe$.transform(d, "shortDate");
}
}
return "";
}
nextDate(itemLayer:IItemLayer):string {
let temporalItemLayer = itemLayer as ITemporalItemLayer;
if(temporalItemLayer.nextItemLayer.item) {
if(temporalItemLayer.nextItemLayer.item.dataDate && temporalItemLayer.nextItemLayer.item.dataEndDate) {
let sd = new Date(Date.parse(temporalItemLayer.nextItemLayer.item.dataDate));
let ed = new Date(Date.parse(temporalItemLayer.nextItemLayer.item.dataEndDate));
return this.timespanService$.getCaption(sd,ed);
} else {
let d = new Date(Date.parse(temporalItemLayer.nextItemLayer.item.dataDate));
return this.datePipe$.transform(d, "shortDate");
}
}
return "";
}
hasPrevious(itemLayer:IItemLayer):boolean {
let temporalItemLayer = itemLayer as ITemporalItemLayer;
return temporalItemLayer && temporalItemLayer.previousItemLayer != null;
}
previousDate(itemLayer:IItemLayer):string {
let temporalItemLayer = itemLayer as ITemporalItemLayer;
if(temporalItemLayer.previousItemLayer.item) {
if(temporalItemLayer.previousItemLayer.item.dataDate && temporalItemLayer.previousItemLayer.item.dataEndDate) {
let sd = new Date(Date.parse(temporalItemLayer.previousItemLayer.item.dataDate));
let ed = new Date(Date.parse(temporalItemLayer.previousItemLayer.item.dataEndDate));
return this.timespanService$.getCaption(sd,ed);
} else {
let d = new Date(Date.parse(temporalItemLayer.previousItemLayer.item.dataDate));
return this.datePipe$.transform(d, "shortDate");
}
}
return "";
}
}