Add selecttemporalitemssuccess

This commit is contained in:
Willem Dantuma 2020-02-27 17:59:00 +01:00
parent 3094170cc2
commit 8e29e479de
3 changed files with 26 additions and 1 deletions

View File

@ -5,6 +5,7 @@ import { IItemLayer } from '../models/item.layer';
import { IQueryState } from '@farmmaps/common';
import { IItem } from '@farmmaps/common';
import { Feature,Style } from 'ol';
import { IListItem } from 'dist/common/public-api';
export const SETSTATE = '[Map] SetState';
export const SETMAPSTATE = '[Map] MapState';
@ -16,6 +17,7 @@ export const STARTSEARCHSUCCESS = '[Map] StartSearchSuccess';
export const SELECTFEATURE = '[Map] SelectFeature';
export const SELECTITEM = '[Map] SelectItem';
export const SELECTITEMSUCCESS = '[Map] SelectItemSuccess';
export const SELECTTEMPORALITEMSSUCCESS = '[Map] SelectTemporalItemsSuccess';
export const ADDFEATURESUCCESS = '[Map] AddFeatureSuccess';
export const UPDATEFEATURESUCCESS = '[Map] UpdateFeatureSuccess';
export const EXPANDSEARCH = '[Map] ExpandSearch';
@ -97,6 +99,12 @@ export class SelectItemSuccess implements Action {
constructor(public item: IItem) { }
}
export class SelectTemporalItemsSuccess implements Action {
readonly type = SELECTTEMPORALITEMSSUCCESS;
constructor(public temporalItems: IListItem[]) { }
}
export class AddFeatureSuccess implements Action {
readonly type = ADDFEATURESUCCESS;
@ -224,6 +232,7 @@ export type Actions = SetMapState
| SelectFeature
| SelectItem
| SelectItemSuccess
| SelectTemporalItemsSuccess
| AddFeatureSuccess
| UpdateFeatureSuccess
| ExpandSearch

View File

@ -172,6 +172,20 @@ export class MapEffects {
}
));
@Effect()
selectItemSuccessTemporal$: Observable<Action> = this.actions$.pipe(
ofType(mapActions.SELECTITEMSUCCESS),
switchMap((action:mapActions.SelectItemSuccess) => {
if(action.item.itemType == "vnd.farmmaps.itemtype.temporal") {
return this.itemService$.getChildItemList(action.item.code,null).pipe(
map((items) => new mapActions.SelectTemporalItemsSuccess(items )),
catchError(error => of(new commonActions.Fail(error))));
} else {
return [];
}
}
));
@Effect()
uploadedItemClick$: Observable<Action> = this.actions$.pipe(
ofType(commonActions.UPLOADEDFILECLICK),

View File

@ -77,7 +77,9 @@ export class ItemService {
getChildItemList(parentcode: string, itemType: string, dataFilter?: any, level: number = 1, deep: boolean = true): Observable<IItem[]> {
var params = new HttpParams();
if(itemType != null) {
params = params.append("it", itemType);
}
if (dataFilter != null) {
params = params.append("df", JSON.stringify(dataFilter));
}