From 6060a8b86a664da55398b17bc48c5af114595c3f Mon Sep 17 00:00:00 2001 From: Willem Dantuma Date: Thu, 13 Feb 2020 16:01:05 +0100 Subject: [PATCH] Use a Style or a Style function as parameter to setStyle action --- projects/common-map/src/fm-map/actions/map.actions.ts | 2 +- .../aol/item-vector-source/item-vector-source.component.ts | 5 ++++- projects/common-map/src/fm-map/models/style.cache.ts | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/projects/common-map/src/fm-map/actions/map.actions.ts b/projects/common-map/src/fm-map/actions/map.actions.ts index b573a25..b8ce055 100644 --- a/projects/common-map/src/fm-map/actions/map.actions.ts +++ b/projects/common-map/src/fm-map/actions/map.actions.ts @@ -207,7 +207,7 @@ export class DoQuery implements Action { export class SetStyle implements Action { readonly type = SETSTYLE; - constructor(public itemType:string,public style:Style) { } + constructor(public itemType:string,public style: Style | (Feature)) { } } export type Actions = SetMapState diff --git a/projects/common-map/src/fm-map/components/aol/item-vector-source/item-vector-source.component.ts b/projects/common-map/src/fm-map/components/aol/item-vector-source/item-vector-source.component.ts index 618cc11..3175b34 100644 --- a/projects/common-map/src/fm-map/components/aol/item-vector-source/item-vector-source.component.ts +++ b/projects/common-map/src/fm-map/components/aol/item-vector-source/item-vector-source.component.ts @@ -120,7 +120,10 @@ export class ItemVectorSourceComponent extends SourceVectorComponent implements key = 'file'; } } - var styleEntry = this.stylesCache[key]; + var styleEntry = this.stylesCache[key]; + if(typeof styleEntry === 'function') { + return styleEntry(feature); + } return styleEntry; }); } diff --git a/projects/common-map/src/fm-map/models/style.cache.ts b/projects/common-map/src/fm-map/models/style.cache.ts index babd726..667760b 100644 --- a/projects/common-map/src/fm-map/models/style.cache.ts +++ b/projects/common-map/src/fm-map/models/style.cache.ts @@ -1,5 +1,5 @@ -import {Style} from 'ol'; +import {Style,Feature} from 'ol'; export interface IStyles{ - [id: string]: Style; + [id: string]: Style | (Feature); }; \ No newline at end of file