Preparing a refactoring for overlay definitions

This commit is contained in:
vdv committed 2023-06-06 16:03:14 +02:00
1 parent 00fdc5577c
commit 7cb02012c0
5 files changed
+25 -25

No files matched your search

@@ -26,7 +26,7 @@ import { Feature } from 'ol';
import {
overlayCategories,
overlayDefinitions,
legacyOverlayDefinitions,
} from '../overlays/overlay-definitions';
import { cloneDeep } from 'lodash';
@@ -129,7 +129,7 @@ const defaultOverlays: Overlays = {
// type OverlayDefinition = Record<string, FeatureTypes>;
// type OverlayDefinitions = Record<string, OverlayDefinition>;
// export const overlayDefinitions: OverlayDefinitions = {
// export const legacyOverlayDefinitions: OverlayDefinitions = {
// none: {},
// hiking: {
// none: {},
@@ -216,8 +216,8 @@ export const currentOverlayHighlightedDefinition = () =>
export const getAllPoiTypes = () => {
let result = new Set();
Object.keys(overlayDefinitions).forEach((tagName) => {
const tag = overlayDefinitions[tagName];
Object.keys(legacyOverlayDefinitions).forEach((tagName) => {
const tag = legacyOverlayDefinitions[tagName];
result = new Set([...result, ...Object.keys(tag)]);
});
return [...result];
@@ -225,9 +225,9 @@ export const getAllPoiTypes = () => {
export const highlightedTags = () => {
let result = {};
Object.keys(overlayDefinitions).forEach((tagName) => {
Object.keys(legacyOverlayDefinitions).forEach((tagName) => {
let tagValues = [];
const tag = overlayDefinitions[tagName];
const tag = legacyOverlayDefinitions[tagName];
Object.keys(tag).forEach((tagValue) => {
const catDef = tag[tagValue];
Object.keys(catDef).forEach((catName) => {
@@ -255,9 +255,9 @@ export const highlightedTags = () => {
// createEffect(() => {
// highlightedTags = {};
// Object.keys(overlayDefinitions).forEach((tagName) => {
// Object.keys(legacyOverlayDefinitions).forEach((tagName) => {
// let tagValues = [];
// const tag = overlayDefinitions[tagName];
// const tag = legacyOverlayDefinitions[tagName];
// Object.keys(tag).forEach((tagValue) => {
// const catDef = tag[tagValue];
// Object.keys(catDef).forEach((catName) => {
@@ -320,9 +320,9 @@ export const isHighlighted = (feature: Feature) => {
export const getTagValue = (feature: Feature) => {
let result = false;
Object.keys(overlayDefinitions).every((tagName) => {
Object.keys(legacyOverlayDefinitions).every((tagName) => {
const value = feature.get(tagName);
const tagValues = overlayDefinitions[tagName];
const tagValues = legacyOverlayDefinitions[tagName];
if (value !== undefined && Object.keys(tagValues).includes(value)) {
// console.log({
+1 -1
View File
@@ -1 +1 @@
import { overlayDefinitions, overlayCategories } from './overlay-definitions';
import { legacyOverlayDefinitions, overlayCategories } from './overlay-definitions';
@@ -1,7 +1,7 @@
import { indexOf } from 'lodash';
import { Feature } from 'ol';
export const overlayDefinitions = {
export const legacyOverlayDefinitions = {
amenity: {
bar: {
hiking: { drinking: true },
@@ -300,7 +300,7 @@ export const overlayDefinitions = {
};
let _flat: any = [];
Object.values(overlayDefinitions).forEach((category) => {
Object.values(legacyOverlayDefinitions).forEach((category) => {
Object.values(category).forEach((subCategory) => {
_flat = [..._flat, subCategory];
});
@@ -332,9 +332,9 @@ export const getVectorTileFeatureType = (feature: Feature) => {
return 'way';
}
if (
Object.keys(overlayDefinitions).some((tagName) => {
Object.keys(legacyOverlayDefinitions).some((tagName) => {
const tagValue = feature.get(tagName);
return Object.keys(overlayDefinitions[tagName]).includes(tagValue);
return Object.keys(legacyOverlayDefinitions[tagName]).includes(tagValue);
})
) {
return 'poi';
@@ -343,7 +343,7 @@ export const getVectorTileFeatureType = (feature: Feature) => {
console.log({
caller: 'overlay-definitions',
overlayDefinitions,
legacyOverlayDefinitions,
_flat,
overlayCategories,
});