From eb2e6beb12e31287910f211140e2b0e9f67666a5 Mon Sep 17 00:00:00 2001 From: j8seangel Date: Mon, 22 Apr 2024 12:36:43 +0200 Subject: [PATCH] fix bug on speed and elevation track filter --- .../features/datasets/datasets.utils.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/apps/fishing-map/features/datasets/datasets.utils.ts b/apps/fishing-map/features/datasets/datasets.utils.ts index c0bebfa722..fd6642f594 100644 --- a/apps/fishing-map/features/datasets/datasets.utils.ts +++ b/apps/fishing-map/features/datasets/datasets.utils.ts @@ -541,7 +541,7 @@ export const datasetHasSchemaFields = (dataset: Dataset, schema: SupportedDatase if (!schemaConfig) { return false } - if (schemaConfig.type === 'array') { + if (schemaConfig.type === 'array' || schemaConfig.type === 'range') { const schemaEnum = schemaConfig?.enum || schemaConfig?.items?.enum return schemaEnum !== undefined && schemaEnum.length > 0 } @@ -641,6 +641,9 @@ export type SchemaFieldSelection = { export const VESSEL_GROUPS_MODAL_ID = 'vesselGroupsOpenModalId' export const getActiveDatasetsInDataview = (dataview: SchemaFieldDataview) => { + if (!dataview) { + return [] as Dataset[] + } if (dataview.category === DataviewCategory.User) { return dataview.datasets } @@ -820,17 +823,13 @@ export const getFiltersBySchema = ( const optionsSelected = getSchemaOptionsSelectedInDataview(dataview, schema, options) const unit = getSchemaFilterUnitInDataview(dataview, schema) const datasetsWithSchema = getSupportedSchemaFieldsDatasets(dataview, schema)!?.map((d) => d.id) - const activeDatasets = getActiveDatasetsInActivityDataviews([ - dataview as UrlDataviewInstance, - ]) + const activeDatasets = getActiveDatasetsInDataview(dataview)?.map((d) => d.id) const hasDatasetsWithSchema = compatibilityOperation === 'some' - ? activeDatasets.some((d) => datasetsWithSchema.includes(d)) - : activeDatasets.every((d) => datasetsWithSchema.includes(d)) + ? activeDatasets?.some((d) => datasetsWithSchema.includes(d)) + : activeDatasets?.every((d) => datasetsWithSchema.includes(d)) const incompatibleFilterSelection = getIncompatibleFilterSelection(dataview, schema)!?.length > 0 - const disabled = - // TODO:deck remove this once we know why speed is disabled - schema === 'speed' ? false : !hasDatasetsWithSchema || incompatibleFilterSelection + const disabled = !hasDatasetsWithSchema || incompatibleFilterSelection const datasetId = removeDatasetVersion(getActiveDatasetsInDataview(dataview)!?.[0]?.id) let label: string = CONTEXT_DATASETS_SCHEMAS.includes(schema as SupportedContextDatasetSchema) ? t(`datasets:${datasetId}.schema.${schema}.keyword`, schema.toString())